Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

25.05.2005 infm2 :: AW1 :: SOA (2) Transaktionsmanagement mit Services und Geschäftsprozessen Martin Gerlach.

Ähnliche Präsentationen


Präsentation zum Thema: "25.05.2005 infm2 :: AW1 :: SOA (2) Transaktionsmanagement mit Services und Geschäftsprozessen Martin Gerlach."—  Präsentation transkript:

1 25.05.2005 infm2 :: AW1 :: SOA (2) Transaktionsmanagement mit Services und Geschäftsprozessen Martin Gerlach

2 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach2 Agenda  Motivation: Ferienclub  Klassische Transaktionen  Services und Transaktionen  Long Running Distributed Transactions  Geschäftsprozesse  Ausblick: AW2+Projekt

3 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach3 Agenda  Motivation: Ferienclub  Klassische Transaktionen  Services und Transaktionen  Long Running Distributed Transactions  Geschäftsprozesse  Ausblick: AW2+Projekt

4 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach4 Motivation :: Verteilte Services im Ferienclub Ferienclub Autovermietung B Restaurant [Ort, Preiskl., …] Reservierungs- Service Hotel [Ort, Preiskl., …] Reservierungs- Service Kino [Ort, Genre, …] Reservierungs- Service Autovermietung A [Attribute…] Reservierungs- Service Kalender- Service Reservierungs- Broker-Service Payment- Service Anwendung

5 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach5 Motivation :: Club-Anwendungen sollen funktionieren  Kombinierte Buchung von Leistungen Mietwagen + Restaurant + Auswärtiges Hotel + Bezahlung Getränkebestellung + Bezahlung Buchen von Sportgerät/-plätzen …  Geht nur mit zuverlässigem "Transaktionskonzept"  "(Geschäfts)Prozesse" definieren die Abfolge der Service- Aufrufe

6 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach6 Agenda  Motivation: Ferienclub  Klassische Transaktionen  Services und Transaktionen  Long Running Distributed Transactions  Geschäftsprozesse  Ausblick: AW2+Projekt

7 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach7 Klassischer Transaktionsbegriff  Transaktion [10, 11] Handel: Geschäftsvorfall (Business Transaction) Datenbanken: Allgemein zugängliche Daten bei Zugriff durch mehrere Clients konsistent halten Ausgeweitet von Datenbanken auf andere Ressourcen  Atomicity, Consistency, Isolation, Durability  Verteilte Transaktionen Gesamtsystem nach der Transaktion konsistent  Erweiterte Konzepte [nach [2]] Nested TX + Open Nested TX Saga SplitJoin ConTracts Long Running Activity

8 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach8 Klassische verteilte TX :: Zuverlässigkeit  2 Phase Commit (2PC) Koordinator (C) steuert Knoten A und B aus [1]  … und andere (3PC etc.), die auch den Ausfall des Koordinators berücksichtigen

9 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach9 Klassische verteilte TX :: Zeit  Üblicherweise vollautomatisch  Daher "schnell" Typischer Abstand zwischen 2PC "PREPARE" und "COMMIT" im Millisekunden/Sekunden-Bereich [1]  Bei Timeout ROLLBACK

10 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach10 Agenda  Motivation: Ferienclub  Klassische Transaktionen  Services und Transaktionen Nutzung klassicher TX Zeitbetrachtung  Long Running Distributed Transactions  Geschäftsprozesse  Ausblick: AW2+Projekt

11 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach11 … und zwar hier Services :: Nutzung klassischer TX  Jeder Service kann für die Erfüllung seiner Aufgabe, klassische – auch verteilte – Transaktionen nutzen  Der gesamte Prozess muss aber auch gesichert sein …

12 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach12 Services :: Verteilte Services im Ferienclub Ferienclub Autovermietung B Restaurant [Ort, Preiskl., …] Reservierungs- Service Hotel [Ort, Preiskl., …] Reservierungs- Service Kino [Ort, Genre, …] Reservierungs- Service Autovermietung A [Attribute…] Reservierungs- Service Kalender- Service Reservierungs- Broker-Service Payment- Service Anwendung

13 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach13 Services :: Verteilung und Zeit  Hochgradige Verteilung Über unterschiedliche Organisationen  Abarbeitung eines Requests Ist u. U. nicht vollautomatisch Kann u. U. "lange dauern" Besonders dann, wenn andere Services (entfernt) aufgerufen werden  Mit ACID TX und 2PC würden Ressourcen für zu lange Zeit gesperrt bleiben  Folge: Man benötigt ein Konzept für "Long Running Distributed Transactions"

14 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach14 Agenda  Motivation: Ferienclub  Klassische Transaktionen  Services und Transaktionen  Long Running Distributed Transactions Überblick, Konzepte Lösungen: BTP, THP, WS-*  Geschäftsprozesse  Ausblick: AW2+Projekt

15 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach15 Long Running Distributed Transactions  "Long-running activities can be structured as many independent, short-duration transactions, to form a 'logical' long-running transaction." [1]  Anforderungen Verteilung Lange Laufzeit Ressourcen sollen nicht zu lange gesperrt bleiben  ACID zu restriktiv  Einzelsysteme sollen schnell "committen"  Aber der Mietwagen soll nicht gebucht bleiben, wenn das Restaurant ausgebucht ist…  Optimistische Nebenläufigkeitskontrolle

16 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach16 Long Running Distributed TX :: Kompensation  Wenn ACID nicht erwünscht ist, benötigt man kompensierende Aktionen Typischerweise auch über Service Call  Beispiel (aus [1]) t1: Mietwagen/Taxi t2: Restaurant t3: Theater t4: Hotel (ausgebucht) tc1: Storno t2/t3 t5': Kino t6': More fun stuff

17 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach17 Long Running Distributed TX :: Systementwurf  Hochgradige Verteilung von Anfang an berücksichtigen Nicht erstmal alles als lokal, schnell, verfügbar, zuverlässig betrachten. Unzuverlässigkeiten, Verzögerungen etc. müssen u. U. zunächst simuliert werden (z.B. beim Prototyping)  Architektur muss für verteilte Services gebaut werden (nicht andersherum)  Service Oriented Architecture

18 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach18 Long Running Distributed TX :: Lösungen :: BTP  Business Transaction Protocol (OASIS) [2, 17]  Koordinator-basiert (ähnl. 2PC)  Applikation hat Kontrolle über beide Commit-Phasen durch Business-Logik  "Open Top" Commit Protocol  Normale Kontroll-Verben BEGIN, COMMIT, ROLLBACK  Neue Kontroll-Verben PREPARE, CONFIRM, CANCEL

19 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach19 Long Running Distributed TX :: Lösungen :: BTP  Zwei Arten von Transaktionen  Atoms Garantiert konsistent, alle Teilnehmer sehen gleiches Ergebnis (confirm oder cancel)  Cohesions Teilnehmer können unterschiedliche Ergebnisse haben 2-Phasen-Protokoll erlaubt genaue Parametrisierung welche Teilnehmer "confirmed"/"canceled" werden Nur "confirmed" Teilnehmer sehen das gleiche Ergebnis Dadurch teilweise Aufhebung von "Atomicity" und "Isolation"

20 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach20 Long Running Distributed TX :: Lösungen :: BTP  Gedacht für QoS-Layer aus [1]

21 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach21 Long Running Distributed TX :: Lösungen :: BTP Optimierungen und weitere Details in [1], [2], [17] <SOAP:Envelope SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"> <btp:begin transaction-type="atom" xmlns:btp="urn:oasis:names:tc:BTP:1.0:core"/>  Für Web Services über SOAP 1.1:

22 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach22 Long Running Distributed TX :: Lösungen :: THP  Tentative Hold Protocol [2, 18]  Nicht-blockierende Sperren vor der TX  "Reservierung"  Paradigma "Online-Ordering"  Nachrichten-basiert  Wenn ein reservierender Prozess "committed", werden andere benachrichtigt  Framework: THP-Koordinatoren auf Requestor- und Provider-Seite Sollten durch Firewall kommunizieren können Requestor/Provider-spezifische APIs Verwaltung der Sperren

23 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach23 Long Running Distributed TX :: Lösungen :: THP aus [2]

24 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach24 Long Running Distributed TX :: Lösungen :: THP  Erweiterung: Web Service Tentative Hold and Compensation Composition Transaction Model  Dynamische Service- Choreography Reihenfolge Parallel/Sequentiell Constraints  Kompensierung  Kompliziert…  [2] / AW2 / Projekt … aus [2]

25 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach25 Long Running Distributed TX :: Lösungen :: WS-*  WS-* Spezifikationen WS-Addressing WS-Coordination WS-Policy WS-Security …  Nur Web Services  BEA, IBM, Microsoft, VeriSign u.a.  Praktisch für alles rund um Web Serivces http://www.ibm.com/developerworks/views/webservices/standards.jsp

26 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach26 Long Running Distributed TX :: Lösungen :: WS-* [5]

27 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach27 Long Running Distributed TX :: Lösungen :: WS-Coordination  Coordination Framework 1.Coordination Services (WS-Coordination Spec) Activation Service Registration Service Coordination Service 2.Coordination Protocols (WS-Transaction Specs) Protocol for Atomic Transactions Protocol for Business Transactions (Long Running TX)

28 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach28 Long Running Distributed TX :: Lösungen :: WS-Coordination aus [8]

29 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach29 Long Running Distributed TX :: Lösungen :: WS-Coordination  Transaktionsprotokolle kombinierbar aus [8]

30 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach30 Long Running Distributed TX :: Lösungen :: WS-Coordination  Coordination Context... <wscoor:CoordinationContext xmlns:wsme="http://www.w3.org/2002/06/msgext" xmlns:wscoor="http://www.w3.org/2002/06/Coordination" xmlns:myApp="http://www.w3.org/2002/06/myApp"> http://foobaz.com/SS/1234 2005-06-30T13:20:00.000-05:00 http://xml-soap.org/2002/06/AtomicTransaction http://myservice.com/mycoordinationservice/registration... RepeatableRead...

31 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach31 Long Running Distributed TX :: Lösungen :: WS-AtomicTransaction aus [8]

32 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach32 Long Running Distributed TX :: Lösungen :: WS-BusinessActivity aus [8]

33 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach33 Long Running Distributed TX :: Lösungen :: WS-*  Spezifikationen teilweise noch nicht vollständig  Implementierungen?  Security (  Thies) WS-Policy WS-Security

34 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach34 Agenda  Motivation: Ferienclub  Klassische Transaktionen  Services und Transaktionen  Long Running Distributed Transactions  Geschäftsprozesse SOA Einordnung BPEL4WS  Ausblick: AW2+Projekt

35 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach35 Geschäftsprozesse  Geschäftsprozess  Technischer Prozess  Technischer Prozess  Services  Analyse, Modellierung für Technische Prozesse: "Service- based processes: design for business and technology" [13]  Technischer Prozess ist auch ein Service  Geschäftsprozessmodellierung

36 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach36 Geschäftsprozesse :: SOA Einordnung  SOA Schicht: "Process Layer" (  Sven)  Service Orchestration + Choreography [3, 4]

37 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach37 Geschäftsprozesse :: Integration  Organisation der Aktivitäten eines Prozesses  Verschiedene existierende Services werden aufgerufen  Patterns (  Sven) zur Prozess-Integration [5, 6]  Seriell und/oder parallel neinja Serieller ProzessParalleler Prozess Work Flow Eine NachrichtBroker Router parallel seriell nein ja

38 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach38 Geschäftsprozesse :: BPEL4WS [5]

39 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach39 Geschäftsprozesse :: BPEL4WS  XML-basierte Modellierungssprache für Service-basierte Prozesse [9]  Kontrollsemantik auf Mengen von Interaktionen mit Services, die Bestandteil des Prozesses sind  Runtime Engine benötigt, z. B. BPWS4J [19]  Rekursiv: BPEL Prozesse sind Web Services  Grober Ablauf Aufruf ("Receive") Logik + Service-Aufrufe Antwort ("Reply")

40 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach40 Geschäftsprozesse :: BPEL4WS Tooling <process expressionLanguage="Java" name="Process" xmlns:wsdl="http://www.example.com/process/interface" xmlns:wsdl0="http://service1/Serivce1" xmlns:wsdl1="http://service2/Serivce2"... > <![CDATA[ return getInputVariable().getContents().startsWith("A"); ]]> <invoke inputVariable="InputVariable" operation="OperationA" outputVariable="VariableB" partnerLink="PartnerLinkA" portType="wsdl0:PortTypeA"/>... <reply operation="InputOperation" partnerLink="PartnerLink" variable="InputVariable"/>

41 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach41 Geschäftsprozesse :: BPEL4WS & WS-*  Interessantes Paper [3] zur Kombination von BPEL4WS und WS- Coordination mittels WS-Policy [7]  Beispiel 1 "Coordinated BPEL-PartnerLinks": <wsce:CoordinatedService CoordinationType= "http://schemas.xmlsoap.org/ ws/2003/09/wsat"> <wsce:Protocol ProtocolIdentifier= "http://schemas.xmlsoap.org/ ws/2003/09/wsat#Durable2PC"/>

42 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach42 Geschäftsprozesse :: BPEL4WS & WS-*  Beispiel 2 "Coordinated BPEL-Scope": <service name="ABCBankService" <port name="creditAccount" binding="tns:CreditBinding" wsp:PolicyRefs="tns:WSATPolicy" >

43 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach43 Agenda  Motivation: Ferienclub  Klassische Transaktionen  Services und Transaktionen  Long Running Distributed Transactions  Geschäftsprozesse  Ausblick: AW2+Projekt

44 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach44 Ausblick: AW2 + Projekt (infm3)  Vorschlag für Gesamt-Architektur mit Tobias Kraue, Thies Rubarth, Sven Stegelmeier  Web Services  Transaktionen: Konzept, Architektur WS-* BTP/THP Features evtl. einfließen lassen Bereitstellung von Framework und Templates  Geschäftsprozesse: Service Orchestration + Choreography Konzeptionell Hands-on: Implementierungen testen, z.B. IBM/Rational Transaktionen BPEL4WS + WS-* ausprobieren(?) Hier könnte sich herausstellen, dass das in unserem Fall mit Kanonen auf Spatzen geschossen ist.

45 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach45 Referenzen :: Haupt 1.Mark Little, "Service-oriented Computing: Transactions and Web Services", Communications of the ACM, Volume 46 Issue 10, Oktober 2003 2.Benchaphon Limthanmaphon, Yanchun Zhang, "Web Service Composition Transaction Management", Proceedings of the fifteenth conference on Australasian database - Volume 27, Januar 2004 3.Stefan Tai, Rania Khalaf, Thomas Mikalsen, "Composition of Coordinated Web Services", Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware, Oktober 2004 4.Girish B. Chafle, Sunil Chandra, Vijay Mann, Mangala Gowri Nanda, "Decentralized Orchestration of Composite Web Services", Proceedings of the 13th international World Wide Web conference on Alternate track papers & posters, Mai 2004 5.Mark Endrei et. al., "Patterns: Service Oriented Architecture and Web Services", IBM ITSO Redbook SG246303, April 2004 6.Martin Keen et. al., "Patterns: Serial and Parallel Processes for Process Choreography and Workflow", IBM ITSO Redbook SG246306, April 2004 7.WS-* Spezifikationen, Überblick: http://www.ibm.com/developerworks/views/webservices/standards.jsp (WS- Addressing, WS-Coordination, WS-AtomicTransaction, WS-BusinessActivity, …) http://www.ibm.com/developerworks/views/webservices/standards.jsp 8.Tom Freund, Tony Storey, "Transactions in the world of Web services", http://www.ibm.com/developerworks/webservices/library/ws-wstx1/ und http://www.ibm.com/developerworks/webservices/library/ws-wstx2/, August 2002 http://www.ibm.com/developerworks/webservices/library/ws-wstx1/ http://www.ibm.com/developerworks/webservices/library/ws-wstx2/ 9.BPEL4WS: http://www.ibm.com/developerworks/library/specification/ws-bpel/http://www.ibm.com/developerworks/library/specification/ws-bpel/ 10.Tanenbaum, van Steen, "Distributed Systems", Prentice Hall, 2002 11.Couloris, Dolimore, Kindberg, "Distributed Systems", Pearson Education, 2001

46 25.05.2005infm2 :: AW1 :: SOA (2) :: Martin Gerlach46 Referenzen :: Interessant 12.Martin Gudgin, "Web Services: Secure, reliable, transacted: innovation in Web Services architecture", Proceedings of the 2004 ACM SIGMOD international conference on Management of data, Juni 2004 13.Martin Henkel, Jelena Zdravkovic, Paul Johannesson, "Service-based Processes: Design for Business and Technology", Proceedings of the 2nd international conference on Service oriented computing, November 2004 14.Anis Charfi, Mira Mezini, "Service composition: Hybrid Web Service Composition: Business Processes Meet Business Rules", Proceedings of the 2nd international conference on Service oriented computing, November 2004 15.Fabien Baligand, Valérie Monfort, "Service security: A Concrete Solution for Web Services Adaptability Using Policies and Aspects", Proceedings of the 2nd international conference on Service oriented computing, November 2004 16.http://www.ibm.com/developerworks/webservices (Sehr viele Ressourcen zu SOA und Web Services)http://www.ibm.com/developerworks/webservices 17.Business Transaction Protocol (BTP) bei OASIS: http://www.oasis- open.org/committees/tc_home.php?wg_abbrev=business-transactionhttp://www.oasis- open.org/committees/tc_home.php?wg_abbrev=business-transaction 18.Jerry Roberts, Krishnamurthy Srinivasan et al., "Tentative Hold Protocol (THP)": http://www.w3.org/TR/tenthold-1/ und http://www.w3.org/TR/tenthold-2/ http://www.w3.org/TR/tenthold-1/http://www.w3.org/TR/tenthold-2/ 19.BPWS4J (BPEL4WS Java Runtime): http://www.alphaworks.ibm.com/tech/bpws4j http://www.alphaworks.ibm.com/tech/bpws4j


Herunterladen ppt "25.05.2005 infm2 :: AW1 :: SOA (2) Transaktionsmanagement mit Services und Geschäftsprozessen Martin Gerlach."

Ähnliche Präsentationen


Google-Anzeigen