Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Service Component Architecture (SCA) is a specification that was announced on November 30, 2005, with the support of IBM, BEA, Oracle, SAP, Iona, Sybase, and other software vendors. SCA is often described in conjunction with the specification for Service Data Objects (SDO). For example, the Oracle press release states:"

The SOA Programming Model specifications include the Service Component Architecture (SCA) to simplify the development of creating business services and Service Data Objects (SDO) for accessing data residing in multiple locations and formats.

...

Tuscany is an implementation of the SCA specification, currently in the Apache Software Foundation incubator.

The purpose of the SCA spec and the Tuscany implementation is to address a key problem of application development in a world of service-oriented architectures and composite applications. As Bill Roth of BEA states in his blog: "

The goal of SCA is the same as BEA's goal: Make things (building apps, in this case) easier. SCA allows the development of application assemblies without regard to specific middleware APIs or language.

...

Similarly, he concludes: "

SCA matters, because this is the first technology that promises a compositional model that will enable the Service Network and allow the building of the next generation of service-oriented applications.... To put it simply, SCA is the future of building THE large scale enterprise composite application.

...

Looking closely at Tuscany and SCA, we see that they provide an alternative to EJB-based programming models, which can constrain the development of composite applications in a service-oriented world. So the spec and implementation give us a good POJO-based programming model for developing composite applications. Increasingly with Spring and SCA (and to some extent with EJB 3 as well) there is a move to hide middleware and to use simple POJOs for business logic. SCA follows this by introducing a small API and a collection of annotations for adding various things to POJOs such as:

...