Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "RAP/Running RAP on WebSphere"

< RAP
m
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
On IBM WebSphere Application Server (since V8, V7 with OSGi FEP), you do not have to install your RAP application using the [http://www.eclipse.org/equinox/server/downloads/bridge.war bridge.war] file. WAS provides an OSGi platform to Java EE applications to use OSGi's resolver mechanism and service dynamic. This platform is based on the Equinox OSGi implementation, but does not support Equinox-specific functionality like Extension Points. WAS implements the OSGi Enterprise WAB und BluePrint specification.
 
On IBM WebSphere Application Server (since V8, V7 with OSGi FEP), you do not have to install your RAP application using the [http://www.eclipse.org/equinox/server/downloads/bridge.war bridge.war] file. WAS provides an OSGi platform to Java EE applications to use OSGi's resolver mechanism and service dynamic. This platform is based on the Equinox OSGi implementation, but does not support Equinox-specific functionality like Extension Points. WAS implements the OSGi Enterprise WAB und BluePrint specification.
 +
 +
It is helpful to use IBM Rational Application Developer V8 with OSGi tools installed or to install [http://www.ibm.com/developerworks/rational/downloads/10/rationaldevtoolsforosgiapplications.html IBM OSGi tools] into Eclipse and to create EBA/WAB/OSGi bundle projects. But you can also create the bundles with simple file editors and a ZIP tool.
  
 
To deploy RWT on RAP, you have to do the following steps:
 
To deploy RWT on RAP, you have to do the following steps:
  
1. Create a WAB and register the Equinox HttpService Servlet using the /* URL mapping. This WAB could [[Media:Example.ogg]]
+
1. Create a WAB (WAR with OSGi bundle headers) and register the Equinox HttpService Servlet using the /* URL mapping. You can find this WAB [http://www.ars.de/web/resources/blog/rzahn/20111009/org.eclipse.equinox.http.embedded.web_1.0.0.201110092128.jar here].
2. Create an EBA file with the META-INF/APPLICATION.MF file. This file should look like this for a simple RWT application:<pre>
+
2. Create an EBA (EAR with OSGi bundle headers) file with the META-INF/APPLICATION.MF file. This file should look like this for a simple RWT application with the bundle identifier org.eclipse.rap.rwt.demo.bundle:<pre>
 
Application-Name: org.eclipse.rap.rwt.demo.eba
 
Application-Name: org.eclipse.rap.rwt.demo.eba
 
Application-SymbolicName: org.eclipse.rap.rwt.demo.eba
 
Application-SymbolicName: org.eclipse.rap.rwt.demo.eba
Line 39: Line 41:
 
  org.eclipse.rap.jface.databinding;version=1.5.0
 
  org.eclipse.rap.jface.databinding;version=1.5.0
 
</pre>
 
</pre>
 +
Please note that the org.eclipse.osgi bundle and the servlet API bundle must not be packaged and named here because WebSphere Application Server already provides this bundles.
 +
 +
3. Package the named bundles into the EBA or use WebSphere's internal and external bundle repositories to provide the bundles. If you want to register the bundles as an external bundle repository, you can use the [http://www.osgi.org/Repository/BIndex OSGi BIndex Tool] to create a repository.xml. The URL to the repository.xml file must then be used as repository URL.
 +
 +
4. Install the EBA to WebSphere Application Server. Import the EBA as an asset and then create a business level application (BLA) with the EBA asset.
  
It is helpful to use IBM Rational Application Developer V8 with OSGi tools installed or to install [http://www.ibm.com/developerworks/rational/downloads/10/rationaldevtoolsforosgiapplications.html IBM OSGi tools] into Eclipse and to create EBA/WAB/OSGi bundle projects.
+
On WebSphere Application Server V8, it is possible to update the bundles at runtime without restarting the application.

Latest revision as of 02:26, 10 October 2011

On IBM WebSphere Application Server (since V8, V7 with OSGi FEP), you do not have to install your RAP application using the bridge.war file. WAS provides an OSGi platform to Java EE applications to use OSGi's resolver mechanism and service dynamic. This platform is based on the Equinox OSGi implementation, but does not support Equinox-specific functionality like Extension Points. WAS implements the OSGi Enterprise WAB und BluePrint specification.

It is helpful to use IBM Rational Application Developer V8 with OSGi tools installed or to install IBM OSGi tools into Eclipse and to create EBA/WAB/OSGi bundle projects. But you can also create the bundles with simple file editors and a ZIP tool.

To deploy RWT on RAP, you have to do the following steps:

1. Create a WAB (WAR with OSGi bundle headers) and register the Equinox HttpService Servlet using the /* URL mapping. You can find this WAB here.

2. Create an EBA (EAR with OSGi bundle headers) file with the META-INF/APPLICATION.MF file. This file should look like this for a simple RWT application with the bundle identifier org.eclipse.rap.rwt.demo.bundle:
Application-Name: org.eclipse.rap.rwt.demo.eba
Application-SymbolicName: org.eclipse.rap.rwt.demo.eba
Application-ManifestVersion: 1.0
Application-Version: 1.0.0.qualifier
Manifest-Version: 1.0
Application-Content: org.eclipse.equinox.http.embedded.web;version=1.0.0,
 org.eclipse.rap.rwt.demo.bundle;version=1.0.0,
 org.eclipse.rap.rwt;version=1.5.0,
 org.eclipse.rap.rwt.osgi;version=1.5.0,
 org.eclipse.equinox.http.servlet;version=1.1.300,
 org.eclipse.osgi.services;version=3.3.0

If you want to use JFace, you have to add some bundles from the Eclipse runtime. Please note that WAS8 currently provides the org.eclipse.osgi bundle version 3.6.0, so you need to use the Eclipse 3.6 runtime bundles. Although RAP 1.5 is packaged with the Eclipse 3.8 platform, RAP and JFace can be used with Eclipse 3.6.

Application-Name: org.eclipse.rap.rwt.demo.eba
Application-SymbolicName: org.eclipse.rap.rwt.demo.eba
Application-ManifestVersion: 1.0
Application-Version: 1.0.0.qualifier
Manifest-Version: 1.0
Application-Content: org.eclipse.equinox.http.embedded.web;version=1.0.0,
 org.eclipse.rap.rwt.demo.bundle;version=1.0.0,
 org.eclipse.rap.rwt;version=1.5.0,
 org.eclipse.rap.rwt.osgi;version=1.5.0,
 org.eclipse.equinox.http.servlet;version=1.1.300,
 org.eclipse.osgi.services;version=3.3.0,
 com.ibm.icu.base;version=4.2.1,
 org.eclipse.core.commands;version=3.6.0,
 org.eclipse.core.databinding;version=1.3.100,
 org.eclipse.core.databinding.observable;version=1.3.0,
 org.eclipse.core.databinding.property;version=1.3.0,
 org.eclipse.equinox.common;version=3.6.0,
 org.eclipse.rap.jface;version=1.5.0,
 org.eclipse.rap.jface.databinding;version=1.5.0

Please note that the org.eclipse.osgi bundle and the servlet API bundle must not be packaged and named here because WebSphere Application Server already provides this bundles.

3. Package the named bundles into the EBA or use WebSphere's internal and external bundle repositories to provide the bundles. If you want to register the bundles as an external bundle repository, you can use the OSGi BIndex Tool to create a repository.xml. The URL to the repository.xml file must then be used as repository URL.

4. Install the EBA to WebSphere Application Server. Import the EBA as an asset and then create a business level application (BLA) with the EBA asset.

On WebSphere Application Server V8, it is possible to update the bundles at runtime without restarting the application.

Back to the top