Thoughts and Tutorials about Continuous Integration, Application Integration, SOA, IT Architecture, WebSphere and Liferay

Apr 28, 2008

WebSphere licensing


How does IBM licence WebSphere?

Right now they are using Processor Value Units (PVUs). Which means every core of an CPU is a processor which needs to licenced. So if you have an Quad-Core-CPU you need to licence four processors.

Additionally every CPU-Type costs a different amount of PVUs, depending on the max. sockets of the underlying system.

See the following linkg for the most recent table:
http://www.ibm.com/software/lotus/passportadvantage/pvu_licensing_for_customers.html

Depending on the version of WebSphere Application Server (Base, Express, Network Deployment, etc.) each PVU costs different.

Hint:
Use the IBM PVU Calculator.
Add a WebSphere Application Server to your shopping cart to calculate correct licence costs (without any discounts).


Strangely IBMs Power-CPUs are rated highest.
The Price for an WebSphere Application Server Network Deployment Value Unit is ~155 $.
Not a cheap amusement.

Apr 24, 2008

Add JAX-RPC-Handler to WebService (Gateway Instance)

In this post i try to explain how to add an JAX-RPC-Handler to an Webservice Gateway Instance.
As you can see in the picture i posted below an JAX-RPC-Handler is connected to an Inbound or Outbound-Port of an WSGW-Instance. JAX-RPC-Handlers are commonly used for logging a Webservice.
Note to Mediations:
Mediation is are not specified to an WebService.
Mediations are connected to message destination. This enables mediations to log the message queues.

1. In Admin-console go to Service Integration > Webservices > JAX-RPC Handlers > New
Name: Name of Handler
Classname: "Classpath of your handler class"
your handler class(es) should be stored in "Websphere System directory"/lib/ext/"your class structure"
2. Go to Service Integration > Webservices > JAX-RPC Handler List > New
Fill out the form and move your handler class to right field.
3. Add JAX-RPC-Handler to Inbound-Port of WS-Gateway Service
3.1 Go to Service Integration > Buses > "Your Bus" > Inbound Services > "your inbound service" > Inbound ports > "Your inbound port"
3.2 Select JAX-RPC-Handler List from drop-down-menu and click "OK"

Apr 23, 2008

How to create an WebService-Gateway in WebSphere Application Server 6.1

In this post i try to explain how to implement an Webservice Gateway in WebSphere Application Server 6.1.
To created and manage Webservice Gateways over administrativ console the Websphere Network Deployment Licence is needed.
The following picture shows how an Webservice Enviroment should look like in the end.

Note: JAX-RPC-Handlers and Mediations will be configured in another post (see above)
Steps:

1. Installation of SDO Repository
1.1 Ensure that Server/Node is started
1.2 Locate installSdoRepository.jacl (probably in bin-directory)
1.3 Change to bin-directory of profile and execute
wsadmin -f "location of installSdoRepository.jacl" -createDb
to create the SDO-Repository (storage for WSDL-Definitions,..)
1.4 Locate sibwsInstall.jacl(probably in util-directory)
1.5 Execute
wsadmin -f "Location of sibwsInstall.jacl" INSTALL_RA -nodeName "Name of Node" -installRoot "Location of System"
to install the Resource Adapter (used to invoke Web services)
1.6 Execute
wsadmin -f "Location of sibwsInstall.jacl" INSTALL -nodeName "Name of Node" -installRoot "Location of System"
to install the SIBWS-Application (SIBWS= Service Integration Bus Web Services)
1.7 Execute
wsadmin -f "Location of sibwsInstall.jacl" INSTALL_HTTP -nodeName "Name of Node" -installRoot "Location of System"
to install the HTTP-Channel-Applications (needed for accessing an Web Service)

What we created:
We installed all necessary application (components) for creating a WebService Gateway.
In the next Steps we will associate these applications with Endpoint Listeners.


2. Create and configure SIB
2.1 In administrative console go to Integration > Buses
2.2 Create an new Bus
2.3 Add an Server/Cluster as an Bus Member to newly created Bus (Bus > Bus Member > Add)
2.4 Create End Point Listener
2.4.1 In admin console go to Servers > Application Servers > "Server which was added as Bus Member" > Additional Properties > Endpoint Listener
2.4.2 Click "New" to create Endpoint Listener
Name: SOAPHTTPChannel1
Binding: SOAP over HTTP
URL-ROOT: "URL of Bus Member Server"/wsgwsoaphttp1
WSDL servering URL: "URL of Bus Member Server"/wsgwsoaphttp1/wsdl

2.5 Connect End point listener to SIB
2.5.1 Go to newly created End point listener > Connection Properties > New
2.5.2 Select newly created Bus
2.6 Restart server(s) to start message engine
2.6.1 Perhaps an authenticate error occurs. In this case you need to create a J2C Authentication data entry an associate it to the message engine (Panel: Integration > Buses > "Bus name" > Security for bus "bus name" > Inter-engine authentication alias) . J2C data should contain the credentials of the primary Websphere admin (wasadmin).

3. Create an Webservice Gateway Instance for your WebService Application
3.1 Go to Service Integration > Buses > "Bus Name" > Web Service Gateway instances > New
Name: "name of wsgw"
Gateway namespace: com.ibm.ws."busname".wsgw1
Default Proxy WSDL URL: "URL of Bus Member"/sibws/proxywsdl/ProxyServiceTemplate.wsdl
3.2 Go to Service Integration > Buses > "Bus Name" > Web Service Gateway Instances > "name of wsgw" > Gateway services > New
This is were you need the WSDL of your Webservice application (which have to be installed first).
3.2.1 Select WSDL-defined web service provider
3.2.1 Fill out Step 1 with your Gateway Service Name
3.2.2 Fill out Step 2 with your WSDL location (URL)
3.2.3 Go through other steps (no input needed) and click "Finish"

Edited: 01.07.2008
Adapted from WAS 6.0

Export / Import LTPA-Keys for Single Sign On (SSO)

Sometimes its necessary to implement an SSO-Enviroment over different WebSphere-Cells (e.g. Production-Cell and Acceptance-Cell). To do this both cells need the same LTPA-Keys.
The synchronization of LTPA-Keys can be done over Admin-Console.

1. To Export LTPA-Keys from a Cell navigate to
Security > Secure administration, applications, and infrastructure > Authentication mechanisms and expiration.

2. Fill out the import/export-Form at the bottom of the pageand click "Export keys". The LTPA-Keys will be exported to the specified directory. (The Keys will be password protected.)

3. Copy the exported ltpa.jceks-File to other the Cell (do not override ltpa.jceks of this cell).

4. Take a look at ltpa.jceks-File of this cell and note the file-size.
File is located in /"websphere"/"dmgr"/config/cells/"cellname"/ltpa.jceks

5. To import the LTPA-Keys to other Cell navigate to
Security > Secure administration, applications, and infrastructure > Authentication mechanisms and expiration.

6. Fill out "Cross-cell Single sign on"-From and click "Import keys"

7. File size of ltpa.jceks-File of this Cell should now be increased.
Sometimes nothing happens to file size of ltpa.jceks-File and Cross-cell SSO will not work (WAS-Bug).
In this case just repeat the import.

8. Restart servers/node

Apr 22, 2008

Add an stand alone profile to Dmgr with addNode-Command

Sometimes you want to add an stand alone profile/node to an existing Deployment Manager. In order to do this use the addNode-Command.
1. Change to /bin-Directory of the profile you want to add.

2. run addNode-Command
addNode.sh(.bat) "Dmgr_Hostname" -username "dmgradmin" -password "dmgradminpassword"

3. If addNode-Command was successfull, an message like this one should appear
Node XXX has been successfull federated

Apr 21, 2008

WebSphere Rapid Deployment

Hi, now i got something special for you. Rapid Deployment in Websphere Application Servers (WRD).
WRD allows you to deploy applications automatically (like Tomcat/JBoss).
WRD is usefull in test enviroments.
I do not recommend it for Production Enviroment.

Link:
Click
here you got an quite good IBM Education PDF:
Click [REMOVED] Sorry :-(

HINT:
WRD will not work in clusters

IBM Support Toolbar

Hi i just found this. Maybe its interessting for someone:
http://www-306.ibm.com/software/support/toolbar/

its an Support-Toolbar for IE and Firfox.
I tried it and its OK. Not more not less.

Federate an Application Server - Profile to Dmgr

We can easily create an Application-Server-Profile and federate it directly to an Dmgr

First we need an reponse-file:
-------------------------------
create
templatePath=/home/waslocal/IBM/WebSphere/AppServer/profileTemplates/managed
profileName="NAME OF PROFILE"
profilePath=/home/waslocal/IBM/WebSphere/AppServer/profiles/p2
hostName="HOST NAME OF MACHINE"
nodeName="NODE NAME"
dmgrHost="HOST NAME OF DMGR"
dmgrAdminUserName=wasadmin
dmgrAdminPassword=MyAdminPassword

enableService=false
startingPort=11100
-------------------------------


then we can execute


manageprofiles.bat -repsponse "PATH_TO_RESPONSE_FILE"

After a few minutes the newly created Profile (Node) should appear in "System administration > Nodes" in the Dmgr-Console




How to Create an Dmgr-Profile

So, how to create an Deployment-Manager-Profile.
First of all you need an response-file like this one:
-------------------------
create
templatePath=C:/Program Files/IBM/WebSphere/AppServer/profileTemplates/dmgr
profileName=Dmgr
profilePath=C:/Program Files/IBM/WebSphere/AppServer/profiles/Dmgr
nodeName=dmgrNode
winserviceCheck=false
enableAdminSecurity=true
adminUserName=wasadmin
adminPassword=MyAdminPassword
defaultPorts
--------------------------


now you can easily create an dmgr with mangeprofiles.bat / mangeprofiles.sh.

mangeprofiles.sh -response "PATH_TO_RESPONSEFILE"


After this, you can start the dmgr

startManager.bat / startManager.sh

Thats it :-)

Apr 20, 2008

Disable auto-generation of LTPA Keys

In a sso-enviroment this option could be a source of problems.
Websphere is configured by default to automatically generate new LTPA Keys every 12 weeks.
This caused some problems in our sso-enviroment.
Here is an link to this issue:
Click

here another one (PPT):
Click

Hint:
backup your config-directory.
LTPA-Keys are stored in this file
/"websphere"/"dmgr"/config/cells/"cellname"/ltpa.jceks

Apr 18, 2008

First Post

Hi there,

in this blog i want to share my experience with websphere application servers.

In addition i want to share my Liferay (an OpenSource-Portal-Software) experience.