Date Created: Wed 22-Sep-2010

Related Document Categories:

Get my WebSphere Application Server course here >> http://www.themiddlewareshop.com/products/



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 https://webspheretools.com to read how to install the full version of Oracle.


https://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

Get my WebSphere Application Server course here >> http://www.themiddlewareshop.com/products/

Steve Robinson - IBM Champion 2013

About Me

Steve Robinson has been working in IT for over 20 years and has provided solutions for many large-enterprise corporate companies across the world. Steve specialises in Java and Middleware.

In January 2013, I was awarded the prestigous 'IBM Champion' accolade.


  • Linked In
  • Twitter
  • About Me
  • My Blog
  • Contact Me

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

Other Categories