Choreographie und Beschreibungssprachen



Ähnliche Dokumente
EINFÜHRUNG IOZ AG 1

BPMN. Suzana Milovanovic

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Workflow, Business Process Management, 4.Teil

Praxishandbuch BPMN 2.0

Geschäftsprozessanalyse

Geschäftsprozesse modellieren mit BPMN. Nürnberg,

Übungen Workflow Management. Blatt 2

Business Process Model and Notation

Inhaltsverzeichnis. Jakob Freund, Bernd Rücker. Praxisbuch BPMN 2.0 ISBN: Weitere Informationen oder Bestellungen unter

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Vgl. Oestereich Kap 2.7 Seiten

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Fragenkatalog Geschäftsmodellierung Grundlagen

BPMN verdrängt die EPK? Warum BPMN alleine nicht reicht

Automatisches Beantworten von - Nachrichten mit einem Exchange Server-Konto

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

SDD System Design Document

Professionelle Seminare im Bereich MS-Office

Informatik für Ökonomen II HS 09

Use Cases. Use Cases

Man liest sich: POP3/IMAP

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Orientierungshilfen für SAP PI (Visualisierungen)

Motivation. Motivation

Business Process Execution Language for Web Services (BPEL4WS)

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Sof o t f waretechn h o n l o og o i g en n f ü f r ü v e v rteilte S yst s eme Übung

Erstellen einer in OWA (Outlook Web App)

boniup das BackOffice Einstiegsmöglichkeiten: Was be.findet sich im BackOffice? oder

Business Process Execution Language. Christian Vollmer Oliver Garbe

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Software Engineering Interaktionsdiagramme

Eine Anwendung mit InstantRails 1.7

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

1 Was ist das Mediencenter?

Vertiefte Grundlagen. Übung 2.7. TU Dresden - Institut für Bauinformatik

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Umsetzung des OrViA-Frameworks mit ARIS

Vorarlberger Standardschulinstallation Anbindung von Android Mobile Devices

Kommunikations-Management

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

PCC Outlook Integration Installationsleitfaden

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Synchronisations- Assistent

Softwareentwicklung aus Sicht des Gehirns

END USER GUIDE IBS TICKET SYSTEM HOW-TO. Dokumenten Kontrolle. Version 1.1. Datum IBS Ticket System End User How-To D.doc.

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Erstellen und Bearbeiten von Inhalten (Assets)

Wissenschaftlicher Bericht

ICS-Addin. Benutzerhandbuch. Version: 1.0

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Gesicherte Prozeduren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Serviceanweisung Austausch Globalsign Ausstellerzertifikate

Internet Explorer Version 6

Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent

SHAREPOINT Unterschiede zwischen SharePoint 2010 & 2013

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Geschäftsprozessmanagement

Infrastruktur: Vertrauen herstellen, Zertifikate finden

Anleitung Login Web-Treuhand

Benutzerverwaltung Business- & Company-Paket

Statuten in leichter Sprache

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Startseite, wenn Sie auf unseren Online-Shop gehen

EDI Datenaustausch und Konvertierung Funktionsumfang & Services

Swisscom TV Medien Assistent

Kommunikations-Parameter

teamsync Kurzanleitung

Sind Prozessmanagement-Systeme auch für eingebettete Systeme einsetzbar?

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Telenet SocialCom. verbindet Sie mit Social Media.

UNIGLAS - Handbuch zum Forum

Anleitung zum Bestellformular für Geschäftsdrucksachen UZH

Petri-Netze / Eine Einführung (Teil 2)

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik)

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Praxishandbuch BPMN. Incl. BPMN 2.0. von Jakob Freund, Bernd Rücker, Thomas Henninger. 1. Auflage. Hanser München 2010

Vom Business Process Model zum Workflow

BVDW Befragung Nutzung und Trends im Customer- Relationship-Management (CRM) deutscher Unternehmen. Bundesverband Digitale Wirtschaft (BVDW) e.v.

Marketing Funnel INSIDERWISSEN INSIDERWISSEN: MARKETING FUNNEL

SEP 114. Design by Contract

Wärmebildkamera. Arbeitszeit: 15 Minuten

FAQ 04/2015. Auswirkung der ISO auf 3SE53/3SF13 Positionsschalter.

How to do? Projekte - Zeiterfassung

Grundbegriffe der Informatik

Variabilität in Produktlinien und das orthogonale Variabilitätsmodell

Transkript:

Kapitel 9: Choreographie Choreographie und Beschreibungssprachen Kap. 9-1

Agenda Einführung Wdh. Choreographie in BPMN Let s dance CDL Zusammenfassung Kap. 9-2

Was sind Choreographien? Collaborative Multi-party Business Process Models contracts for B2B collaboration interaction protocols multi-lateral peer to peer collaboration dependencies between interactions interface processes for participants Choreographies = global interaction models Other forms of multi-party process models: Jutta Mülle / Silvia Orchestrations, von Pbli /Pi t Vi Kap. 9-3

Choreographie vs. Orchestrierung Public vs. Private View Pool 1 Pool 2 Private Views: o Interne Details Kap. 9-4

Choreographie vs. Orchestrierung Public vs. Private View Pool 1 Pool 2 Public Views: Keine internen Details Nur Schnittstellen an die Partner Entspricht Abstract BPEL Pool 3 Kap. 9-5

Choreographie vs. Orchestrierung Public vs. Private View Choreographie: Globale Sicht auf die Public Views Kap. 9-6

Choreographie vs. Orchestrierung Public vs. Private View Orchestrierung: o Fast wie Private Views o Aber auf Web Services bezogen o Ausserdem Verbindung zu den Public Views der anderen Prozesse o Entspricht Executable BPEL Pool 1 Pool 2 Pool 3. Kap. 9-7

Choreographie vs. Orchestrierung Public vs. Private View (1) Pool 1 Pool 2 Mediator Orchestrierung Kann auch als Mediator-Prozess eingesetzt werden Pool 3 Kap. 9-8

Choreographie vs. Orchestrierung Public vs. Private View (2) Orchestrierung: o Fast wie Private Views o Aber auf Web Services bezogen o Ausserdem Verbindung zu den Public Views der anderen Prozesse o Entspricht Executable BPEL Kann auch als Mediator-Prozess eingesetzt werden o Vermittelt zwischen verschiedenen Public Views o Alternative zu Choreographien mit Trusted Third Party Kap. 9-9

Choreographie vs. Orchestrierung Public vs. Private View Pool 1 Pool 2 Kollaborativer Gesamtprozess : Die Kombination aller Sichtweisen Mit Mediator sofern vorhanden Entspricht ungefähr der Kombination mehrerer Prozesse in Executable BPEL Kap. 9-10

Sprachen / Notationen für Choreographien o Grafische Modellierung: BPMN Let s Dance o XML-Sprachen: WS-CDL WSCI BPSS (WSCL) (BPEL) Queensland Univ. of Tech & SAP Research Brisbane W3C Choreography Working Group W3C Working Note Kap. 9-11

Wdh. aus Kapitel 7: Choreographie in BPMN Motivation: Synchronisation der Kommunikation von Prozessen Problematik: aus Black-Box Darstellung von (externen, unternehmensübergreifenden) Prozessen sind zeitliche Abfolge und Prozesslogik nicht notwendigerweise ersichtlich (z.b. Problematik von Schleifen) Ziel: Darstellung der Sequenz der auszutauschenden Nachrichten zwischen Prozessbeteiligten Unabhängige Prozesse mit Fokus auf Nachrichtenaustausch, Verwendung der Prozessnotation (z.b. Sequenzfluss, Gateways) Choreographie-Aktivität: Austausch einer oder mehrerer Nachrichten o Darstellung der beteiligten Partner o Hell: (initialer) sendender Partner, dunkel: (initial) empfangender Partner o Bidirektionale Nachrichten möglich Kap. 9-12

Wdh. aus Kapitel 7: Beispiel Choreographiediagramm Quelle: Allweyer Kap. 9-13

Agenda Einführung Wdh. Choreographie in BPMN Let s dance CDL Zusammenfassung Kap. 9-14

Let s Dance: Konstrukte (1) Let's Dance is a language for modeling service interactions and their flow dependencies. Beschreibt den Kontroll- und Datenfluss einer Choreographie in grafischer Notation o Mehrere Parteien (Rollen) tauschen Nachrichten aus, um ein gemeinsames Ziel zu erreichen Rollen können von Aktoren gespielt werden Beispiel: Aktor a spielt Rolle A und schickt eine Nachricht an Aktor b, der Rolle B spielt. Kap. 9-15

Let s Dance: Konstrukte (2) Kontrollfluss: explizit Guard (Fallunterscheidung): Nur wenn eine bestimmte Bedingung erfüllt ist, wird X ausgeführt. Repeat (Schleife): Solange eine Bedingung erfüllt ist wird X wiederholt Kap. 9-16

Let s Dance: Konstrukte (3) Kontrollfluss: explizit Precedes (kommt-vorher): X muss vor Y ausgeführt werden. Wird X explizit nicht ausgeführt, wird Y ebenfalls nie ausgeführt. X Y Inhibits (verbietet): X verbietet Y, d.h. wenn X ausgeführt wird, wird Y nicht ausgeführt. Weak-precedes (weiches-kommt-vorher): X kommt vor Y, aber wenn X nicht ausgeführt wird, wird Y trotzdem ausgeführt. D.h. sobald von X bekannt ist, dass es abgeschlossen ist (erfolgreich oder nicht), wird Y ausgeführt. X X Y Y Datenfluss: implizit (Nachrichtenaustausch) Kap. 9-17

Let s Dance für top-down Choreographie-Design 1 Delivery Negotiation 1 Retailer Delivery / Dispatch Plan 1 1 Consignee Distribution Center 1 Dispatch * Store 1 1 Shipment Schedule 1 Manufacturer 1 Delivery Monitoring Clearance Monitoring 1 Consolidator 1 1 Customs / Quarantine Detailed Shipment Schedule 1 1 1 Detailed Shipment Schedule Clearance Prenotification Breakdown Service * 1 * Carrier Land Carrier Ocean Carrier Truck Breakdown Provision Rail Carrier Air Carrier Traffic Optimization Guidance * * Arrival/Pickup Conf. 1 1 1 * 1 * 1 Carrier Planning Coverage Notification * 1 Locative Service 1 Shipper 1 * Insurance Delivery Planning Special Cover Kap. 9-18

Let s Dance für top-down Choreographie-Design Kap. 9-19

Let s Dance für top-down Choreographie-Design Kap. 9-20

Let s Dance für top-down Choreographie-Design Delivery Event Processing Retailer Manufacturer Manufacturer Retailer Retailer Manufacturer Store/inventory report Final delivery replenishment Replenishment acknowledgement Manufacturer Retailer Retailer Manufacturer Carriers selected Investigate Replenishment for Delivery Event Carrier capacity sufficient Carrier capacity insufficient Shipment Schedule Finalised Carrier Variations Identified o Formale Ausführungssemantik durch Übersetzung ins Pi-Kalkül (Prozessalgebra) o Modellverifikation durch Analyse-Algorithmen (Wohlgeformtheit, Konsistenz, Erreichbarkeit, lokale Überprüfbarkeit) Kap. 9-21

Let s Dance für top-down Choreographie-Design An welchen Interaktionen ist die Client-Rolle beteiligt? Kap. 9-22

Let s Dance für top-down Choreographie-Design Interface process for the Client Kap. 9-23

Let s Dance für top-down Choreographie-Design o Übersetzung von Prozess-Schnittstellen nach BPEL o BPEL-Skelette als Startpunkt für die Implementierung Kap. 9-24

Grafische Notationserweiterung: BPMN4chor Motivation BPMN ist eine weitverbreitete BP-Modellierungssprache Bei Prozess-Modellierern ist die Notation bekannt Ausführungssemantik von BPMN teilweise vergleichbar zu Let s Dance Übernehmen des wichtigsten Bausteins von Let s Dance in BPMN BPMN4Chor Mapping von BPMN4chor zu Let s Dance Verifikation etc. bleibt möglich Kap. 9-25

Zusammenfassung: Let s Dance Let s Dance : Grafisch-formaler Ansatz zur Choreographie- Modellierung o Einfaches Meta-Modell, formale Semantik, Anwendbarkeit von Analyse-Algorithmen o Wissenschaftlicher Beitrag in der Geschäftsprozessmodellierung Tool-Unterstützung o Maestro for Let s Dance = Modellierung, Simulation, Analyse Andere grafische Notation: BPMN4chor Website o http://servicechoreographies.com Kap. 9-26

Agenda Einführung Wdh. Choreographie in BPMN Let s dance CDL Zusammenfassung Kap. 9-27

WS-CDL allgemein (1) WS Choreography Description Language (WS-CDL) o W3C-Initiative o Beschreibt kollaborative Geschäftsprozessmodelle: Betriebliche Abläufe, die mehrere Partner / Parteien (cdl:participants) umfassen o Ganzheitliche Sichtweise, d.h. alle Partner sind gleichberechtigt o XML-basiert o Auf BPEL-Ebene (oder knapp darüber) Kap. 9-28

WS-CDL allgemein (2) o Fokus auf Interaktionen zwischen Partnern Interaktionen und Kontrollfluss-Konstrukte werden detailliert modelliert, partner-interne Details werden nur textuell beschrieben o Die Choreographie beschreibt, wer was wann tut, aber nicht wie o Interaktionen sind die Berührungspunkte zwischen den Parteien, daher der Name Choreographie Zwischen den Berührungspunkten legen die einzelnen Partner fest, wie genau sie sich verhalten o Globales Prozessmodell für Kontroll- und Datenfluss Datenfluss ist wieder implizit, d.h. durch Variablen und deren Änderung o Primer: http://www.w3.org/tr/2006/wd-ws-cdl-10-primer-20060619/ Kap. 9-29

WS-CDL allgemein Kap. 9-30

WS-CDL allgemein Kap. 9-31

WS-CDL: Übersicht Kontrollfluss Aktivitäten Kap. 9-32

WS-CDL: Schachtelung und Kontrollfluss o Prinzip: Schachtelung von Aktivitäten o Sequenzielle Blöcke Enthaltene Aktionen werden nacheinander abgearbeitet o Parallele Blöcke Enthaltene Aktionen werden parallel ausgeführt o Choice-Blöcke Nur einer von mehreren möglichen Prozess-Pfaden wird ausgeführt o WorkUnits Wie Let s Dance Guard und Repeat Guard-Condition sagt, ob eine enthaltene Aktion ausgeführt wird Repeat-Condition, ob die enthaltene Aktion wiederholt wird Perform Eine Unter-Choreographie wird ausgeführt Bei Kontrollfluss-Elementen einige Entsprechungen in BPEL. Block 1 Block 2 Block 4 Block 5 Block 3 Kap. 9-33

WS-CDL: Interaktionen und andere Aktivitäten (1) o Interaction Eine Nachricht wird von Rolle A zu Rolle B gesendet Nachrichtenaustausch über Channels Empfänger kann zur Laufzeit festgelegt werden Eine Interaction kann mehrere Exchanges enthalten Jeweils ein Nachrichtenaustausch Eine gesendete Nachricht kann eine normale Antwort und n mögliche Fehler-Antworten haben Time-Out für Antworten kann festgelegt werden Kann als atomare Transaktion behalten werden Kap. 9-34

WS-CDL: Interaktionen und andere Aktivitäten (2) o Assign Datenmanipulation / Variablenzuweisung o NoAction Eine Rolle tut an einer bestimmten Stelle explizit nichts o SilentAction Eine Rolle tut an einer bestimmten Stelle etwas (Freitext- Beschreibung), aber die Details davon sind für die Choreographie nicht relevant Kap. 9-35

WS-CDL: Beispiel <package name= " version="0.5" targetnamespace=http://... xmlns="http://www.w3.org/2004/12/ws-chor/cdl"> <informationtype name="stringtype" type="xsd:string"/> <roletype name="analysispartner"><behavior name="analyzer"/></roletype> <participanttype name="analysisparticipant"> <roletype typeref="analysispartner"/></participanttype> <choreography name="sac_choreography" root="true"> <relationship type="analysisstoragerel"/> <variabledefinitions><variable name="varrawdataaddr_ana informationtype="uritype"/> </variabledefinitions> <sequence> <interaction name="getrawdatareq" operation="getrawdataop channelvariable="chvarget"> <participate relationshiptype="analysisstoragerel fromroletyperef="analysispartner" toroletyperef="storagepartner"/> <exchange name="exrawdataaddr" informationtype="uritype" action="request"> <send variable="cdl:getvariable('varrawdataaddr_ana','','')"/> <receive variable="cdl:getvariable('varrawdataaddr_sto','','')"/> </exchange> </interaction> <silentaction roletype="storagepartner"> <description type="description">deliver goods</description> </silentaction> <interaction name="getrawdataresp" operation="getrawdataop channelvariable="chvarget"> </interaction> </sequence> </choreography> </package> Kap. 9-36

Agenda Einführung Wdh. Choreographie in BPMN Let s dance CDL Zusammenfassung Kap. 9-37

Zusammenfassung o Choreographie spezifiziert ein globales Interaktionsmodell arbeitet mit öffentlichen Sichten von Workflowmodellen wird zur Ausführung in Orchestrierungsmodell umgesetzt o Let s Dance vs. WS-CDL Beide beschreiben Service-Interaktionen aus einer globalen Perspektive. WS-CDL ist eher auf Software-Entwickler ausgerichtet Let's Dance ist für High-level-Design und -Analyse gedacht WS-CDL ist eine mögliche Implementierungssprache für Let's Dance-Choreographien o BPMN hat bereits viele Elemente einer Choreografiesprache (und wird in Richtung Ausführbarkeit weiterentwickelt, siehe Kapitel über BPMN). Kap. 9-38

Literaturhinweise o Let s Dance http://www.servicechoreographies.com o WS-CDL http://www.w3.org/tr/ws-cdl-10/ Editor (eclipse-plugin) http://www.pi4tech.com o Nutzung des Foliensatzes zu Let s Dance und WS-CDL von Ingo Weber (aus der Wfms-Vorlesung im Wintersemester 2008/09) Kap. 9-39

Exemplarische Fragen Kapitel 9 Was ist eine Choreographie bei der Geschäftsprozessmodellierung? Wie ist der Zusammenhang mit der Orchestrierung? Welche Modellierungselemente sind in einer Choreographiesprache notwendig? Welche Aspekte werden unterstützt? Welche Rolle spielen öffentliche oder private Sichten auf Geschäftsprozesse? Kap. 9-40