Latest update

The latest Geronimo Tuscany plugin we have can be installed on Geronimo v2.1.3. The plugin supports SCA reference and property injection in JSP, Servlet, Servlet Filters, Listeners, JSF Managed Beans, Session EJB and Message-Driven EJB. For instructions on installing the plugin and running sample applications, see http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Installing+Tuscany+Plugin+for+Geronimo .

Note: Rest of the page is not up to date (sad). Please bear with us while we update this page.
---------------------------
A page to capture the ideas and discussions on Geronimo-Tuscany Integration. This wiki page is a summary of the discussions on the mailing lists. Feel free to help in developing the ideas here.

Use Cases

Currently we are considering three use cases. These are just the initial set and they may be changed or more added as we go forward. The use cases are listed below

1) I develop SCA components, assemble them in a composite, package them in an SCA contribution. I don't really know what a WAR or an EAR is, I'm just using the SCA programming model and packaging model. I deploy my SCA contribution to Geronimo and run it there. I can then access these services using the various bindings that Tuscany provides.

2) I'm assembling SCA components, some of them developed using the SCA programming model (Java components, BPEL components or composite components for example) and I want to re-use an EJB module in my assembly, allowing other SCA components to talk to its session beans using the SCA programming model. That EJB module does not know anything about SCA, it only uses the EJB programming model.

3) I want to use a Web app in my SCA assembly and call SCA components from it. I should be able to declare an SCA component representing my Web app, wire that component to other SCA components in the assembly, and then magically the wired references will be available as proxies for use in my JSPs, allowing me to call an SCA component using a simple jsp:useBean tag. I should also be able to access the services inside of my servlets, filters, etc by using annotations.

Implementation

For achieving #1 (the first level of integration) we need to consider the following scenarios.

Initially this is what we will be trying to achieve.

Things that need to be investigated further

  1. How to implement #2 and #3
    For #3 we may need to extend tuscany to have a new implementation.web implementation type that can consume the services exposed by other SCA Components.
  2. Having multiple SCADomains in the same server instance
  3. Using Distributed Domains
  4. Better integration of the bindings to take care of using geronimo infrastructure

Current Status

We have made some progress and here are the details:

References

There are three mail chains providing more info
chain1
chain2
chain3

The OSOA J2EE Integration Whitepaper speaks about J2EE SCA integration concepts
OSOA J2EE Integration Whitepaper