How does ServiceMix compare to Tuscany or SCA
The Service Component Architecture (SCA) is a specication 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 specication for Service
Data Objects (SDO). For example, the Oracle press release states:
The SOA Programming Model specications 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 specication, currently in
the Apache Software Foundation incubator. In fact, there are
currently two Tuscany implementations - one based on Tomcat for
assembly of Java applications, and one based on C++. Others are
expected to follow. The idea is to use a common application
assembly model (SCA) in all implementations.
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 specic middleware APIs or language.
Similarly, he concludes:
SCA matters, because this is the rst 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
评论2