Home    |    Research    |    Downloads    |   Demo  |
1. Introduction
2. Context Aspect Sensitive Services
3. Support Architecture
4. Service Interaction Models
5. Service Refinement Layer Composition
6. Related Work
7. Contributions
References



Concurrent
Programming
Research
Laboratory
 

CASS

5. Service Refinement Layer Composition

Because a business workflow language focuses on orchestrations from the perspective of a client application, it does not allow us the declare service interactions that are native to the nature of the accessed services. As a result, those collaborations have to be hard coded into the logic of web services, and get tangled with the service logic.
The following Aspect deployment descriptors are the equivalent of a BPEL description, but allow us to define much more advanced collaboration scenarios. First, the orchestration is decentralized and can be deployed dynamically on a per-instance basis. Second, it provides a clean separation between the various roles the service play. Finally, new types of collaboration patterns can easily be programmatically developed and incorporated into the system. However, the platforms need to be able to load the collaboration aspects in their respective aspect-language. To achieve full interoperability, the patterns and collaboration aspects need to be developed for each target platform. A Model- Driven Architecture approach seems suitable for that purpose.

5.1 ‘Bureaucracy’ Orchestration

By composing the structural composite pattern with the CoR and Observer patterns, we obtain a composite pattern that is close to the ‘Bureaucracy’ composite pattern [16] (except the bureaucracy also implements the Mediator patter for intra-hierarchy level communication). This pattern is particularly suited to coordinate the various services offered by a virtual organization, as the services offered tend to match the real world organization’s hierarchical organization. Each department of the organization might expose their resources through web services.
Fig. 11 illustrates the independent composition of the patterns presented in previous section. First, the composite pattern refinement layer encapsulates the logical structure of the organization. Second, the CoR pattern refinement layer encapsulates its dynamic behavior. Finally, the Observer pattern refinement layer encapsulates exception management. Because they are fairly independent, the composition is straightforward. The XML service refinement layer deployment descriptors are inspired from the aspect deployment descriptor provided by Aspectwerkz [12]. When combined with aspect-oriented implementations of generic service collaboration design pattern, they offer a declarative way to define a decentralized workflow specifications. Samples form the refinement layer specifications are reproduced in this section.  

5.1.1 Logical Structure

The following aspect deployment descriptor specifies service B has hierarchical control over service A and service C.

5.1.2 Dynamic Behavior

This aspect deployment descriptor specifies service C is the predecessor of service B in a chain of responsibility, and that is also the successor of another service (service D, but service C does not need to be aware of that).
The “advanced” pointcut specifies the situations for which request should be forwarded to the next handler ion the chain of responsibility. In this case, advanced searches should be forwarded to next hierarchical level.

5.1.3 Exception Management

The following aspect deployment descriptor specifies that web service C observes and controls service D and is itself observed and controlled by service B. The pointcut definition specifies a remote pointcut that is triggered when a exception is thrown during a search operation. The URI of service B is passed as a parameter, meaning service B will take care of handling the exception.

The complete service refinement layer deployment descriptor structure matches the role diagram structure of Figure 11. The descriptor can be viewed in the perspective of two different dimensions. The horizontal dimension specifies the role of each service instance in a given collaboration, while the vertical dimension captures the roles a given service instance assumes.
While the bureaucracy pattern is commonly deployed in practice in order to relate the services of a virtual organization, its structure and behavior are hard to describe in a business process language such as BPEL. As a result, the coordination logic tends to be hard coded into the service logic and ends up tangled with the service implementation.

5.2 Service Refinement Layer Composition

Service Refinement Layers can be developed independently and superimposed to a running system in order to adapt it to new requirements. However, it can be hard to evaluate the potential consequences of their mutual interactions, as well as their interaction with the core functionality. While the role manager might detect obvious inconsistencies, subtle interactions between the roles and the systems might still occur.
Moreover, services and components come with specifications and contracts that describe the behavior of the service and might give guarantees about the essential properties of a servicelike Quality of Service attributes. A vendor might sign its services guaranteeing they meet certain quality standards. The ability of Aspects to modify component behavior in uncontrolled ways is a serious brake to the integration of AOSD to Service-Oriented architectures and Component-Based engineering in general.
There is therefore a need to provide ways to assess and validate the impacts that aspect can have on component specifications. The problem is directly linked to the obliviousness of the system with respect to the superimposed collaborations layer. Validation of aspect weaving would require the core system to expose its essential desirable properties explicitly, so that the effects of aspects on those properties can be evaluated. The core system would have to compromise some obliviousness with respect to aspects, so that non-invasive changes can be validated. The authors think linguistic support might be needed for that purpose [21].


This page is under construction - Please send suggestions and comments to
Thomas Cottenier : cotttho@iit.edu