Breakdown of WebSphere portal Solution Release Elements
2009-10-30 00:59
399 查看
The following section provides an overview of the components and entities
which make up a complete Solution Release. This section provides a listing of
the components and entities, while a subsequent section provides greater detail
on the consideration for moving the components between environments.
software development are usually artifacts (otherwise referred to as software
components).
The following components are portal artifacts:
Portal System Configuration (property files)
Themes and Skins (JSP files and stylesheets)
Portal Customizations (Java Classes)
Portlet services, Active Credentials, Credential VaultAdaptors
Portlet Code (Java Classes, JSPs, XML files)
Portal Filters (Java Classes)
Servlet Filters (Java Classes)
J2EE Artifacts (managed by WebSphere Application Server)
database. These artifacts exist in an installed portal system. They belong to
components that are installed together with the portal but are not core portal
components. Typically these components are available with and without the
portal server.
The following components are examples of portal extension artifacts:
Portal Search and search collections.
Web Content Management
Document Repository
Documents, flows, roles
Collaboration Components
consists of configuration entities. Each portal resource is represented by one
portal configuration entity in the portal database.
The following entities are part of the portal configuration:
Portal Content Tree (Navigation, Pages, Layouts)
URL Mappings
Portlet Application Configurations
Portlet Application Settings
Portlet Configurations
Portlet Settings
Portlet Data (legacy portlets)
Portlet Preferences (JSR168 portlets)
Access Control Data (Roles, ActionSets)
Credential Data
Themes
Skins
Cross-page wires
Although Portal 6.1 provides valuable tools to aid in the movement of the
Solution Release to the next environment in your release cycle, there are some
components of the Solution Release that require extra steps. This section
provides an overview of which tools are optimal for each of the components, and
discusses the components that you will need to perform additional steps for.
The figure below (2.4-1) is provided as a visual breakdown of the solution
release components and to help understand the form for the different
components, how they are stored, and ultimately how they need to be managed
when moving components of a solution release from one environment to another.
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241.jpg)
Portal Artifacts – the components involved and considerations for moving
The first group of components are the parts of the Portal site that reside
in the portal file system. Along with property files, the deliverables from
your software developers that can include JAVA classes, war files, or other
J2EE resource artifacts such as EJBs are also included in this category. The
group is comprised of several different asset types, but because they are not
stored within the Portal database, XMLAccess, ReleaseBuilder and the Site
Management tools are not able to transfer them over to the new Portal system.
The following sections provide an overview of some asset types included in this
category.
to be reviewed to determine if it is also appropriate for them to be made on
the target system.
Because property files are used for many different purposes, there is not a
single rule that is applicable in all cases. Portal property files can be
modified via several different methods, including via manual update, via
ConfigEngine helper files, or the WebSphere Administrative Console. If it is
appropriate to make the changes to the target system, then the corresponding
changes should be made on the target system via the same mechanism the change
was made on the source system. It is not recommended to copy property files
from one system to another.
Manual changes made to property files on one portal system will also need to
be manually made on the target portal environment. Careful consideration needs
to be made to ensure the property files contain information that is accurate
for the target system which may not be the same as the source system, when
appropriate. Property files that are typically manually modified during Portal
installation and customization are in the
<wp_profile>/ConfigEngine/properties directory:
wkplc.properties
wkplc_dbtype.properties
wkplc_comp.properties
For example, the dbURL entries in the wkplc_comp.properties file must point
to the correct servername for the target system, if the database server being
used on the target server is different from the source.
Other property files may be changed via the ConfigEngine utility and helper
files.
An example of a property file that may be changed this way is the
wkplc.properties file.
After you make changes to <wp_profile>/ConfigEngine/config/helpers/
wp_security_ids.properties to match your LDAP configuration, execution of the
ConfigEngine with the -DparentProperties -DsaveParentProperties=true flags,
ConfigEngine will automatically save the properties from the helper file into
the wkplc.properties file. As was the case with property files that were
changed manually, the same steps that were taken on the source environment need
to be taken on the target environment to propagate the changes there when
required.
Portal configuration service property files are modified via the WebSphere
Administration Console. Customizations made to these types of property files
are stored within the portal profile root and also under the PortalServer base
directory. Some service configuration properties can be set by modifying the
propery files and then enabling them through a Portal configuration task, but
this method is not available for all configuration tasks. It is important to
note that if you want to move portal configuration service property changes
from one portal to another, it is recommended to make the changes to the target
environment in the same manner that they were made on the source
environment.
On production systems, it is recommended to use the PropFilePasswordEncoder
script in the (wp_profile_root)/bin directory to encode any passwords contained
in External Security Manager property files.
in the Portal file system. Although the portal pages that refer to or use the
themes and skins can be moved to a new portal system via the XMLAccess or Site
Management tools, the actual files that make up the Themes and Skins need to be
manually transferred to the new system. The XMLAccess tools can also be used to
move Theme styles and Theme polices to the new system. Section 4.4a (Deploying
Themes and Skins) provides the steps to deploy a new theme and skin and also
contains details about moving them to another system.
packaged inside of a Portlet war file. During portlet war file installation,
the WebSphere Application Server unpacks the WAR file and places the portlet
classes and resources in the file system. The following example shows where the
portlet files are placed on the filesystem and which files need need to be
manually transferred to the new system during a move.
Specific Example – Portlet deployment and move – Effect on component files
To show where portlet classes, JSPs and XML files are placed on the
filesystem when a portlet war file is deployed with the Portal Administration
Portlets, we downloaded the IBM Portlet for Google Gadgets from the Portlet
Catalog:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241a.jpg)
The IBM Portlet for Google Gadgets is a JSR 168 portlet that has these
characteristics when deployed:
It's enterprise application (ear) file name is PA_IratedGoogleGadges.ear
It's portlet application name is
com.ibm.wps.portlets.gadget.integrated.9730c9c350.webmod
The portlet's title is IBM Portlet for Google Gadgets
Before deploying the portlet, we confirmed that it was not already installed
by looking in the following places on our wps01 development Portal server:
The WebSphere Administrative Console, list of installed Enterprise
Applications:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241b.jpg)
The filesystem, there is no expanded PA_IratedGoogleGadget.ear in these
folders:
• C:/ibm/WebSphere/wp_profile/config/cells/node01/applications/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241c.jpg)
• C:/ibm/WebSphere/wp_profile/installedApps/node01/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241d.jpg)
• In the filesystem, there is no folder with the
portlet application name in
C:/ibm/WebSphere/wp_profile/PortalServer/deployed/archive
Lastly, we confirmed that the GoogleGadget web module is not present with
the Portal Admistrative Portlets > Portal Management > Web
Modules, search:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241e.jpg)
We deployed the GoogleGadget portlet web module with the Portal
Administrative Portlet: Administration > portlet management > web
modules
> click Install
:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241f.jpg)
After successfully completing the installation, we confirmed that the
installation resulted in changes to the above referenced locations:
The WebSphere Administrative Console, list of installed Enterprise
Applications:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241g.jpg)
In the filesystem, the expanded PA_IratedGoogleGadget.ear was in these
folders:
• C:/ibm/WebSphere/wp_profile/config/cells/node01/applications/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241h.jpg)
• C:/ibm/WebSphere/wp_profile/installedApps/node01/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241i.jpg)
• In the filesystem, there is a folder with the portlet
application name in
C:/ibm/WebSphere/wp_profile/PortalServer/deployed/archive
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241j.jpg)
Lastly, we confirmed that the GoogleGadget web module was present with
the Portal Admistrative Portlets > Portal Management > Web
Modules:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241k.jpg)
The Google Gadget portlet shows up in the portlet search:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241l.jpg)
confirmed that it was not already installed on wps02 by looking in wps02's
WebSphere Administrative Console, that it's ear was not expanded on the
fileysystem, and by searching for it with the Portal Administrative > Manage
Web Modules Portlet:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241m.jpg)
Moving the Portlet resources to another machine as part of a Portal release
move, involves two steps:
Copy the portlet application's folder
com.ibm.wps.portlets.gadget.integrated.9730c9c350.webmod and it's contents
from the source machine:
to the corresponding folder on the target machine. You can use FTP or any
other method to move the files over. In our case, we mapped the wps02 c: drive
as a local drive:
C:/ibm/WebSphere/wp_profile/PortalServer/deployed/archive
Y:/WebSphere/wp_profile/PortalServer/deployed/archive
This shows the contents of wps02 after the folder is copied over:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241n.jpg)
Note that this folder contains the portlet war file:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241o.jpg)
Use release builder and xmlaccess to deploy the portlet and move it's
configuration information over to the wps02. The instructions to do this are
described in section 4.3b Specific Example - Portal Transfer with
Release Builder.
The differences file that was used in this case contained information about
the newly installed portlet:
The xmlaccess command we used in this case to import the configuration
containing the portlet was as follows:
xmlaccess.bat -in Nov25.differences.xml -user wpsadmin -pwd wpsadmin -url http://wps02.itso.ibm.com:10040/wps/config
The WebSphere Administrative Console, list of installed Enterprise
Applications now shows the newly installed PA_IratedGoogleGadget ear:
In the filesystem, the expanded PA_IratedGoogleGadget.ear was placed in
these folders during the deployment:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241q.jpg)
•
C:/WebSphere/wp_profile/config/cells/wps02Cell01/applications/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241p.jpg)
• C:/WebSphere/wp_profile/installedApps/wps02Cell01/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241r.jpg)
• In the filesystem, there is a folder with the portlet
application name in C:/ibm/WebSphere/wp_profile/PortalServer/deployed/archive
because we moved it there manually as described above.
We confirmed that the GoogleGadget web module was present with the Portal
Admistrative Portlets > Portal Management > Web
Modules:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241t.jpg)
The Google Gadget portlet shows up in the portlet search:
![](http://www-10.lotus.com/ldd/portalwiki.nsf/dx/topic2_241u.jpg/$file/topic2_241u.jpg)
Lastly, we confirmed that the WebSphere Application Server configuration on
the wps02 target machine was updated with information that the newly installed
application was deployed to our WebSphere_Portal application server, as shown
in the following extract from the serverindex.xml file:
C::/WebSphere/wp_profile/config/cells/wps02Cell01/nodes/wps02/serverindex.xml:
The successful output of this command can be seen in the following screen
capture:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241p.jpg)
After successfully completing the portlet move with xmlaccess, we confirmed
that the move resulted in a deployment by seeing changes to these locations:
Once these two steps are complete, the portlet was available for use on
wps02. Because our wps02 environment contains a portal cluster, synchronization
was needed before the portlet could be used. This step would not be necessary
in a standalone portal environment.
included in any of the above referenced locations, then they will also need to
be moved manually. An example of this type of file may be shared libraries that
contain resources used by or shared across several components or portlets
within the portal. A common practice is to place shared library jar files in
the /PortalServer/shared/app directory because this directory is already
configured to be in the classpath for the predefined WPSLib shared library for
WebSphere Portal. The following image shows the list of predefined shared
libraries including WPSLib that can be seen from the WebSphere Administrative
Console:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241v.jpg)
The following figure shows WPS_HOME/shared/app and elements of the classpath
for the predefined WPSLib
shared library:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241w.jpg)
If the shared library that is being moved to the new server is located in a
directory that is not preconfigured to be a part of a configured shared library
classpath, then a new shared library was created and the new directory added to
it's classpath in the WebSphere configuration to allow the library to be loaded
on the source server. Adding the shared library and it's classpath entry will
also need to be done on the target server and either via the WebSphere
Administrative Console or with a wsadmin command similar to the following:
before it is aggregated to the entire portal page. Filters can be used to
produce output in different markups, languages or formats than what was
originally intended by the portlet. The Java classes that make up the filter
itself are stored within portlet war files and so the same instructions apply
to moving filter Java Classes as for Portlet war files.
Using portal filters requires that the Portlet Container Service properties
be modified to enable portlet filtering for the site and each filter must be
registered to the PortletFilterService. In the filesystem, these changes are
made to configuration files via the WebSphere Administration Console. If you
make changes on your source server to the Portlet Container Service or
PortletFilterService that result in updated Portal properties files, then you
will need to also make the same changes on the target server as part of the
move.
Lastly, the filter needs to be applied to the Portlet via the Manage
Portlets portlet. Changes made to which portlet the filter is applied to via
the Manage Pages portlet, can be moved to the new system with the Portal
transfer tools.
in place of the provided credential vault portlet service or custom vault
adapters, then they may be packaged as separate shared libraries. Corresponding
custom portlets can be written to extract user's credentials from the vault for
use in accessing remote applications. If this is the case, then the same steps
that are required to move shared libraries between portal systems.
Vault segment information and is stored in the portal release database
therefore can be moved with releasebuilder and xmlaccess tools as part of a
solution release move. Public credential vault slot data should be picked up by
xmlaccess and releasebuilder tools. These resources appear as
"<credential-segment" and "<credential-slot" in the
xmlaccess export file. Private slots (for example those created by a portlet
for a specific user) should be going into the customization domain and will not
be transferred with the releasebuilder/xmlaccess interface tools as part of a
solution release move.
typically packaged in the same EAR with the portlet application war and can be
deployed using the WebSphere Application Server Administration console, instead
of using the portal Manage Web Modules administration portlet or the XML
configuration interface.
After the EAR is deployed via the WebSphere Application Server (either the
scripting interface or administrative console), the XMLAccess configuration
interface must used to deploy and register the portlet application(s) packaged
within the ear to the Portal server, which makes it available for use within
Portal. The WebSphere Portal 6.1 InfoCenter contains the instructions for doing
this with the RegisterPreDeployedEAR.xml in the article:
Deploying J2EE resources
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/topic/com.ibm.wp.ent.doc/a
dmin/j2ee.html
Once the portlets are registered with the portal server, the Portal
Administration portlets can be used to configure and remove them, but this
removing the portlets via the Portal administrative portlets does not remove
the EAR that they are part of from the WebSphere Application Server. To
completely remove the EAR, it must be deinstalled via the WebSphere Application
Server.
When updating a predeployed enterprise application that contains one or more
portlets, the update must be made in the WebSphere Application Server. The
steps to update the ear are beyond the scope of this topic, and are documented
in the WebSphere Application Server InfoCenter. If the change to the ear
includes modifications to the web.xml or portal.xml of an encapsulated portlet,
then the Portal server must be made aware of the updates by using the XMLaccess
configuration interface. The same RegisterPreDeployedEAR.xml sample file can be
used, but please ensure the <web-app> tag has an attribute
action="update" and not action="create" for it to work a
second time on a predeployed ear.
When moving a solution release that contains portlets deployed in an EAR,
deploy the EAR within WebSphere Application Server and in Portal via XMLAccess
/ RegisterPreDeployedEAR.xml on the target machine, prior to moving the
remainder of the solution release elements. Note that the export XML file from
the target server will show that the portlet is part of a webapp that is
predeployed with this flag:
The same is true for moving an updated EAR to a portal server as part of a
solution release move. Update the ear via the WebSphere Application Server on
the target machine and then use the XMLaccess configuration interface to notify
the Portal server of the updates if the update includes changes to the
portlet's web.xml or portal.xml files.
Portal Extension Artifacts – the components involved and
Portal Extension Artifacts are stored in the
portal file system or in a database.
These artifacts exist in an installed
portal system. They belong to components
that are installed together with the portal
but are not core portal components.
Typically these components are available with
and without the portal server.
collections in XML format through the Portal
administration console. Instructions
for performing the export and import of
search collections can be found at the
link below: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/index.jsp?topic=/com.ibm.w p.ent.doc/admin/srtexpimp.html
Synchronization
process. This topic is covered in detail
in Section V
of this document.
in Portal 6.1 the Portal Document Manager
tool is no longer available. The tool
has been replaced by Lotus Quickr. Below
is a link to Portal Information Center that
provides information on migrating documents between Portal Document Manager and
Lotus Quickr.
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/index.jsp?topic=/com.ibm.w p.ent.doc/migrate/mig_pdm2quickr.html
including Domino and Extended Products such as Domino Web Access, Sametime
Contact List, Lotus Notes View. It can also include various IBM products such
as IBM Lotus SameTime and IBM Lotus Domino. More information on the
Collaboration Components can be found at this Information Center link:
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/index.jsp?topic=/com.ibm.w p.ent.doc/collab/i_coll_c_collaboration.html
Portal Configuration – the entities involved and considerations for moving
Portal Configuration information is the data representation of several kinds
of portal resources that are stored in the portal configuration database. The
portal configuration database is comprised of several different database
domains, each of which holds a different type or category of data. Domains can
be configured separately and split across different database management
systems. Data is placed in each domain according to these criteria:
Portal release data is made up of portal content definitions, rules,
and rights. It is typically not changed once in production, but designed on a
staging server and then moved over to production as part of a release with the
releasebuilder/xmlaccess/site Management portlet tools. One copy of the release
data exists per cluster. This is where content definition for these are stored:
Portal Content Tree (Navigation, Pages, Layouts)
URL Mappings
Portlet Application Configurations
Portlet Application Settings
Portlet Configurations
Portlet Settings
Portlet Data (legacy portlets)
Portlet Preferences (JSR168 portlets)
Access Control Data (Roles, ActionSets)
Credential Data
Themes
Skins
Cross-page wires
The following two domains are typically shared across production servers,
but not moved from staging to production during a solution release move:
Customization data, includes data created by a portlet for a specific
user,
Community data represents resources modified during production, such as
shared documents or application resources.
The remaining three domains represent non shareable data that have alternate
means of moving if required:
The JCR domain is where WCM documents are stored. (See Chapter 5
Synchronization for more information about this.)
The Feedback domain contains site visitor usage pattern information, used
for analytics.
The LikeMinds domain contains user rating and action transactional
information and rules used by the LikeMinds engines for the Personalization
dynamic recommendation system.
There is further information about “Shared database domains”, in this Portal
InfoCenter article:
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/topic/com.ibm.wp.ent.doc/c onfig/db_plan_domains.html
References used within Topic 2:
• WebSphere Portal 6.1 InfoCenter: Manual steps prior to
using ReleaseBuilder
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/topic/com.ibm.wp.ent.doc/a dmin/dep_checklist.html
• Hot deployment and dynamic reloading
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.ba se.doc/info/aes/ae/trun_app_hotupgrade.html
• IBM Rational Application Developer V6 Portlet Application
Development and Portal Tools
http://www.redbooks.ibm.com/redbooks/pdfs/sg246681.pdf
• WebSphere Portal V6.1 Knowledge Transfer Presentations,
A01v2, A08
which make up a complete Solution Release. This section provides a listing of
the components and entities, while a subsequent section provides greater detail
on the consideration for moving the components between environments.
Portal Artifacts
Portal Artifacts are stored in the portal file system. All deliverables ofsoftware development are usually artifacts (otherwise referred to as software
components).
The following components are portal artifacts:
Portal System Configuration (property files)
Themes and Skins (JSP files and stylesheets)
Portal Customizations (Java Classes)
Portlet services, Active Credentials, Credential VaultAdaptors
Portlet Code (Java Classes, JSPs, XML files)
Portal Filters (Java Classes)
Servlet Filters (Java Classes)
J2EE Artifacts (managed by WebSphere Application Server)
Portal Extension Artifacts
Portal Extension Artifacts are stored in the portal file system or in adatabase. These artifacts exist in an installed portal system. They belong to
components that are installed together with the portal but are not core portal
components. Typically these components are available with and without the
portal server.
The following components are examples of portal extension artifacts:
Portal Search and search collections.
Web Content Management
Document Repository
Documents, flows, roles
Collaboration Components
Portal Configuration
The Portal Configuration is stored in the portal configuration database. Itconsists of configuration entities. Each portal resource is represented by one
portal configuration entity in the portal database.
The following entities are part of the portal configuration:
Portal Content Tree (Navigation, Pages, Layouts)
URL Mappings
Portlet Application Configurations
Portlet Application Settings
Portlet Configurations
Portlet Settings
Portlet Data (legacy portlets)
Portlet Preferences (JSR168 portlets)
Access Control Data (Roles, ActionSets)
Credential Data
Themes
Skins
Cross-page wires
Although Portal 6.1 provides valuable tools to aid in the movement of the
Solution Release to the next environment in your release cycle, there are some
components of the Solution Release that require extra steps. This section
provides an overview of which tools are optimal for each of the components, and
discusses the components that you will need to perform additional steps for.
The figure below (2.4-1) is provided as a visual breakdown of the solution
release components and to help understand the form for the different
components, how they are stored, and ultimately how they need to be managed
when moving components of a solution release from one environment to another.
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241.jpg)
Portal Artifacts – the components involved and considerations for moving
them
The first group of components are the parts of the Portal site that residein the portal file system. Along with property files, the deliverables from
your software developers that can include JAVA classes, war files, or other
J2EE resource artifacts such as EJBs are also included in this category. The
group is comprised of several different asset types, but because they are not
stored within the Portal database, XMLAccess, ReleaseBuilder and the Site
Management tools are not able to transfer them over to the new Portal system.
The following sections provide an overview of some asset types included in this
category.
Property files
In general, changes made to Portal property files on the source system needto be reviewed to determine if it is also appropriate for them to be made on
the target system.
Because property files are used for many different purposes, there is not a
single rule that is applicable in all cases. Portal property files can be
modified via several different methods, including via manual update, via
ConfigEngine helper files, or the WebSphere Administrative Console. If it is
appropriate to make the changes to the target system, then the corresponding
changes should be made on the target system via the same mechanism the change
was made on the source system. It is not recommended to copy property files
from one system to another.
Manual changes made to property files on one portal system will also need to
be manually made on the target portal environment. Careful consideration needs
to be made to ensure the property files contain information that is accurate
for the target system which may not be the same as the source system, when
appropriate. Property files that are typically manually modified during Portal
installation and customization are in the
<wp_profile>/ConfigEngine/properties directory:
wkplc.properties
wkplc_dbtype.properties
wkplc_comp.properties
For example, the dbURL entries in the wkplc_comp.properties file must point
to the correct servername for the target system, if the database server being
used on the target server is different from the source.
Other property files may be changed via the ConfigEngine utility and helper
files.
An example of a property file that may be changed this way is the
wkplc.properties file.
After you make changes to <wp_profile>/ConfigEngine/config/helpers/
wp_security_ids.properties to match your LDAP configuration, execution of the
ConfigEngine with the -DparentProperties -DsaveParentProperties=true flags,
ConfigEngine will automatically save the properties from the helper file into
the wkplc.properties file. As was the case with property files that were
changed manually, the same steps that were taken on the source environment need
to be taken on the target environment to propagate the changes there when
required.
Portal configuration service property files are modified via the WebSphere
Administration Console. Customizations made to these types of property files
are stored within the portal profile root and also under the PortalServer base
directory. Some service configuration properties can be set by modifying the
propery files and then enabling them through a Portal configuration task, but
this method is not available for all configuration tasks. It is important to
note that if you want to move portal configuration service property changes
from one portal to another, it is recommended to make the changes to the target
environment in the same manner that they were made on the source
environment.
On production systems, it is recommended to use the PropFilePasswordEncoder
script in the (wp_profile_root)/bin directory to encode any passwords contained
in External Security Manager property files.
Themes and Skins
The JSP files and stylesheets that make up the Themes and Skins are storedin the Portal file system. Although the portal pages that refer to or use the
themes and skins can be moved to a new portal system via the XMLAccess or Site
Management tools, the actual files that make up the Themes and Skins need to be
manually transferred to the new system. The XMLAccess tools can also be used to
move Theme styles and Theme polices to the new system. Section 4.4a (Deploying
Themes and Skins) provides the steps to deploy a new theme and skin and also
contains details about moving them to another system.
Portlet Code (Java Classes, JSPs, XML files)
Portlet applications are made up of Java Classes, JSPs and XML filespackaged inside of a Portlet war file. During portlet war file installation,
the WebSphere Application Server unpacks the WAR file and places the portlet
classes and resources in the file system. The following example shows where the
portlet files are placed on the filesystem and which files need need to be
manually transferred to the new system during a move.
Specific Example – Portlet deployment and move – Effect on component files
To show where portlet classes, JSPs and XML files are placed on thefilesystem when a portlet war file is deployed with the Portal Administration
Portlets, we downloaded the IBM Portlet for Google Gadgets from the Portlet
Catalog:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241a.jpg)
The IBM Portlet for Google Gadgets is a JSR 168 portlet that has these
characteristics when deployed:
It's enterprise application (ear) file name is PA_IratedGoogleGadges.ear
It's portlet application name is
com.ibm.wps.portlets.gadget.integrated.9730c9c350.webmod
The portlet's title is IBM Portlet for Google Gadgets
Before deploying the portlet, we confirmed that it was not already installed
by looking in the following places on our wps01 development Portal server:
The WebSphere Administrative Console, list of installed Enterprise
Applications:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241b.jpg)
The filesystem, there is no expanded PA_IratedGoogleGadget.ear in these
folders:
• C:/ibm/WebSphere/wp_profile/config/cells/node01/applications/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241c.jpg)
• C:/ibm/WebSphere/wp_profile/installedApps/node01/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241d.jpg)
• In the filesystem, there is no folder with the
portlet application name in
C:/ibm/WebSphere/wp_profile/PortalServer/deployed/archive
Lastly, we confirmed that the GoogleGadget web module is not present with
the Portal Admistrative Portlets > Portal Management > Web
Modules, search:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241e.jpg)
We deployed the GoogleGadget portlet web module with the Portal
Administrative Portlet: Administration > portlet management > web
modules
> click Install
:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241f.jpg)
After successfully completing the installation, we confirmed that the
installation resulted in changes to the above referenced locations:
The WebSphere Administrative Console, list of installed Enterprise
Applications:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241g.jpg)
In the filesystem, the expanded PA_IratedGoogleGadget.ear was in these
folders:
• C:/ibm/WebSphere/wp_profile/config/cells/node01/applications/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241h.jpg)
• C:/ibm/WebSphere/wp_profile/installedApps/node01/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241i.jpg)
• In the filesystem, there is a folder with the portlet
application name in
C:/ibm/WebSphere/wp_profile/PortalServer/deployed/archive
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241j.jpg)
Lastly, we confirmed that the GoogleGadget web module was present with
the Portal Admistrative Portlets > Portal Management > Web
Modules:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241k.jpg)
The Google Gadget portlet shows up in the portlet search:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241l.jpg)
Moving Portlets
Prior to moving the portlet over to our wps02 staging server from wps01, weconfirmed that it was not already installed on wps02 by looking in wps02's
WebSphere Administrative Console, that it's ear was not expanded on the
fileysystem, and by searching for it with the Portal Administrative > Manage
Web Modules Portlet:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241m.jpg)
Moving the Portlet resources to another machine as part of a Portal release
move, involves two steps:
Copy the portlet application's folder
com.ibm.wps.portlets.gadget.integrated.9730c9c350.webmod and it's contents
from the source machine:
to the corresponding folder on the target machine. You can use FTP or any
other method to move the files over. In our case, we mapped the wps02 c: drive
as a local drive:
C:/ibm/WebSphere/wp_profile/PortalServer/deployed/archive
Y:/WebSphere/wp_profile/PortalServer/deployed/archive
This shows the contents of wps02 after the folder is copied over:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241n.jpg)
Note that this folder contains the portlet war file:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241o.jpg)
Use release builder and xmlaccess to deploy the portlet and move it's
configuration information over to the wps02. The instructions to do this are
described in section 4.3b Specific Example - Portal Transfer with
Release Builder.
The differences file that was used in this case contained information about
the newly installed portlet:
<web-app action="update" active="true" domain="rel" objectid="1_CGAH47L000DHD02ND921NR2002" removable="true" uid=" com.ibm.wps.portlets.gadget.integrated.9730c9c350.webmod "> <url>file://localhost/$user_install_root$/PortalServer/deployed/archive/com.ibm.wps.portlets.gadget.integrated.9730c9c350.webmod/GoogleGadgetIntegrated.war</url> <context-root>/wps/PA_IratedGoogleGadget</context-root> <display-name>PA_IratedGoogleGadget</display-name> <access-control externalized="false"owner="uid=wasadmin,o=defaultwimfilebasedrealm" private="false"/> <servlet action="update" active="true" domain="rel" name=" GoogleGadgetsIntegrated " objectid="V_CGAH47L000DHD02ND921NR2001" remote-cache-dynamic="false"/> <portlet-app action="update" active="true" defaultlocale="en" domain="rel" name=" com.ibm.wps.portlets.gadget.integrated.9730c9c350 " objectid="2_CGAH47L000DHD02ND921NR2006" uid="com.ibm.wps.portlets.gadget.integrated.9730c9c350"> <access-control externalized="false" owner="uid=wasadmin,o=defaultwimfilebasedrealm" private="false"/> <portlet action="update" active="true" defaultlocale="en" domain="rel" name="GoogleGadgetsIntegrated" objectid="3_CGAH47L000DHD02ND921NR2005" provided="false" servletref="V_CGAH47L000DHD02ND921NR2001"> <access-control externalized="false" owner="uid=wasadmin, o=defaultwimfilebasedrealm" private="false"/> </portlet> </portlet-app> </web-app>
The xmlaccess command we used in this case to import the configuration
containing the portlet was as follows:
xmlaccess.bat -in Nov25.differences.xml -user wpsadmin -pwd wpsadmin -url http://wps02.itso.ibm.com:10040/wps/config
The WebSphere Administrative Console, list of installed Enterprise
Applications now shows the newly installed PA_IratedGoogleGadget ear:
In the filesystem, the expanded PA_IratedGoogleGadget.ear was placed in
these folders during the deployment:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241q.jpg)
•
C:/WebSphere/wp_profile/config/cells/wps02Cell01/applications/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241p.jpg)
• C:/WebSphere/wp_profile/installedApps/wps02Cell01/
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241r.jpg)
• In the filesystem, there is a folder with the portlet
application name in C:/ibm/WebSphere/wp_profile/PortalServer/deployed/archive
because we moved it there manually as described above.
We confirmed that the GoogleGadget web module was present with the Portal
Admistrative Portlets > Portal Management > Web
Modules:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241t.jpg)
The Google Gadget portlet shows up in the portlet search:
![](http://www-10.lotus.com/ldd/portalwiki.nsf/dx/topic2_241u.jpg/$file/topic2_241u.jpg)
Lastly, we confirmed that the WebSphere Application Server configuration on
the wps02 target machine was updated with information that the newly installed
application was deployed to our WebSphere_Portal application server, as shown
in the following extract from the serverindex.xml file:
C::/WebSphere/wp_profile/config/cells/wps02Cell01/nodes/wps02/serverindex.xml:
The successful output of this command can be seen in the following screen
capture:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241p.jpg)
After successfully completing the portlet move with xmlaccess, we confirmed
that the move resulted in a deployment by seeing changes to these locations:
<serverEntries xmi:id="ServerEntry_1213915749762" serverName="WebSphere_Portal" serverType="APPLICATION_SERVER"> ... <deployedApplications>PA_IratedGoogleGadget.ear/deployments/PA_IratedGoogleGadget</deployedApplications>
Once these two steps are complete, the portlet was available for use on
wps02. Because our wps02 environment contains a portal cluster, synchronization
was needed before the portlet could be used. This step would not be necessary
in a standalone portal environment.
Other Portal Customizations and considerations for Portal Artifacts
If your customized portal site makes use of other Java Classes that are notincluded in any of the above referenced locations, then they will also need to
be moved manually. An example of this type of file may be shared libraries that
contain resources used by or shared across several components or portlets
within the portal. A common practice is to place shared library jar files in
the /PortalServer/shared/app directory because this directory is already
configured to be in the classpath for the predefined WPSLib shared library for
WebSphere Portal. The following image shows the list of predefined shared
libraries including WPSLib that can be seen from the WebSphere Administrative
Console:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241v.jpg)
The following figure shows WPS_HOME/shared/app and elements of the classpath
for the predefined WPSLib
shared library:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/alexsuncam/EntryImages/20091030/topic2_241w.jpg)
If the shared library that is being moved to the new server is located in a
directory that is not preconfigured to be a part of a configured shared library
classpath, then a new shared library was created and the new directory added to
it's classpath in the WebSphere configuration to allow the library to be loaded
on the source server. Adding the shared library and it's classpath entry will
also need to be done on the target server and either via the WebSphere
Administrative Console or with a wsadmin command similar to the following:
$AdminConfig create Library $server {{name myLibrary} {classPath c:/WebSphere/PortalServer/shared/app/myLibraryClasspath}}
Portal Filters
A portlet filter is used to intercept and modify the output of a portletbefore it is aggregated to the entire portal page. Filters can be used to
produce output in different markups, languages or formats than what was
originally intended by the portlet. The Java classes that make up the filter
itself are stored within portlet war files and so the same instructions apply
to moving filter Java Classes as for Portlet war files.
Using portal filters requires that the Portlet Container Service properties
be modified to enable portlet filtering for the site and each filter must be
registered to the PortletFilterService. In the filesystem, these changes are
made to configuration files via the WebSphere Administration Console. If you
make changes on your source server to the Portlet Container Service or
PortletFilterService that result in updated Portal properties files, then you
will need to also make the same changes on the target server as part of the
move.
Lastly, the filter needs to be applied to the Portlet via the Manage
Portlets portlet. Changes made to which portlet the filter is applied to via
the Manage Pages portlet, can be moved to the new system with the Portal
transfer tools.
Portlet services, Active Credentials, Credential VaultAdaptors
If our solution release contains custom written portlet services to be usedin place of the provided credential vault portlet service or custom vault
adapters, then they may be packaged as separate shared libraries. Corresponding
custom portlets can be written to extract user's credentials from the vault for
use in accessing remote applications. If this is the case, then the same steps
that are required to move shared libraries between portal systems.
Vault segment information and is stored in the portal release database
therefore can be moved with releasebuilder and xmlaccess tools as part of a
solution release move. Public credential vault slot data should be picked up by
xmlaccess and releasebuilder tools. These resources appear as
"<credential-segment" and "<credential-slot" in the
xmlaccess export file. Private slots (for example those created by a portlet
for a specific user) should be going into the customization domain and will not
be transferred with the releasebuilder/xmlaccess interface tools as part of a
solution release move.
J2EE Artifacts
J2EE resources or artifacts (such as EJB jar files) used by Portlets aretypically packaged in the same EAR with the portlet application war and can be
deployed using the WebSphere Application Server Administration console, instead
of using the portal Manage Web Modules administration portlet or the XML
configuration interface.
After the EAR is deployed via the WebSphere Application Server (either the
scripting interface or administrative console), the XMLAccess configuration
interface must used to deploy and register the portlet application(s) packaged
within the ear to the Portal server, which makes it available for use within
Portal. The WebSphere Portal 6.1 InfoCenter contains the instructions for doing
this with the RegisterPreDeployedEAR.xml in the article:
Deploying J2EE resources
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/topic/com.ibm.wp.ent.doc/admin/j2ee.html
Once the portlets are registered with the portal server, the Portal
Administration portlets can be used to configure and remove them, but this
removing the portlets via the Portal administrative portlets does not remove
the EAR that they are part of from the WebSphere Application Server. To
completely remove the EAR, it must be deinstalled via the WebSphere Application
Server.
When updating a predeployed enterprise application that contains one or more
portlets, the update must be made in the WebSphere Application Server. The
steps to update the ear are beyond the scope of this topic, and are documented
in the WebSphere Application Server InfoCenter. If the change to the ear
includes modifications to the web.xml or portal.xml of an encapsulated portlet,
then the Portal server must be made aware of the updates by using the XMLaccess
configuration interface. The same RegisterPreDeployedEAR.xml sample file can be
used, but please ensure the <web-app> tag has an attribute
action="update" and not action="create" for it to work a
second time on a predeployed ear.
When moving a solution release that contains portlets deployed in an EAR,
deploy the EAR within WebSphere Application Server and in Portal via XMLAccess
/ RegisterPreDeployedEAR.xml on the target machine, prior to moving the
remainder of the solution release elements. Note that the export XML file from
the target server will show that the portlet is part of a webapp that is
predeployed with this flag:
<web-app action="update"... predeployed="true" removable=…>
The same is true for moving an updated EAR to a portal server as part of a
solution release move. Update the ear via the WebSphere Application Server on
the target machine and then use the XMLaccess configuration interface to notify
the Portal server of the updates if the update includes changes to the
portlet's web.xml or portal.xml files.
Portal Extension Artifacts – the components involved and
considerations for moving them
Portal Extension Artifacts are stored in theportal file system or in a database.
These artifacts exist in an installed
portal system. They belong to components
that are installed together with the portal
but are not core portal components.
Typically these components are available with
and without the portal server.
Portal Search and search collections
It is possible to export Portal searchcollections in XML format through the Portal
administration console. Instructions
for performing the export and import of
search collections can be found at the
link below: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/index.jsp?topic=/com.ibm.w p.ent.doc/admin/srtexpimp.html
Web Content Management
Moving Web Content Management artifacts is handled via theSynchronization
process. This topic is covered in detail
in Section V
of this document.
Document Repository
Startingin Portal 6.1 the Portal Document Manager
tool is no longer available. The tool
has been replaced by Lotus Quickr. Below
is a link to Portal Information Center that
provides information on migrating documents between Portal Document Manager and
Lotus Quickr.
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/index.jsp?topic=/com.ibm.w p.ent.doc/migrate/mig_pdm2quickr.html
Collaboration Components
Collaboration components include a wide variety of Portal componentsincluding Domino and Extended Products such as Domino Web Access, Sametime
Contact List, Lotus Notes View. It can also include various IBM products such
as IBM Lotus SameTime and IBM Lotus Domino. More information on the
Collaboration Components can be found at this Information Center link:
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/index.jsp?topic=/com.ibm.w p.ent.doc/collab/i_coll_c_collaboration.html
Portal Configuration – the entities involved and considerations for moving
them
Portal Configuration information is the data representation of several kindsof portal resources that are stored in the portal configuration database. The
portal configuration database is comprised of several different database
domains, each of which holds a different type or category of data. Domains can
be configured separately and split across different database management
systems. Data is placed in each domain according to these criteria:
Portal release data is made up of portal content definitions, rules,
and rights. It is typically not changed once in production, but designed on a
staging server and then moved over to production as part of a release with the
releasebuilder/xmlaccess/site Management portlet tools. One copy of the release
data exists per cluster. This is where content definition for these are stored:
Portal Content Tree (Navigation, Pages, Layouts)
URL Mappings
Portlet Application Configurations
Portlet Application Settings
Portlet Configurations
Portlet Settings
Portlet Data (legacy portlets)
Portlet Preferences (JSR168 portlets)
Access Control Data (Roles, ActionSets)
Credential Data
Themes
Skins
Cross-page wires
The following two domains are typically shared across production servers,
but not moved from staging to production during a solution release move:
Customization data, includes data created by a portlet for a specific
user,
Community data represents resources modified during production, such as
shared documents or application resources.
The remaining three domains represent non shareable data that have alternate
means of moving if required:
The JCR domain is where WCM documents are stored. (See Chapter 5
Synchronization for more information about this.)
The Feedback domain contains site visitor usage pattern information, used
for analytics.
The LikeMinds domain contains user rating and action transactional
information and rules used by the LikeMinds engines for the Personalization
dynamic recommendation system.
There is further information about “Shared database domains”, in this Portal
InfoCenter article:
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/topic/com.ibm.wp.ent.doc/c onfig/db_plan_domains.html
References used within Topic 2:
• WebSphere Portal 6.1 InfoCenter: Manual steps prior tousing ReleaseBuilder
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/topic/com.ibm.wp.ent.doc/a dmin/dep_checklist.html
• Hot deployment and dynamic reloading
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.ba se.doc/info/aes/ae/trun_app_hotupgrade.html
• IBM Rational Application Developer V6 Portlet Application
Development and Portal Tools
http://www.redbooks.ibm.com/redbooks/pdfs/sg246681.pdf
• WebSphere Portal V6.1 Knowledge Transfer Presentations,
A01v2, A08
相关文章推荐
- WebSphere Portal Solution Release Terminology
- My Solution to Lowest Common Ancestor of a Binary Tree(Down-Up Approach)
- 收录国外造船信息-Pursuit of a product work breakdown structure (PWBS)
- The solution of Websphere create profiles failed on Linux
- The solution on the Elements of Statistical Learning
- Solution to WebSphere Portal login problem in IE
- WebSphere Portal Transfer with XMLAccess, Release Builder and Site Management
- The9 with MSN-Microsoft with the breakdown of negotiations ahead of the report was leaked
- Layout of WebSphere portal page
- What is the future of IBM's WebSphere ?
- The minimum number of elements to reach the end of an array
- android release build error: String index out of range: -125
- Leetcode: Product of Array Except Self (60ms) analysis and solution
- SharePoint Portal Server 2003 Search does't like .Net Framework 2.0!!! (for Error in PortalCrawl Web Service solution)
- ARC forbids explicit message send of 'autorelease'
- Debugging the release version of a program
- IBM WebSphere Portal v8.5独立服务器(Linux)数据库迁移_DB2版本
- P14 (*) -P15 (**)Duplicate the elements of a list,Duplicate the elements of a list a given number of
- The solution of weblogic webservice Exception.
- Microsoft Business Portal Solution