Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt...
Transcript of Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt...
![Page 1: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/1.jpg)
© K. Schild, 2006/M.Mochol 2007 1
Web ServicesWeb Services
![Page 2: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/2.jpg)
© K. Schild, 2006/M.Mochol 2007 2
Block XMLBlock XML
Vorlesungen Vorlesungen –– 6 Termine6 Termine ÜÜbung bung –– 5 Termine5 Termine
XML-Grundlagen einsch. Namenräume
XML-Syntax, Namensräume
DTD & XML-Schema DTD
XML-Schema im Detail XML Schema
SAX & DOM Parser
XSLT XPath, XSLT
XML und Datenbanken XML & Datenabanken
![Page 3: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/3.jpg)
© K. Schild, 2006/M.Mochol 2007 3
Block Web ServicesBlock Web Services
VorlesungsVorlesungs--termintermin
VorlesungVorlesung
4 + 1 + 1 Termine4 + 1 + 1 TermineÜÜbung bung ––2 Termine2 Termine
06.06.
(heute)
SOAP
WSDL
04.07. Web Services in der Praxis & Ausblick
11.07. Rückblick
+ (14:00-16:00) Sprechstunde vor der Klausur, Fabeckstr. 15
20.06.
27.06.
18.07.
ÜÜbungsbungs--termintermin
Web Services, RPCs vs. Messaging
SOAP im Detail 25./26.06
WSDL im Detail 02./03.07
Klausur
![Page 4: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/4.jpg)
© K. Schild, 2006/M.Mochol 2007 4
Block Wiederholung + KlausurBlock Wiederholung + Klausur
VorlesungsVorlesungs--termintermin
VorlesungVorlesung
4 + 1 + 1 Termine4 + 1 + 1 TermineÜÜbung bung ––2 Termine2 Termine
06.06.
(heute)
SOAP
WSDL
04.07. Web Services in der Praxis & Ausblick
11.07. Rückblick
+ (14:00-16:00) Sprechstunde vor der Klausur, Fabeckstr. 15
20.06.
27.06.
18.07.
ÜÜbungsbungs--termintermin
Web Services, RPCs vs. Messaging
SOAP im Detail 25./26.06
WSDL im Detail 02./03.07
Klausur
![Page 5: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/5.jpg)
© K. Schild, 2006/M.Mochol 2007 5
Block Web ServicesBlock Web Services
heutige Vorlesungheutige Vorlesung
Was sind Web Services?
Web Services – Basistechnologien:
SOAP
WSDL
UDDI
Enterprise Application Integration
Dienstorientierte Architektur (SOA)
RPC vs. Messaging
![Page 6: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/6.jpg)
© K. Schild, 2006/M.Mochol 2007 6
Was sind Web Was sind Web Services?Services?
![Page 7: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/7.jpg)
© K. Schild, 2006/M.Mochol 2007 7
EntwicklungEntwicklung
EmailEmail: Mensch-Mensch-KommunikationVersendung von uninterpretiertem Text
WWWWWW: Mensch-Computer-KommunikationMensch – aktive: konsumiert & gibt an, was er als nächstes lesen möchte. der Computer – passiv
Web ServiceWeb Service: Computer-Computer-KommunikationComputer erbringt für einen anderen eine Dienstleistung
![Page 8: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/8.jpg)
© K. Schild, 2006/M.Mochol 2007 8
Was sind Web Services?Was sind Web Services?
Browser
Anwendung
traditionelle Webtraditionelle Web--AnwendungAnwendung
AnwendungAnwendung
Web ServiceWeb Service
HTML
SOAP
Webseiten
Daten
Mensch-Maschine-Kommunikation
Maschine-Maschine-Kommunikation
![Page 9: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/9.jpg)
© K. Schild, 2006/M.Mochol 2007 9
Beispiel:Beispiel: ohne Browser ohne Browser
Google als Web ServiceGoogle als Web Service
Suche
Rechtschreibkorrektur
Zugriff auf Web-Cache
»»WithWith Google Web Google Web APIsAPIs, , youryour computercomputer cancan do do thethe
searchingsearching forfor youyou..««
Suche als Web ServiceSuche als Web Service
Suchanfrage als SOAP-Nachricht
Suchergebnis als SOAP-Nachricht
http://www.google.com/apis/
![Page 10: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/10.jpg)
© K. Schild, 2006/M.Mochol 2007 10
-- Suche ohne Browser Suche ohne Browser
Google-Suche kann aus Anwendungsprogrammheraus aufgerufen werden
mmöögliche Anwendungengliche Anwendungen
in periodischen Abständen zu bestimmten Thema nach neuen Webseiten zu suchen:
Web Alert
search-for: "XSLT 2.0 Recommendation"
notify new web page: [email protected]
automatisch neue Trends im WWW zu identifizieren
![Page 11: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/11.jpg)
© K. Schild, 2006/M.Mochol 2007 11
DefinitionDefinition
Ein Web ServiceWeb Service ist eine Softwareanwendung, die 1. mit einer URIURI eindeutig identifizierbar ist,2. über eine WSDLWSDL-Schnittstellenbeschreibung verfügt,3. nur über die in ihrer WSDL beschriebenen Methoden
zugreifbar ist und4. über ggäängige Internetngige Internet--ProtokolleProtokolle unter Benutzung von
XML-basierten Nachrichtenformaten wie z.B. SOAPSOAPzugreifbar ist.
Web-Dienst
Inhalt: SOAP Schnittstellenbeschreibung mit WSDL
Funktionalität
Transport: HTTP(S), SMTP, FTP
Server
Client
![Page 12: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/12.jpg)
© K. Schild, 2006/M.Mochol 2007 12
Eigenschaften von Web ServicesEigenschaften von Web Services
implementieren häufig keine neuen Systeme, sondern sind FassadeFassade für bestehende Systeme
abstrahieren von Programmiersprache und Plattform mit der die Anwendung realisiert ist:Virtualisierung von SoftwareVirtualisierung von Software
zwei Erscheinungsformen:
-- RPCsRPCs (synchron) (synchron)
-- MessagingMessaging (asynchron)(asynchron)
![Page 13: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/13.jpg)
© K. Schild, 2006/M.Mochol 2007 13
Alter Wein in neuen SchlAlter Wein in neuen Schlääuchen?uchen?
Web Services keine revolutionär neue Technologie
große Ähnlichkeiten mit CORBA
Neu ist jedoch:Neu ist jedoch:
alle bedeutenden IT-Unternehmen auf Standards geeinigt: XML, SOAP und WSDL
CORBA hingegen nie von Microsoft unterstützt
AuAußßerdem neu:erdem neu:
statt proprietäre Protokolle (wie IIOP und DCOM) gängige Internet-Protokolle
nicht nur RPCs, sondern auch Messaging
![Page 14: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/14.jpg)
© K. Schild, 2006/M.Mochol 2007 14
ProtokolleProtokolle
Layer Protokoll/Standards
Messaging HTML,…
Transport HTTP, FTP, SMTP
Network TCP/IP, UDP
Die Protokolle und Standards aller Layer nur in AuswahlQuelle: http://www.aki-dpg.de/Dokumente/Bad_Honnef_2003/webservicestutorial.pdf
![Page 15: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/15.jpg)
© K. Schild, 2006/M.Mochol 2007 15
XMLXML--gekapseltegekapselte ProtokolleProtokolle
Layer Protokoll/Standards
Content Content Information
Messaging SOAP, XML-RPC
Transport HTTP, FTP, SMPT
Network TCP/IP, UDP
Die Protokolle und Standards aller Layer nur in AuswahlQuelle: http://www.aki-dpg.de/Dokumente/Bad_Honnef_2003/webservicestutorial.pdf
![Page 16: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/16.jpg)
© K. Schild, 2006/M.Mochol 2007 16
Web Service Technology Web Service Technology StackStack
Layer Protokoll/Standards
Discovery UDDI, DISCO, WSIL
Description WSDL, RDF
Messaging SOAP, XML-RPC
Transport HTTP, FTP, SMPT
Network TCP/IP, UDP
Die Protokolle und Standards aller Layer nur in AuswahlQuelle: http://www.aki-dpg.de/Dokumente/Bad_Honnef_2003/webservicestutorial.pdf
![Page 17: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/17.jpg)
© K. Schild, 2006/M.Mochol 2007 17
Web Services WellenWeb Services Wellen
WeiterführendeSpezifikation:
UDDI, WS-Security
BasisspezifikationWSDL, SOAP
Semantische Spezifikationen:
OWL, RDF
SemanticWeb Services (?)
![Page 18: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/18.jpg)
© K. Schild, 2006/M.Mochol 2007 18
Web Service Web Service Basiskomponenten: Basiskomponenten:
SOAPSOAP
![Page 19: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/19.jpg)
© K. Schild, 2006/M.Mochol 2007 19
Austausch einer Austausch einer SOAPSOAP--NachrichtNachricht
Sender Empfänger
Information InformationNachricht
verpacken(serialisieren) auspacken
(deserialisieren)
![Page 20: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/20.jpg)
© K. Schild, 2006/M.Mochol 2007 20
Aufbau einer Aufbau einer SOAPSOAP--NachrichtNachricht
<env:Envelope xmlns:env=" http://www.w3.org/2003/05/soap/envelope/">
<!- SOAP Header -->
<!- SOAP Body -->
</env:Envelope>
SOAP Envelope
SOAP Header
SOAP Body
SOAP Version 1.1:http://schemas.xmlsoap.org/soap/envelope/
SOAP Version 1.2
![Page 21: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/21.jpg)
© K. Schild, 2006/M.Mochol 2007 21
Nachrichtenformat SOAPNachrichtenformat SOAP
<Envelope> <Header>
Zusatzinformationen</Header> <Body>
Inhalt: XML-Daten</Body>
</Envelope>
<html> <head>
Zusatzinformationen</head>
<body>Inhalt: Webseite
</body> </html>
XML-basierter W3C-Standard
- SOAP 1.1: W3C Note von 2000
- SOAP 1.2: W3C Recommendation von 2003
seit SOAP 1.2: SOAP ≠ Simple Object Access
HTML SOAP
![Page 22: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/22.jpg)
© K. Schild, 2006/M.Mochol 2007 22
Eine Eine SOAPSOAP--AnfrageAnfrage anan
<?xml version='1.0' encoding='UTF-8'?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="..." xmlns:xsi="…"><env:Body>
<doGoogleSearch xmlns="urn:GoogleSearch"><key xsi:type="xsd:string">3289754870548097</key><q xsi:type="xsd:string">Eine Anfrage</q> <start xsi:type="xsd:int">0</start><maxResults xsi:type="xsd:int">10</maxResults>
…</doGoogleSearch>
</env:Body></env:Envelope>
doGoogleSearch(key, q, start, maxResults,...)hier kein HeaderBeachte: Web Service-Aufruf kann als URL kodiert werden (REST)
![Page 23: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/23.jpg)
© K. Schild, 2006/M.Mochol 2007 23
Und die Antwort vonUnd die Antwort von
<?xml version="1.0" encoding="UTF-8"?><env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"xmlns:xsd="..." xmlns:xsi="…">
<env:Body><ns1:doGoogleSearchResponse xmlns:ns1="urn:GoogleSearch" …>
<return xsi:type="ns1:GoogleSearchResult">…
</return></ns1:doGoogleSearchResponse>
</env:Body></env:Envelope>
Antwort: doGoogleSearchResponse(return(…))Datentyp ns1:GoogleSearchResult in WSDL-Beschreibung definiert
![Page 24: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/24.jpg)
© K. Schild, 2006/M.Mochol 2007 24
REREpresentationalpresentational SState tate TTransferransfer
kein Protokoll sondern ein Architekturstil
Verwaltet beliebige Menge von Ressourcen
RESTfulRESTful eine Anwendung konform zum REST-Architekturstil
• Amazon – der populärster Anbieter einer REST-Anwendung
Google bietet solche REST-Schnittstelle NICHT an
![Page 25: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/25.jpg)
© K. Schild, 2006/M.Mochol 2007 25
http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&
AWSAccessKeyId=[ID]&Operation=ItemSearch&SearchIndex=Books&
Title=Harry%20Potter
REST bei REST bei AmazonAmazon
Ausschnitt der Antwort des Amazon Servers
…
…
…
![Page 26: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/26.jpg)
© K. Schild, 2006/M.Mochol 2007 26
ÜÜbertragung von bertragung von SOAPSOAP--NachrichtenNachrichten
heute meist über HTTP oder HTTPS
Request-Response-Verhalten von HTTP unterstützt entfernte Prozeduraufrufe (RPCs).
mit HTTP auch RPCs über eine Firewall hinweg
Übertragung aber auch z.B. mit SMTP (Messaging) möglich
![Page 27: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/27.jpg)
© K. Schild, 2006/M.Mochol 2007 27
Web Service Web Service Basiskomponenten: Basiskomponenten:
WSDLWSDL
![Page 28: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/28.jpg)
© K. Schild, 2006/M.Mochol 2007 28
WWeb eb SServices ervices DDescriptionescription LLanguageanguage
beschreibt Interface (IDL)
XML-basierter Standard
W3C Note von 2001
abstrakte Schnittstelleabstrakte Schnittstelle (portport typetype)
Schnittstelle unabhängig von Nachrichtenformaten
Beschreibung mit XML-Schema
konkrete Schnittstellekonkrete Schnittstelle (bindingbinding)
Abbildung der abstrakten Schnittstelle auf unterstützte Nachrichtenformate
Servicebeschreibung
abstrakte Schnittstelle
Operation
Anfrage
Antwort
konkrete Schnittstelle
Operation
SOAP-Anfrage
SOAP-Antwort
Web-Adressen (EndEnd PointsPoints)
![Page 29: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/29.jpg)
© K. Schild, 2006/M.Mochol 2007 29
WSDL-Beschreibung von
Web-Adresse
abstrakte Syntax
konkrete Manifestation in SOAP
![Page 30: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/30.jpg)
© K. Schild, 2006/M.Mochol 2007 30
Eigenschaften von WSDL
beschreibt Schnittstelle(n) eines Web Services und wo dieser abgerufen werden kann
baut auf XML-Schema auf
Syntax einer Schnittstelle kann bis ins kleinste Detail festgelegt werden.
Grundlegende Interaktionsmuster (wie Anfrage-Antwort) können beschrieben werden.
Semantische Eigenschaften können nicht beschrieben werden:
- Funktionalität- Verfügbarkeit- etc.
![Page 31: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/31.jpg)
© K. Schild, 2006/M.Mochol 2007 31
Web Service Web Service Basiskomponenten: Basiskomponenten:
UDDIUDDI
![Page 32: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/32.jpg)
© K. Schild, 2006/M.Mochol 2007 32
UDDI
Universal (Service) Description, Discovery, and Integration
entwickelt seit Herbst 2000 von Ariba, Microsoft& IBM
beschreibt einen Verzeichnisdienst für Web Services
ein SOAP basierter Dienst
![Page 33: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/33.jpg)
© K. Schild, 2006/M.Mochol 2007 33
UDDI Komponenten
UDDI-XML-SchemaBusiness-EntityBusiness-Service Binding-TemplateTechnisch Modelle (TModel)
UDDI-APIAnwendungsschnittstelle in Form von Web Services
![Page 34: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/34.jpg)
© K. Schild, 2006/M.Mochol 2007 34
UDDI vs. WS-Inspection
UDDI WS-Inspection
Anbieter
Anbieter
Anbieter
Nutzer
suchen
suchen
suchenUDDI Verzeichnis
suchen
Nutzer
Anbieter
veröffentlichen
AnbieterAnbieter
![Page 35: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/35.jpg)
© K. Schild, 2006/M.Mochol 2007 35
Enterprise Enterprise ApplicationApplicationIntegrationIntegration
![Page 36: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/36.jpg)
© K. Schild, 2006/M.Mochol 2007 36
EEnterprise nterprise AApplicationpplication IIntegrationntegration
technologischtechnologisch: inkompatible IT-Systeme miteinander verbinden
inkompatibelinkompatibel kann bedeuten: - unterschiedliche Betriebssysteme- unterschiedliche Programmiersprachen- unterschiedliche Kommunikationsprotokolle
organisatorischorganisatorisch: Geschäftsprozesse optimieren
Beispiel:
SAP-HR-Modul (Kompetenzen der
Mitarbeiter)
Wissensmanagment-Portal (Skill
Management)??
![Page 37: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/37.jpg)
© K. Schild, 2006/M.Mochol 2007 37
Zwang zur SystemintegrationZwang zur Systemintegration
unternehmensinternunternehmensintern
Beispiel Mercedes-Benz-Werk
- mehr als 200 EDV-Systeme
- sehr gut vernetzt (LAN)
- Systeme also prinzipiell integrierbar
Neue Systeme müssen Alt-Systeme integrieren.
unternehmensunternehmensüübergreifendbergreifend
E-Business setzt Zusammenarbeit von heterogenen Systemen voraus:
- Unternehmen Unternehmen
- Unternehmen Portal
![Page 38: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/38.jpg)
© K. Schild, 2006/M.Mochol 2007 38
Bedeutung der SystemintegrationBedeutung der Systemintegration
Systemintegration bindet
35%35% der IT-Personal-Ressourcen eines Unternehmens (Forrester Research, 2002)
65%65% der Arbeitszeit eines Programmierers (Gartner)
![Page 39: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/39.jpg)
© K. Schild, 2006/M.Mochol 2007 39
EEnterprise nterprise RResource esource PPlanninglanning
sehr teuer:
> 53.000 $ (TCO) pro Nutzer für ersten 2 Jahre (Meta Group, 2002)
viele Datensilos durch ein großes Datensilo ersetzt:
schwierige Integration externer Systeme
Lager
Inventarisierung
Logistik
Buchführung
Produktion
Auftragseingang
Personalwesen
Datenbank
Beispiel: SAP/R3
großer Fortschritt für Datenintegration
E-Commerce ??
![Page 40: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/40.jpg)
© K. Schild, 2006/M.Mochol 2007 40
Systemintegration mit Web ServicesSystemintegration mit Web Services
Anwendungssysteme durch standardisierte Schnittstelle erweitern
Anwendungs-system
Schnittstelle muss allgemein akzeptiert sein
bei Web Services ist dies der Fall
SOAPWSDLInternet-Protokolle
bei n Systemen: statt n2 Schnittstellen nur n Erweiterungen!
Anwendungs-system
![Page 41: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/41.jpg)
© K. Schild, 2006/M.Mochol 2007 41
Dienstorientierte Dienstorientierte ArchitekturArchitektur
![Page 42: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/42.jpg)
© K. Schild, 2006/M.Mochol 2007 42
Dienstorientierte ArchitekturDienstorientierte Architektur
engl. serviceservice--orientedoriented architecturearchitecture, kurz SOASOA
statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren:
neue Anwendungen von Anfang an auf existierenden Web Services aufbauen
neue Anwendung wiederum als Web Service anbieten
„… eine Systemarchitektur, die vielfältige, verschiedene und eventuell inkompatible Methoden oder Applikationen als wiederverwendbare und offen zugreifbare Dienste repräsentiert und dadurch eine plattform- und sprachunabhängige Nutzung und Wiederverwendung ermöglicht.“*
*Quelle: „ Service-orientierte Architekturen mit Web Services: Konzepte – Standards – Praxis“, W. Dostal, M. Jeckle, I. Melzer, B. Zengler; Spektrum Akademischer Verlag, 2005
![Page 43: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/43.jpg)
© K. Schild, 2006/M.Mochol 2007 43
SOA TempelSOA Tempel
StandardsSicherheit
Einfachheit
Ver
teil
thei
t
Los
e K
opp
lun
g
Ver
zeic
hn
isd
ien
st
Pro
zess
orie
nti
ert
Service-orientierteArchitektur
![Page 44: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/44.jpg)
© K. Schild, 2006/M.Mochol 2007 44
BeispielBeispiel
konsequente Realisierung einer diensteorientiertenArchitektur:
Beispiele für (interne) Web Services:
Webseite generieren
Kaufempfehlungen generieren
,,Käufer, die diesen Artikel gekauft haben, haben auch folgende Artikel gekauft…“
Angebote anderer Anbieter
If you hit the Amazon.com gateway page, the application calls more than 100 services to collect data and construct the page for you (Werner Vogels, CTO
von Amazon)
![Page 45: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/45.jpg)
© K. Schild, 2006/M.Mochol 2007 45
Vorteile aus Sicht von Vorteile aus Sicht von AmazonAmazon
komplexe Anwendung aus relativ einfachen Web Servicen aufbauen
aus komplexer Anwendung wiederum einfachen Web Service machen
verteilte, skalierbare, robuste Architektur
bestimmte Gruppe für Entwicklung und Betrieb eines Web Services verantwortlich
![Page 46: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/46.jpg)
© K. Schild, 2006/M.Mochol 2007 46
Dienstorientierte ArchitekturDienstorientierte Architektur
publizierenpublizieren (publishpublish): Beschreibung eines Dienstes in einem Verzeichnis (registry) veröffentlichen.
suchensuchen (findfind): Beschreibung eines Dienstes suchen, entweder dynamisch oder zur Entwicklungszeit
abrufenabrufen (bindbind): Beschreibung des Dienstes verwenden, um Dienst abzurufen, entweder dynamisch oder zur Entwicklungszeit
Anbieter Nutzer
Verzeichnis
2. Dienst suchen
1. Dienst publizieren
4. Abfrage der Beschreibung
3. Verweis auf Dienst
5. Dienst benutzen
0. Dienst implementieren
![Page 47: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/47.jpg)
© K. Schild, 2006/M.Mochol 2007 47
StandardsStandards
SOAP und WSDL allgemein akzeptiert
UDDI: Standard zur Beschreibung von Web-Service-Verzeichnissen
UDDI umstritten und wenig genutzt
Anbieter Nachfrager
öffentliches Verzeichnis
WSDL-Beschreibung
WSDL-Beschreibung
SOAP-Nachrichten
UDDI*
![Page 48: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/48.jpg)
© K. Schild, 2006/M.Mochol 2007 48
Anbieter
Nachfrager vs. Anbieter von DienstenNachfrager vs. Anbieter von Diensten
Nachfrager
ruft Dienst ab
DienstDienst--AnbieterAnbieter (service provider) bietet Dienste an.
DienstDienst--NachfragerNachfrager (service requestor) nutzt Dienste anderer Anbieter.
Anbieter von Diensten kann gleichzeitig Dienste anderer nutzen (und Nachfrager) sein.
Diese Begriffe sind relativ.
Anbieter/Nachfrager
Anbieter
ruft Dienst ab
![Page 49: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/49.jpg)
© K. Schild, 2006/M.Mochol 2007 49
ÖÖffentliches Verzeichnisffentliches Verzeichnis
Nachfrager Anbieter
Schnittstelle Dienst publizieren
Dienst abrufen
Öffentliches Verzeichnis nicht zwingend notwendig:
Auch ohne öffentliches Verzeichnis kann Dienst gefunden werden.
Schnittstelle kann z.B. auf Webseite des Anbieters veröffentlicht werden.
öffentliche Verzeichnisse heute wenig genutzt
![Page 50: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/50.jpg)
© K. Schild, 2006/M.Mochol 2007 50
SOA: VorSOA: Vor-- und Nachteileund Nachteile
ohne dass Nutzer des Web Services es bemerkt, kann
+ neue Version freigeschaltet werden
+ bei Ausfall ein Web Service durch einen anderen Web Service mit gleicher Schnittstelle ersetzt werden
+ Lastverteilung durchgeführt werden
allerdings
- Vertrauen nötig, dass Web-Service-Anbieter WSDL-Beschreibung im Sinne des Nutzers realisiert
![Page 51: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/51.jpg)
© K. Schild, 2006/M.Mochol 2007 51
RPC vs. RPC vs. MessagingMessaging
![Page 52: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/52.jpg)
© K. Schild, 2006/M.Mochol 2007 52
Wie Wie SOAPSOAP--NachrichtenNachrichten üübertragen?bertragen?
üüber HTTPber HTTP
heute üblich
Request-Response-Verhalten von HTTP unterstützt RPCRPCs.
verbindungsorientiert
Übertragung: Sender und Empfänger müssen präsent sein.
typischerweise synchron
üüber SMTPber SMTP
heute eher selten
realisiert MessagingMessaging
persistenteKommunikation
Übertragung: Weder Sender noch Empfänger muss präsent sein.
typischerweise asynchron
erlaubt Lastverteilung und Priorisierung
weitreichende Designentscheidung!
![Page 53: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/53.jpg)
© K. Schild, 2006/M.Mochol 2007 53
WeitreichendeWeitreichende DesignentscheidungDesignentscheidung
enge Kopplungenge Kopplung
verbindungs-orientierte, synchrone Kommunikation
z.B. SOAP/HTTP
lose Kopplunglose Kopplung
gepufferte, asynchrone Kommunikation
z.B. SOAP/SMTP
robuster, aber auch komplexer zu entwerfen
![Page 54: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/54.jpg)
© K. Schild, 2006/M.Mochol 2007 54
RPC mit SOAPRPC mit SOAP
Nachrichten konform:zu einer vordefinierten Beschreibung des Funktionsaufrufeszu der zu erwartenden Rückantwort
Arten der Kommunikation: Anfrage (Request)Antwort (Response)Fehlerfall (Fault)
![Page 55: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/55.jpg)
© K. Schild, 2006/M.Mochol 2007 55
KomplexitKomplexitäät loser Kopplungt loser Kopplung
asynchroner Nachrichtenaustauschasynchroner Nachrichtenaustausch
auch nach Timeout Antwort noch möglich
Was tun mit der Antwort?
häufig muss Absender informiert werden, dass Antwort nicht verarbeitet werden konnte
Was tun, wenn diese Warnung nicht rechtzeitig beim Absender ankommt?
Absender hat vielleicht im falschen Glauben, dass seine Antwort verarbeitet wurde, weitergearbeitet.
Dieser Vorgang muss dann evtl. rückgängig gemacht werden.
![Page 56: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/56.jpg)
© K. Schild, 2006/M.Mochol 2007 56
BeispielBeispiel
10.000 €abbuchen!
Timeout: Transaktion fehlgeschlagen
Abbuchung möglich
5.000 €abbuchen!
Abbuchung nicht möglich
A
C
B
Komplexität ist Preis für die gewonnene Robustheit
![Page 57: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/57.jpg)
© K. Schild, 2006/M.Mochol 2007 57
MessagingMessaging
Anwendungen interagieren durch Austausch von Nachrichten miteinander:
Kommunikation in Anwendung sichtbar: senden und empfangen
Unterschied zu RPCs
verschiedene Formen des Messaging:
1. Kommunikationsstruktur
2. Interaktionsmuster
3. flüchtig vs. persistent
4. synchron vs. asynchron
5. Quality of Service
![Page 58: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/58.jpg)
© K. Schild, 2006/M.Mochol 2007 58
1. Kommunikationsstruktur1. Kommunikationsstruktur
Anzahl und Organisation der Kommunikationspartner
wichtigste Kommunikationsstrukturen:
- One-to-One-Kommunikation
- One-to-Many-Kommunikation
![Page 59: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/59.jpg)
© K. Schild, 2006/M.Mochol 2007 59
OneOne--toto--OneOne--KommunikationKommunikation
Sender sendet Nachricht an bestimmten Empfänger.
Beispiel: Kunde sendet Bestellung per E-Mail an Firma
Sender Empfänger
![Page 60: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/60.jpg)
© K. Schild, 2006/M.Mochol 2007 60
OneOne--toto--ManyMany--KommunikationKommunikation
Sender sendet identische Kopie gleichzeitig an mehrere Empfänger.
Sender (publisher) veröffentlicht Nachricht zu bestimmten Thema (topic), zu dem sich die Empfänger (subscriber) angemeldet haben.
auch publishpublish--subscribesubscribe oder topictopic--basedbased messagingmessaginggenannt
Beispiel: Mailing-Liste
SenderEmpfänger
EmpfängerEmpfänger
Empfänger
![Page 61: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/61.jpg)
© K. Schild, 2006/M.Mochol 2007 61
2. Interaktionsmuster2. Interaktionsmuster
EinwegEinweg (one way, fireand forget)Client Server
Client Server
Client Server
Client Server
AnfrageAnfrage--AntwortAntwort(request-response)
BenachrichtigungBenachrichtigung(notification)
BenachrichtigungBenachrichtigung--AntwortAntwort(notification-response)
Beachte: „Antwort“ bezieht sich auf jeweilige Anwendung, nicht auf das Netzwerk.
![Page 62: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/62.jpg)
© K. Schild, 2006/M.Mochol 2007 62
Komplexe InteraktionsmusterKomplexe Interaktionsmuster
Bestellanfrage mit spätestem Liefertermin
Angebot mit zugesichertem Liefertermin
Bestellung
Bestätigung des Eingangs der Bestellung
Bestätigung der Lieferung
Rechnung
ClientClient ServerServer
Bestellvorgang
![Page 63: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/63.jpg)
© K. Schild, 2006/M.Mochol 2007 63
3. Flüchtig vs. persistent
flflüüchtige Kommunikationchtige Kommunikation
Sender und Empfänger kommunizieren direkt ohne Puffer miteinander.
Sender und Empfänger müssen während der gesamten Übertragung präsent sein
engl. transienttransient
Beispiele: HTTP, UDP
Sender Empfänger
Netzwerkgrenze
![Page 64: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/64.jpg)
© K. Schild, 2006/M.Mochol 2007 64
Flüchtig vs. persistent
persistentepersistente KommunikationKommunikation
Nachricht solange gespeichert, bis sie tatsächlich zugestellt wurde.
Weder Sender noch Empfänger müssen während Übertragung präsent sein.
Beispiele: E-Mail, MQSeries (IBM), JMS
NetzwerkgrenzeSender Empfänger
Kommunikations-server
Kommunikations-server
![Page 65: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/65.jpg)
© K. Schild, 2006/M.Mochol 2007 65
4. Synchron vs. Asynchron4. Synchron vs. Asynchron
AsynchronAsynchronSenden und Empfangen zeitlich versetztohne Blockieren des Prozesses (ohne Warten auf die Antwort)
SynchronSynchronSenden/Empfangen synchronisieren warten (blockieren) bis die Kommunikation abgeschlossen ist.
bei persistenterpersistenter KommunikationKommunikation Messagingnormalerweise asynchron
bei flflüüchtiger Kommunikationchtiger Kommunikation Messaging kann sowohl synchron als auch asynchron sein.
![Page 66: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/66.jpg)
© K. Schild, 2006/M.Mochol 2007 66
Beispiel 1Beispiel 1
flüchtige, synchrone Kommunikation
auch antwortorientiertantwortorientiert (response-based) genannt
implementiert synchrone RPCs
jedoch ≠ RPC: Kommunikation für Anwendung sichtbar
A
B
Anfrage(request)
Antwort(reply)
A verschickt Anfrage A wartet auf
Antwort
B verarbeitet Anfrage
B läuft, verarbeitet noch nicht die Anfrage
![Page 67: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/67.jpg)
© K. Schild, 2006/M.Mochol 2007 67
Beispiel 2Beispiel 2
flüchtige, asynchrone Kommunikation
auch bestbestäätigungsorientierttigungsorientiert (delivery-based) genannt
implementiert asynchrone RPCs
jedoch ≠ RPC: Kommunikation für Anwendung sichtbar
A
B
Anfrage(request)
Bestätigung (accept)
A verschickt Anfrage A wartet auf
Bestätigung
B verarbeitet Anfrage
B läuft, verarbeitet noch nicht die Anfrage
Antwort(call back)
![Page 68: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/68.jpg)
© K. Schild, 2006/M.Mochol 2007 68
RPC oder RPC oder MessagingMessaging? ?
RPCRPC
+ einfach, abstrahiert von Kommunikation
- nur Eins-zu-Eins-Kommunikation
- Client und Server müssen präsent sein.
- skaliert weniger gut
MessagingMessaging
- abstrahiert nicht von Kommunikation
+ erlaubt auch One-to-Many-Kommunikation
+ Weder Sender noch Empfänger müssen präsent sein.
+ erlaubt Priorisierung und Lastverteilung
+ skaliert sehr gut
lose gekoppelte, robuste Systeme
eng gekoppelte, starre Systeme
![Page 69: Web Services - News · 2018. 3. 4. · engl. service-oriented architecture,kurz SOA statt Anwendungen isoliert zu entwickeln, nur um sie später zu integrieren: neue Anwendungen von](https://reader033.fdocuments.in/reader033/viewer/2022051923/6010dbc82bad7146db584e36/html5/thumbnails/69.jpg)
© K. Schild, 2006/M.Mochol 2007 69
Block Web ServicesBlock Web Services
heutige Vorlesungheutige Vorlesung
Was sind Web Services?
Basistechnologien (SOAP, WSDL, UDDI)
Enterprise Application Integration
Dienstorientierte Architektur (SOA)
RPC vs. Messaging
nnäächste Vorlesung (20.06) chste Vorlesung (20.06)
SOAP im DetailNächste Woche
Keine VorlesungKeine Übung