High Level Web Service Composition Language
Begeleider(s): Bart Verheecke
Promotor: Viviane Jonckers
Behoort tot Thesis and/or Apprenticeship Proposals 2005-2006
Inleiding (in English)
Web services are a new technology to enable distributed application development. A web service is a standalone modular application that can be described, published, localised and evoked over a network, typically the internet. Each web service publishes an API on the web so that clients can use its functionality while all implementation details remain hidden. Web services are a logical evolution of object oriented principles towards a distributed environment.
Since Web Services represent another paradigm for distributed applications, they consist of the same three components that are present in other middleware. There is a service broker that acts as a look up service between a service provider and a service requester, the service provider that makes one ore more services available and the service requester that binds itself to a provider and consumes its service(s). The true power of web services lies in the possibility to combine services together and provide added-value services. For instance, an authentication service, a hotel service and a payment service can be combined together to make a holiday booking application.
The problem is that at the moment services are combined and consumed in an ad-hoc manner. There are no (or only limited) abstraction mechanisms between the service requester and the service provider making the resulting application static and inflexible. At SSEL we are investigating how the hard link between a client-application and a certain service can be replaced by a dynamic one and how additional selection and management concerns can be specified and implemented, using Aspect-Oriented Programming (AOP).
Beschrijving Stage
Tijdens de stage zal de student een high-level compositietaal ontwikkelen om business processen tussen web services te specifieren. Deze zullen automatisch vertaald worden naar Java/JAsCo code. Deze (eenvoudige) basiscompositietaal zal gebaseerd zijn op BPEL, een bestaande de-facto standaard voor business processen.
Beschrijving Thesis
Voor de thesis zal deze compositietaal uitgebreid worden op twee manieren:
- support bieden voor AOP: bepaalde zaken zoals logging kunnen niet mooi gemodularizeerd worden met de huidige programmeerparadigma's. Hiervoor kan AOP gebruikt worden. De ontwikkelde compositietaal moet native ondersteuning bieden voor AOP.
- support bieden voor dynamische partner binding: at runtime kunnen bepaalde services onbereikbaar worden. De taal moet native ondersteuning bieden voor deze omstandigheden en toelaten om een andere service aan te spreken zonder dat het proces onderbroken wordt.
Vereiste Kennis (in English)
Er is geen vereiste voorkennis. Het is wel handig om:
- Java te kennen
- XML te kennen
In interesse op volgende vlakken is handig
- Web service technologie
- Software Architectuur en design