Breakdown of WebSphere portal Solution Release Elements
来源:互联网 发布:杭州 速开网络 编辑:程序博客网 时间:2024/06/06 11:35
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. Portal Artifacts are stored in the portal file system. All deliverables of software development are usually artifacts (otherwise referred to as software components). The following components are portal artifacts: 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. The following components are examples of portal extension artifacts: The Portal Configuration is stored in the portal configuration database. It 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 Artifacts
Portal Extension Artifacts
Portal Configuration
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.
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. In general, changes made to Portal property files on the source system need 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: 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. The JSP files and stylesheets that make up the Themes and Skins are stored 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. Portlet applications are made up of Java Classes, JSPs and XML files 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. 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: Portal Artifacts – the components involved and considerations for moving them
Property files
Themes and Skins
Portlet Code (Java Classes, JSPs, XML files)
Specific Example – Portlet deployment and move – Effect on component files
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: • C:/ibm/WebSphere/wp_profile/config/cells/node01/applications/ • C:/ibm/WebSphere/wp_profile/installedApps/node01/ • In the filesystem, there is no folder with the portlet application name in C:/ibm/WebSphere/wp_profile/PortalServer/deployed/archive We deployed the GoogleGadget portlet web module with the Portal Administrative Portlet: Administration > portlet management > web modules > click Install : After successfully completing the installation, we confirmed that the installation resulted in changes to the above referenced locations: • C:/ibm/WebSphere/wp_profile/config/cells/node01/applications/ • C:/ibm/WebSphere/wp_profile/installedApps/node01/ • In the filesystem, there is a folder with the portlet application name in C:/ibm/WebSphere/wp_profile/PortalServer/deployed/archive The Google Gadget portlet shows up in the portlet search: Prior to moving the portlet over to our wps02 staging server from wps01, we 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: Moving the Portlet resources to another machine as part of a Portal release move, involves two steps: 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: Note that this folder contains the portlet war file: 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: • C:/WebSphere/wp_profile/config/cells/wps02Cell01/applications/ • C:/WebSphere/wp_profile/installedApps/wps02Cell01/ • 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. The Google Gadget portlet shows up in the portlet search: The successful output of this command can be seen in the following screen capture: 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. Moving Portlets
<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> <serverEntries xmi:id="ServerEntry_1213915749762" serverName="WebSphere_Portal" serverType="APPLICATION_SERVER">
...
<deployedApplications>PA_IratedGoogleGadget.ear/deployments/PA_IratedGoogleGadget</deployedApplications>
If your customized portal site makes use of other Java Classes that are not 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: The following figure shows WPS_HOME/shared/app and elements of the classpath for the predefined WPSLib shared library: 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: A portlet filter is used to intercept and modify the output of a portlet 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. If our solution release contains custom written portlet services to be used 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. J2EE resources or artifacts (such as EJB jar files) used by Portlets are 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: 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: 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 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. It is possible to export Portal search 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.wp.ent.doc/admin/srtexpimp.html Moving Web Content Management artifacts is handled via the Synchronization process. This topic is covered in detail in Section V of this document. Starting 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.wp.ent.doc/migrate/mig_pdm2quickr.html Collaboration components include a wide variety of Portal components 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: 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: The following two domains are typically shared across production servers, but not moved from staging to production during a solution release move: The remaining three domains represent non shareable data that have alternate means of moving if required: 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/config/db_plan_domains.html • 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/admin/dep_checklist.html • Hot deployment and dynamic reloading http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.base.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 Other Portal Customizations and considerations for Portal Artifacts
$AdminConfig create Library $server {{name myLibrary} {classPath
c:/WebSphere/PortalServer/shared/app/myLibraryClasspath}} Portal Filters
Portlet services, Active Credentials, Credential VaultAdaptors
J2EE Artifacts
Deploying J2EE resources
<web-app action="update"...
predeployed="true" removable=…>Portal Extension Artifacts – the components involved and considerations for moving them
Portal Search and search collections
Web Content Management
Document Repository
Collaboration Components
Portal Configuration – the entities involved and considerations for moving them
References used within Topic 2:
- Breakdown of WebSphere portal Solution Release Elements
- WebSphere Portal Solution Release Terminology
- Layout of WebSphere portal page
- Solution to WebSphere Portal login problem in IE
- WebSphere Portal Transfer with XMLAccess, Release Builder and Site Management
- websphere portal
- Benefit of Websphere Portal and Lotus Domino together
- The solution on the Elements of Statistical Learning ( Ex. 8)
- Breakdown
- Microsoft Business Portal Solution
- WebSphere Portal Portlet API
- WebSphere Portal Portlet API
- WebSphere Portal portlet开发
- WebSphere Portal api
- WebSphere Portal 编写 portlet
- WebSphere Portal 新手入门
- WebSphere Portal 新手入门
- websphere portal语言切换
- RFC3550 RTP 中文
- WebSphere Portal Solution Release Terminology
- jsp连接数据库全集
- 【嵌入式Linux学习七步曲之第三篇 Linux系统bootlaoder移植】Guidelines for Porting PPCBOOT on PowerPC
- 突破WIN2003服务器20K IIS上传限制
- Breakdown of WebSphere portal Solution Release Elements
- Lucene学习总结之二:Lucene的总体架构
- ring3不使用api枚举线程
- 图片滑动放大效果
- MapReduce“单机版”日志分析实践点滴
- Java编写图形学的种子填充算法
- JDK简介&JDK5.0新特性
- 今天总结了一下SSH整合的几种最常见方式
- 求script的大小写组合,如:sCriPt,scRIPt...