Java EE Integration
This page is used to track the status of implementation of SCA Java EE Integration Spec v1.0 [1] and Tuscany integration with Geronimo. The Daytrader sample [2] from Geronimo will be enhanced to demonstrate the integration.
High level functions to be supported
- support SCA annotations in JEE components
See 1a and 2b below
- support the application composite
See 1c, 2c, and 3c below
- support using SCA components within a JEE application
ie a servlet or ejb invoking bpel using implementation.bpel and the bpel process runs within the that JEE application
- support using SCA services external to the a JEE application
ie the service is not within the JEE app - a servlet or ejb invokes an SCA service running else where in the SCA domain
- ability to deploy Non-JEE artifact SCA contributions and have them run in the container context
ie an SCA contribution containing a service using binding.ws would use the container http infrastructure
- support implementation.jee, implementation.ejb, and implementation.web for coarse-grained wiring.
ie a references in a JSP in a webapp war wired to an EJB in a separate EAR and a BPEL process deploy as a non-JEE SCA contributions
Java EE Integration features in detail
Feature |
Section(s) in Java EE Spec v1.0 |
Priority |
Map to Daytrader |
Comments |
Status |
---|---|---|---|---|---|
1. WAR |
5.4.5 |
|
|
implementation.web |
|
a) Web application to consume services; @Reference/@EJB resulting in references. |
5.4.1 |
1 |
Daytrader web application |
Inject SCA Service in web component |
Prototype code in the Tuscany runtime-tomcat module that supports injecting references into Servlets, Filters and Event listeners using the @Reference annotation. |
b) WAR with componentType side file |
5.4.3 |
2 |
|
Some of component type information comes from a component type file META-INF/web.componentType |
|
c) web.composite as a composite implementation |
6.1.3 |
4 |
|
|
|
d) JSP tag libraries |
5.4.4 |
1 |
Daytrader web application |
Inject SCA Service in web component |
Taglib to include the SCA tags and define the reference field with the reference tag. |
|
|
|
|
|
|
2. EJB Applications |
5.1.6, 5.2.4 |
|
|
implementation.ejb |
|
a) EJB application to provide services exposed into SCA Domain |
5.1, 5.1.1 |
1 |
TradeBean |
Business interfaces of session beans as services |
|
b) EJB application to consume services; @Reference/@EJB resulting in references |
5.1.2, 5.1.3, 5.1.4, 5.2.1, 5.2.2, 5.2.3 |
1 |
TradeBean |
Remote EJB references and references to SCA services |
|
c) An EJB application's ejb-jar.composite to be used as composite implementation |
6.1.3 |
|
|
|
|
d) EJB with a componentType side file |
5.1.5 |
3 |
|
Some of component type information comes from a component type file META-INF/<bean-name>.componentType |
|
e) Services by Stateful Session Beans as conversational services |
5.1.9 |
2 |
|
|
|
f) @OneWay |
5.1.10 |
2 |
TradeBrokerMDB |
Non-blocking service operations |
|
g) @Callback |
5.1.11 |
2 |
TradeBrokerMDB |
callback service |
|
|
|
|
|
|
|
3. Java EE Archives (SCA-enhanced) |
|
|
|
|
|
a) META-INF/sca-contribution.xml |
6.1.1 |
|
|
Contribution to SCA Domain |
|
b) META-INF/sca-contribution-generated.xml |
6.1.1 |
|
|
|
|
c) Application composite |
6.1.3 |
|
|
|
|
d) Local assembly: Additional implementation types, binding and wiring capabilities |
6.1.2 |
|
|
|
|
e) Domain-level assembly |
6.1.4 |
|
|
|
|
|
|
|
|
|
|
4. Java EE Applications as implementation |
7 |
|
|
implementation.jee |
|
a) Pure Web App as implementation |
7.1.2 |
1 |
Daytrader web application |
|
Code to model WAR as an SCA contribution available in Tuscany contribution-jee module |
b) Pure EJB App as implementation |
7.1.1 |
1 |
Daytrader ejb application |
|
Code to model EJB jar as an SCA contribution available in Tuscany contribution-jee module |
c) Pure JEE App as implementation |
7.1.3 |
1 |
|
|
Code to model EAR as an SCA contribution available in Tuscany contribution-jee module |
d) SCA-enhanced Web App as implementation w includeDefaults |
7.2 |
|
|
|
|
e) SCA-enhanced EJB App as implementation w includeDefaults |
7.2 |
|
|
|
|
f) SCA-enhanced JEE App as implementation w includeDefaults |
7.2 |
|
|
|
|
|
|
|
|
|
|
5. Leveraging Tuscany/SCA |
|
|
|
|
|
a) Web2.0 clients |
|
|
|
|
|
b) Expose JEE components with JSONRPC bindings |
|
|
|
|
|
|
|
|
|
|
|
6. Transcations |
5.3 |
|
|
Mapping EJB Transaction Demarcation to SCA Transaction Policies |
|
|
|
|
|
|
|
7. Miscellaneous |
|
|
|
|
|
a) Import and Export of SCA artifacts |
6.1.5 |
|
|
As described in the assembly spec |
|
b) Resolution of WSDL and XSD artifacts |
6.1.6 |
|
|
Ref: OASIS SML Catalogs 1.1 spec |
|
References
[1] http://www.osoa.org/download/attachments/35/SCA_JAVAEE_Integration_V100.pdf?version=1
[2] http://cwiki.apache.org/GMOxDOC21/daytrader.html