A Different Perspective


Use of SCA assumes that you're viewing SOA more as a business analyst than as a developer. Given this different and in some ways broader perspective, we'll revisit our use of the words service and implementation.

Service

We began Chapter 2 by saying that a service includes three aspects: an implementation, elementary access details, and a contract. The definition is true but is unnecessarily complex when you're focusing on business concerns.

As suggested by the right side of Figure 9.1, you can view a service as a set of operations:

  • You can make different sets of operations available to different sets of requesters. A subset of operations might be available only to requesters who have a particular access level.

  • You can make the same set of operations available to different requesters under different circumstances. A subset of requesters might pay a special fee for a faster response time.

image from book
Figure 9.1: Perspectives on services

Implementation

We earlier said that an implementation is a logical unit written in a computer language such as BPEL or Java. We need to extend this definition for you to make full use of the SCA technology; and again, the change focuses on the business use of services.

Figure 9.2 conforms to our original usage: a component is based on an implementation that is written in a specific language such as BPEL or Java. The component is a building block that is used to create a composite. The services exposed (that is, made available) by a component are available to other components in the same composite and may be exposed to requesters external to the composite.

image from book
Figure 9.2: A composite includes components

As shown in Figure 9.3, a composite can itself be used as a building block in a higher-level assembly. In this case, the lower-level composite is part of the internal processing in the higher-level composite. At least some of the services exposed by the lower-level composite are made available to other components in the higher-level composite, and the higher-level composite may make some of the exposed services available to other requesters.

image from book
Figure 9.3: A component can configure a composite

How do you use a composite as a building block? You assign the composite as the implementation of a component. The configuration values of the component affect the runtime behavior of the composite.

Is there fog in your microscope? The relationships can be confusing at first, and you need to distinguish carefully between two words that sound alike: component and composite.

For now, note three points. First, an implementation is a logical unit written in one or more computer languages. Second, a composite can have two kinds of relationships with a component. The composite is an enclosure in one case, an implementation in another. Last, services are sets of operations that are provided by an implementation, which can be a simple logical unit or an assembled one.




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