Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte –

download Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte –

If you can't read please download the document

description

Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen). Gliederung: 1. Die Entwicklung aus dem Prozedurkonzept bis zum vier-stufigen Aufbau (2001) 2. Und dann kam BPEL (2002) 3. Und nun kommt BPMN 2.0 (2011). - PowerPoint PPT Presentation

Transcript of Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte –

Die Lehre ber Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte - Hartmut Wedekind (Erlangen) Giederung:

1Die Lehre ber Service Orientierte Architekturen (SOA)

- Eine Entwicklungsgeschichte

Hartmut Wedekind (Erlangen)Gliederung:

1. Die Entwicklung aus dem Prozedurkonzept bis zum vier-stufigen Aufbau (2001)

2. Und dann kam BPEL (2002)

3. Und nun kommt BPMN 2.0 (2011)

11. Die Entwicklung aus dem Prozedur-Konzept bis zum vier-stufigen Aufbau (2001)

1.1 Die Trennung von Argument und Funktion bei Frege (1848-1925) (Gottlob Frege: Funktion und Begriff , 1891)

Mathematik: f(x) = 1 + x2 (vor der Trennung) f(.) = 1 + (.)2 (nach der Trennung mit x als Argument und f(.) als Funktion) (.) heit Leerstelle, vom logischen Standpunkt das blanke Nichts, wie eine isolierte Variable x. Frege sagte fr (.) auch Platzhalter. f(.) heit bei Frege ungesttigte Funktion, die keinen Wahrheitswert haben

Nach der Sttigung gilt z.B.: f (3) = 10 wahr. Dies ist eine wahre Aussage. f (3) = 11 falsch. Dies ist eine falsche Aussage.

2Sprache :Caesar eroberte Gallien ( Aussage) (.) eroberte Gallien (Aussagefunktion, ungesttigt) oder (x) eroberte Gallien (Aussagefunktion) x = Objektvariable, die bei Sttigung einen Nominator z. B. einen Eigennamen Caesar annehmen kann.

Es gilt nach der Sttigung: Caesar eroberte Gallien wahr Augustus eroberte Gallien falsch

Ich kann die ungesttigten Funktionen aussortieren und einem Bereich zuordnen, den ich Server nenne. Argumente werden ebenfalls als Lieferanten einem Bereich zugeordnet und den nenne ich Client.

Und schon ist sie da: Die ClientServer Architektur ( besser mit Aufbau bezeichnet)

3 1.2 Remote Procedure Call (RPC, manchmal auch RFC mit F fr Function)

Call (zweistellig) ist eine Aufforderung.Caller (der Rufer) ist der Client (aktiv) . Zur Kolonialzeit: Master Callee (der Angerufene) ist der Server (passiv). Zur Kolonialzeit : Slave

Es ist an eine synchrone (gleichzeitige) Kommunikation gedacht. Nicht asynchron(verschoben). Der Fernaufruf: Eingefhrt 1984: Andrew D. Birrell, Bruce Jay Nelson; Xerox Palo Alto Research Center (Hrsg.): Implementing Remote Procedure Calls. ACM Transactions on Computer Systems, Vol.2 No.1, February 1984, Seiten 39-49, 1984 (http://www.cs.yale.edu/homes/arvind/cs422/doc/rpc.pdf).

Mit RPC wird der Begriff stub eingefhrt.

Wikipedia:A stub in distributed computing is a piece of code used for converting parameters passed during a Remote Procedure Call (RPC).

Statt Parameter darf man weltweit auch Argumente sagen.4Und dann kam 1990 CORBA der OMG:

Wikipedia sagt:Die Common Object Request Broker Architecture (CORBA, englisch fr Allgemeine Architektur fr Vermittler von Objekt-Anforderungen) ist eine Spezifikation fr eine objektorientierte Middleware, deren Kern ein sog. Object Request Broker, der ORB bildet, und die plattformber-greifende Protokolle und Dienste definiert. Sie wird von der Object Management Group (OMG) entwickelt. CORBA-konforme Implementierungen vereinfachen das Erstellen verteilter Anwendungen in heterogenen Umgebungen

Damit htten wir eine 3. Schicht (Communication), eingeklemmt zwischen Client und Server Als Begriff wird SOA 1996 von Gartner eingefhrtGartner ist ein Anbieter, der Marktforschungsergebnisse und Analysen ber die Entwicklungen in der IT anbietet (laut Wikipedia)5 Wo bleibt die 4. Schicht?

Sie entsteht durch die groe Spaltung des klassischen Servers (so um 2000)

in Application Server und Database Server

mit dem Aufkommen des Begriffs Business logic

Jim Gray glaubte noch, die Business Logic in Stored Procedures innerhalb einer DB unterbringen zu knnen. (Jim Gray: The Revolution in DB-Architecture (2004). U.a. sagte er mit Blick auf die Stored Procedures The integration of languages with databases eliminates the inside-the-database/outside-the- database dichotomy that we have lived with for the last 40 years."

Das war ein Irrtum! Auch Ppste knnen sich irren

6Das Zustandekommen des Begriffs Application Server ist schillernd. Jablonski e.a. (Web Application and Platform Architectures(2004) verweisen auf den berhmten Monson-Haefel: EJB (2001)

Application Server i. e. S. = def EJB-Server = def Business Logic-Server Application Server i. w. S. 0=def EJB-Server + Web-Server + DB-ServerDas ist die Java Plattform J2EE bzw. heute Java Enterprise Edition 5 fr Frameworks wie JBoss, Netweaver

W7

2. Und dann kam BPEL (2002)

Wikipedia

Die WS-Business Process Execution Language (BPEL) ist eine XML-basierte Sprache zur Beschreibung von Geschftsprozessen, deren einzelne Aktivitten durch Webservices implementiert sind.Die im Jahr 2002 von IBM, BEA Systems und Microsoft eingefhrte Sprache wird zur Beschreibung der Orchestrierung von Webservices verwendet. Die Beschreibung selbst wird ebenfalls in Form eines Webservice bereitgestellt und kann als solcher verwendet werden.Durch die Abstraktion mittels BPEL kann die Schnittstelle eines bergeordneten Webservice beschrieben werden, der die an einem Prozess beteiligten Webservices steuert, beispielsweise in welcher Reihenfolge Nachrichten eintreffen mssen. WS-BPEL ist Teil der sogenannten WS-*-Spezifikationen

BPEL ist eine Programmiersprache ohne Grafik

8

BPEL (Blockprinzip) und BPMN ( Flussprinzip) im Vergleich (aus BPMN 2.0 der OMG, S.446)

9Jusuttis (2008) SOA in der Praxis fhrt SOA als eine Entwicklungsmethodologie bottom-up ein.

entnommen aus : N. Jusuttis SOA in der Praxis (2008) , S.8910

Enterprise Service Bus (ESB), nach Wikipedia:

Wrtlich bersetzt dient ein Enterprise Service Bus dazu, mittels eines Datenbusses Dienste in einem Netzwerk eines Unternehmens zur Verfgung zu stellen.[1] Im deutschen Sprachraum hat sich jedoch keine bersetzung durchgesetzt. Enterprise Service Bus ist heute als Begriff der deutschen Fachsprache allgemein akzeptiert. Auch wenn der Name anderes suggeriert, ist das Prinzip auch auerhalb der Anwendungslandschaft eines Unternehmens (engl. enterprise) gltig.Der Begriff Enterprise Service Bus wurde 2002 durch die Firma Gartner geprgt.[2]

Vorlufiger Hhepunkt war das SOA-Manifesto (2009), verfasst von den SOA-Stars :Erl , Josuttis, Krafzig u.a.

11Aber es kam die Lose Kopplung zwischen Anwendung (Frontend) und System (Backend).

Lose Kopplung versus Enge Kopplung (nach Josuttis (2008) bzw. Krafzig (2004):

Tabelle: Formen loser Kopplung (aus Josuttis 2008, bzw. Krafzig 2004)

12

3. Und nun kommt BMPN 2.0 (2011)( vor allem die Dissertation von Volker Stiehl (Darmstadt 2011) :http://tuprints.ulb.tu-darmstadt.de/2751/Lose KopplungTop Down Entwurf (ohne BPEL)Applikation in BPMN 2.0 modelliert und in einem Java EE -Framework (z.B. Netweaver, JBoss, Spring) in Einsatz gebracht (deployed). Von SOA zu POA (Process Oriented Architecture) zu PDA (Process Driven Architecture, Deutsch: Prozessgesteuerte Architektur)

13Architektur von Verbundanwendungen (composite application) nach Volker Stiehl14SystemeGeschftsprozesseService-BereitstellungServicevertrag- Implementierungs-schichtGeschftsobjekte& DiensteBenutzeroberflchenVerbundanwendungBACKENDRolle 1

BusinessPartnerUIUIApp. ServiceSVIServicevertrag-ImplementierungSVISSchritt 1Schritt 2Schritt 3Step 4UIApp. ServiceSVIApplicationsLegacy/DBServicesApp. ServiceUIServicesSAP3rd Party/DBSchritt 4Schritt 5Schritt 6Schritt 7Schritt 8Rolle 2

Rolle 3

Rolle 4

Servicevertrag definiert durch VerbundanwendungSVIServicesVereinfachte Darstellung (Vorher) (Seiten 14-17 entnommen aus V.Stiehl :http://tuprints.ulb.tu-darmstadt.de/2751/15

Vereinfachte Darstellung ( Nachher)16

2-Schichten Modell

17

3-Schichten Modell 18