|
|
All WSO2 Carbon based products can be deployed in application servers such as WebSphere, WebLogic, Tomcat and JBoss. In the illustration below I will be using WSO2 Identity Server to describe the steps to deploy the Carbon based products in IBM WebSphere Application Server 6.1.
WSO2 Identity Server is a Carbon based product and is an open source Identity and Entitlement management server containing the support for XACML, Information Cards and OpenID.
| WSO2 Carbon |
2.0.x |
| IBM Websphere Application Server | 6.1 |
| Windows |
WinXp |
This deployment involves:
Pre-requisites:
WSO2 Identity Server 2.0.2 can be downloaded from here. Download and extract it to a location in your file system.
When the WSO2 Identity Server distribution is extracted it will have the following content that I have detailed in the below figure.

For our purpose, that is to deploy it in IBM Websphere we need only the files and folders that I have marked below.
conf - Contains configuration files.
database - Contains the database.
lib - Contains the basic set of libraries required to startup WSO2 IS in standalone mode.
repository - The repository is where Carbon artifacts and Apache Axis2 services and modules deployed in WSO2 Identity Server are stored. In addition to this other custom deployers such as javascript, dataservices, axis1services and pojoservices are also stored.
resources - Contains additional resources that may be required.
webapps - Contains the WSO2 Identity Server webapp. Any other webapp also can be deployed in this directory.
Now that we have identified the files and folders that we require for the deployment, lets start with it.
was_repo\conf\axis2.xml;
Change HTTP and HTTPS ports within In Transports to 9081 and 9444.
In IBM WebSphere Application Server the http and http ports are assigned per profile. By default it starts with 9081 and 9444 for http and https ports. My deployment is in the first profile that I created and I am using 9081 and 9444 as my ports. You may change these according to your settings.
<transportReceiver name="http" class="org.wso2.carbon.core.transports.http.HttpTransportListener"> <parameter name="port">9081</transportReceiver> <transportReceiver name="https" class="org.wso2.carbon.core.transports.http.HttpsTransportListener"> <parameter name="port">9444</transportReceiver>
was_repo\conf\carbon.xml
We need to change the value within WebContextRoot and ServerURL.
WebContextRoot represents the webapp context root of WSO2 Identity Server. When WSO2 Identity Server is to be deployed in Websphere we need to change it to a different context than root. That same name we used need to be updated here also.
<WebContextRoot>/is</WebContextRoot>
The ServerURL represents the URL of the back end server, where the admin services are hosted. We can update the parameters in this to exactly match our values.
<ServerURL>https://localhost:9444/is/services/</ServerURL>
was_repo\conf\registry.xml
Here we need to update the path to default h2 database. Provide the path to the database folder within was_repo like shown below.
<URL>jdbc:h2:D:/Testing/IS/2.0.1/was_repo/database/WSO2CARBON_DB</URL>
was_repo\conf\user-mgt.xml
Same as above, here also we need to update the path to h2 database within the was_repo folder.
WAS_repo\conf\identity.xml
Please note that this configuration is specific to WSO2 Identity Server. You can omit this step for all the other products. In identity.xml we need to update the values within OpenIDServerUrl and OpenISUserPattern. These are used in openID signing-in and when generating openID as an openIS provider.
Update these to contain the IBM WebSphere Application Server port and the context.
<OpenIDServerUrl>https://localhost:9444/is/openidserver</OpenIDServerUrl> <OpenIDUserPattern>https://localhost:9444/is/openid/</OpenIDUserPattern>
Now lets move to configurations in IBM Websphere Application Server. Assuming that IBM WebSphere Application Server 6.1 is successfully installed and a profile is created usig the 'Profile Management Tool', follow the below instructions.
name = anything (I'll put wso2carbon_cert) path = CARBON_HOME\resources\security\wso2carbon.jks (for CARBON_HOME you need to give the absolute path for was_repo that you created above.) password = wso2carbon type = jks
path = path to the is.war we created
context root = /is
Our deployment in Websphere Application Server is completed after the server is successfully started. Now we can access WSO2 Identity Server from IBM Websphere Application Server using the following URL.
https://localhost:9444/is/carbon
The steps given above can be applied to all the products under the WSO2 Carbon product family. If you need to have multiple products installed and invoked from IBM Websphere Application Server at the same time it is advisable to create different profiles.
In WSO2 Identity Server, there need to be an additional step to be performed if you need to enable 'Information cards support for SAML 1.1/2.0'. Here you need to update 'IBM JCE files' within the WebSphere Appliction Server. The IBM JCE files can be downloaded from the IBM website. To update these files you need to navigate to WebSphere_home\AppServer\java\jre\lib\security folder and replace local_policy.jar and US_export_policy.jar.
Yumani Ranaweera, Senior Software Engineer, WSO2, yumani AT wso2 DOT com.
WSO2ESB v2.1.0 on WAS v6.1 on AIX
Hi , Thanks for the article above. Is there a possibility of running WSO2ESB v2.1.0 on IBM WebSphere Application Server v6.1 running in an AIX environment ?