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
|