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

7. Contributions

The authors presented the CASS model and its support infrastructure. The key constructs it is based upon are web service remote joinpoints that allow services to be in command of the control flow of subordinated services and dynamic web service interface extensions that allow service to dynamically assume unanticipated roles. Through dynamic weaving, service interface can be transparently adapted to support, for example, asynchronous communication. Moreover, because the CASS container is based on the Globus toolkit [2] container for Grid services, it supports per-instance service refinement.
Service refinement layers are inspired from the collaborationbased design paradigm. By decomposing and modularizing the service interactions into a set of independently definable collaborations, the workflow specification between services is more flexible as collaborations can be plugged in and out of the system on demand. The XML aspect deployment descriptors provided by Aspectwerkz [12] combined with aspect-oriented implementations of generic service collaboration design patterns offer a declarative way to define a decentralized workflow specification. Furthermore, its organization into service refinement layers and role extensions matches role diagram decomposition.
The model and infrastructure allow us to define much more advanced collaboration scenarios than what can be specified in business process languages such as BPEL. The advantages CASS’ and service refinement layers offer over BPEL workflow specification can be summarized as follow:

  • Decentralized orchestration
  • Dynamic deployment capability
  • Instance-based deployment capability
  • Clear separation between the various roles the service play
  • Programmatic extensibility and flexibility through the development of new collaboration aspects and patterns
For now, the java dynamic service interface extension requires a dedicated class loader to avoid naming conflicts in the JVM.
There is therefore a need for native support for dynamic Mixin capability such as found in CLOS, Perl or Python. The authors are currently working towards that goal. Also, support is needed for the validation of service refinement layer deployment. The authors think linguistic support might be needed for that purpose.
This page is under construction - Please send suggestions and comments to
Thomas Cottenier : cotttho@iit.edu