Service Component Architecture (SCA)

Service Component Architecture (SCA) is a collection of OASIS (a non-profit consortium driving the adoption of open standards for the global information society) specifications, which describe a model for developing applications and systems on the basis of an SOA (Edwards 2007). SCA models solutions as groups of service components that provide services and include references to other services. Functionality is made available externally as a service in the form of interfaces. Service components have properties that describe the specific characteristics of the components, and are used to configure them.

Services can be combined to form composites. A composite is a composition of SCA components that belong together. These components represent a coarse granular business function and form a separate, functional, reusable unit. Composite services can also contain components that are only used within these composites. The functionality of these internal components is not, however, made available externally as a service in the form of interfaces.

Bindings describe how a service can be accessed. SCA has declarative mechanisms for this purpose, which are based on open specifications. The specifications not only determine how the defined bindings that are currently available can be described, but also how extensions for new protocols should be implemented.

SCA specification

The SCA specification is made up of four parts, as detailed in the following diagram:

SCA specification

Let's discuss these four parts further:

  • SCA assembly model: This describes how SOA applications are created with SCA. It also defines how individual modules, in the form of components, can be combined and integrated to produce more complex modules, and how these modules communicate.
  • SCA policy framework: This defines how security, transaction behavior, message exchange, and reliable messaging can be specified declaratively for a service.
  • SCA client and implementation: This defines how SCA components can be implemented in different programming languages and on different platforms (for example Java, .NET, C++).
  • SCA binding specification: This describes how various access technologies and protocols (such as SOAP, JMS, RMI-IIOP, REST, HTTP) can be used.

SCA elements

SCA and SCA components include the elements detailed in the following diagram:

SCA elements

Here's a brief description of these elements:

  • Service: A service represents the starting point for access to an SCA component or composite.
  • Reference: A reference is a pointer to an external service.
  • Binding: This is both an interface and a binding. In this case, an interface is an external declaration of the service, represented by a Java interface, a Web Service Definition Language (WSDL) port type, a Business Process Execution Language (BPEL) partner link, a C++ class, and so on. An interface binding can be bound to a service or a reference.
  • Property: This is a type/value pair used to describe and configure specific characteristics of the component.
  • Implementation: This defines the way in which an SCA component is implemented or, in other words, the form that the logic takes. The implementation types can be some Java code, for example, but can also be a human interaction.
  • Wire: This is the mechanism that links two SCA components together. Normally, one component's reference is bound to the service offered by another component.

Composites

A composite component is a logical construct that consists of SCA components that can form part of a single process on a single computer, or can be distributed across several processes on several computers. An application can be created with a single composite. The individual SCA components that make up the composite can be implemented using the same or different technologies. SCA applications can be called by a non-SCA technology, such as a web service client or a servlet. They can also access external data sources and other applications.

An SCA composite is described by a configuration file. This uses an XML format, Service Component Definition Language (SCDL, or Skiddle), to describe the components and the details of their relationships with one another, and with other external components.

Composites and components are the core elements of every SCA application.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset