Bug 315467 - [Tooling] Create WAR product tooling
Summary: [Tooling] Create WAR product tooling
Status: RESOLVED FIXED
Alias: None
Product: RAP
Classification: RT
Component: Releng (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard: plan-version=1.4 plan-theme=tooling p...
Keywords:
: 252881 (view as bug list)
Depends on: 315469 315471 315472 315479 315484 321520 321521 321526 321966
Blocks: 279743
  Show dependency tree
 
Reported: 2010-06-02 15:37 EDT by Holger Staudacher CLA
Modified: 2010-09-03 11:23 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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/