Deploying RWT applications to IBM WebSphere Application Server

10 10 2011

The last days, I tried to get a demo RWT application run on IBM WebSphere Application Server by using the OSGi feature. And the result is: It works! I have written a short manual within the RAP Wiki. But there are some restrictions and notes:

  • Ensure that you have the RWT 1.5 Nightly Build later than October 6th, because there was a bug on registering RWT resources.
  • There is a strange bug of IBM WebSphere Application Server 8 that provides the Servlet 3.0 API with the javax.servlet.* packages exported as version 2.6.0! Fortunately, the RAP team has minded this bug. Thanks guys!
  • I did not already test the whole RAP platform, only RWT and JFace.
  • I only got it work using the isolated way of running the RWT platform. WebSphere provides a Shared Bundle Framework to all applications. Each application is run in an isolated framework, but can access services running in the Shared Bundle Framework. It is possible to install the OSGi Http Service into the Shared Bundle Framework and register servlets of applications to this service. This way, you have a single context root that can be extended by multiple applications. Installing the org.eclipse.rap.rwt bundle into the Shared Bundle Framework did not work because of some strange errors (without any details). I have tested to remove some entries from the manifest file, but this is like finding the needle in a haystack. And I guess, this would not be the default scenario because isolation is one of the requirements to multiple applications running on a single server.

You can find my demo EBA here. The RWT and JFace bundles are not packaged into the EBA. You can add those that are named within the META-INF/APPLICATION.MF file to the EBA or provide the bundles using WAS’ bundle repository configuration. Take care of the versions, because I used RWT 1.5 with Eclipse 3.6.0 bundles, because WebSphere Application Server provides the org.eclipse.osgi bundle version 3.6.0.

After installing this EBA on WebSphere Application Server, you can open the demo with the URL http://<host&gt;:<port>/http/demo. You should then get this:

RWT Demo on WAS8


Some thoughts about OSGi and Java EE 6

28 06 2011

Last week, I played around with the new features of Java EE 6, especially with the Servlet 3.0 API. Because developing Java Enterprise applications with the OSGi application programming model is pretty attractive for me, I had a focus on the comparison of concepts that both “worlds” introduced and how to use them in a conflated environment.
Read the rest of this entry »

Using the OSGi Http Service on IBM WebSphere Application Server

14 05 2011

Since version 7 (Feature Pack) and version 8 (integrated), IBM WebSphere Application Server (WAS) provides the OSGi application model to enterprise application developers. It allows to develop OSGi bundles and to deploy applications as enterprise bundle archives (EBA). As WebSphere uses Equinox as the OSGi implementation, it should be possible to install and run the Rich Ajax Platform on the server. The first step is to evaluate how to install the OSGi Http Service into WebSphere’s web container and how to use it.

Read the rest of this entry »