geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Raymond Feng" <enjoyj...@gmail.com>
Subject Geronimo/Tuscany integration
Date Wed, 25 Apr 2007 19:55:32 GMT
Hi, Geronimo community.

As you may know, Tuscany is an Apache project under incubation to provide an 
open source SOA infrastructure. For more information, you can visit 
http://cwiki.apache.org/TUSCANY/.

Tuscany implements the SCA specification (http://www.osoa.org) and allows 
you to develop and run SCA components in various hosting environments. We 
currently integrate with Tomcat and Jetty and would like to try to integrate 
with Geronimo as well. I would like to start some discussions here to figure 
out the best way to do that.

After some preliminary investigations of Geronimo, I feel that there are two 
options on the table so far.

1) Shallow integration: Package SCA applications together with the Tuscany 
runtime as WARs and deploy them Geronimo as Web applications. It's basically 
the integration with a Web container. We register a TuscanyContextListner 
(which implements javax.servlet.ServletContextListener) in web.xml to 
start/stop the Tuscany runtime when the web application is started/stopped.

This will allow us to support the following use cases:
* A Web application hosted by Geronimo with business logic written as SCA 
components
* Expose one or more SCA components as Web services over HTTP as supported 
by the Web container.

2) Deep integration: We package the Tuscany runtime and its dependencies as 
Geronimo modules and deploy them to Geronimo (which is similar to how Tomcat 
is integrated as the Web container for Geronimo). We can then create a 
Tuscany plugin (a collection of modules) so that it can be added to 
Geronimo. The Tuscany container will then handle SCA-specific deployment 
plans to install SCA applications and provide runtime infrastructure for 
them.

On top of Option 2, we could further integrate Geronimo's J2EE capabilities 
such as EJB, WS, JMS and JCA with Tuscany. Basically, SCA components will be 
able to access JEE services (using SCA composite references) and SCA 
components will be able to expose services (SCA composite services) over JEE 
protocols as well.

This will allow us to support the following use cases:
* Any J2EE application hosted by Geronimo would be able to take advantage of 
SCA programming model
* Provide SCA services over various protocols such as RMI/IIOP, JMS and JCA
* Invoke existing JEE applications (EJB, JMS backend, JCA-based EIS or Web 
Services) from SCA components

Any thoughts?

Thanks,
Raymond
Apache Tuscany committer 


Mime
View raw message