Service Component Architecture (SCA) is a software technology designed to provide a model for applications that follow service-oriented architecture principles. The technology, created by major software vendors, including IBM, Oracle Corporation and TIBCO Software, encompasses a wide range of technologies and as such is specified in independent specifications to maintain programming language and application environment neutrality.Many times it uses an enterprise service bus (ESB).
On March 21, 2007, the OSOA Collaboration released the first version of specification. The specifications said that an application designed with SCA should have:
Decoupling of application business logic from the details of its invoked service calls
Target services in a multitude of languages including C++, Java, COBOL, and PHP as well as XML, BPEL, and XSLT
The ability to work with various communications constructs including one-way, asynchronous, call-return, and notification
The ability to "bind" to legacy components or services, accessed normally by technologies such as Web Services, EJB, JMS, JCA, RMI, RPC, CORBA and others
The ability to declare (outside of business logic) the quality of service requirements, such as security, transactions and the use of reliable messaging
Data could be represented in Service Data Objects
SCA, therefore, was promoted to offer flexibility for composite applications, flexibly incorporating reusable components in an SOA programming style.
Marketing firm Gartner Group published a short brief that promoted the SCA and its included technology of Service Data Objects (SDO) in December 2005 .
Advantages:
caters for all existing Java platform technologies and C++
less technology dependence – does not have to rely on the Java programming language or XML
Service Data Objects is a technology specification for data access
Disadvantages:
Specification does not address performance of SOA applications, which continues to be a detractor of adoption.
Focusing on portability (instead of interoperability),making it vulnerable to repeating CORBA's mistakes.
SCA was said to provide interoperability through an approach called "Activation". It is the method that provides the highest degree of component autonomy, compared to older "mediation" (e.g., JBI) or "Invocation" method used in JCA, as explained by an architect at SAP.