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

infm2 :: AW1 :: SOA (2)

  • Upload
    halia

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

infm2 :: AW1 :: SOA (2). Transaktionsmanagement mit Services und Geschäftsprozessen Martin Gerlach. Agenda. Motivation: Ferienclub Klassische Transaktionen Services und Transaktionen Long Running Distributed Transactions Geschäftsprozesse Ausblick: AW2+Projekt. Agenda. - PowerPoint PPT Presentation

Citation preview

Page 1: infm2 :: AW1 :: SOA (2)

25.05.2005

infm2 :: AW1 :: SOA (2)

Transaktionsmanagement mit Services und Geschäftsprozessen

Martin Gerlach

Page 2: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 2

Agenda

Motivation: Ferienclub Klassische Transaktionen Services und Transaktionen Long Running Distributed Transactions Geschäftsprozesse Ausblick: AW2+Projekt

Page 3: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 3

Agenda

Motivation: Ferienclub Klassische Transaktionen Services und Transaktionen Long Running Distributed Transactions Geschäftsprozesse Ausblick: AW2+Projekt

Page 4: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 4

Motivation :: Verteilte Services im Ferienclub

FerienclubAutovermietung 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

Anw

en

dung

Page 5: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 5

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

Page 6: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 6

Agenda

Motivation: Ferienclub Klassische Transaktionen Services und Transaktionen Long Running Distributed Transactions Geschäftsprozesse Ausblick: AW2+Projekt

Page 7: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 7

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

Page 8: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 8

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

Page 9: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 9

Klassische verteilte TX :: Zeit

Üblicherweise vollautomatisch

Daher "schnell" Typischer Abstand zwischen 2PC "PREPARE" und "COMMIT"

im Millisekunden/Sekunden-Bereich [1]

Bei Timeout ROLLBACK

Page 10: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 10

Agenda

Motivation: Ferienclub Klassische Transaktionen Services und Transaktionen

Nutzung klassicher TX Zeitbetrachtung

Long Running Distributed Transactions Geschäftsprozesse Ausblick: AW2+Projekt

Page 11: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 11

… 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 …

Page 12: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 12

Services :: Verteilte Services im Ferienclub

FerienclubAutovermietung 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

Anw

en

dung

Page 13: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 13

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"

Page 14: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 14

Agenda

Motivation: Ferienclub Klassische Transaktionen Services und Transaktionen Long Running Distributed Transactions

Überblick, Konzepte Lösungen: BTP, THP, WS-*

Geschäftsprozesse Ausblick: AW2+Projekt

Page 15: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 15

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

Page 16: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 16

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

Page 17: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 17

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

Page 18: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 18

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

Page 19: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 19

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"

Page 20: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 20

Long Running Distributed TX :: Lösungen :: BTP

Gedacht für QoS-Layer

aus [1]

Page 21: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 21

Long Running Distributed TX :: Lösungen :: BTP

Optimierungen und weitere Details in [1], [2], [17]

<?xml version="1.0" encoding="UTF-8" ?><SOAP:Envelope

SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

<SOAP:Body><btp:begin transaction-type="atom"

xmlns:btp="urn:oasis:names:tc:BTP:1.0:core"/></SOAP:Body>

</SOAP:Envelope>

Für Web Services über SOAP 1.1:

Page 22: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 22

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

Page 23: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 23

Long Running Distributed TX :: Lösungen :: THP

aus [2]

Page 24: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 24

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]

Page 25: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 25

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

Page 26: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 26

Long Running Distributed TX :: Lösungen :: WS-*

[5]

Page 27: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 27

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)

Page 28: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 28

Long Running Distributed TX :: Lösungen :: WS-Coordination

aus [8]

Page 29: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 29

Long Running Distributed TX :: Lösungen :: WS-Coordination

Transaktionsprotokolle kombinierbar

aus [8]

Page 30: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 30

Long Running Distributed TX :: Lösungen :: WS-Coordination

Coordination Context

<?xml version="1.0" encoding="utf-8"?><S:Envelope xmlns:S="http://www.w3.org/2001/12/soap-envelope"><S:Header> . . . <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">

<wsme:Identifier>http://foobaz.com/SS/1234</wsme:Identifier> <wsme:Expires>2005-06-30T13:20:00.000-05:00</wsme:Expires> <wscoor:CoordinationType> http://xml-soap.org/2002/06/AtomicTransaction </wscoor:CoordinationType> <wscoor:RegistrationService> <Address>http://myservice.com/mycoordinationservice/registration</Address> <myApp:BetaMark> ... </myApp:BetaMark> <myApp:EBDCode> ... </myApp:EBDCode> </wscoor:RegistrationService> <myApp:IsolationLevel>RepeatableRead</myApp:IsolationLevel> </wscoor:CoordinationContext> . . . </S:Header>

Page 31: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 31

Long Running Distributed TX :: Lösungen :: WS-AtomicTransaction

aus [8]

Page 32: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 32

Long Running Distributed TX :: Lösungen :: WS-BusinessActivity

aus [8]

Page 33: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 33

Long Running Distributed TX :: Lösungen :: WS-*

Spezifikationen teilweise noch nicht vollständig

Implementierungen?

Security ( Thies) WS-Policy WS-Security

Page 34: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 34

Agenda

Motivation: Ferienclub Klassische Transaktionen Services und Transaktionen Long Running Distributed Transactions Geschäftsprozesse

SOA Einordnung BPEL4WS

Ausblick: AW2+Projekt

Page 35: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 35

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

Page 36: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 36

Geschäftsprozesse :: SOA Einordnung

SOA Schicht: "Process Layer" (Sven) Service Orchestration + Choreography [3, 4]

Page 37: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 37

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

nein ja

Serieller Prozess Paralleler ProzessWork Flow

Eine Nachricht BrokerRouter

parallel

seri

ell

nein

ja

Page 38: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 38

Geschäftsprozesse :: BPEL4WS

[5]

Page 39: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 39

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")

Page 40: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 40

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" ... > <partnerLinks> <partnerLink name="PartnerLink" partnerLinkType="wsdl:PartnerLinkType" partnerRole="ProcessRole"/> <partnerLink name="PartnerLinkA" partnerLinkType="wsdl0:PartnerLinkType" partnerRole="ProcessRole"/> <partnerLink name="PartnerLinkB" partnerLinkType="wsdl1:PartnerLinkType" partnerRole="ProcessRole"/> </partnerLinks> <variables> <variable name="InputVariable" messageType="wsdl:InputMessage"/> <variable name="VariableB" messageType="wsdl0:MessageB"/> <variable name="VariableE"messageType="wsdl1:MessageE"/> </variables> <sequence> <receive createInstance="yes" partnerLink="PartnerLink" variable="InputVariable"/> <switch> <case condition="DefinedByJavaCode"> <wpc:condition> <wpc:javaCode><![CDATA[return getInputVariable().getContents().startsWith("A"); ]]></wpc:javaCode> </wpc:condition> <sequence> <invoke inputVariable="InputVariable" operation="OperationA" outputVariable="VariableB" partnerLink="PartnerLinkA" portType="wsdl0:PortTypeA"/> <assign> <copy> <from part="NumParam" variable="VariableB"/> <to part="contents" variable="InputVariable"/> </copy> </assign> </sequence> </case> <otherwise> ... </otherwise> </switch> <reply operation="InputOperation" partnerLink="PartnerLink" variable="InputVariable"/> <terminate/> </sequence></process>

Page 41: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 41

Geschäftsprozesse :: BPEL4WS & WS-*

Interessantes Paper [3] zur Kombination von BPEL4WS und WS-Coordination mittels WS-Policy[7]

Beispiel 1 "Coordinated BPEL-PartnerLinks":

<wsp:Policy wsu:Name="tns:WSATPolicy"> <wsce:CoordinatedService CoordinationType= "http://schemas.xmlsoap.org/ ws/2003/09/wsat"> <wsce:Protocol ProtocolIdentifier= "http://schemas.xmlsoap.org/ ws/2003/09/wsat#Durable2PC"/> </wsce:CoordinatedService></wsp:Policy>

Page 42: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 42

Geschäftsprozesse :: BPEL4WS & WS-*

Beispiel 2"Coordinated BPEL-Scope":

<service name="ABCBankService" <port name="creditAccount" binding="tns:CreditBinding" wsp:PolicyRefs="tns:WSATPolicy" > <soap:address location=…/> </port></service>

Page 43: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 43

Agenda

Motivation: Ferienclub Klassische Transaktionen Services und Transaktionen Long Running Distributed Transactions Geschäftsprozesse Ausblick: AW2+Projekt

Page 44: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 44

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.

Page 45: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 45

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, …)

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

9. BPEL4WS: http://www.ibm.com/developerworks/library/specification/ws-bpel/ 10. Tanenbaum, van Steen, "Distributed Systems", Prentice Hall, 200211. Couloris, Dolimore, Kindberg, "Distributed Systems", Pearson Education, 2001

Page 46: infm2 :: AW1 :: SOA (2)

25.05.2005 infm2 :: AW1 :: SOA (2) :: Martin Gerlach 46

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)

17. Business Transaction Protocol (BTP) bei OASIS: http://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/

19. BPWS4J (BPEL4WS Java Runtime): http://www.alphaworks.ibm.com/tech/bpws4j