Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Anchor
sca component
sca component
SCA Component

Provides the code necessary to execute a component
Support for different implementation technologies, samples are
Java class
BPEL Process Definition
PHP script
SCA Composite (recursive composition)
Declares SCA visible and configurable features
Services provided
References to required services
Properties required
Policy Intents required
Maybe used and configured by multiple components
Services and References are typed by Interfaces

The basic building block for SCA is a component implementation. When you're writing code for SCA, you are typically writing code that will either be the implementation of a component or will be used by such an implementation.

An SCA component follows the Inversion of Control design pattern with Tuscany providing the controlling framework. A typical component can be illustrated as:
Image Removed
where

A component implementation is described by the following attributes:

  • Services: This describes Services describe the function this type of component provides
  • References are : This describes the dependencies this type of component has in order to function
  • Properties define : This defines configuration parameters for this type of component. This controls how the component can behave.
  • Intents describe assumptions this type of component has or policies: This describes assumptions on how it will be usedand Implementation is some code that actually does the work (i.e. what a developer writes), for example security is a policy.

A typical component implementation can be illustrated as:
Image Added

The implementation of a component can be in any language that is suitable for the user, for example BPEL for business processes or XSL-T for transformations or Ruby for scripting or pure Java. How the services, references, properties and intents are defined for an implementation is specific to that particular implementation type.

Now, here is the twist. (lightbulb) A component implementation is the business logic. A component is an instance of a configured component implementation. More than one component can use the same implementation. A component lives in a composite that is described next.

...