36
© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 19 Serviceorientierte Architektur 19.0 Einführung Lernziele Grundbegriffe 19.1 Services als wiederverwendbare Komponenten Spezifikation mit WSDL 19.2 Service-Engineering Ermittlung von Servicekandidaten Entwerfen von Serviceschnittstellen Implementierung und Bereitstellung der Services Services für Altsysteme 19.3 Software-Entwicklung mit Services Entwurf und Implementierung des Workflows Testen von Services

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

Embed Size (px)

Citation preview

Page 1: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.1

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19 Serviceorientierte Architektur

19.0 Einführung Lernziele Grundbegriffe

19.1 Services als wiederverwendbare Komponenten Spezifikation mit WSDL

19.2 Service-Engineering Ermittlung von Servicekandidaten Entwerfen von Serviceschnittstellen Implementierung und Bereitstellung der Services Services für Altsysteme

19.3 Software-Entwicklung mit Services Entwurf und Implementierung des Workflows Testen von Services

Page 2: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.2

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.0 Lernziele

die Grundbegriffe von Webservices, Webservice-standards und serverorientierter Architektur verstehen

den serviceorientierten Engineering-Prozess für wiederverwendbare Webservices kennen

Servicekomposition als Mittel der serviceorientierten Anwendungsentwicklung kennen

wissen, wie Geschäftsprozessmodelle als Grundlage für den Entwurf serviceorientierter Systeme eingesetzt werden

Page 3: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.3

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.0 Service

Definition “an act or performance offered by one party to another.

Although the process may be tied to a physical product, the performance is essentially intangible and does not normally result in ownership of any of the factors of production”

Wesentliche Merkmale Bereitstellung unabhängig von der Anwendung Serviceanbieter entwickeln spezifische Services Vielzahl von Benutzern von verschiedenen Anwendern

Page 4: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.4

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.0 Serviceorientierte Architekturen Methode zur Entwicklung verteilter Systeme

Services als eigenständige Komponenten Ausführung auf geografisch verteilten Rechnern

verschiedener Anbieter Standards für Kommunikation und Datenaustausch

SOAP: Nachrichtenaustausch WSDL: Definition von Serviceschnittstellen WS-BPEL: Standard für Workflow-Sprachen zur Definition der

Komposition von Services Vorteile der SOA

Services lokal oder extern (Outsourcing) Services sprachunabhängig Einbindung von Altsystemen möglich Anwender übergreifende Systeme möglich

Page 5: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.5

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.0 Serviceorientierte Architektur

Service-Anforderer

Service-Anbieter Service

(WSDL)

suchen

Service-Registrierun

g

veröffentlichen

binden (SOAP)

Page 6: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.6

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.0 Standards für Webservices

XML-Technologien (XML, XSD, XSLT, ...)

Transport (HTTP, HTTPS, SMTP, ...)

Unterstützung (WS-Security, WS-Adressing, ...)

Prozess (WS-BPEL)

Servicedefinition (WSDL, UDDI)

Nachrichtenaustausch (SOAP)

Page 7: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.7

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.0 REST-konforme (RESTful) Webservices

Webservicestandards „schwergewichtig“ zu allgemein, zu ineffizient

REST (REpresentational State Transfer) Übertragung von Ressourcenrepräsentationen

von Server zu Client

RESTful Webservices geringerer Verwaltungsaufwand Identifikation durch URI nur HTML-Methoden GET, PUT, POST, DELETE

Ersatz für SOAP/WSDL wenn keine externen Services nötig keine Unterstützung für WS-Reliability, WS-Transactions etc.

Page 8: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.8

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.0 Serviceorientiertes Software-Engineering

neues Paradigma Cloud-Computing Dienstanbieter (Hosting) vorhandene Infrastruktur (Internet)

zwei Ansätze des Software-Engineering Service-Engineering

• Entwicklung verlässlicher wiederverwendbarer Dienste• Entwicklung für Wiederverwendbarkeit

Softwareentwicklung mit Services• Entwicklung verlässlicher Software

mit Services als Basiskomponenten• Entwicklung mit Wiederverwendung

Page 9: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.9

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.1 Services als wiederverwendbare Komponenten Definition

A loosely-coupled, reusable software component that encapsulates discrete functionality which may be distributed and programmatically accessed. A web service is a service that is accessed using standard Internet and XML-based protocols

Weiterentwicklung der kombinierbaren Komponenten unabhängig keine „Benötigt“-Schnittstelle Kommunikation über Nachrichten Nutzung von Internetprotokollen

Page 10: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.10

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.1 Web Service Description Language WSDL

Service-Beschreibung durch WSDL What: Welche Operationen unterstützt der Service? How: Wie wird der Service aufgerufen? Where: Wo ist der Service zu finden?

Struktur einer Beschreibung Einleitung

• XML-Namensraumdeklarationen Abstrakte Schnittstelle

• Deklarationen der in den Nachrichten verwendeten Typen• Beschreibung der bereitgestellten Operationen• Beschreibung der Ein- und Ausgabenachrichten

Konkrete Implementierung• Angabe des Protokolls (Bindung), in der Regel SOAP• Speicherort (Endpunkt), angegeben durch URI

Page 11: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.11

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.1 Auszug einer WSDL-Beschreibung (1)Define some of the types used. Assume that the namespace prefixes ‘ws’ refers to the namespace URI for XML schemas and the namespace prefix associated with this definition is weathns. <types>

<xs: schema targetNameSpace = “http://.../weathns” xmlns: weathns = “http://…/weathns” ><xs:element name = “PlaceAndDate” type = “pdrec” /><xs:element name = “MaxMinTemp” type = “mmtrec” /><xs: element name = “InDataFault” type = “errmess” />

<xs: complexType name = “pdrec”<xs: sequence><xs:element name = “town” type = “xs:string”/><xs:element name = “country” type = “xs:string”/><xs:element name = “day” type = “xs:date” />

</xs:complexType>

Definitions of MaxMinType and InDataFault here

</schema></types>

Page 12: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.12

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.1 Auszug einer WSDL-Beschreibung (2)Now define the interface and its operations. In this case, there is only a single operation to return maximum and minimum temperatures.

<interface name = “weatherInfo” ><operation name = “getMaxMinTemps” pattern = “wsdlns: in-out”>

<input messageLabel = “In” element = “weathns: PlaceAndDate” /><output messageLabel = “Out” element =

“weathns:MaxMinTemp” /><outfault messageLabel = “Out” element =

“weathns:InDataFault” /></operation>

</interface>

Nachteile der WSDL-Beschreibung keine Beschreibung der Semantik keine Beschreibung der nichtfunktionalen Eigenschaften

Page 13: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.13

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2 Service-Engineering

Entwicklung von Services zur Wiederverwendung in serviceorientierten Anwendungen Service als wiederverwendbare Abstraktion,

die in verschiedenen Systemkontexten genutzt werden kann Service stabil und zuverlässig

mit allgemein nützlicher Funktionalität Service so dokumentiert,

dass Nutzer ihn finden und verstehen können

Page 14: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.14

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2 Vorgehen beim Service-Engineering

Ermittlung von Servicekandidaten Identifizierung zu implementierender Dienste Ergebnis: Anforderungsdefinitionen für den Service

Serviceentwurf Entwurf der Schnittstelle Ergebnis: Spezifikation der Schnittstelle in WSDL

Serviceimplementierung Implementation und Test Ergebnis: validierter Service

Bereitstellung Ergebnis: bereitgestellter validierter Service

Page 15: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.15

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.1Ermittlung von Servicekandidaten

Services sollen Geschäftsprozesse unterstützen

Ermittlung von Servicekandidaten erfordert Analyse und Verständnis der Geschäftsprozesse wiederverwendbare Services zur Unterstützung der Prozesse

Arten von Services Hilfsservices

• allgemeine Funktionalität für verschiedene Geschäftsprozesse Geschäftsservices

• verknüpft mit einer bestimmten Geschäftsfunktion Koordinations- / Prozessservices

• unterstützen zusammengesetzte Prozesse mit verschiedenen Handelnden und Tätigkeiten

Page 16: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.16

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.1Ermittlung von Servicekandidaten Typen von Services

aufgabenorientiert (auftragsorientiert)• verknüpft mit einer Tätigkeit• Hilfsservices, Geschäftsservices, Koordinationsservices

objektorientiert (entitätsorientiert)• verknüpft mit einem Geschäftsobjekt• Hilfsservices, Geschäftsservices

Hilfsservices Geschäftsservices Koordinationsservices

Aufgabe(Auftrag)

• Währungsumrechner•Arbeitskräftevermittlung

• Validieren von Antragsformularen• Überprüfen des Kreditrahmens

• Verarbeiten von Spesenabrechnungen

• Bezahlung externer Zulieferer

Objekt(Entität)

•Dokumentformatprüfung• Webformular/

XML-Konverter

• Spesenformular• Immatrikulationsantrag

Page 17: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.17

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.1Leitfragen zur Ermittlung von Kandidaten Ist der Service mit einem einzigen logischen Objekt verknüpft,

das in unterschiedlichen Geschäftsprozessen verwendet wird? Ist der Service mit einer Aufgabe verknüpft, die von

verschiedenen Personen in der Organisation ausgeführt wird? Wird dann die nötige Standardisierung akzeptiert?

Ist der Service unabhängig? Benötigt er andere Services? Muss der Service für seinen Betrieb einen Zustand verwalten?

Ist eine Datenbank nötig? Könnte der Service von Clients außerhalb der Organisation

benutzt werden? Gibt es interne und externe Benutzer? Stellen unterschiedliche Benutzer unterschiedliche nicht-

funktionale Anforderungen? Sind dazu verschiedene Versionen erforderlich?

Page 18: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.18

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.1Szenario: Katalogservice Anbieter von Computerausrüstung stellt Katalog zur Verfügung, der

die angebotenen kundenspezifischen Systemzusammenstellungen mit den kundenspezifischen Preisen enthält

Bestellungen laufen davon getrennt über Beschaffungssysteme Funktionale Anforderungen

Kundenspezifische Version Herunterladbar zum Offline-Blättern Vergleich von Spezifikation und Preis von bis zu vier Artikeln Blätter- und Suchfunktionen Reservierungen für 48 Stunden, in denen bestellt werden muss

Nichtfunktionale Anforderungen Zugriff nur für Mitarbeiter berechtigter Kunden kundenspezifische Zusammenstellungen und Preise vertraulich von 7 bis 23 Uhr verfügbar Verarbeitung von bis zu zehn Anforderungen pro Sekunde

Page 19: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.19

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.2Entwerfen von Serviceschnittstellen

Logischer Schnittstellenentwurf Festlegung der Anforderungen Definition der Operationen, ihrer Parameter und Ausnahmen

Nachrichtenentwurf Festlegung der Struktur der empfangenen und gesendeten

Nachrichten (z.B. in UML) Minimierung der Anzahl der Nachrichten

zur kompletten Ausführung des Service bei servicespezifischen Anwendungszuständen

Zustandsinformationen in die Nachrichten aufnehmen

Beschreibung mit WSDL

Page 20: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.20

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.2Szenario: Operationen des Katalogservice

Operation Beschreibung

ErstelleKatalog

• erstellt spezifische Version des Katalogs für bestimmten Kunden• optionaler Parameter für Generierung eines PDF zum Download

Vergleiche • stellt Vergleich von bis zu sechs Merkmalen für bis zu vier Artikel dar

Zeige • zeigt alle Daten zu einem Artikel an

Suche • durchsucht den Katalog anhand eines logischen Ausdrucks• gibt eine Liste aller passenden Artikel aus

GibDatum • gibt das voraussichtliche Lieferdatum für einen Artikel

Reserviere • reserviert die Artikel, die der Kunde bestellen will• liefert Artikelinformation für das Bestellsystem des Kunden

Page 21: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.21

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.2Szenario: Entwurf der Katalogschnittstelle

Operation Eingaben Ausgaben Ausnahmen

ErstelleKatalog

ekEin:UnternehmensIDPDFFlag

ekAus:URL des Katalogs

ekFehl:ungültige UnternehmensID

Vergleiche vgEin:UnternehmensIDArtikelattribut (bis zu 6)Artikelnummer (bis zu 4)

vgAus:URL der Tabelle

vgFehl:ungültige UnternehmensIDungültige Artikelnummerunbekanntes Attribut

Zeige zgEin:UnternehmensIDArtikelnummer

zgAus:URL der Seite

zgFehl:ungültige UnternehmensIDungültige Artikelnummer

Suche suEin:UnternehmensIDSuchstring

suAus:URL der Liste

suFehl:ungültige UnternehmensIDfehlerhafter Suchstring

Page 22: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.22

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.2Szenario: Entwurf der Katalogschnittstelle

Operation Eingaben Ausgaben Ausnahmen

GibDatum gdEin:UnternehmensIDArtikelnummerAnzahl

gdAus:ArtikelnummerLieferdatum

gdFehl:ungültige UnternehmensIDungültige ArtikelnummerArtikel nicht verfügbarAnzahl = 0

Reserviere rvEin:UnternehmensIDArtikelnummerAnzahl

rvAus:ArtikelnummerAnzahlLieferdatumStückpreisGesamtpreis

rvFehl:ungültige UnternehmensIDungültige ArtikelnummerAnzahl = 0

Page 23: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.23

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.2Szenario: UML Definition der NachrichtengdEin

uID: StringartNum:

integeranz:integergdAus

artNum:

integerliefDat: Date

gdFehl

fehlNum:

integer

fehlNum =1: uID ungültig2: artNum ungültig3: anz<=04: Artikel nicht

verfügbar

size (artNum) = 10liefDat > Today()

size (uID) = 8size (artNum) = 10anz > 0

Page 24: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.24

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.3Implementierung und Bereitstellung

Programmierung Nutzung üblicher Programmiersprachen und Bibliotheken gesamter Service oder Schnittstelle für vorhandene Komponente oder Altsystem

Testen formal mit Testwerkzeugen für WSDL-Spezifikation funktional durch gültige Eingabenachrichten Ausnahmebehandlung durch ungültige Eingabenachrichten

Bereitstellen Installation auf Webserver Veröffentlichung der Servicebeschreibung für potentielle

Nutzer

Page 25: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.25

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.3Servicebeschreibung

Information über den Serviceanbieter Angaben über das Unternehmen Kontaktdaten wichtig für Vertrauen in den Service

Informelle Beschreibung der Funktionalität wichtig zur Beurteilung des Nutzens in natürlicher Sprache

Detaillierte Beschreibung der Schnittstelle Syntax und Semantik formale Beschreibung z.B. WSDL

Registrierungsmöglichkeit Benachrichtigung bei Aktualisierungen

Page 26: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.26

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.2.4Services an Altsystemen

Einbindung von Altsystemen in neue Anwendungen Nutzung vorhandener Funktionalität Reduzierung von Entwicklungskosten

Services als Hülle für das Altsystem Funktionalität geeignet aufteilen auf verschiedene Services

Nutzung der vorhandenen Funktionalität vollständig über Web-Schnittstelle auch durch externe Anwendungen möglich

Page 27: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.27

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.3 Softwareentwicklung mit Services

Kombination und Konfigurierung von Services zu neuen zusammengesetzten Services und Anwendungen Softwareentwurf mit Wiederverwendung (Komposition) Verfügbarkeit der Services muss gewährleistet sein

Workflow als Basis der Kombination Workflow als Sequenz von Aktivitäten,

die zusammen einen Geschäftsprozess darstellen Ergebnisse einer Aktivität können zu Eingaben

einer nachfolgenden Aktivität werden Ergebnisse einer Aktivität können zur Rückgängigmachung

einer vorangehenden Aktivität führen (Kompensationsaktion) Beispiel: Urlaubspaket mit Flugbuchung, Hotelbuchung,

Mietwagenbuchung etc.

Page 28: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.28

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.3 Serviceerstellung durch Komposition (1)

Workflow-Skizze

formulieren

Servicessuchen

Servicesauswählen

Workflowverfeinern

Workflow-Programmschreiben

Servicetesten

Workflow-Entwurf

ServicelisteService-

spezifikation

Workflow-Entwurf

ausführbarer

Workflow

bereitzustel-

lender Service

Page 29: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.29

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.3 Serviceerstellung durch Komposition (2)

Workflow-Skizze formulieren „idealer“ abstrakter Entwurf

anhand der Anforderungen an den zusamengesetzten Service

Services suchen Registrierungen und Kataloge durchsuchen:

• angebotene Services• Anbieter• Details der Bereitstellung

Mögliche Services auswählen nach Funktionalität nach Kosten nach Qualität

Page 30: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.30

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.3 Serviceerstellung durch Komposition (3)

Workflow verfeinern Präzisierung der bisher abstrakten Beschreibung ggf. Aktivitäten hinzufügen oder streichen ggf. zurück zur Suche gehen

Workflow-Programm schreiben Schnittstelle des kombinierten Service definieren (WSDL) Programm schreiben

• in konventioneller Programmiersprache (z.B. Java oder C#)• in spezieller Workflow-Sprache (z.B. WS-BPEL)

Fertigen Service / fertige Anwendung testen komplexer als Komponententests

Page 31: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.31

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.3.1Entwurf und Implementierung von Workflows Analyse der Geschäftsprozesse

Aktivitäten Informationsaustausch

Spezifikation mit formaler Notation UML-Aktivitätsdiagramme BPMN (Business Process Model and Notation)

Implementieren der nicht verfügbaren Services Java und C# unterstützen Zusammenstellung von

Webservices

Erzeugen der ausführbaren Version des Workflows automatische Übersetzung von BPMN in WS-BPEL-Code

Page 32: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.32

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.3.1BPMN Aktivitäten

ausgeführt durch Mensch oder Service dargestellt durch abgerundete Rechtecke

Ereignisse treten während des Geschäftsprozesses ein dargestellt durch Kreise

Gateways Verzweigungen / Entscheidungen oder Zusammenführung dargestellt durch Rauten

Abfolge von Aktivitäten dargestellt durch durchgezogene Pfeile

Nachrichtenfluss dargestellt durch gestrichelte Pfeile

Page 33: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.33

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.3.1Beispiel eines Workflows in BPMN

Kunde

hotels.reserviereZimmer

hotels.keineVerfuegbarkeit

hotels.holeVorgaben

hotels.ueberpruefeVerfuegbarkeit

hotels.bestaetigeReservierung

erneut versuchen

keine Zimmer frei

Zimmer OK

abbrechen

Page 34: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.34

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.3.1Interagierende Workflows in BPMN

Page 35: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.35

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.3.2Testen von Services (1)

externe Services kein Zugriff auf den Quellcode Verifikation nicht möglich viele übliche Testverfahren nicht möglich jederzeit Modifikationen durch Anbieter möglich

• vorhandene Testergebnisse verlieren ihre Gültigkeit

dynamisch gebundene Services Tests unter allen möglichen Bindungen erforderlich

kostenpflichtige Services Kosten beim Testen möglicherweise Abonnement vor Test erforderlich

Page 36: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 22.05.13 Folie 19.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 22.05.13 Folie 19.36

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

19.3.2Testen von Services (2)

nichtfunktionales Verhalten prinzipiell Tests unter verschiedener Last nötig – aber wie?

Kompensationsaktionen oft bei Ausfall eines Service schwer zu testen / zu simulieren