World Library  
Flag as Inappropriate
Email this Article

Service component architecture

Article Id: WHEBN0003546013
Reproduction Date:

Title: Service component architecture  
Author: World Heritage Encyclopedia
Language: English
Subject: Java Business Integration, Semantic service-oriented architecture, Composite application, IONA Technologies, IBM WebSphere Integration Developer, IBM WebSphere Process Server, Apache Tuscany, Network Agility
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Service component architecture

Service Component Architecture (SCA) is a software technology created by major software vendors including IBM, Oracle and TIBCO. SCA provides a model for composing applications that follow Service-Oriented Architecture principles.[1] The technology encompasses a wide range of disparate technologies and as such is specified in various independent specifications in order to maintain programming language and application environment neutrality.[1]

Partners

Partner vendors include:

Supporters

In addition to the partners above, the SCA community has a significant set of formal supporters.[3] The Supporters Program remains open for any interested vendor, ISV, customer or user of the SCA technology to contribute to its evolution.

Definition

On March 21, 2007, the OSOA Collaboration released the V1.0 level of specification.[4] 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
  • Target services in a multitude of languages including C++, Java, COBOL, and PHP as 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, 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

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.

Further analysis

Gartner Group has published a short brief that concluded that the SCA included technology of Service Data Objects (SDO) will enjoy more rapid adoption due to its maturity.[5]

Advantages:

Disadvantages:

  • lack of support by Microsoft reduces 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),[6] making it vulnerable to repeating CORBA's mistakes.[7]

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

SCA artifacts

The SCA Assembly Model consists of a series of artifacts, which are defined by elements contained in XML files. An 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,[9] 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 an SCA System. An 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 functions, and it might contain a series of modules dealing with specific areas of accounting, with one for customer accounts and 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 Java classes or 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 an 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.

Open Source Communities

There are 5 independent open source communities implementing SCA:

  • Apache Tuscany
  • Fabric3
  • FraSCAti
  • Service Conduit
  • SwitchYard
  • TRENTINO A C++-based lightweight and modular SCA runtime that is specifically designed for the peculiarities of the embedded domain.

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 partners 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

Footnotes

See also

Books on SCA

External links

  • Introduction to programming for SCA Dr. Dobb's
  • Current SCA Specifications from the Industry Collaboration
  • Open Service Oriented Architecture -- official site for information about the SCA & SDO technology
  • Fabric3 open source SCA runtime
  • Apache Tuscany - Open Source implementation of the SCA specification
  • SALT - Enterprise ready SCA runtime for C++, Python, Ruby, and PHP
  • PocoCapsule for WS and SCA An open source C++ SCA container based on inversion-of-control (IoC) and domain-specific-modeling (DSM)
  • Newton open source distributed SCA & OSGi runtime
  • A French public research project, which includes a SCA runtime called FraSCati
  • SCA Home Page at OASIS web site
  • Current SCA Resources & Collateral
  • Latest SCA & SDO News
  • Introducing SCA -- A tutorial by David Chappell, Chappell & Associates
  • Relationship of SCA and JBI
  • Eclipse STP/SCA sub project An Open Source Eclipse project that provides a set of tools for SCA
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 



Copyright © World Library Foundation. All rights reserved. eBooks from Hawaii eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.