Contract based Web service composition [Elektronische Ressource] / von Nikola Milanovic
267 pages
English

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Contract based Web service composition [Elektronische Ressource] / von Nikola Milanovic

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
267 pages
English
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Contract-based Web Service CompositionDISSERTATIONzur Erlangung des akademischen Gradesdoctor ingenieur(Dr. Ing.)im Fach Informatikeingereicht an derMathematisch-Naturwissenschaftlichen Fakultät IIHumboldt-Universität zu BerlinvonHerr Dipl.-Ing. Nikola Milanovicgeboren am 22.03.1976 in SarajevoPräsident der Humboldt-Universität zu Berlin:Prof. Dr. Christoph MarkschiesDekan der Mathematisch-Naturwissenschaftlichen Fakultät II:Prof. Dr. Uwe KüchlerGutachter:1. Prof. Dr. Miroslaw Malek2. Prof. Dr. Alexander Reinefeld3. Prof. Dr. Roberto Baldonieingereicht am: 07. März 2006Tag der mündlichen Prüfung: 13. Jun 2006AbstractService-oriented architecture (SOA) is focused on building loosely coupleddistributed systems with minimal shared understanding among system com-ponents. The main building blocks in SOA are services. Services are self-descriptive, self-contained, platform-independent and openly-available com-ponentsthatinteractoverthenetwork. ThemaingoalofSOAistransparent,flexible and dynamic interaction of services and their clients over multipleinterconnected domains. While native capabilities of service-oriented archi-tectures, such as description, discovery, communication and binding, havebeen well understood and standardized, the issue of service composition hasnot yet been satisfactorily solved.

Sujets

Informations

Publié par
Publié le 01 janvier 2006
Nombre de lectures 21
Langue English
Poids de l'ouvrage 3 Mo

Extrait

Contract-based Web Service Composition
DISSERTATION
zur Erlangung des akademischen Grades
doctor ingenieur
(Dr. Ing.)
im Fach Informatik
eingereicht an der
Mathematisch-Naturwissenschaftlichen Fakultät II
Humboldt-Universität zu Berlin
von
Herr Dipl.-Ing. Nikola Milanovic
geboren am 22.03.1976 in Sarajevo
Präsident der Humboldt-Universität zu Berlin:
Prof. Dr. Christoph Markschies
Dekan der Mathematisch-Naturwissenschaftlichen Fakultät II:
Prof. Dr. Uwe Küchler
Gutachter:
1. Prof. Dr. Miroslaw Malek
2. Prof. Dr. Alexander Reinefeld
3. Prof. Dr. Roberto Baldoni
eingereicht am: 07. März 2006
Tag der mündlichen Prüfung: 13. Jun 2006Abstract
Service-oriented architecture (SOA) is focused on building loosely coupled
distributed systems with minimal shared understanding among system com-
ponents. The main building blocks in SOA are services. Services are self-
descriptive, self-contained, platform-independent and openly-available com-
ponentsthatinteractoverthenetwork. ThemaingoalofSOAistransparent,
flexible and dynamic interaction of services and their clients over multiple
interconnected domains. While native capabilities of service-oriented archi-
tectures, such as description, discovery, communication and binding, have
been well understood and standardized, the issue of service composition has
not yet been satisfactorily solved.
This dissertation challenges the SOA postulate that service should dis-
closeonlybasicfunctionalsignature, anddemonstratesthatbasedonseman-
tic service description, including functional and non-functional properties, a
viable solution for service composition can be developed (composable service
architecture), that supports: 1) Extended descriptive and search capabilities
by developing contract-based description language including non-functional
properties such as security, dependability, timeliness; 2) Verification of com-
position correctness by modeling services as abstract machines and develop-
ing a formal composition language, and 3) Automatic service composition
by treating automated and dynamic selection of composition partners as a
search problem and developing search algorithms for that purpose. Finally,
in order to show the viability of the proposed architectural solution, a pro-
totype of Web Services composition server is described including design and
implementation.
Keywords:
Web services, composition, verification, automatic compositionZusammenfassung
Dienstorientierte Architekturen (SOA = Service Oriented Architecture) die-
nen dem Aufbau von lose miteinander verbundenen, verteilten Systemen,
derenKomponenteneineminimalegemeinsameSystemsichthaben.Diewich-
tigsten Bausteine der SOA sind Dienste. Dienste sind selbstbeschreibende,
eigenständige, plattform-unabhängige und frei verfügbare Komponenten, die
über das Netzwerk interagieren. Das Hauptziel der SOA ist die transparente,
flexibleunddynamischeInteraktionvonDienstenundderenBenutzerninner-
halb mehrerer zusammenhängender Domänen. Während die nativen Fähig-
keiten von dienstorientierten Architekturen, wie Beschreibung, Entdeckung,
Kommunikation und Bindung, bereits gut erfasst und standardisiert worden
sind, ist das Problem der Dienstkomposition bisher noch nicht zufriedenstel-
lend gelöst worden.
Diese Dissertation hinterfragt die Grundvoraussetzung der SOA, die dar-
in besteht, dass lediglich die Grundfunktionsweise von Diensten offen gelegt
werden sollte, und demonstriert, dass auf der Grundlage einer semantischen
Dienstbeschreibung (einschließlich funktionaler und nichtfunktionaler Eigen-
schaften) eine praktikable Lösung zur Dienstkomposition entwickelt werden
kann (komponierbare Dienstarchitektur). Diese Lösung erfordert 1) erwei-
terte deskriptive Fähigkeiten und Suchmöglichkeiten durch die Entwicklung
einer vertragsbasierten Beschreibungssprache einschließlich nichtfunktiona-
ler Eigenschaften wie Sicherheit, Verlässlichkeit und Rechtzeitigkeit; 2) das
FeststellenderKompositionskorrektheitdurchdieModellierungvonDiensten
als abstrakte Maschinen und die Entwicklung einer formalen Kompositions-
sprache und 3) automatische Dienstkomposition, indem Suchalgorithmen für
die automatisierte und dynamische Selektion von Kompositionspartnern ent-
wickelt werden. Abschließend wird der Prototyp eines Kompositionsservers
fürWebServiceseinschließlichDesignundImplementierungbeschrieben,um
die Realisierbarkeit der vorgeschlagenen Architektur aufzuzeigen.
Schlagwörter:
Web services, Komposition, Verifikation, automatische KompositionContents
1 Introduction 1
1.1 Service-Oriented Architectures (SOA) . . . . . . . . . . . . . . 1
1.2 Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 SOA - Binding Factor of Distributed Systems . . . . . . . . . 5
1.4 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Related Work 13
2.1 Basic Composition Requirements . . . . . . . . . . . . . . . . 13
2.2 Business Process Execution Language . . . . . . . . . . . . . . 14
2.3 Web Service Choreography Definition Language (WS-CDL) . . 17
2.4 Semantic Web (OWL-S) . . . . . . . . . . . . . . . . . . . . . 19
2.5 Web Component . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6 Algebraic Process Composition . . . . . . . . . . . . . . . . . 23
2.7 Petri Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.8 Statechart Composition . . . . . . . . . . . . . . . . . . . . . 25
2.9 Model Checking and State Machines . . . . . . . . . . . . . . 26
2.10 Comparative Analysis . . . . . . . . . . . . . . . . . . . . . . 28
2.10.1 Connectivity and Non-functional properties . . . . . . 28
2.10.2 Composition Correctness . . . . . . . . . . . . . . . . . 28
2.10.3 Automatic Composition . . . . . . . . . . . . . . . . . 29
2.10.4 Composition Scalability . . . . . . . . . . . . . . . . . 29
2.10.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 30
3 Contracts for Web Services 31
3.1 Design by Contract . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2 Contract Definition Language (CDL) . . . . . . . . . . . . . . 34
3.2.1 Relationship between WSDL and CDL . . . . . . . . . 34
3.2.2 CDL Syntax . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Contract Extraction . . . . . . . . . . . . . . . . . . . . . . . 43
3.3.1 Ex from Java Classes . . . . . . . . . . . . . . 44
3.3.2 Contracts in Enterprise Java Beans . . . . . . . . . . . 49
iv3.3.3 Static and Dynamic Extraction . . . . . . . . . . . . . 53
3.4 Modeling Contracts as Abstract Machines . . . . . . . . . . . 56
3.4.1 Introduction to Abstract Machine Notation . . . . . . 56
3.4.2 Specifying Abstract Machine Operations . . . . . . . . 59
3.4.3 Why Abstract Machine Notation? . . . . . . . . . . . . 64
3.4.4 Mapping from CDL to AMN and vice versa . . . . . . 67
4 Composable Service Architecture 73
4.1 Composition Patterns . . . . . . . . . . . . . . . . . . . . . . . 73
4.1.1 Sequential Composition . . . . . . . . . . . . . . . . . 74
4.1.2 Parallel Composition . . . . . . . . . . . . . . . . . . . 74
4.1.3 Selection Composition . . . . . . . . . . . . . . . . . . 76
4.1.4 Choice Composition . . . . . . . . . . . . . . . . . . . 78
4.1.5 Looping . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.2 Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.3 Additional Knowledge and Minimization . . . . . . . . . . . . 81
4.4 Machine Instantiation, Operator Priority and Properties . . . 84
4.5 Verification of Composition Correctness . . . . . . . . . . . . . 89
4.5.1 Type Checking . . . . . . . . . . . . . . . . . . . . . . 90
4.5.2 Invariant Preservation . . . . . . . . . . . . . . . . . . 92
4.5.3 Correct Termination . . . . . . . . . . . . . . . . . . . 93
4.6 Composable Architecture . . . . . . . . . . . . . . . . . . . . . 96
4.7 Trust, Optimizations and Reputation Systems . . . . . . . . . 97
5 Composing Web Service Design Patterns 102
5.1 Service Design Patterns . . . . . . . . . . . . . . . . . . . . . 102
5.2 Synchronous and Asynchronous Invocation . . . . . . . . . . . 104
5.3 Proxy Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.3.1 Single Proxy . . . . . . . . . . . . . . . . . . . . . . . . 105
5.3.2 Multiple Proxy (Transformer) . . . . . . . . . . . . . . 105
5.3.3 Proxy with Channel . . . . . . . . . . . . . . . . . . . 106
5.4 Façade Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.4.1 Synchronous Façade . . . . . . . . . . . . . . . . . . . 108
5.4.2 Asynchronous Façade . . . . . . . . . . . . . . . . . . . 109
5.5 Security Patterns . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.6 Dynamic Input Pattern . . . . . . . . . . . . . . . . . . . . . . 111
5.7 Logger Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.8 Load Balancer Pattern . . . . . . . . . . . . . . . . . . . . . . 112
5.9 Publish-Subscribe Pattern . . . . . . . . . . . . . . . . . . . . 113
5.10 Producer-Consumer Pattern . . . . . . . . . . . . . . . . . . . 115
v6 Automatic Service Composition 117
6.1 The Need for Automatic Composition . . . . . . . . . . . . . . 117
6.2 Equality of Abstract Machines . . . .

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents