- Service component architecture
Service Component Architecture (SCA) is a relatively new initiative advocated by major software vendors. Its proponents claim it is more natively suited for the delivery of applications that conform with the principles of
service-oriented architecture. As such, SCA components are supposedly more technologically agnostic.
Partner vendors include:
* the original members:
BEA Systems, IBM, IONA Technologies, Oracle Corporation, SAP AG, Sybase, Xcalia and Zend Technologies
* the additional members announced on
July 26 2006: Cape Clear, Interface21, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, Software AG, Sun Microsystemsand TIBCO Software. [Technology vendors extend collaboration on SOA technologies http://www.hoise.com/primeur/06/articles/monthly/AE-PR-08-06-92.html]
Siemens AG, who joined the collaboration of companies working on the technology on September 18 2006.
In addition to the partners above, the SCA community has a significant set of formal supporters. [OSOA Technology Supporters http://www.osoa.org/display/Main/Current+OSOA+Supporters+Community] The Supporters Program remains open for any interested vendor, ISV, customer or user of the SCA technology to contribute to its evolution.
March 21 2007the OSOA Collaboration released the V1.0 level of specification [ [http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications Service Component Architecture Specifications - Open SOA Collaboration ] ] . The specifications specify that an application designed with SCA should have the following advantages:
* Decoupling of application business logic from the details of its invoked service calls including .
* Target services in a multitude of languages including
C++, Java, COBOL, and PHPas well as XML, BPEL, and XSLT.
* The ability to seamlessly 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, CORBAand 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.The value proposition of SCA, therefore, is to offer the flexibility for true composite applications, flexibly incorporating reusable components in an SOA programming style. The overhead of business logic programmer concerns regarding platforms, infrastructure, plumbing, policies and protocols are removed, enabling a high degree of programmer productivity.
Gartner Grouphas published a short brief that concluded that the SCA included technology of Service Data Object(SDO) will enjoy more rapid adoption due to its maturity. [http://www.gartner.com/resources/136600/136687/new_soa_specification_will_f_136687.pdf]
* caters for all existing
Java platformtechnologies and C++
* less technology dependence - does not have to rely on the Java programming language, nor
* SDO, which is a technology specification for data access
* lack of support by
Microsoftreduces the relevancy of SCA for a large number of potential users.
* Specification does not address performance of SOA applications, which continues to be a detractor of adoption.
* Focusing on portability (instead of interoperability) [ [http://blogs.ittoolbox.com/eai/applications/archives/sca-sdo-the-next-corba-10836] SCA & SDO, the next Corba? ] , making it vulnerable to repeat
CORBA's mistakes [ [http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=396] The rise and fall of CORBA ] .
SCA is 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 [https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2824] .
The SCA Assembly Model consists of a series of artifacts, which are defined by elements contained in XML files. A SCA runtime may have other non-standard representations of the artifacts represented by these XML files, and may allow for the configuration of systems to be modified dynamically. However, the XML files define the portable representation of the SCA artifacts.
The basic artifact is the Composite, which is the unit of deployment for SCA and which holds Services which can be accessed remotely. A composite contains one or more Components [cite book |last=Bell |first=Michael|title=Service-Oriented Modeling: Service Analysis, Design, and Architecture|year= 2008 |publisher=Wiley & Sons|isbn=978-0-470-14111-3 |pages=3 |chapter=Service-Oriented Conceptualization http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470141115.html] , which contain the business function provided by the module. Components offer their function as services, which can either be used by other components within the same module or which can be made available for use outside the module through Entry Points. Components may also depend on services provided by other components — these dependencies are called References. References can either be linked to services provided by other components in the same module, or references can be linked to services provided outside the module, which can be provided by other modules. References to services provided outside the module, including services provided by other modules, are defined by External Services in the module. Also contained in the module are the linkages between references and services, represented by Wires.
A Component consists of a configured Implementation, where an implementation is the piece of program code implementing business functions. The component configures the implementation with specific values for settable Properties declared by the implementation. The component can also configure the implementation with wiring of references declared by the implementation to specific target services.
Composites are deployed within a SCA System. A SCA System represents a set of services providing an area of business functionality that is controlled by a single organization. As an example, for the accounts department in a business, the SCA System might cover all financial related function, and it might contain a series of modules dealing with specific areas of accounting, with one for customer accounts, another dealing with accounts payable. To help build and configure the SCA System, Composites can be used as component implementations, in the same way as a Java classes or a BPEL processes. In other words, SCA allows a hierarchy of composites that is arbitrarily deep - such a nested model is termed recursive.
The capture and expression of non-functional requirements such as security is an important aspect of service definition, and has impact on SCA throughout the lifecycle of components and compositions. SCA provides the Policy Framework to support specification of constraints, capabilities and Quality of Service (QoS) expectations, from component design through to concrete deployment.
Transition to a Standards Body
After several years of incubation under an informal industry collaboration, early (V1.0) implementations of the specification are now coming to market. The collaboration have now indicated that formal industry standardization is the appropriate next step and announced their intentions in March 2007. The chosen Standards Development Organization is the OASIS organization, and a new OASIS [http://www.oasis-opencsa.org Open CSA] Member Section has been established [cite web | url=http://www.oasis-opencsa.org/sca | title=OASIS Open CSA Member Section for SCA] . Charters for six new Technical Committees (TCs) have been submitted to OASIS [cite web | url=http://xml.coverpages.org/ni2007-07-06-a.html | title=Six Technical Committees Proposed for the OASIS Open CSA Member Section] and a Call for Participation for Technical Committee members has been issued within the OASIS organization. The Technical Committees will start their work in September 2007. Participation in these OASIS SCA TCs remains open to all companies, non-profit groups, governments, academic institutions, and individuals. Archives of the work will be accessible to both members and non-members, and OASIS will offer a mechanism for public comment [cite web | url=http://www.oasis-open.org/news/oasis-news-2007-08-09.php | title=Six OASIS Committees Form to Standardize Service Component Architecture (SCA) for SOA] .
Semantic service oriented architecture
Books on SCA
* SOA for the Business Developer: Concepts, BPEL, and SCA -- ISBN 978-158347-065-7
* [http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications Current SCA Specifications from the Industry Collaboration]
* [http://osoa.org/display/Main/Home Open Service Oriented Architecture -- official site for information about the SCA & SDO technology]
* [http://fabric3.codehaus.org/ Fabric3 open source SCA runtime]
* [http://incubator.apache.org/tuscany/ Apache Open Source project implementation of the SCA specification]
* [http://www.pocomatic.com/docs/whitepapers/webservices/#sca-as-a-dsm PocoCapsule for WS and SCA] An open source C++ SCA container based on inversion-of-control (IoC) and domain-specific-modeling (DSM)
* [http://www.codecauldron.org Newton open source distributed SCA & OSGi runtime]
* [http://www.scorware.org SCorWare] A French public research project, which includes a SCA runtime called FraSCati
* [http://www.oasis-opencsa.org/sca SCA Home Page at OASIS web site]
* [http://www.osoa.org/display/Main/SCA+Resources Current SCA Resources & Collateral]
* [http://www.osoa.org/display/Main/News+about+SCA+and+SDO Latest SCA & SDO News]
* [http://www.davidchappell.com/articles/Introducing_SCA.pdf Introducing SCA -- A tutorial by David Chappell, Chappell & Associates]
* [http://www.osoa.org/display/Main/Relationship+of+SCA+and+JBI Relationship of SCA and JBI]
* [http://www.eclipse.org/stp/sca/index.php Eclipse STP/SCA sub project] An Open Source Eclipse project that provides a set of tools for SCA
Wikimedia Foundation. 2010.