letmeintroducemyself - schmiedecke · 2009. 11. 30. · letmeintroducemyself • ilse schmiedecke...
TRANSCRIPT
![Page 1: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/1.jpg)
![Page 2: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/2.jpg)
Let me Introduce myselfLet me Introduce myself• Ilse Schmiedecke
– Teaching Computer Science at the Beuth-Hochschule
– Favourites: Programming, Software Engineering and Data Bases
(c) schmiedecke 09 2SOA
![Page 3: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/3.jpg)
What this lecture is about:What this lecture is about:
• Black boxes,
• Bottled messages
• Santa‘s Headquarters
• And SOA
(c) schmiedecke 09 3SOAGrafiken: faqs.org,
allthingschristmas.com
![Page 4: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/4.jpg)
Find out thatFind out that
• SOA is all about black boxes exchanging bottled messages
• And that Santa could do better using SOA
(c) schmiedecke 09 4SOA
![Page 5: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/5.jpg)
Intro: Santa‘s HQs need SOAIntro: Santa‘s HQs need SOA
ebay-typo
(c) schmiedecke 09 5SOAFotos: amazon.de
![Page 6: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/6.jpg)
Run every wish list throughALL programs?..........By Hand??
NO WAY!
(c) schmiedecke 09 6SOA
![Page 7: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/7.jpg)
SOA ☺☺☺☺Make programs work together and take the
Staff Out Altogether
SOA ☺☺☺☺Make programs work together and take the
Staff Out Altogether
ebay-typo
(c) schmiedecke 09 7SOA
![Page 8: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/8.jpg)
Was bedeutet SOA?Was bedeutet SOA?
• Service Oriented Architecture
• Viele konkurrierende Definitionen
• Verschiedene Abstraktionsstufen. Wir wählen die oberste:
(c) schmiedecke 09 8SOA
SOA ist ein Architekturkonzept für geschäftsbezogene IT-Anwendungslandschaften auf oberster Abstraktionsebene
![Page 9: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/9.jpg)
Was ist Software-Architektur?Was ist Software-Architektur?Kampf gegen den sensiblen Riesen
NEVER touch
a running
system!
(c) schmiedecke 09 9SOA
![Page 10: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/10.jpg)
SOA-DefinitionSOA-Definition
Eine SOA ist eine Anwendungslandschaft aus standardisierten Services,
die einzeln genutzt oder zur Realisierung von Geschäftsprozessen miteinander kombiniert werden können.
Eine SOA ist eine Anwendungslandschaft aus standardisierten Services,
die einzeln genutzt oder zur Realisierung von Geschäftsprozessen miteinander kombiniert werden können. miteinander kombiniert werden können. miteinander kombiniert werden können.
(c) schmiedecke 09 10SOA
![Page 11: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/11.jpg)
AnwendungslandschaftAnwendungslandschaftPersonalverwaltung
Finanzabt.
Einkauf
Lagerverwaltung
VerkaufBuchhaltung
Unternehmen
betreibt viele Systeme
• groß
• heterogen
• redundant
• nur im Einzelfall und geheimnisvoll miteinander kommunizierend(c) schmiedecke 09 11SOA
Logistik
![Page 12: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/12.jpg)
Integration!Integration!Unternehmensweite Datenmodelle
Komponenten-Architekturen
(c) schmiedecke 0912
SOA
funktioniert – aber Änderungen sind aufwändig
![Page 13: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/13.jpg)
Was bremst die Flexibilität?Was bremst die Flexibilität?
• Beispiel Buchhaltungssoftware (Sage-KHK)– Funktionen zum Kontieren– Funktionen zum Budgetieren– Funktionen zum Buchen– Funktionen zur Belegerstellung– Funktionen zur Kontenüberwachung– Funktionen zum Geldverkehr…
– Komplexer Prozess Bilanz– Komplexer Prozess Bilanz– Komplexer Prozess Mahnwesen…
– Zusatzfunktion Schriftverkehr – Zusatzfunktion Kontaktverwaltung …
• Bündel von Funktionen verschiedener Komplexität– teilweise Fachleistungen– teilweise komplette Geschäftsprozesse– teilweise fachfremde Hilfsfunktionen
Für jede Änderung von Geschäftsprozessen oder Regeln ist die
Black Box zu öffnen!
(c) schmiedecke 09 13SOAGrafik: www.derchirurg.net
![Page 14: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/14.jpg)
Services bringen FlexibilitätServices bringen Flexibilität• Kleine Black Boxes
– alle Funktionen und Datenzugriffe als einzelne, selbständige Dienste– Dienste können sich gegenseitig nutzen / aufeinander aufbauen
• kommunizieren über einen Nachrichtendienst– statt direkt miteinander (Flaschenpost)
• und lassen sich für größere Aufgaben beliebig kombinieren.• und lassen sich für größere Aufgaben beliebig kombinieren.– „Programmieren auf Service-Ebene“ (z.B. BPEL)
(c) schmiedecke 09 14SOA
![Page 15: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/15.jpg)
Never Touch a Running System!
SYSTEM
(c) schmiedecke 09 SOA 15
FEEL FREE TO TOUCH THE RUNNING SYSTEM
☺☺☺☺
![Page 16: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/16.jpg)
SOA-Prinzip 1:Services an Geschäftsaufgaben ausrichten
SOA-Prinzip 1:Services an Geschäftsaufgaben ausrichten
• Geschäfts-Services bieten, was das Geschäft braucht:
– an Geschäftsaufgaben orientiert
– unabhängig voneinander nutzbar
– flexibel zu Geschäftsprozessen kombinierbar.
• (Technische Services sorgen dafür, dass es funktioniert)
(c) schmiedecke 09 16SOA
Geschäft
IT
![Page 17: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/17.jpg)
SOA-Prinzip 2:Flexible Service-Landschaft
SOA-Prinzip 2:Flexible Service-Landschaft
• Services werden auf Servern bereitgestellt– Server können ausfallen.
– Services können bei Bedarf ersetzt, verschoben oder verdoppelt werden.
Verzeichnis-dienst
• Problem bei Punkt-zu-Punkt-Verbindungen
– Kein Anschluss unter dieser Nummer �
• „Finden und Binden“– Verzeichnisdienst listet verfügbare Services auf.
– Kann dabei andere Verzeichnisdienste nutzen.
– Client findet seinen Service und bindet ihn für die Dauer der Ausführung an sich.
(c) schmiedecke 09 17SOA
Client Service
1. registrieren2. finden
3. binden
4. aufrufen
![Page 18: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/18.jpg)
SOA-Prinzip 3:Die IT liefert die Infrastruktur
SOA-Prinzip 3:Die IT liefert die Infrastruktur
• Nachrichtendienst (Service-Bus)• „Flaschenpostversand“• Versand und sichere Zustellung von Nachrichten in einem Standardformat
• Serviceverzeichnis• Registrieren, Suchen, Binden
• Service-Überwachung:• Kompatibilität neuer Services• Einhaltung des Level of Service (Verfügbarkeit und Performance)
• Prozess-Management zur Orchestrierung (optional)• Auch: „Workflow-Engine“• Abstrakte Implementierung der Geschäftsprozesse aus Services• Zumeist BPEL-Implementierung
(c) schmiedecke 09 18SOA
![Page 19: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/19.jpg)
Die SOA-Referenzarchitektur(Das SOA-Architekturkonzept)
Die SOA-Referenzarchitektur(Das SOA-Architekturkonzept)
Service-Bus
Service-Verzeichnis
Service-Überwachung
Prozess-Management
(c) schmiedecke 09 SOA 19
Service Service Service Service Service
Service-Bus
![Page 20: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/20.jpg)
Und wie implementiert man das?Und wie implementiert man das?
• SOA ist „Architekturkonzept auf oberster Abstraktionsebene“
• Konkretisierung:auf eine mögliche Umsetzung festlegen
• Beliebteste Umsetzung:
– Webservices
– mit Enterprise Service Bus (ESB)
– Standards: SOAP, WSDL, UDDI
(c) schmiedecke 09 20SOA
![Page 21: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/21.jpg)
Vokabeln…Vokabeln…Webservice:
– interaktive Webseite, auf Webserver bereitgestellt
– ohne grafische Benutzeroberfläche
– wird von Programmen benutzt
– „Flaschenpostformat“ ist (z.B.) SOAP
– SOAP-Anfragen sind HTTP-Anfragen, genau wie Anfragen aus dem Browser
<SOAP-ENV:Envelope xmlns:SOAP-
Standards:−SOAP (Simple Object Access Protocol):
Nachrichtenformat (XML)
− WSDL (Webservice Description Language)
−Webservice-Beschreibungsformat (XML)
− UDDI (Universal Description, Discovery, and Integration):
−Verzeichnisdienst
(c) schmiedecke 09 SOA 21
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body><ns1:BabelFish xmlns:ns1="urn:xmethodsBabelFish"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <translationmode xsi:type="xsd:string">de_en</translationmode<sourcedata xsi:type="xsd:string">
Architekturkonzept</sourcedata>
</ns1:BabelFish> </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
![Page 22: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/22.jpg)
Vokabeln…Vokabeln…
• ESB (Enterprise Service Bus)– Software zur Integration verteilter Services– im Kern ein Nachrichtensystem als Ersatz für starre Punkt-zu-
Punkt-Verbindungen– Zumeist mit weiterer Integrationssoftware verbunden
• ESB für Webservices – bieten typischerweise eine komplette SOA-Infrastruktur – einschließlich BPEL-Implementierung– OpenESB (Sun)– Axis– JBoss ESB
(c) schmiedecke 09 SOA 22
Service-Bus
Service-Verzeichnis
Service-Überwachung
Prozess-Management
![Page 23: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/23.jpg)
Also was ist zu tun?Also was ist zu tun?
• ESB– auf dem Webserver installieren
• Webservices– schreiben, auf dem Webserver bereitstellen und im
ESB-Verzeichnis registrieren– öffentliche Webservices über das Internet einbinden
• Geschäftsprozesse Webserver
ESB
BPEL-Modul
BPEL-Modul
• Geschäftsprozesse– in BPEL definieren, als Services bereitstellen und
veröffentlichen– ggf. eine grafische Oberfläche erstellen und
ebenfalls als Service bereitstellen
• Glücklich, wer eine IDE benutzt, die ihm alle technischen Details abnimmt (Netbeans, Eclipse, Websphere, …)
(c) schmiedecke 09 SOA 23
Webserver
Webservices
![Page 24: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/24.jpg)
Santa‘s OrchestrationSanta‘s Orchestration
• Wrap all programs into web services.
• Deploy each on its webserver‘s ESB.
• Now write BPEL modules to combine the services:– searchAmazon:– searchAmazon:
take a wish list entry, run it through amazon, feed the result through bestOfferand return the result
– searchEbay: take a wish list entry, run it through ebay and then bestOffer, save the result. In a loop, run the entry through ebayTypo, then through ebay and bestOffer, save the result. Run all results through bestOffer and return the result.
– searchAll: run the wish list entry through storeCheck; if found, return the result. Otherwise run it through ebayCheck and amazonCheck, and the resultsthrough bestOffer. Return result.
(c) schmiedecke 09 SOA 24
![Page 25: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/25.jpg)
Santa‘s SOASanta‘s SOA
searchAll
searchEbaysearch
AmazonprocessTweet
• And what, if Santa wants to receive wish lists via twitter?• Integrate the twitter web service into his SOA and write another BPEL module!
(c) schmiedecke 09 25SOA
amazon ebay checkStore bestOffer ebayTypo
Twitter is a great idea:
If Santa is not real, s.o. else might
read your wish list instead ☺☺☺☺
![Page 26: LetmeIntroducemyself - schmiedecke · 2009. 11. 30. · LetmeIntroducemyself • Ilse Schmiedecke – Teaching Computer Science attheBeuth-Hochschule – Favourites: Programming,](https://reader035.vdocuments.us/reader035/viewer/2022071114/5feb1436d707fb397a450aad/html5/thumbnails/26.jpg)
If you don‘t believe in Santa Claus after all,I hope that you do believe in
– Black Boxes– Bottled Messages
– And SOA ☺
Thank You!Thank You!
(c) schmiedecke 09 SOA 26