Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Sigi Zeiser Geändert vor über 10 Jahren
1
Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition
2
2 (1)Webdienstkomposition (2)Petrinetze & Dienstnetze (3)Webdienste als Dienstnetze (4)Netzanalyse (5)Konklusion Webdienstkomposition
3
3 Anforderungen: –Konnektivität –Nichtfunktionale Eigenschaften –Korrektheit –Skalierbarkeit Ansätze –BPEL –OWL-S –Web Components – -Kalkül –Petrinetze –Model Checking
4
4 Ansätze BPEL –Business Process Execution Language (for Web Services) –Kombiniert WSFL und WSCI mit XLANG –Wird entwickelt bei BEA, IBM, Microsoft, SAP, Siebel –XML basiert –process, partners, activity –BPELJ –Kompositionsoperatoren: sequantial, parallel –Implementations: IBM Websphere, Oracle BPEL Process Manager, Microsoft BizTalk 2004, OpenStorm ChoreoServer, Active BPEL
5
5 Ansätze OWL-S –Ontologie für Webdienste –Ermöglicht Entdeckung, Komposition, Interoperation von Webdiensten –Modelliert Dienste in drei Teilen Service profile Service model Service grounding –Kompositionsoperatore: sequence, split, split+join, unordered, choice, if- then-else, iterate und repeat-until Web Components –Webdienste als Softwarekomponenten –Klassenmodell: Wiederverwendung, Spezialisierung, Erweiterung –Kompositionsoperatoren: sequantial, sequantial alternative, parallel with result synchronisation, parallel alternative, condition, while-do
6
6 Ansätze -Kalkül –Algebraic Parallel Composition –Kalkül für Prozesse –x(y), x[y],., | –Verifikation, Optimierung per Inferenzregeln Model Checking –Dienstkomposition mit Mealy Maschinen –Temporale Logik
7
7 Ansätze - Anforderungen KonnektivitätNichtfunktionale Eigenschaften KorrektheitAutomatische Komp. Skalierbarkeit BPEL X mittel OWL-S XX mittel Web Components XX niedrig -Kalkül XX gut Petrinetze XX niedrig Model Checking XXX N\A [Milanovic, Malek, 2004]
8
8 (1)Webdienstkomposition (2)Petrinetze & Dienstnetze (3)Webdienste als Dienstnetze (4)Netzanalyse (5)Konklusion Webdienstkomposition
9
9 Kommunikation mit Automaten [Petri, 1962] Formales Modell für nebenläufige Systeme und ihr Verhalten Petrinetze
10
10 Berechenbarkeit von Petrinetzen kontextsensitiv kontextfrei regulär Petrinetze
11
11 Farbige Petrinetze Petrinetze : Beschreibung und synchronisation von nebenläufigen Prozessen Programmiersprachen : Definition von Datentypen, Manipulation von deren Werten Farbige Petrinetze kombinieren diese zwei Aspekte –Kanten besagen wie und in welchen Bedingungen eine Transition einen Zustand ändert –Marken sind typisiert –Zeitbedingungen –…
12
12 Berechenbarkeit von farbigen Petrinetzen kontextsensitiv kontextfrei regulär Farbige Petrinetze
13
13 Dienstnetze SN = (P, T, W, i, o, l) P endliche Menge von Stellen T endliche Menge von Transitionen W µ (P £ T) [ (T £ P) Menge von gerichteten Kanten (Flussrelation) i 2 P Eingabestelle o 2 P Ausgabestelle l : T ! A [ { } Etiketten
14
14 SN = (P, T, W, i, o, l) P endliche Menge von Stellen T endliche Menge von Transitionen W µ (P £ T) [ (T £ P) Menge von gerichteten Kanten (Flussrelation) i 2 P Eingabestelle : o 2 P Ausgabestelle: l : T ! A [ { } Etiketten trink_Milch schlaf_ein
15
15 (1)Webdienstkomposition (2)Petrinetze & Dienstnetze (3)Webdienste als Dienstnetze (4)Netzanalyse (5)Konklusion Webdienstkomposition
16
16 Webdienste Ein Webdienst ist ein Tupel S = (NameS, Desc, Loc, URL, CS, SN) Beispiel: –NameS = Compi Computerkauf –Desc = Dieser Dienst dient dem Kauf eines neuen Computers der Marke Compi –Loc = Serv1 –URL = www.mycompi.com/buyacompi/
17
17 Webdienste CS={IIYAMA Monitorkauf, ATI Graphikkartenkauf, …, Microsoft Tastaturkauf, DHL Transport} SN = DHL TransportATI Grafikkartenkauf Microsoft Tastaturkauf IIYAMA Bildschirmkauf...
18
18 Webdienstalgebra Compi Computerkauf = (IIYAMA Bildschirmkauf || Microsoft Tastaturkauf || …) ¯ DHL Transport S ::= | Leerer Dienst X | Konstanter Dienst S ¯ S | Sequenz S © S | Alternative S ¦ S | Ungeordnetes Paar S |Iteration S || c S | Parallel. mit Komm. (S|S) Ã S | Discriminator [S(p,q) : S(p,q)] |Auswahl Ref(S,a,S)Verfeinerung
19
19 Leerer Dienst NameS = Empty Desc = Empty Web Service Loc = Null URL = Null CS = ;
20
20 Sequenz S 1 ¯ S 2... S1S1 S2S2
21
21... S2S2 S1S1 Alternative S1 © S2
22
22... S2S2 S1S1 Ungeordnetes Paar S1 ¦ S2
23
23 Iteration S 1... S1S1
24
24 Parallelismus mit Kommunikation S 1 || C S 2... S2S2 S1S1
25
25 Discriminator (S 1 |S 2 ) Ã S 3... S2S2 S1S1 S3S3
26
26 Auswahl [S 1 (p 1, q 1 ) : S n (p n, q n )]... S1S1 SnSn Was kostet eine ATI Graphikkarte? Hmm mal berechnen… Sie kostet 249 Euro Sie kostet 205 Euro Ich merke mir das günstigste Angebot p1p1 q1q1 qnqn pnpn
27
27 Verfeinerung Ref(S 1, a, S 2 ) S1S1 S2S2 a bc a1a1 a2a2 a1a1 a2a2 bc Ref(S1, a, S2)
28
28 Beispiel: Compi Ref(Ref(S,kaufeKomponenten,(kaufeBildschirm || ; kaufeGrafikkarte || ; kaufeTastatur)), liefere, (packein ¯ sende)) kaufeKomponentenliefere S
29
29 Algebraische Eigenschaften S 1 ¯ (S 2 ¯ S 3 ) = (S 1 ¯ S 2 ) ¯ S ¯ S = S S 1 © S 2 = S 2 © S 1 S 1 © (S 2 © S 3 ) = (S 1 © S 2 ) © S 3 S © S = S (S 1 © S 2 ) ¯ S 3 = (S 1 ¯ S 3 ) © (S 2 ¯ S 3 ) S 1 ¦ S 2 = (S 1 ¯ S 2 ) © (S 2 ¯ S 1 ) S 1 || c S 2 = S 2 || c S 1...
30
30 S 1 ¦ S 2 vs. (S 1 ¯ S 2 ) © (S 2 ¯ S 1 ) Definiere Kosten C(S) = #Stellen + #Transitionen C(S 1 ¦ S 2 ) = C(S 1 ) + C(S 2 ) + 6 + 4 = C(S 1 ) + C(S 2 ) + 10 C((S 1 ¯ S 2 ) © (S 2 ¯ S 1 )) = C(S 1 ¯ S 2 ) + C(S 2 ¯ S 1 ) + 2 + 4 = 2 ¢ C(S 1 ) + 2 ¢ C(S 2 ) + 2 + 4 + 1 = 2 ¢ C(S 1 ) + 2 ¢ C(S 2 ) + 7 ! Für große S 1, S 2 ist S 1 ¦ S 2 effizienter
31
31 S 1 ¦ S 2 vs. (S 1 ¯ S 2 ) © (S 2 ¯ S 1 ) Definiere Tiefe T(S) = Länge des maximalen i-o-Pfades T(S 1 ¦ S 2 ) = max(T(S 1 ), T(S 2 )) + 8 T((S 1 ¯ S 2 ) © (S 2 ¯ S 1 )) = max(T(S 1 ¯ S 2 ), T(S 2 ¯ S 1 )) + 4 = max((T(S 1 ) + T(S 2 ) + 2), (T(S 2 ) + T(S 1 ) + 2) ) + 4 = T(S 1 ) + T(S 2 ) + 2 + 4 = T(S 1 ) + T(S 2 ) + 6 ! Für große S 1, S 2 ist S 1 ¦ S 2 effizienter
32
32 (1)Webdienstkomposition (2)Petrinetze & Dienstnetze (3)Webdienste als Dienstnetze (4)Netzanalyse (5)Konklusion Webdienstkomposition
33
33 Netzanalyse Eine Transition heißt Verklemmung, wenn man sie nicht schalten kann Eine Markierung heißt lebendig, wenn man davon aus keine ewige Verklemmung erreicht Ein Netz heißt beschränkt, falls für jeder Schaltsequenz ein k existiert, die grösser als die Anzahl der Marken in der Resultatmarkierung von dieser Schaltsequenz ist Das Beschränktheitsproblem für Petrinetze ist entscheidbar (EXPSPACE) [Karp, Miller, 1968] Das Lebendigkeitsproblem für Petrinetze ist entscheidbar (EXPSPACE) [Hack, 1974] korrekt = beschränkt und lebendig [Murata, 1989] Bisimulationsäquivalenz [Park, 1981], [Milner, 1989] –Optimierung [Schnoebelen, Sidorova, 2000] –Anpassung
34
34 (1)Webdienstkomposition (2)Petrinetze & Dienstnetze (3)Webdienste als Dienstnetze (4)Netzanalyse (5)Konklusion Webdienstkomposition
35
35 Benachbarte Arbeiten Petrinetze –Entscheidbarkeit und Komplexität [Esparza, 1998] –Farbige Petrinetze [Rantzer et al., 2003] [Aalst et al., 1994] Webdienstkomposition –WSMX [Haller et al., 2005] –OWLS-Xplan [Klusch, Gerber, Schmidt, 2005] –SHOP2 [Sirin et al., 2004] –SWORD [Ponnekanti, Fox, 2002]
36
36 Vielen Dank für die Aufmerksamkeit! Webdienste: Modellierung, Automatische Komposition Anforderungen: –Konnektivität –Nichtfunktionale Eigenschaften –Korrektheit –Skalierbarkeit Ansätze: –BPEL, OWL-S, Web Components, -Kalkül, Model Checking –Petrinetze Algebra Analyse Mögliche Erweiterung: farbige Petrinetze Zusammenfassung
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.