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.
The SCA specification is made up of four parts, as detailed in the following diagram:
Let's discuss these four parts further:
SCA and SCA components include the elements detailed in the following diagram:
Here's a brief description of these elements:
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.