Date Created: Wed 22-Sep-2010

Related Document Categories:



    Installing WebSphere Process Server on Linux using augmentation to an existing installation of WebSphere ND.

    This is a run through of an experiment to try and install WPS into an existing ND cell.

    1. Install Oracle XE

    2. Install WebSphere ND base binaries & create profiles (this is to show how to install process server into an existing cell)

    3. Run the DDL in Oracle XE

    4. install Process Server

    5. Augment existing Deployment Manager Profile to become a process Server profile

    Step 1. Install and download Oracle XE for Linux

    In my demonstration I have used Oracle XE as it is a quicker installation. You can search http://www.webspheretools.com to read how to install the full version of Oracle.


    http://www.webspheretools.com/sites/webspheretools.nsf/docs!searchview&query=[pagetitle]+CONTAINS+*oracle*&SearchOrder=1

    =============================


    http://www.oracle.com/technology/software/products/database/xe/index.html
    oracle-xe-10.2.0.1-1.0.i386.rpm

    rpm -ivh oracle-xe-10.2.0.1-1.0.i386.rpm

    [root@localhost oraclexe]# rpm -ivh oracle-xe-10.2.0.1-1.0.i386.rpm
    Preparing... ########################################### [100%]
    1:oracle-xe ########################################### [100%]
    Executing Post-install steps...
    You must run '/etc/init.d/oracle-xe configure' as the root user to
    configure the database.

    ===============================

    [root@localhost oraclexe]# /etc/init.d/oracle-xe configure

    Oracle Database 10g Express Edition Configuration
    -------------------------------------------------
    This will configure on-boot properties of Oracle Database 10g Express
    Edition. The following questions will determine whether the database should
    be starting upon system boot, the ports it will use, and the passwords that
    will be used for database accounts. Press <Enter> to accept the defaults.
    Ctrl-C will abort.

    Specify the HTTP port that will be used for Oracle Application Express [8080]:<enter>

    Specify a port that will be used for the database listener [1521]:<enter>

    Specify a password to be used for database accounts. Note that the same
    password will be used for SYS and SYSTEM. Oracle recommends the use of
    different passwords for each database account. This can be done after
    initial configuration:
    Confirm the password:
    <password>
    Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:y<enter>

    Starting Oracle Net Listener...Done
    Configuring Database...

    To access the Database Home Page go to "http://127.0.0.1:8080/apex"

    =============================

    You can now use a browser to test your Oracle XE login.




    ===============================

    2. Install WebSphere ND base binaries
    In this demonstration we set up WPS (WebSphere Process Server) by first installing WebSphere ND (Network Deployment)

    Here is a simple diagram of what our WebSphere ND infrastructure will look like.

    Simple Vertical WebSphere Cluster


    Note: WebSphere ND is not the same as WebSphere Base

    My WAS install folder is: /var/apps/wsps61_install/WAS

    [root@localhost WAS]# ./install





    Since I am using CentOS 5.3 I have a prerequisites issue. I could have used a silent install where I could have turned off prerequisite checking, but then you would not see what options I am using and how ND gets installed.



    I have chosen to install the sample applications



    I have opted to us a common enterprise approach for installing the WebSphere binaries in to a folder describing the fact we are using ND. The folder will contain the ND base binaries for version 6.1 of WebSphere.



    I have opted for no profile, this means only the base binaries will be installed. I will then use the Profile Management wizard to show you how to create profiles. The reason I use this method is that the wizard will use it's default settings and I want full control of my profile installations. Note: By using response files and the silent installer this process is easily controlled and repeatable.








    We have now completed the WebSphere binaries install for Websphere ND. We will now ssh into our Linux server and start the profile management tool

    When you click Finish the Profile Management Tool will automatically start. You can run this manually. The Profile Manager Tool (PMT) is located for example is: /var/apps/ndbase61/bin/ProfileManagement in the case of my recent ND base installation.



    We are going to select a Deployment Manager Profile. Websphere ND requires a Deployment Manager which provides the Administrative console for administering a WebSphere Cell.



    We select Advanced Profile creation during the Profile Creation options screen so we can decide locations and ports etc and have a more finer grained set of options.





    For my profile location I am going to use /var/apps/cell61/dmgr

    there are many ways in which you can decide to locate profiles, they could be in the same file path as the binaries, however I am sperating the profiles for the cell into their own folder space.



    You could change all these options below, however I don't want to get into editing my host file at tis time, it is easy to leave the defaults.



    We are going to turn on Global Security, however we can use an LDAP user registry later if we so choose.



    We are leaving the default WebSphere ports, we could have changed these, but no need. In an real business enterprise there may e a need to chnage so there are no port conflicts with other installations of WebSphere. It is recommended that you follow some form of port standards.







    Click Create to start the Deployment Manager profile creation.



    I now choose to use custom profile to create the node profile. This approach allows me to specify the settings I require.

    Note the node profile will create a node agent which will be federated into our WebSphere cell which was created when we created the Deployment Manager. So our cell name will be localhostCell01 etc.






    We save the new appsrv01 profile into the same folder base as the dmgr profile. There will now be two profiles in the /var/apps/cell61/ folder.





    in this step we are using a graphical version of the addNode.sh script which can be used to federate a node profile into a cell.

    Make sure the dmgr is started before you click next:

    /var/apps/cell61/dmgr/bin
    [root@localhost bin]# ./startManager.sh
    ADMU0116I: Tool information is being logged in file
    /var/apps/cell61/dmgr/logs/dmgr/startServer.log












    Click Finish and start the Node Agent.

    /var/apps/cell61/appsrv01/bin
    [root@localhost bin]# ./startNode.sh

    ===================================

    A good thing is to ensure that you can access your WebSphere Administrative console running on the Deployment Manager








    Might be a good idea to perform a node sync



    Click on the Nodes link in the System administration section of the administrative console.



    Select the node and click the Syncronise button, this is a simple test to ensure that the dmgr and the nodes are communicating.

    I got the following: The node <node_name> is already synchronised, so I am happy!




    We have now proven that WebSphere ND is installed, we now need to move onto step 3.


    ==================================================



    Step 3: Prepare the Oracle Database, Schema and tables

    If you have not done so already, download an install the Oracle client.

    http://www.oracle.com/technology/software/products/database/xe/htdocs/102xelinsoft.html

    upload and Install the oracle client rpm

    rpm -ivh oracle-xe-client-10.2.0.1-1.0.i386.rpm

    [root@localhost oracle_client]# rpm -ivh oracle-xe-client-10.2.0.1-1.0.i386.rpm
    Preparing... ########################################### [100%]
    1:oracle-xe-client ########################################### [100%]
    Executing Post-install steps...

    ===========================================================

    First you must change the password or the oracle user

    as root type:

    passwd oracle


    Also:

    create an oracle profile

    vi .bash_profile

    export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
    export PATH=$PATH:$ORACLE_HOME/bin
    export ORACLE_SID=XE


    ===========================================================

    Login as oracle user:


    -bash-3.2$ sqlplus

    SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 4 21:36:58 2009

    Copyright (c) 1982, 2005, Oracle. All rights reserved.

    Enter user-name: SYSTEM
    Enter password:

    Connected to:
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

    SQL>


    At the prompt run the following scripts:



    Common database user (WPCDB)

    create user WPCDB identified by password;

    SQL> create user WPCDB identified by <password>;

    User created.

    grant connect, resource, unlimited tablespace to WPCDB;

    SQL> grant connect, resource, unlimited tablespace to WPCDB;

    Grant succeeded.

    grant execute on dbms_system to WPCDB; (Full version of oracle, not to myself may need to figure out his for XE)

    grant javauserpriv to WPCDB; (Full version of oracle, not to myself may need to figure out his for XE)

    Business Process Choreographer Container User (BPCDB)

    create user BPCDB identified by <password>;

    SQL> create user BPCDB identified by password
    2 /

    User created.

    grant connect, resource, create tablespace, drop tablespace, create view,unlimited tablespace to BPCDB;

    SQL> grant connect, resource, create tablespace, drop tablespace, create view,unlimited tablespace to PCDB;

    Grant succeeded.

    grant execute on dbms_system to BPCDB; (Full version of oracle, not to myself may need to figure out his for XE)


    grant javauserpriv to BPCDB; (Full version of oracle, not to myself may need to figure out his for XE)

    Business Process Choreographer Observer user (BPCOBS)

    create user BPCOBS identified by <password>;

    SQL> create user BPCOBS identified by password
    2 /

    User created.


    grant connect, resource, create tablespace, drop tablespace, create view,unlimited tablespace to BPCOBS;

    SQL> grant connect, resource, create tablespace, drop tablespace, create view,unlimited tablespace to BPCOBS;

    Grant succeeded.

    grant execute on dbms_system to BPCOBS; (Full version of oracle, not to myself may need to figure out his for XE)

    grant javauserpriv to BPCOBS; (Full version of oracle, not to myself may need to figure out his for XE)

    ESB Message Logger user (ESBLOG)

    create user ESBLOG identified by <password>;

    grant connect, resource, unlimited tablespace to ESBLOG;

    grant execute on dbms_system to ESBLOG;

    grant javauserpriv to ESBLOG;

    Messaging engines data stores

    create user SCASYSMSG identified by <password>;

    SQL> create user SCASYSMSG identified by password;
    grant connect, resource, unlimited tablespace to SCASYSMSG;
    User created.

    grant connect, resource, unlimited tablespace to SCASYSMSG;

    SQL> grant connect, resource, unlimited tablespace to SCASYSMSG;

    Grant succeeded.

    grant execute on dbms_system to SCASYSMSG; (Full version of oracle, not to myself may need to figure out his for XE)
    grant javauserpriv to SCASYSMSG; (Full version of oracle, not to myself may need to figure out his for XE)

    create user SCAAPPMSG identified by <password>;

    SQL> create user SCAAPPMSG identified by password;

    User created.

    grant connect, resource, unlimited tablespace to SCAAPPMSG;

    SQL> grant connect, resource, unlimited tablespace to SCAAPPMSG;

    Grant succeeded.

    grant execute on dbms_system to SCAAPPMSG; (Full version of oracle, not to myself may need to figure out his for XE)
    grant javauserpriv to SCAAPPMSG; (Full version of oracle, not to myself may need to figure out his for XE)

    create user CEIMSG identified by <password>;

    SQL> create user CEIMSG identified by password;

    User created.

    grant connect, resource, unlimited tablespace to CEIMSG;

    SQL> grant connect, resource, unlimited tablespace to CEIMSG;

    Grant succeeded.

    grant execute on dbms_system to CEIMSG; (Full version of oracle, not to myself may need to figure out his for XE)
    grant javauserpriv to CEIMSG; (Full version of oracle, not to myself may need to figure out his for XE)

    create user BPCMSG identified by <password>;

    SQL> create user BPCMSG identified by password;

    User created.

    grant connect, resource, unlimited tablespace to BPCMSG;

    SQL> grant connect, resource, unlimited tablespace to BPCMSG;

    Grant succeeded.

    grant execute on dbms_system to BPCMSG; (Full version of oracle, not to myself may need to figure out his for XE)
    grant javauserpriv to BPCMSG (Full version of oracle, not to myself may need to figure out his for XE)

    ====================================

    SQL> quit
    Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

    Now we are going to install WebSphere Process Server

    Installing WebSphere Process Server

    /var/apps/wps61_install/WBI/install






    Because I am installing on Centos5.3 I get a prerequisite error due to a non-supported operating system.



    Because we have already installed WebSphere ND, we can choose the to "Use an existing installtion of Websphere Application Server Network Deployment" option as shown below.




    On the next screen we have three choices:

    Typical Installation
    This is a full installation of WebSphere Process Server that allows you to define an initial WebSphere Process Server environment of one stand-alone server, deployment manager, or custom profile. Alternatively it allows you to run the profile Management Tool in order to create your environment.

    Deployment Environment installation
    This is a full installation of WebSphere Process Server that helps to guide you through setting up a deployment environment. You can choose to create a deployment environment based on a deployment pattern or continue to define a deployment environment that you have already created.

    Essentially we have already created a cell, so we choose this one.

    Client installation
    This is a partial installation of WebSphere Process Server. It allows you to run client applications that interact with a WebSphere Process Server within the same cell.



    Since this is a test server I am going to install the samples.



    We have two choices:

    Create a deployment manager and choose a deployment environment pattern
    This option guides you through the creation of Deployment Manager in order to create a new deployment environment based on the deployment pattern you choose.

    Create a custom profile and choose the cluster members within the deployment environment
    This option guides you through the creation of a custom profile on a deployment environment that you have already created. You will choose the cluster members to create for this custom profile. You will need to be able to connect to the running deployment manager on that deployment environment.

    We choose this option as our cell already exists.





    We have three Deployment Manager and Deployment Environment Patterns to choose from:

    Remote Messaging and Remote Support
    This pattern defines one cluster for application deployment, one remote cluster for the messaging infrastructure, and one remote cluster for the common event infrastructure and other support applications. This pattern configures a set-up that performs well for most of your business integration needs. If in doubt, select this pattern.

    I choose this option.

    Remote Messaging
    The remote messaging pattern defines one cluster for application deployment and one remote cluster for the messaging infrastructure. The common event infrastructure and other support applications are configured on the application cluster.

    Single Cluster
    The single cluster is the simplest pattern that defines one cluster for the application deployment. Both messaging and common event infrastructure with support applications are configured on the application deployment cluster.








    Main Process Server configuration in our configuration as configured in the DB section was: WPCDB



    /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/jdbc/lib





    Need to stop both the

    /var/apps/cell61/appsrv01/bin

    ./stopNode.sh



    /var/apps/cell61/dmgr/bin

    ./stopManager.sh



    edit soap.client.props, to get rid of the X Windows authentication popup

    com.ibm.SOAP.securityEnabled=true

    com.ibm.SOAP.loginUserid=wasadmin
    com.ibm.SOAP.loginPassword=wasadmin






    Note:

    Common database setup
    If you chose to delay database execution scripts during the profile setup you
    need to execute the scripts in the following order:

    (ORA) As WPCDB
    sqlplus WPCDB/passw0rd@WPSDB @createTable_AppScheduler.sql
    sqlplus WPCDB/passw0rd@WPSDB @createTable_CommonDB.sql
    sqlplus WPCDB/passw0rd@WPSDB @createTable_customization.sql
    sqlplus WPCDB/passw0rd@WPSDB @createTable_lockmanager.sql
    sqlplus WPCDB/passw0rd@WPSDB @createTable_mediation.sql
    sqlplus WPCDB/passw0rd@WPSDB @createTable_Recovery.sql
    sqlplus WPCDB/passw0rd@WPSDB @createTable_RelationshipMetadataTable.sql
    sqlplus WPCDB/passw0rd@WPSDB @insertTable_CommonDB.sql

    ======================================================================================
    In my installation this is where the SQL was actually located

    /var/apps/cell61/dmgr/dbscripts/CommonDB/Oracle/WPCDB/createTable_AppScheduler.sql

    /var/apps/cell61/dmgr/dbscripts/CommonDB/Oracle/WPCDB/createTable_customization.sql
    /var/apps/cell61/dmgr/dbscripts/CommonDB/Oracle/WPCDB/createTable_CommonDB.sql
    /var/apps/cell61/dmgr/dbscripts/CommonDB/Oracle/WPCDB/createTable_lockmanager.sql
    /var/apps/cell61/dmgr/dbscripts/CommonDB/Oracle/WPCDB/createTable_mediation.sql
    /var/apps/cell61/dmgr/dbscripts/CommonDB/Oracle/WPCDB/createTable_Recovery.sql
    /var/apps/cell61/dmgr/dbscripts/CommonDB/Oracle/WPCDB/createTable_RelationshipMetadataTable.sql
    /var/apps/cell61/dmgr/dbscripts/CommonDB/Oracle/WPCDB/insertTable_CommonDB.sql


    ========================================================================================





    (Aug 5, 2009 7:16:13 PM), Process, com.ibm.ws.install.ni.ismp.installtoolkitbridge.ISMPInstallToolkitBridgeForNIFramework, wrn, Config action failed: 99SInstallInvokeWSProfile - /var/apps/ndbase61/properties/version/nif/config.wbi/install/99SInstallInvokeWSProfile.ijc

    Not sure what this error was?

    You can now see that there have been a number of editions to the ndbase folder.




    We are now going to use the Profile Management Tool to augment our profiles to become Process Server Profiles


    /var/apps/ndbase61/bin/ProfileManagement

    ./pmt.sh



    Click Augment





    on the next screen there are two choices:

    WebSphere Enterprise Service Bus

    WebSphere Enterprise Service Bus (ESB) supports the integration of service-oriented, message-oriented and event-driven technologies to provide a standards-based messaging infrastructure to companies wanting a fast start to an Enterprise Service Bus.


    WebSphere Process Server

    WebSphere Process Server is the next generation business process integration server that has evolved from proven business integration concepts, application server technologies, and the latest open standards.




















    Once finished you can restart the deployment manager





    I think at this stage we might need to un-federate the node and augment the profile. In this step we are going to use the removeNode.sh and manageprofiles.sh scripts.

    1. Unfederate the node

    Usage: removeNode [-force] [-quiet] [-nowait] [-logfile <filename>]
    [-replacelog] [-trace] [-username <username>] [-password <password>]
    [-profileName <profile>] [-help]

    So we need to know the name of the profile we wish to remove.( If there is only one single node then we could assume it is the default profile and not pass a profile name). To find the list of profiles type the following command from your ndbase

    cd /var/apps/ndbase61/bin
    ./manageprofiles.sh -listProfiles
    [appsrv01, dmgr]

    So we now know the appsrv01 is the profile we have to unfederate.

    Stop the node using the ./stopNode.sh command:

    ./stopNode.sh -help
    Usage: stopNode [options]
    options: -nowait
    -stopservers [-saveNodeState]
    -quiet
    -logfile <filename>
    -replacelog
    -trace
    -timeout <seconds>
    -statusport <portnumber>
    -conntype <connector type>
    -port <portnumber>
    -username <username>
    -password <password>
    -profileName <profile>
    -help

    for example:

    ./stopNpode.sh -profileName appsrv01 or just ./stopNpode.sh is it is the default profile.

    so type the following command from the <was_profile_root>

    ./stopNode.sh

    ./removeNode.sh -username wasadmin -password wasadmin -profileName appsrv01

    Result:

    ./removeNode.sh -username wasadmin -password wasadmin -profileName appsrv01
    ADMU0116I: Tool information is being logged in file
    /var/apps/cell61/appsrv01/logs/removeNode.log
    ADMU0128I: Starting tool with the appsrv01 profile
    ADMU2001I: Begin removal of node: localhostNode01
    ADMU0009I: Successfully connected to Deployment Manager Server: localhost:8879
    ADMU0505I: Servers found in configuration:
    ADMU0506I: Server name: nodeagent
    ADMU2010I: Stopping all server processes for node localhostNode01
    ADMU0512I: Server nodeagent cannot be reached. It appears to be stopped.
    ADMU2021I: Removing all servers on this node from all clusters in the cell.
    ADMU2014I: Restoring original configuration.
    ADMU2017I: The local original configuration has been restored.
    ADMU9990I:
    ADMU0306I: Note:
    ADMU2031I: Any applications that were uploaded to the localhostCell01 cell
    configuration during addNode using the -includeapps option are not
    uninstalled by removeNode.
    ADMU0307I: You might want to:
    ADMU2032I: Use wsadmin or the Administrative Console to uninstall any such
    applications from the Deployment Manager.
    ADMU9990I:
    ADMU9990I:
    ADMU0306I: Note:
    ADMU2033I: Any buses that were uploaded to the localhostCell01 cell
    configuration during addNode using the -includebuses option are not
    uninstalled by removeNode.
    ADMU0307I: You might want to:
    ADMU2034I: Use wsadmin or the Administrative Console to uninstall any such
    buses from the Deployment Manager.
    ADMU2024I: Removal of node localhostNode01 is complete.


    2. Augment profile and add process server

    Make sure you are in the profile root:

    cd /var/apps/ndbase61/bin

    ./manageprofiles.sh -augment -profileName appsrv01 -templatePath /var/apps/ndbase61/profileTemplates/managed.bpc



    ./manageprofiles.sh -augment -profileName appsrv01 -templatePath /var/apps/ndbase61/profileTemplates/managed.bpc
    Profile appsrv01 is currently in use: Retry the command later. If there are no other processes are operating on the profile, then the profile might be corrupt. Run the validateAndUpdateRegistry command and create the profile again.
    The selected profile does not meet the prerequisites of the augmenting template.
    INSTCONFFAILED: Profile augmentation failed. For more information, consult /var/apps/ndbase61/logs/manageprofiles/appsrv01_augment.log.

    I then tried to use the pmt.sh tool to see what the problem was:


















    <was_profile_root>/bin/startManager.sh

    Then it will allow you to go to the next step:








    OK Houston, we have a problem. Since this is a trial exercise to try augmenting process server into an existing cell, I am unsure what the problem is and really don't have time to figure it out. What I am going to do is re-create a new appsrv01 profile.

    1. Remove the profile

    [root@localhost bin]# ./manageprofiles.sh -delete -profileName appsrv01
    Profile appsrv01 is currently in use: Retry the command later. If there are no other processes are operating on the profile, then the profile might be corrupt. Run the validateAndUpdateRegistry command and create the profile again.
    INSTCONFFAILED: Cannot delete the profile. For more information, consult /var/apps/ndbase61/logs/manageprofiles/appsrv01_delete.log.


    What I did was edit the profile registry

    /var/apps/ndbase61/properties/profileRegistry.xml

    Viewing this file shoed that the appsrv01 had a reservation ticket set to true?

    <?xml version="1.0" encoding="UTF-8"?>
    <profiles>
    <profile isAReservationTicket="true" isDefault="true" name="appsrv01" path="/var/apps/cell61/appsrv01" template="/var/apps/ndbase61/profileTemplates/managed"/>
    <profile isAReservationTicket="false" isDefault="false" name="dmgr" path="/var/apps/cell61/dmgr" template="/var/apps/ndbase61/profileTemplates/dmgr">
    <augmentor template="/var/apps/ndbase61/profileTemplates/dmgr.wbicore"/>
    <augmentor template="/var/apps/ndbase61/profileTemplates/dmgr.bpc"/>
    <augmentor template="/var/apps/ndbase61/profileTemplates/dmgr.wbiserver"/>
    </profile>
    </profiles

    I edit the file and changed to false

    <profile isAReservationTicket="false" isDefault="true" name="appsrv01" path="/var/apps/cell61/appsrv01" template="/var/apps/ndbase61/profileTemplates/managed"/>

    I then tried to delete the profile gain.

    [root@localhost bin]# ./manageprofiles.sh -delete -profileName appsrv01
    INSTCONFPARTIALSUCCESS: The profile no longer exists, but errors occurred. For more information, consult /var/apps/ndbase61/logs/manageprofiles/appsrv01_delete.log.

    So now we can re-create the corrupted profile:

    I am using the pmt.sh tool to re-create the new profile

































    close the Profile Management Tool and then log into the administrative console (Deployment Manager) and we should see a federated WPS node.

    If you Navigate to the System administration section of the administrative console, then click Nodes, you will be presented with the main "Nodes" page and you will see that both the DMGR and the Node have both been augmented with Business Process Choreographer 6.1.0.0.





    I must say that the walk through is not perfect, but a good star for you to be able to see the pitfalls of trying to install Process Server into an existing cell. There are better methods to install process server ie from scratch using response files.

    Search for Process Server articles on my site to learn more....











    References:
    http://www.redbooks.ibm.com/redpapers/pdfs/redp4432.pdf

Middleware Mentor - Steven Charles Robinson

About Me

Steve Robinson has been working in IT for over 15 years and has provided solutions for many large-enterprise corporate companies across the world. Steve specialises in Java and Middleware consulting. Steve comes from both an administration and development background.

Before moving to JEE, Steve was an accomplished developer and consultant for both IBM Lotus Notes and Microsoft .NET Technologies.

Follow Steve as @stevencrobinson on twitter.

Read my books?

IBM WebSphere Application Server 8.0 Administration Guide

IBM WebSphere Application Server 8.0 Administration Guide

WebSphere Application Server 7.0 Administration Guide

WebSphere Application Server 7.0 Administration Guide

WebSphere Categories

Oracle WebLogic Categories

JBoss Categories

Other Categories