SCA

From CoCoME

Jump to: navigation, search

CoCoME : SCA Introduction

Service Component Architecture (SCA) provides a programming model for building applications and solutions based on a Service Oriented Architecture. It is based on the idea that business function is provided as a series of services, which are assembled together to create solutions that serve a particular business need.

SCA Assembly Model

SCA assembly model is a model for the assembly of services, both tightly coupled and loosely coupled, and it is also a model for applying infrastructure capabilities to services and to service interactions, including Security and Transactions. There are many modeling elements in this model, and the following figure shows the important elements and their relations.

Image:SCA.jpg

The elements and their relations are not hard to understand. But there are some importants aspects needed to exposed:

  • For a component, we can use <Services, References, Properties> to represents it.
  • From the relations shown in the figure, we can see that a component can provide many services each of which has no more than one interface and maybe can be binded with many protocols.
  • Components are configured instances of implementations. More than one component can use and configure the same implementation, where each component configures the implementation differently. If an component configured without implementation, it cannot be runnable. Otherwise, if an implementation is configured to a component, the services, references and properties of the component must be included in the Component Type of the implementation.
  • Three types of interfaces are supported by SCA: Java, WSDL 1.1 and WSDL 2.0. WSDL interfaces are always remotable, and Java interface can be annotated for indicating the scope information.
 <interface.java interface="<<Java Interface>>" callbackInterface="<<Java Interface>>" .../>
 <interface.wsdl interface="<<URI>>" callbackInterface="<<URI>>" .../>
 interface form: <WSDL-namespace-URI>#wsdl.interface(<portType Or Interface-name>)
  • The difference between remotable and local interfaces: service configured wiht local interface can only be accessed from the client running in the same process, but the service with remotable interface can be accessed from different process and even via network.It is possible for the implementation of a remotable service to indicate that it can be called using by-reference data exchange semantics when it is called from a component in the same process.
  • The invoking modes of method in SCA interface contains: synchronous, asynchronous and conversational. Asynchronous can be achieved via bidirectional interface.
  • Composite is used to assemble SCA elements in logical groupings. It is the basic unit of composition within an SCA Domain. It can be deployed to SCA Domain by inclusion or implementation.
  • Reference of composite should be compatible with the promoted references of contained components, and so does service.
  • The compatiblity can be interpret by the compatibility of wire. A wire may only connect a source to a target if the target implements an interface that is compatible with the interface required by the source. The source and the target are compatible if (Syntax Compatibility):
    • the source interface and the target interface MUST either both be remotable or they are both local;
    • the operations on the target interface MUST be the same or be a superset of the operations in the interface specified on the source;
    • compatiblity for the individual operation is defined as compatiblity of the signature, that is operation name, input types, and output types MUST BE the same;
    • the order of the input and output types also MUST BE the same;
    • the set of Faults and Exceptions expected by the source MUST BE the same or be a superset of those specified by the target;
    • other specified attributes of the two interfaces MUST match, including Scope and Callback interface
  • The semantics of included composites are that the content of the included composite is inlined into the using composite xxx.composite file through include elements. The effect is one of textual inclusion.

SCA Policy Model

Some Links

Personal tools