Bibliographic Metadata

Title
A domain-specific language for QoS-aware service composition / von Predrag Celikovic
AuthorCelikovic, Predrag
CensorDustdar, Schahram ; Rosenberg, Florian
Published2010
Description96 Bl. : graph. Darst.
Institutional NoteWien, Techn. Univ., Dipl.-Arb., 2010
Annotation
Zsfassung in dt. Sprache
LanguageEnglish
Document typeThesis (Diplom)
Keywords (DE)Web Service Komposition, DSL
Keywords (EN)Web Service Composition, DSL
URNurn:nbn:at:at-ubtuw:1-35193 Persistent Identifier (URN)
Restriction-Information
 The work is publicly available
Files
A domain-specific language for QoS-aware service composition [3.25 mb]
Links
Reference
Classification
Abstract (German)

Software as a Service ist ein Software-Distributions-Modell welches in den letzten Jahren an Bedeutung gewonnen hat. Es wurde zu einem erfolgreichen Geschäftsmodell indem man Software als Dienstleistung in Form von standardisierten Web Services anbietet.

Unternehmen können dadurch in komplexen Softwaresystem für bestimmte Aufgaben auf Web Services von externen, spezialisierten Unternehmen zurückgreifen. Durch die immer größer werdende Anzahl an verwendeten Web Services in großen Unternehmensanwendungen wurde auch die Komposition von diesen zu einem wichtigen Thema. Um dies zu ermöglichen entstanden spezielle Kompositionssprachen.

Diese Diplomarbeit stellt ein CaaS (Composition as a Service) Ansatz für Web Service Kompositionen vor. Um Kompositionen zu definieren wurde die Sprache VCL (Vienna Composition Language) entwickelt. Der Hauptaugenmerk der Arbeit liegt auf einfachen Microflows. Ein Microflow ist eine einfache, atomare Web Service Komposition die es den Benutzer, anders als BPEL, nicht ermöglicht die Komposition zur Ausführungszeit noch zu beeinflussen. Ein Kompositionsservice transformiert die spezifizierte VCL Komposition zu einem Microsoft Windows Workflow und stellt ihn auf dem IIS (Internet Information Server) als ein eigenständiges Web Service zur Verfügung. In VCL werden Abhängigkeiten zwischen Web Services basierend auf den Eingabe- und Ausgabeparameter implizit definiert. Jedoch ist es möglich durch die Verwendung von Kontrollstrukturen die resultierende Komposition zu verändern.

Um das "Publish-Find-Bind" SOA Prinzip zu erfüllen wird VRESCo als ein Service Register verwendet. Anders als UDDI, abstrahiert VRESCo verschiedene Service Implementierungen derselben Domäne auf eine gemeinsame Darstellung. VCL unterstützt, anders als andere Kompositionssprachen, auch die Angabe von gewünschten QoS Werten.

Hierfür wird ein so genanntes Constraint Hierarchy System verwendet das es dem Benutzer ermöglichen Kriterien zu spezifizieren die erforderlich oder nur optional sind. Das Composition Service evaluiert eine in VCL angegebene Komposition nach funktionalen Anforderungen (Eingabe- und Ausgabeparameter) und wählt anhand der QoS Kriterien die beste Komposition aus.

Abstract (English)

Software as a Service is a software deployment and distribution model that has grown in the last few years. It has become a valid business model to expose and license a specialized Web service on demand to customers. Companies can build software systems out of internal services or software components and use external services offered by third-party companies. Composition of these services is an important topic because of the rapid increase of involved Web services in enterprise software systems. Composition languages such as BPEL and others have been developed in the last few years.

This masters thesis presents a CaaS (Composition as a Service) approach for Web service compositions. The VCL (Vienna Composition Language) domain-specific language is introduced. The main focus of VCL and this thesis lies on microflows. Microflows are simple service compositions without support of user interaction at execution time. The VCL is used to specify microflows.

A composition services takes the VCL composition and transforms it to a Microsoft Windows Workflow which will be hosted as a own Web service in the IIS (Internet Information Server). In VCL, dependencies between services are defined implicitly based on the input and output parameter of those. However, by adding control structures it is possible to override the dataflow dependencies and modify the resulting composition.

To fulfill the SOA "Publish-Find-Bind" principal, VRESCo is used as a service registry. in addition, to a classical service registry like UDDI, VRESCo supports an abstraction layer for Web services that is used to map different service implementation from the same domain to a common interface definition. VCL specifies the composition on this abstract layer and allows to add, unlike other composition languages, QoS constraints. Therefore, a constraint hierarchy system with optional and mandatory constraints support is implemented to avoid over-constraint compositions. The composition service takes the given VCL composition description, resolve the functional requirements (e.g., input, output requirements) and choose the best solution based on the given QoS constraints.