InfoQ

News

Strengthening the Alliance Between Java EE and SCA

Posted by Boris Lublinsky on Apr 03, 2008

Community
SOA
Topics
WS Standards ,
SOA Platforms ,
SOA Appliance
Tags
Java EE ,
Service Component Architecture

The Open SOA collaboration has just published a 0.9 draft of the SCA Java EE Integration specification. This specification defines the integration of SCA and Java EE within the context of a Java EE application, the use of Java EE components as service component implementations, and the deployment of Java EE archives either within or as SCA contributions. It defines a model of using SCA assembly in the context of a Java EE runtime that enables integration with Java EE technologies on a fine-grained component level as well as use of Java EE applications and modules in a coarse-grained large system approach.

The specification defines support for the following scenarios of Java EE and SCA integration:

  • Consumption of SCA-exposed services from Java EE components. The specification defines how a web component (a servlet or a JSP) can consume a service implemented by a SCA service component.
  • Usage of Session Beans as Service Component Implementations. The specification defines how to use a session bean as service component implementations. Using RMI, JMS and web services traffic.
  • Exposure of Enterprise Applications into an SCA domain. The specification defines relationships between SCA and Java EE Assembly models and describes a deployment model for SCA contributions that provides cross-enterprise application assembly capabilities when layered over Java EE.
  • Usage of Recursive SCA Assembly in Enterprise Applications. The specification describes how SCA Assembly can be used to provide means for defining sophisticated application assembly for enterprise applications.
  • Deployment of SCA Components as a Part of a Java EE application. The specification defines a deployment model for components implemented in “foreign” technologies (for example BPEL) as part of a Java EE application, taking advantage of whatever tooling and infrastructure support exists for the deployment and life cycle management of Java EE applications.
  • Usage of Java EE Archives as Service Component Implementation. The specification defines creation of high level SCA applications that contain multiple Java EE archives, through wiring of Java EE archives to each other and to components implemented using other technologies. This use-case requires a high-level view of the Java EE application as a single SCA component, providing services and consuming references as a single component.

Additionally, support for SCA annotations in EJB classes or session bean interfaces is defined.

This specification aims to further strengthen relationships between Java EE and SCA, putting SCA in a better position for becoming a prevalent technology for SOA implementation in Java EE. One of the major motivations for doing so is that currently, the Java community is still split between SCA and JBI.  The JSR 316: Java Platform, Enterprise Edition 6 (Java EE 6) Specification is still considering both, but has not made a definite decision which way to go.While the majority of vendor’s application servers support SCA, open source implementation are still mostly based on JBI.

The standardization process for SCA is currently driven by OASIS and OSOA and still lacks full support by Java.

It's not JBI versus SCA by Peter Walker Posted Apr 4, 2008 11:43 AM
TLA-itis by Jim Leonardo Posted Apr 4, 2008 4:56 PM
  1. Back to top

    It's not JBI versus SCA

    Apr 4, 2008 11:43 AM by Peter Walker

    This misrepresents the technical reality. There's really very little overlap between JBI and SCA and as described for example at the OSOA site here.

    The two can be complementary. An SCA system can be built atop a Java EE platform augmented by JBI.

    JBI is all about pluggability in the infrastructure not directly the creation of service networks.

    Peter.

  2. Back to top

    TLA-itis

    Apr 4, 2008 4:56 PM by Jim Leonardo

    Just a general comment... SCA is probably not in quite common enough use yet to throw in a headline without defining in the body of the article.

    SCA: Society for Creative Anachronism? Scottish Canoe Association? Software Communications Architecture? Service Component Architecture?

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.