Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 315467

Summary: [Tooling] Create WAR product tooling
Product: [RT] RAP Reporter: Holger Staudacher <holger.staudacher>
Component: RelengAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: elias
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard: plan-version=1.4 plan-theme=tooling plan-status=committed
Bug Depends on: 315469, 315471, 315472, 315479, 315484, 321520, 321521, 321526, 321966    
Bug Blocks: 279743    

Description Holger Staudacher CLA 2010-06-02 15:37:00 EDT
After completing a RAP application the next step is generally to publish the application on a web server, i.e. in a servlet container or application server. But this step, also known as deployment, sounds simpler than it is in the real world. When searching the RAP newsgroup for "WAR deployment" 210 threads appear. The reason for this is that many developers have problems deploying a RAP application. These problems exist because RAP products build on top of Server-Side Equinox. Equinox has special requirements for the deployable archive. To making things easier for beginners and to simplify the deployment process a good approach and tooling is needed.

Deployment requirements:
While deploying a Server-Side Equinox Application, Equinox and all bundles required by the application need to be integrated in a servlet-contianer. The incoming requests must be forwarded from the Equinox instance to the participating resources. This creates certain requirements for successfully deploying an Equinox based application as a WAR. The requirements are:
- All dependencies need to be resolved for the bundles that are being deployed.
- The config.ini must be set up properly.
- The javax.servlet bundle must be excluded from the deployment.
- The servletbridge (both sides) must be present.
- A bundle that provides the HttpService must be present.
- The basic folder structure must be intact (WEB-INF folder, web.xml, etc.).

Possible solution:
A good approach for building eclipse based applications is the RCP product approach. With this approach developers can create product configurations. These configurations are the basis for exporting RCP applications as executable products. To improve the server-side Equinox deployment process this approach can be adopted. A concept called the WAR product should be introduced. With this concept developers can create WAR product configurations which hold the necessary information for exporting an Equinox based application as a deployable WAR.
Having a good approach is one thing, but the right tooling is needed as well. Decent tooling exists for the RCP product. PDE comes with wizards for creating product configurations and for exporting a product. In addition, a configuration editor is available to help avoid syntax errors. Similar tooling for the WAR product will be needed. This tooling will make the deployment process much simpler and avoid errors during deployment. This tooling can act as the basis for the WAR product tooling and will make RCP developers feel at home.
Comment 1 Holger Staudacher CLA 2010-07-28 06:51:11 EDT
*** Bug 252881 has been marked as a duplicate of this bug. ***
Comment 2 Holger Staudacher CLA 2010-08-16 15:20:41 EDT
The described tooling for GSoC 2010 is finished. All dependent bugs are fixed. You can find a detailed feature list here: http://wiki.eclipse.org/RAP/Equinox_WAR_products

I will close this bug right now.
Comment 3 Elias Volanakis CLA 2010-08-16 23:40:43 EDT
Very cool! Is in in CVS? I would like to try it :-)
Comment 4 Holger Staudacher CLA 2010-08-17 03:21:10 EDT
Hi Elias,
yes it's in the CVS. But you will find also a tutorial and repository here: http://eclipsesource.com/blogs/2010/08/17/equinoxrap-war-deployment-an-end-to-the-pain/