BPM - Brücke zwischen Business und IT?

  • 1,850 views
Uploaded on

Status, Mythen, Missverständnisse und Potentiale

Status, Mythen, Missverständnisse und Potentiale

More in: Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,850
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
150
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. BPM – Brücke zwischen Business und IT? Status, Mythen, Missverständnisse und Potentiale Jakob Freund & Bernd Rücker camunda services GmbH OOP - 29.01.2009
  • 2. BPM & SOA Agenda 1. Fraktionen und Visionen 2. Standards: BPMN und BPEL 3. 3 Aktueller Stand in der Praxis 4. Konkrete Perspektiven camunda services GmbH / info@camunda.com / 2
  • 3. Was ist BPM? Begriffsproblem Organisationslehre O i ti lh Business Process (g) (Orga-) Geschäftsprozess- p Ablauforganisation Reengineering - BPR Management - GPM bis 1990 1990 - 2000 ab 2000 Business Business Process Management - BPM IT ab 2004 Prozessautomatisierung ab 2006 Human Serviceorientierte Workflow Management Architekturen (SOA) ab 2000 ab 2005 Dokumenten-Management – Enterprise Appliation Integration – Systeme – DMS (u.a.) EAI camunda services GmbH / info@camunda.com / 3
  • 4. Orga + IT = BPM Begriffsproblem Organisationslehre Prozessorganisation Strategisches Prozessmanagement Prozessmodellierung Prozessanalyse Prozessoptimierung Business Process Management Steuerung / Monitoring/Reporting Business Rules Human Workflow EAI/SOA Management Informationstechnologie camunda services GmbH / info@camunda.com / 4
  • 5. Aktuelle Ambitionen Der BPM-Kreislauf Prozess- Strategie Prozess- P Prozess- P KVP entwurf controlling Business Prozess- IT implementierung Business camunda services GmbH / info@camunda.com / 5
  • 6. Der Traum der Magic BPM-Suite Der BPM-Kreislauf Modelling Monitoring Business IT Magic BPM-Suite Human Workflow EAI / SOA camunda services GmbH / info@camunda.com / 6
  • 7. BPM & SOA Agenda 1. Fraktionen und Visionen 2. Standards: BPMN & BPEL 3. 3 Aktueller Stand in der Praxis 4. Konkrete Perspektiven camunda services GmbH / info@camunda.com / 7
  • 8. Business Process Modeling Notation Historie • Entwicklung 2002 von Stephen A. White (IBM) • Veröffentlichung durch Business Process Management Initative (BPMI) • 2005 Üb Übernahme d h di Obj t M h durch die Object Management t Group (OMG) • Offizieller OMG Standard seit 2006 • Aktuelle Version: 1.1 (17.02.2008) ( ) camunda services GmbH / info@camunda.com / 8
  • 9. Zwei Welten – Zwei Sprachen Motivation für BPMN Business IT Wir müssen mit Hilfe der richtigen KPI unsere Performance messen, um den ROI zu bestimmen! Wenn wir alle RMI-Calls durch SOAP Requests SOAP-Requests ersetzen, könnt Ihr eure Performance vergessen! camunda services GmbH / info@camunda.com / 9
  • 10. Ein Prozessmodell für Business und IT? Motivation für BPMN Ereignisgesteuerte Prozesskette (EPK) Rechnung geht ein „Woran erkenne ich, dass es soweit ist?“ Rechnung SB Buchhaltung erfassen „Wieso weiß er Bescheid?“ Rechnung SB Buchhaltung B hh lt prüfen lassen „Muss ich senden/empfangen? Wie?“ SB Rechnung „Wie ordne ich die Vorgänge zu?“ Fachabteilung prüfen „Was soll ich machen, wenn nichts passiert? Prüfungs- SB ergebnis Fachabteilung mitteilen „ Ist dies ein gutes oder schlechtes Ende?“ XOR Rechnung Rechnung ok nicht ok Zahlung SB Buchhaltung anweisen Zahlung angewiesen camunda services GmbH / info@camunda.com / 10
  • 11. Ein Prozessmodell für Business und IT? Motivation für BPMN Business Process Execution Language (BPEL) <!-- Deklaration eines asynchronen “Hello World” Prozesses --> <process name=”HelloWorld” ... > ” ll ld” <!-- Liste der am Prozess beteiligten Services --> <partnerLinks> <!-- Nur ein beteiligter Service: Der Dienst-Nutzer --> <partnerLink name=”client” partnerLinkType =”HelloWorld” myRole=”HelloWorldProvider” partnerRole=”HelloWorldRequester” /> </partnerLinks> <!-- Liste der (XML-)Dokumente, die im Prozess verwendet werden --> <variables> <!-- XML-Dokument, das der Dienst-Nutzer beim Aufruf übergibt --> <variable name=quot;inputquot; messageType=quot;HelloWorldRequestMessagequot;/> <!-- XML-Dokument, das der Dienst-Nutzer vom Prozess erhält --> ? <variable name=quot;outputquot; messageType=quot;HelloWorldResultMessagequot;/> variable name output messageType HelloWorldResultMessage / </variables> <!-- Definition der Ablauflogik im Prozess (Aktiviäten) --> <sequence> <!-- Übergabe-Parameter vom Dienst-Nutzer entgegen nehmen --> <receive name=quot;receiveInputquot; partnerLink=quot;clientquot; portType=quot;tns:HelloWorldquot; operation=quot;initiatequot; variable=quot;inputquot; createInstance=quot;yesquot;/> <!-- Output-Parameter abhängig vom Input erstellen --> <assign> <copy> <from expression=quot;concat('Hello ',bpws:getVariableData('input', 'test','/tns:name'))quot;/> <to variable=quot;outputquot; part=quot;testquot; query=quot;/resultquot;/> / l/ </copy> </assign> <!-- Dienst-Nutzer aufrufen, um Antwort zu übergeben --> <invoke name=quot;replyOutputquot; partnerLink=quot;clientquot; portType=quot;tns:HelloWorldCallbackquot; operation=quot;onResultquot; inputVariable= output /> inputVariable=quot;outputquot;/> </sequence> </process> camunda services GmbH / info@camunda.com / 11
  • 12. Idee: Prozessmodelle für Business UND IT Motivation für BPMN <!-- D kl <! Deklaration eines asynchronen “H ll ti i h “Hello World” Prozesses --> <process name=”HelloWorld” ... > <!-- Liste der am Prozess beteiligten Services --> <partnerLinks> <!-- Nur ein beteiligter Service: Der Dienst-Nutzer --> <partnerLink name=”client” partnerLinkType =”HelloWorld” myRole=”HelloWorldProvider” partnerRole= HelloWorldRequester partnerRole=”HelloWorldRequester” /> </partnerLinks> <!-- Liste der (XML-)Dokumente, die im Prozess verwendet werden --> <variables> <!-- XML-Dokument, das der Dienst-Nutzer beim Aufruf übergibt --> <variable name=quot;inputquot; messageType=quot;HelloWorldRequestMessagequot;/> <!-- XML-Dokument, das der Dienst-Nutzer vom Prozess erhält --> <variable name=quot;outputquot; messageType=quot;HelloWorldResultMessagequot;/> </variables> <!-- Definition der Ablauflogik im Prozess (Aktiviäten) --> <sequence> camunda services GmbH / info@camunda.com / 12
  • 13. Ping-Pong spielen Das Prinzip interagierender Prozesse Sequenzfluss Produkt Bestätigung nde bestellen annehmen Kun Nachrichtenfluss N h i ht fl erant Bestellung Auftrag Liefe annehmen bestätigen camunda services GmbH / info@camunda.com / 13
  • 14. Mehrstufige Eskalation Nachrichten, Nachrichten Timer und Unterprozesse Kunde e camunda services GmbH / info@camunda.com / 14
  • 15. Fehlerbehandung und sofortige Beendigung Fehler-, Fehler- und Terminierungsereignisse SPG - Vertrieb camunda services GmbH / info@camunda.com / 15
  • 16. Typisches Integrationsszenario BPMN und EAI / SOA Neue Bestellung nder Bestellung Anwen prüfen Process Engine – Email-Eingang Email sortieren Emails Bestellung in die Task List Anhang = 1 XLS g (Browser) 1 Minute Neue Emails abrufen (POP3) Email archivieren (HTTP) s Unterprozess – Mehrfache Instanz Archi System Mai Server iv il camunda services GmbH / info@camunda.com / 16
  • 17. Klassische Idee: vom Prozess zum Workflow Verfeinerung von Prozessmodellen Design und Im D Prozesse Ebene Prozess-E mplementieru von Proze Sub-Prozesse ung Aktivitäten essen Workflow-Ebene Arbeitsschritte Manuelle Automatisierte Tätigkeit Tätigkeit Wertschöpfend Steuernd (Softwareentwicklung) (Prozessautomatisierung) camunda services GmbH / info@camunda.com / 17
  • 18. Problem: Unterschiedliche Präzision Verfeinerung von Prozessmodellen Bestellung prüfen Auftrags- Bestelleingang bestägigung Bestellung empfangen (FAX) Auftrags- bestägigung Bestelldaten Bestellung (FAX) notieren prüfen Bestellung empfangen (Telefon) Auftrags- Bestelldaten ablehnung Fehlerbehandlung ausdrucken (Anruf) Bestellung empfangen (Email) f Eskalation camunda services GmbH / info@camunda.com / 18
  • 19. Vom „Was“ zum „Wie“ – Gar nicht so einfach Verfeinerung von Prozessmodellen SPG mail-Eingang Proces Engine – Em ss camunda services GmbH / info@camunda.com / 19
  • 20. WS-BPEL 2.0 Business Process Execution Language (BPEL) • Standardisiert durch OASIS, aktuell Version 2.0 (04/2007) • BPEL = Orchestrierung von Services zu neuen Services • Ausgerichtet auf WS-*-Stack • Human Task Management durch Einführung von BPEL4People & WS-HumanTask Warum WS-BPEL? • Existierende Message Exchange Patterns in WebServices ungenügend für Geschäftsprozesse • Korrelation über lang laufende Konversationen g notwendig camunda services GmbH / info@camunda.com / 20
  • 21. Basic Activities Business Process Execution Language (BPEL) process Do a blocking wait for a Immediately terminate matching message to arrive / execution of a business receive reply py exit send a message in reply process instance Invoke compensation on Invoke a one-way or all completed child scopes invoke compensate request-response operation in default order Update the values of Invoke compensation on assign compensateScope variables or partner links one completed child scope with new data Wait for a given time Validate XML data stored wait validate period or until a certain in variables time has passed Generate a fault from inside No-op instruction for throw empty py the b i th business process ab i business process Wrapper for language Forward a fault from inside rethrow extensionActivity extensions a fault handler camunda services GmbH / info@camunda.com / 21
  • 22. Structured Activities Business Process Execution Language (BPEL) process Contained activities are Block and wait for a flow pick A executed i parallel, t d in ll l suitable message t arrive it bl to i M1 M2 … A partially ordered through (or time out) C B control links Contained activities are Contained activity is y sequence forEach performed sequentially in performed sequentially or 2. … N. lexical order in parallel, controlled by a 2. … N. 1. 1. specified counter variable Contained activity is Select exactly one branch while hil if-elseif-else if l if l repeated while a predicate of activity from a set of c1 c2 holds choices c … Contained activity is Associate contained activity repeatUntil scope repeated until a predicate with its own local variables, holds partner links, etc., c and handlers camunda services GmbH / info@camunda.com / 22
  • 23. Graphstruktur vs. Blockstruktur BPMN zu BPEL ! Quelle: Gero Decker, HPI camunda services GmbH / info@camunda.com / 23
  • 24. Mapping Probleme BPMN zu BPEL in Intalio Siehe auch: http://www.infoq.com/articles/bpelbpm camunda services GmbH / info@camunda.com / 24
  • 25. BPMN + BPEL = gemeinsame Sprache? BPMN zu BPEL camunda services GmbH / info@camunda.com / 25
  • 26. Von BPMN nach BPEL BPMN zu BPEL “This version does provide a non-normative mapping from BPMN to WSBPEL but the WSBPEL, BPMN specification itself is known to be incomplete with respect to capturing all the required information for WSBPEL. So the mapping is insufficient in any case ” insufficient, case. BPMN 1.1 Specification camunda services GmbH / info@camunda.com / 26
  • 27. BPMN to BPEL – Fazit BPMN zu BPEL • Die Generierung von BPEL ist möglich, aber • BPEL M d ll h t oft wenig mit BPMN Modell BPEL-Modell hat ft i it M d ll gemeinsam • BPEL R BPEL-Rumpf i t meist nur rudimentär f ist it di tä • Technische Details müssen in BPEL hinzugefügt werden (R d (Roundtrip?) dt i ?) • Unklare Semantik in BPMN & fehlende Konzepte (z.B. Datenhandling) ( B D t h dli ) machen P bl h Probleme • Nur bedingt gemeinsame Sprache • Welchen Wert hat Generierung von unleserlichen BPEL-Modellen (Programmcode), die wenig Ähnlichkeit it d Äh li hk it mit dem fachlichen Modell h b ? f hli h M d ll haben? camunda services GmbH / info@camunda.com / 27
  • 28. „Zero Code“-Ansätze Wenn schon unleserlich warum dann BPEL ;-) unleserlich, BPMN Process Engine camunda services GmbH / info@camunda.com / 28
  • 29. Kritik BPEL Gemeinsame Sprache • Human Task Management (BPEL4People) noch neu • BPEL ist blockorientiert • Umfangreiches Know-How notwendig (BPEL, XML, XML-Schema, XPath, XSLT, WSDL, WS-*, …) , , , , ,) • Skills fehlen in Projekten heute • Tools sind notwendig • XML-Programmiersprache, kein BPM • Aber: Jeder redet darüber camunda services GmbH / info@camunda.com / 29
  • 30. Use Case BPEL Gemeinsame Sprache • Bei Orchestrierung heterogener Services zu neuen Services durchaus geeignet Si dh i t • Bei Entwicklung „prozessorientierter“ Anwendung vielleicht eher (noch?) nicht BPEL Service B Prozess 1 Service A Service D Service C BPEL Prozess 2 Service E camunda services GmbH / info@camunda.com / 30
  • 31. BPM & SOA Agenda 1. Fraktionen und Visionen 2. Standards: BPMN und BPEL 3. 3 Aktueller Stand in der Praxis 4. Konkrete Perspektiven camunda services GmbH / info@camunda.com / 31
  • 32. Gemeinsame Sprache Was ist mit BPM heute schon erreichbar? <!-- D kl <! Deklaration eines asynchronen “H ll ti i h “Hello World” Prozesses --> <process name=”HelloWorld” ... > <!-- Liste der am Prozess beteiligten Services ? --> <partnerLinks> <!-- Nur ein beteiligter Service: Der Dienst-Nutzer --> <partnerLink name=”client” partnerLinkType =”HelloWorld” myRole=”HelloWorldProvider” partnerRole= HelloWorldRequester partnerRole=”HelloWorldRequester” /> </partnerLinks> <!-- Liste der (XML-)Dokumente, die im Prozess verwendet werden --> <variables> <!-- XML-Dokument, das der Dienst-Nutzer beim Aufruf übergibt --> <variable name=quot;inputquot; messageType=quot;HelloWorldRequestMessagequot;/> <!-- XML-Dokument, das der Dienst-Nutzer vom Prozess erhält --> <variable name=quot;outputquot; messageType=quot;HelloWorldResultMessagequot;/> </variables> <!-- Definition der Ablauflogik im Prozess (Aktiviäten) --> <sequence> camunda services GmbH / info@camunda.com / 32
  • 33. XPDL – XML Process Definition Language Gemeinsame Sprache <Activity Id=“xxxquot; Name=quot;plan part. productionquot;> <Description>Make plan assuming OK to partial- ship</Description> <Implementation> <Tool Id=quot;Application_Repository App4quot; Type=quot;APPLICATIONquot;/> pp p y_ pp yp / </Implementation> <Performer>Participant_Repository_Par12</Performer> <ExtendedAttributes> <ExtendedAttribute Name=quot;XOffsetquot; Value=quot;397quot;/> <ExtendedAttribute Name=quot;YOffsetquot; Value=quot;29quot;/> <ExtendedAttribute Name=quot;VariableToProcess_OUTquot; Value=quot;No_Of_Items_To_Producequot;/> <ExtendedAttribute Name=quot;VariableToProcess_INquot; Value=quot;Order_Quantityquot;/> <ExtendedAttribute Name=quot;VariableToProcess_INquot; Value=quot;No_Of_Stocked_Itemsquot;/> </ExtendedAttributes> </Activity> camunda services GmbH / info@camunda.com / 33
  • 34. XPDL Gemeinsame Sprache • WfMC-Standard, Aktuell Version 2.0 • Gerichteter G h (A ti iti G i ht t Graph (Activities & Transitions) T iti ) • Extension-Points • Systemanbindung durch „Application Repository“ • Verschiedene Tools können XPDL-Prozess unterschiedlich verarbeiten • Verschiedene Implementierungen g p g grafischer Editoren und Process Engines existieren • Nur die Prozessstruktur ist portabel! p • XPDL fokussiert Austauschformat für Prozessdiagramme ( g (evtl. für BPMN?) ) camunda services GmbH / info@camunda.com / 34
  • 35. XPDL = gemeinsame Sprache? camunda services GmbH / info@camunda.com / 35
  • 36. JBoss jBPM jPDL (proprietär) Gemeinsame Sprache camunda services GmbH / info@camunda.com / 36
  • 37. jBPM – „Java oriented BPM“ Gemeinsame Sprache • Pragmatische Workflowengine („Graph oriented programming ) incl. Human-Task-Management programming“) incl Human Task Management • Java orientiert •KKann in jeder U i j d Umgebung zum Ei b Einsatz k t kommen (einfache Java-Library), keine Speicher- oder Performance-Probleme Performance Probleme • Prozessdiagramm und „Prozesscode“ immer synchronisiert, synchronisiert da single source single-source. • Prozessdiagramm begrenzt Fachanwendertauglich • K i St d d! Kein Standard! • jBPM 4: Process Virtual Machine wird mehrere Sprachen unterstützen, auch MDSD S h t tüt h camunda services GmbH / info@camunda.com / 37
  • 38. jPDL = gemeinsame Sprache? camunda services GmbH / info@camunda.com / 38
  • 39. Prozessorientierung in den Köpfen der User Gemeinsame Sprache camunda services GmbH / info@camunda.com / 39
  • 40. Andere proprietäre Ansätze… Gemeinsame Sprache Bsp: Inubit IS, 2007 camunda services GmbH / info@camunda.com / 40
  • 41. Vom Prozess zum Workflow Was ist heute schon erreichbar? Ansätze • Anforderungsmanagement + • Executable Model (z.B. BPMN) ( ) – Generierung von Software (MDSD) o – Generierung von Workflow (BPEL) - – Direkte Ausführung (executable BPMN) - • Verknüpfung fachlicher & technischer Modelle o Aber: Vieles ist Gegenstand aktueller Forschung camunda services GmbH / info@camunda.com / 41
  • 42. Ist das alles hilfreich? Status Quo / Praxisansätze • Weit weg von Magic Process Engine oder Prozessimplementierung d h B i P il ti durch Business A l t Analyst • Aber wiederverwendbare Business Process Engines bieten – Basis-Dienste: Persistenz, Prozess-Versionierung, Logging, Timeouts, … – Zusätzliche Funktionalität wie Analyse (BAM) oder Simulation (BPS) – Technisches Monitoring • Vorfertigungsgrad hoch für – Human Tasks: Generische Tasklisten & Formulareditoren – Service-Orchestrierung & Konnektoren camunda services GmbH / info@camunda.com / 42
  • 43. Ein Wort zur Technik BPM: Die IT-Seite EJB-Container (oder Tomcat oder Java SE) jBPM (jPDL) Human Task Session Mgmnt Bean JCA JMS EJB WS BPEL-Server WS Java WS WS WS WS .NET Human EJB-Container … Task Mgmnt JMS, JMS … EJB camunda services GmbH / info@camunda.com / 43
  • 44. Status quo im Business Aktueller Stand in der Praxis • Verständnis für IT-BPM reift prinzipiell heran • P bl Problematische G dh lt ti h Grundhaltungen: – „Ich will nicht wissen, wie die IT es macht, ich will wissen, dass sie es macht“ macht – „Das wird mir jetzt zu technisch“ – „Prozessmodellierung ist Fleißarbeit“ – „Hauptsache, der Betrachter versteht das Prozessmodell“ • Einige Erkenntnisse sind noch nicht angekommen (z.B. Problematik d V f i ( B P bl tik der Verfeinerung von Prozessmodellen) • Aber: Die Bereitschaft zur Veränderung ist mehr und mehr vorhanden camunda services GmbH / info@camunda.com / 44
  • 45. BPM & SOA Agenda 1. Fraktionen und Visionen 2. Standards: BPMN und BPEL 3. 3 Aktueller Stand in der Praxis 4. Konkrete Perspektiven camunda services GmbH / info@camunda.com / 45
  • 46. Service ≠ Service ≠ Service Das eigentliche Problem Strategie 1-2 1 2 Jahre 3-6 Monate Organisation SOPA: SOA* auf Prozessebene Integration Task Service Task Zuweisung g Aufruf Zuweisung g SOIA: SOA auf Integrationsebene Process Engine IT Software 6-10 Jahre SOSA: SOA auf Software-Ebene Infrastruktur *SOA = Serviceorientierte Architekturen In Anlehnung an: Prof. Dr. Robert Winter, Institut für Wirtschaftsinformatik, Universität St. Gallen camunda services GmbH / info@camunda.com / 46
  • 47. Es entstehen neue Berufsbilder Perspektiven Process Analyst Process Engineer camunda services GmbH Management47 Development / info@camunda.com /
  • 48. Ganzheitliches BPM in der Praxis Aktuelle Projekterfahrung Aktuelle Problemstellung • Ausfälle im Prozessbetrieb (Stillstände etc.) • Fachliche Prozessbetreuer müssen in BPEL modellieren • Schlechte fachliche Unterstützung des Prozessbetriebs • Fachliches Prozessmanagement völlig entkoppelt von IT-BPM Lösungsansätze Lö ät • Aufsetzen sauberer technischer Architektur • Einführung eines einheitlichen Modellierungsframeworks für die fachlich-technische Kommunikation • Verbesserung der SLA-Überwachung (z.B. Push statt Pull) • Definition von Rollen und Gremien für die fachlich-technische Zusammenarbeit (z.B. BPM-Board) camunda services GmbH / info@camunda.com / 48
  • 49. Wie kommen wir mit BPM kurzfristig weiter? Perspektiven FALSCHER ANSATZ • Krampfhaft versuchen, technische Workflows aus fachlichen Prozessmodellen zu generieren • Standards als „heilige Sandale“ Sandale RICHTIGER ANSATZ Neue BPM-Methoden (und ggf. Tools) zur Kommunikation zwischen Business und IT nutzen. Punktuelle Anpassungen durch Business ermöglichen (speziell: Business Rules) Fachliche Prozessmonitoring- und Reportingfunktionen aufsetzen und d h d B i ft d durch das Business k fi i b machen konfigurierbar h Step-by-Step statt Big Bang Eigene Kompetenz aufbauen (Coachings Open Source BPM) (Coachings, camunda services GmbH / info@camunda.com / 49
  • 50. Ein Muss: Die BPM-Suite Perspektiven • Kommerzielle Lösung beschaffen – Pro: Out-of-the-box (?) – Contra: Große Investition, Abhängigkeit, Risiko • Auf Open Source entwickeln – Pro: Klein beginnen, eigenes Know-How aufbauen g g – Contra: Entwicklungsressourcen benötigt • SaaS-Lösung nutzen SaaS Lösung – Pro: Grow-as-you-need, schnell und günstig – Contra: Vertrauen notwendig Es gilt: A fool with a tool is still a fool camunda services GmbH / info@camunda.com / 50
  • 51. Fragen & Antworten camunda services GmbH info@camunda.com www.camunda.com www camunda com Unsere Themen •GGanzheitliches BPM h itli h • Prozessautomatisierung • SOA, BPEL, XPDL, JBoss SOA Platform (jBPM D l ESB) Pl tf (jBPM, Drools, • BPMN • BPM-Toolauswahl Unsere Leistungen • Beratung • Seminare • Process Hosting camunda services GmbH / info@camunda.com / 51