Service component architecture

From Wikipedia, the free encyclopedia

Service Component Architecture (SCA) is a relatively new but important initiative advocated by major vendors of Java EE technology. 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.

Contents

[edit] Supporters

Sponsoring vendors include:

[edit] Definition

The released specification[2] seems to be vague in many aspects however it is maturing rapidly with a new specifications [3] being evolved. The specifications specify that an application designed with SCA should have the following properties:

  • Decoupling of service implementation and of service assembly from the details of infrastructure capabilities.
  • Should be able to work with multitude of languages including C++, Java, COBOL, and PHP as well as XML, BPEL, and XSLT.
  • Needs to work with various messaging constructs including One-Way, Asynchronous, Call-Return, and Notification.
  • Infrastructure capabilities, such as Security, Transactions and the use of Reliable Messaging should be applied to code through metadata.
  • Data should be represented in Service Data Objects.
  • Components designed in SCA should be easily reused.
  • Local calls to services should be more tightly coupled, reducing the overhead of creating and parsing messages intended for transport over a network.

[edit] Further Analysis

Gartner Group has 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. [4]

Advantage:

Disadvantage:

  • lack of initial support by Microsoft reduces the relevancy of SCA for a large number of potential clients.
  • Specification does not address performance of SOA applications which continues to be a detractor of adoption.

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 [1].

[edit] SCA artifacts

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, 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, Subsystems are used to group and configure related composites. Subsystems contain Module Components, which are configured instances of modules. Subsystems, like modules, also have Entry Points and External Services which declare external services and references which exist outside the system. Subsystems can also contain Wires which connect together the module components, entry points and external services.[5]

[edit] Implementations

[edit] Footnotes

  1. ^ Technology vendors extend collaboration on SOA technologies http://www.hoise.com/primeur/06/articles/monthly/AE-PR-08-06-92.html
  2. ^ http://www-128.ibm.com/developerworks/library/specification/ws-sca/
  3. ^ http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications
  4. ^ http://www.gartner.com/resources/136600/136687/new_soa_specification_will_f_136687.pdf
  5. ^ BEA, IBM, IONA, Oracle, SAP, Siebel, Sybase (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Component Architecture Specification. THE Service Component Architecture SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS SPECIFICATION.
  6. ^ http://www.covansys.com/what/SCAFrameworkforSOA.htm

[edit] See also

[edit] External links

In other languages