Higher- and Lower-Level Composites


Figure 9.6 illustrates the relationship that is forged when a component in one composite uses a second composite as the component implementation. The two composites are in a hierarchical relationship but are not embedding one another in a single XML definition.

image from book
Figure 9.6: Higher- and lower-level composites

To understand the relationships that apply in this case, keep this illustration in mind as we reconsider the meaning of composite services, properties, and references.

Composite Services, Revisited

When a component (like Component A) uses a composite (like Composite Z) as an implementation, the service of interest is a composite service in Composite Z, and that composite service helps define the component type of the implementation.

The assembler can wire a composite service (in the higher-level composite) to the component (here, Component A) that provides access to the functionality of Composite Z. In that case, the assembler provides the business logic available in Composite Z. The assembler can use a binding different from the one specified for the composite service in Composite Z and can supplement the list of policy intents that were specified for the composite service in Composite Z.

Composite Properties, Revisited

The component that uses Composite Z as an implementation can set values for any of the composite properties that are defined in Composite Z. The component sets the composite property by setting a same-named component property in the higher-level composite. The basis of the value can be a literal, a composite property in the higher-level composite, or the content of a file.

Let's reconsider the meaning of the composite-property attribute mustSupply. The default value (false) means that the assembler needs to assign a related value in the higher-level composite only if an override is needed for the value that was set in the lower-level composite property.

Each composite property in Composite Z helps define a component type for use by the assembler and by the SCA runtime, just as a component property helps define the component type of a BPEL or Java implementation.

Composite References, Revisited

A higher-level composite can decide on the target and binding of a reference and can supplement the intents, whatever the configuration of the lower-level composite. The component sets the composite reference in Composite Z by setting a same-named component reference in the higher-level composite.




SOA for the Business Developer. Concepts, BPEL, and SCA
SOA for the Business Developer: Concepts, BPEL, and SCA (Business Developers series)
ISBN: 1583470654
EAN: 2147483647
Year: 2004
Pages: 157
Authors: Ben Margolis

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net