====== High Level Web Service Composition Language ====== **Begeleider(s):** [[SSELMember>BartVerheecke|Bart Verheecke]]\\ **Promotor:** [[SSELMember>VivianeJonckers|Viviane Jonckers]] Behoort tot [[overview|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 ===== Nuttige Links ===== * [[http://ssel.vub.ac.be/wsml|Web Services Management Layer]] * [[http://ssel.vub.ac.be/jasco|JAsCo]]