The specifications describe how to create composite applications. A composite application is created by combining one or more components that together implement the business logic of the new application. A component comprises an application program that implements the business logic and configuration information. An application developer can use the same application program with different configurations to form different components. A component offers a service to other components and in turn consumes functions offered by other services using service-oriented interfaces.
An application developer can assemble components together to create a solution for a particular business requirement. A composite application can contain both new components that are created specifically for the business application and existing components that are reused from other applications.
CICS® supports the SCA Assembly Model 1.0 specification, which describes how service components can be assembled to form composites. A composite is the unit of deployment in SCA and is described in an XML language called SCDL. Composites can contain components, services, references, property declarations, and the wiring that describes the connections between these elements. Composites can also be used in components with other composites, allowing for a hierarchical construction of composite applications, where high-level services are implemented internally by sets of lower-level services.
A simple type of component has one service and one reference. A service is an addressable interface for the component that can contain one or more operations. A reference is a dependency on a service that is provided by another component. The bindings for the component can be defined in both the service and the reference:
Component services and references are internal and are used only for component-to-component communication. To create an external interface, the component must be deployed inside a composite. A very simple composite has one external service and one external reference:
Composite services and references are not part of the component itself, but are a boundary between the component and other external clients or services.
The following diagram shows a composite that contains a simple component with both internal and external services and references.
