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

18
1 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)

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

Page 1: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

1

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)

Page 2: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

2

1. 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) (.) heißt Leerstelle, vom logischen Standpunkt das blanke Nichts, wie

eine isolierte Variable x. Frege sagte für (.) auch Platzhalter.

f(.) heißt bei Frege ungesättigte Funktion, die keinen Wahrheitswert haben

Nach der Sättigung gilt z.B.: „f (3) = 10“ wahr. Dies ist eine wahre Aussage. „f (3) = 11“ falsch. Dies ist eine falsche Aussage.

Page 3: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

3

Sprache : Caesar eroberte Gallien ( Aussage) (.) eroberte Gallien (Aussagefunktion, ungesättigt) oder

(x) eroberte Gallien (Aussagefunktion) x = Objektvariable, die bei Sättigung einen Nominator z. B. einen Eigennamen „ Caesar“ annehmen kann.

Es gilt nach der Sättigung: „Caesar eroberte Gallien“ wahr „ Augustus eroberte Gallien“ falsch

Ich kann die ungesättigten 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)

Page 4: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

4

1.2 Remote Procedure Call (RPC, manchmal auch RFC mit F für 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:

Eingeführt 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“ eingeführt.

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.

Page 5: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

5

Und dann kam 1990 CORBA der OMG:

Wikipedia sagt:

Die Common Object Request Broker Architecture (CORBA, englisch für Allgemeine Architektur für Vermittler von Objekt-Anforderungen) ist eine Spezifikation für eine objektorientierte Middleware, deren Kern ein sog. Object Request Broker, der ORB bildet, und die plattformüber-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 hätten wir eine 3. Schicht (Communication), eingeklemmt zwischen Client und Server

Als Begriff wird SOA 1996 von Gartner eingeführt

Gartner ist ein Anbieter, der Marktforschungsergebnisse und Analysen über die Entwicklungen in der IT anbietet (laut Wikipedia)

Page 6: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

6

Wo bleibt die 4. Schicht?

Sie entsteht durch die große 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 können. (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 Päpste können sich irren

Page 7: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

Das Zustandekommen des Begriffs “ Application Server” ist schillernd. Jablonski e.a. (“Web Application

and Platform Architectures(2004)“ verweisen auf den berühmten 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-Server

Das ist die Java Plattform J2EE bzw. heute Java Enterprise Edition 5 für Frameworks wie JBoss, Netweaver W7

Page 8: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

8

2. Und dann kam BPEL (2002)

Wikipedia

• Die WS-Business Process Execution Language (BPEL) ist eine XML-basierte Sprache zur Beschreibung von Geschäftsprozessen, deren einzelne Aktivitäten durch Webservices implementiert sind.

• Die im Jahr 2002 von IBM, BEA Systems und Microsoft eingeführte 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 müssen. WS-BPEL ist Teil der sogenannten WS-*-Spezifikationen

BPEL ist eine Programmiersprache ohne Grafik

Page 9: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

9

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

Page 10: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

10

Jusuttis (2008) “ SOA in der Praxis” führt SOA als eine Entwicklungsmethodologie “bottom-up” ein.

entnommen aus : N. Jusuttis “SOA in der Praxis” (2008) , S.89

Page 11: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

11

Enterprise Service Bus (ESB), nach Wikipedia:

• Wörtlich übersetzt dient ein Enterprise Service Bus dazu, „mittels eines Datenbusses Dienste in einem Netzwerk eines Unternehmens zur Verfügung 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 außerhalb der Anwendungslandschaft eines Unternehmens (engl. enterprise) gültig.

• Der Begriff Enterprise Service Bus wurde 2002 durch die Firma Gartner geprägt.[2]

Vorläufiger Höhepunkt war das SOA-Manifesto (2009), verfasst von den „SOA-Stars“ :Erl , Josuttis, Krafzig u.a.

Page 12: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

12

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

Page 13: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

13

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 Kopplung• Top 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)

Page 14: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

14

Architektur von Verbundanwendungen (composite application) nach Volker Stiehl

Systeme

Geschäftsprozesse

Service-Bereitstellung

Servicevertrag- Implementierungs

-schicht

Geschäftsobjekte& Dienste

Benutzeroberflächen

Ve

rbu

nd

an

we

nd

un

gB

AC

KE

ND

Rolle 1

Bu

sin

es

sP

art

ne

r

UI UI

App. Service

SVI Servicevertrag-ImplementierungSV

IS

Schritt 1 Schritt 2 Schritt 3 Step 4

UI

App. Service

SVI

ApplicationsLegacy/DB

Services

App. Service

UI

Services

SAP 3rd Party/DB

Schritt 4 Schritt 5 Schritt 6 Schritt 7 Schritt 8

Rolle 2 Rolle 3 Rolle 4

Servicevertrag definiert durch Verbundanwendung

SVI

Services

Page 15: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

15

Vereinfachte Darstellung (Vorher) (Seiten 14-17 entnommen aus V.Stiehl :http://tuprints.ulb.tu-darmstadt.de/2751/

Page 16: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

16

Vereinfachte Darstellung ( Nachher)

Page 17: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

17

2-Schichten Modell

Page 18: 1 Die Lehre über Service Orientierte Architekturen (SOA) - Eine Entwicklungsgeschichte – Hartmut Wedekind (Erlangen) Gliederung: 1. Die Entwicklung aus.

18

3-Schichten Modell