Das EPML-Austauschformat:EPK-Modelle in BewegungJan Mendling,Abt. für Wirtschaftsinformatik und Neue Medien, Wirtschaftsuniversität Wienhttp://wi.wu-wien.ac.at/[email protected]
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 2
Agenda
1. Warum braucht man Austauschformate?
2. Warum benutzt man XML?
3. Wie kann man Austauschformate definieren?
4. Wie werden EPK-Modelle im EPML dargestellt?
5. Wie stehen EPML und AML zueinander in Beziehung?
6. Was sollte ich gelernt haben?
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 3
Agenda
1. Warum braucht man Austauschformate?
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 4
Szenario
Beratung
Kunde
Simulation
Workflow
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 5
Heterogenitätsprobleme
AMLAML
BPEL4WS
L Tools : M Methoden : N Austauschformate
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 6
Standardisierungs-Organisationen
• Object Management Group (OMG)
• Workflow Management Coalition
• Business Process Management Initiative (BPMI)
• Organization for the Advancement of Structured
Information Standards (OASIS) (+ UN/CEFACT)
• World Wide Web Consortium (W3C)
• Akademische Initiativen
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 7
Standardisiertes Austauschformat fehlt
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 8
Effekte der Standardisierung von Austauchformaten
• Pragmatischer Effekt: Austausch von Modellen
• Ökonomischer Effekt: Reduzierter Lock-In, mehr Wettbewerb
• Konzeptioneller Effekt: Konsolidation der Konzepte
Quelle: J. Mendling, G. Neumann, M. Nüttgens: A Comparison of XML Interchange Formats for Business Process Modelling. In: F. Feltz, A. Oberweis, B. Otjacques, eds.: Proc. of EMISA 2004 "Informationssysteme im E-Business und E-Government", Luxembourg, Luxembourg, Vol. 56 of Lecture Notes in Informatics (LNI), pages 129-140, October 2004.
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 9
Agenda
2. Warum benutzt man XML?
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 10
Was ist XML?
• eXtensible Markup Language (XML)
• Standard des Word Wide Web Consortiums
• Meta-Sprache zur Definition anwendungsspezifischer Datenformate
• Design-Ziel (1998): Einfacher Bau von Parsern
• Eigenschaften:
• Information Set
• Wohlgeformtheit
• Validität
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 11
XML Information Set
Document
baseURI : URIstandalone : booleanversion : string
Comment
content : string
Notation
name : NCnamesystem-id : stringpublic-id : stringbase-uri : string
Entity
name : NCnameentity-type : etypesystem-id : stringpublic-id : stringbase-uri : URIcontent : stringcharset : string
Processing Instruction
target : NCnamecontent : stringbase-uri : URI
Element
local-name : NCnamenamespace-URI : URIbase-URI : URI
Document Type Declaration
Reference to Skipped Entity
name : NCname
Attribute
local-name : NCnamenamespace-URI : URIspecified : booleanattribute-type : atype
Character
Character-code : integerelement-content-whitespace : booleanpredefined-entity : boolean
CDATA Start Marker
CDATA End Marker
Entity Start Marker
Entity End Marker
children*
children*
notations*
notation?
entities*
children*
children
children?
external-DTD?
referrent
entity
entity
children*
children*
children*
children*
children*attributes*
children*
children*
children*
children*/default*
children*
Namespace Declaration
namespace-URI : URI (or children)prefix : NCname
Declared namespaces*/in-scope namespaces*
Quelle: bspw. J. Mendling, M. Nüttgens: XML-basierte Geschäftsprozessmodellierung. In: W. Uhr, E. Schoop, W. Esswein, eds.: Proc. of the 6th International GI-Conference Wirtschaftsinformatik (WI 2003) "Medien - Märkte - Mobilität", Dresden Germany, pages 161-180, September 2003. http://wi.wu-wien.ac.at/~mendling/publications/03-WI.pdf
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 12
Wohlgeformtheit von XML
<variables> <variable name="itinerary" messageType="itineraryMessage"/> <variable name="tickets" messageType="ticketsMessage"/> </variables>
element:variables
element:variable element:variable
attribute:name attribute:name attribute:messageTypeattribute:messageType
text:itinerary text:tickets text:ticketsMessagetext:itineraryMessage
Entsprechende Baumstruktur
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 13
Validität gegenüber einem Schema
• Spezifikation der
• erlaubten Element- und Attributnamen,
• deren einfachen Datentypen, und
• deren Struktur bzw. Verschachtelung
• Spezifikation mit XML Schema oder DTD
• Prüfung der Validität einer XML-Datei gegenüber einem Schema
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 14
Vorteile von XML
• Plattform-neutrales Format zur Spezifikation strukturierter Dokumente
• Packages und Libraries für jede Programmiersprache
• Leichte Transformation mit XPath und XSLT
• Vielfache Toolunterstützung
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 15
Agenda
3. Wie kann man Austauschformate definieren?
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 16
Aufgreifen der Vorlesung
• Methode, Technik, …
Quelle: D. Karagiannis, H. Kühn: Metamodelling Plattforms. In: K. Bauknecht, A. Min Tjoa, G. Quirchmayer, eds.: Proceedings of the Third International Conference EC-Web 2002 – Dexa 2002, Aix-en-Provence, France, Vol. 2455 of Lecture Notes in Computer Science (LNCS), pages 182, September 2002. http://www.dke.univie.ac.at/mmp/FullVersion_MMP_DexaECWeb2002.pdf
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 17
Modell und Datei
UML-Klassendiagramm XMI-Datei
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 18
Metamodell und Austauschformat
Metamodel Interchange Format
ModelInterchange Format
Instance
instantiates instantiates
represents
maps to
Quelle: J. Mendling, G. Neumann, M. Nüttgens: A Comparison of XML Interchange Formats for Business Process Modelling. In: F. Feltz, A. Oberweis, B. Otjacques, eds.: Proc. of EMISA 2004 "Informationssysteme im E-Business und E-Government", Luxembourg, Luxembourg, Vol. 56 of Lecture Notes in Informatics (LNI), pages 129-140, October 2004.
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 19
Austauschformate: Allgemeine Gestaltungs-Kriterien
• Einfachheit gute Verständlichkeit
• Vollständigkeit Bereitstellung aller wichtigen
Konzepte
• Allgemeingültigkeit für verschiedene Szenarien geeignet
• Eindeutigkeit Präzise Terminologie und Semantik
• Erweiterbarkeit für Zusatzinfo und Weiterentwicklung
Quelle: J. Mendling, G. Neumann, M. Nüttgens: A Comparison of XML Interchange Formats for Business Process Modelling. In: F. Feltz, A. Oberweis, B. Otjacques, eds.: Proc. of EMISA 2004 "Informationssysteme im E-Business und E-Government", Luxembourg, Luxembourg, Vol. 56 of Lecture Notes in Informatics (LNI), pages 129-140, October 2004.
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 20
Spezifikationsmöglichkeiten
• Interchange Format Onlybspw. BPEL4WS
• Mappings Onlybspw. XMI
• Joint Specificationbspw. PNML
Quelle: J. Mendling, G. Neumann, M. Nüttgens: A Comparison of XML Interchange Formats for Business Process Modelling. In: F. Feltz, A. Oberweis, B. Otjacques, eds.: Proc. of EMISA 2004 "Informationssysteme im E-Business und E-Government", Luxembourg, Luxembourg, Vol. 56 of Lecture Notes in Informatics (LNI), pages 129-140, October 2004.
Metamodel Interchange Format
ModelInterchange Format
Instance
instantiates instantiates
represents
maps to
Metamodel Interchange Format
ModelInterchange Format
Instance
instantiates instantiates
represents
maps to
Metamodel Interchange Format
ModelInterchange Format
Instance
instantiates instantiates
represents
maps to
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 21
Agenda
4. Wie werden EPK-Modelle im EPML dargestellt?
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 22
EPC Markup Language (EPML)
• Tool-neutrales Austauschformat für EPKs
• XML-basierte Repräsentation
• XML-Schema für EPML
• Orientierung am Metamodell der EPK
Weitere Informationen zu EPML-Beiträgen und EPML-Tools: http://wi.wu-wien.ac.at/~mendling/EPML/
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 23
Motivation für EPML
AMLAML
L Tools : 1 Methode : N Austauschformate
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 24
EPML Gestaltungsprinzipien
• Lesbarkeit für einfache Weiterverarbeitung
• Erweiterbarkeit für Darstellung von Sichten
• Tool-Orientierung für graphische Modellierung
• EPK-Syntax für Syntax-Check
Quelle: J. Mendling, M. Nüttgens: Exchanging EPC Business Process Models with EPML. In: M. Nüttgens, J. Mendling, eds.: Proc. of XML4BPM 2004 “XML Interchange Formats for Business Process Management", Marburg, Germany, pages 61-79, March 2004. http://wi.wu-wien.ac.at/~mendling/publications/04-XML4BPM.pdf
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 25
Einfache EPK in EPML
Start
Action
End
<epml><definitions> <definition defId="111"> <name>Start</name> </definition> ...</definitions><directory name="Group.Root"> <epc epcId="1"> <event id="1" defRef="111"> <name>Start</name> <graphics> <position x="0" y="0" width="250" height="156"/> </graphics> </event> <arc id="14"> <flow source="1" target="5"/> <graphics> <position x="125" y="156"/> <position x="125" y="312"/> </graphics> </arc>
<function id="5" defRef="115"> <name>Action</name> </function>
<and id="7"/> ...
EPC EPML
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 26
Prozesshierarchien in EPML
Start
Action
End
<epml><definitions> <definition defId="111"> <name>Start</name> </definition> ...</definitions><directory name="Group.Root"> <epc epcId="1"> <event id="1" defRef="111"> <name>Start</name> <graphics> <position x="0" y="0" width="250" height="156"/> </graphics> </event> <arc id="14"> <flow source="1" target="5"/> <graphics> <position x="125" y="156"/> <position x="125" y="312"/> </graphics> </arc>
<function id="5" defRef="115"> <name>Action</name>
<toProcess linkToEpcId="2"/> </function>
<and id="7"/> ... <epc epcId="2">
...
EPC 1 EPML
Start
Action 2
End
EPC 2
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 27
Erweiterung in EPML
Participant
Application
DataField
uses
uses
<definition defId=“0“ type=“relationshipType“> <name>uses</name></definition>…<epc epcId=“1“ name=“example“> <participant id=“1“> <name>Participant</name> </participant> <relation id=“12“ defRef=“0“ from=“1“ to=“2“/> <application id=“2“> <name>Application</name> </application> <relation id=“23“ defRef=“0“ from=“2“ to=“3“/> <dataField id=“3“> <name>DataField</name> </dataField>
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 28
Attribute in EPML
Start
Action
End
<epml><definitions> <definition defId="111"> <name>Start</name> </definition> ...</definitions><attributeTypes> <attributeType typeId="Kosten"/></attributeTypes><directory name="Root"> <epc epcId="1"> <event id="1" defRef="111"> <name>Start</name> </event> <arc id="14"> <flow source="1" target="5"/> </arc>
<function id="5" defRef="115"> <name>Action</name>
<attributetypeRef="Kosten"value="€ 200"/>
</function><and id="7"/>
...
EPC EPML
Kosten:€ 200
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 29
Agenda
5. Wie stehen EPML und AML zueinander in Beziehung?
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 30
Aris Markup Language (AML)
• Proprietäres Austauschformat des Aris Toolsets
• XML-basierte Repräsentation
• Document Type Definition (DTD) für AML
• Serialisierung der Aris-Datenbank
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 31
AML-Beispiel
Start
Action
End
<AML><Group Group.ID="Group.Root"> <ObjDef ObjDef.ID="ObjDef.1234--0-----p--" TypeNum="OT_EVT"> <AttrDef AttrDef.ID="AttrDef.1235--0-----50l" AttrDef.Type="AT_NAME"> <AttrValue>Start</AttrValue> </AttrDef> <CxnDef CxnDef.ID="CxnDef.1236--0-----q--" ToObjDef.IdRef="ObjDef.1237--0-----p--"> </CxnDef> </ObjDef> ... <Model Model.ID="Model.1238--0-----u--" Model.Type="MT_EEPC"> <ObjOcc ObjOcc.ID="ObjOcc.1239--0-----x--" ObjDef.IdRef="ObjDef.1234--0-----p--" SymbolNum="ST_EV"> <Position Pos.X="0" Pos.Y="0" /> <Size Size.dX="250" Size.dY="156" /> <CxnOcc CxnOcc.ID="CxnOcc.1240--0-----y--" CxnDef.IdRef="CxnDef.1236--0-----q--" ToObjOcc.IdRef="ObjOcc.1241--0--x--"> <Position Pos.X="125" Pos.Y="156" /> <Position Pos.X="125" Pos.Y="312" /> </CxnOcc> <AttrOcc AttrOcc.ID="AttrOcc.1242--0-----12-" AttrTypeNum="AT_NAME" /> </ObjOcc> ...
EPC AML
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 32
AML Metamodell
CxnDef
CxnDef.IDCxnDef.TypeToObjDef.IdRef
ObjDef
ObjDef.IDTypeNumLinkedModels.IdRefs
AttrDef
AttrDef.IDAttrDef.Type
ObjOcc
ObjOcc.IDObjDef.IdRefSymbolNumSize.dXSize.dYPos.XPos.Y
AttrOcc
AttrOcc.IDAttrTypeNum
CxnOcc
CxnOcc.IDCxnDef.IdRefToObjOcc.IdRef
Group
Group.ID
Model
Model.IDModel.Type
groupsgroups
has
has
includes
defines
has
has
defines
**
*
*
*
*
*
*
*
describesgraphical
representation
*
has
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 33
AML Pro und Contra
Pro
• Flexibel erweiterbar
• Nicht auf EPKs beschränkt
• Weitere Verbreitung des ARIS
Toolsets
Contra
• Kryptische Element-Namen
• Restriktive Kantendarstellung
• Trennung von Objekt-Definition und
Objekt-Instanz
• Symbol- und Objekt-Typen nicht in
XML Schema/DTD dokumentiert
• Schwierige Entwicklung von AML-
Anwendungen
Quelle: J. Mendling, M. Nüttgens: Transformation of ARIS Markup Language to EPML. In: M. Nüttgens, F.J. Rump, eds.: Proc. of the 3rd GI Workshop on Event-Driven Process Chains (EPK 2004), Luxembourg, Luxembourg, pages 27-38, October 2004. http://wi.wu-wien.ac.at/~mendling/publications/04-EPK-AML.pdf
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 34
AML versus EPML: Beispiel
Start
Action
End
<AML><Group Group.ID="Group.Root"> <ObjDef ObjDef.ID="ObjDef.1234--0-----p--" TypeNum="OT_EVT"> <AttrDef AttrDef.ID="AttrDef.1235--0-----50l" AttrDef.Type="AT_NAME"> <AttrValue>Start</AttrValue> </AttrDef> <CxnDef CxnDef.ID="CxnDef.1236--0-----q--" ToObjDef.IdRef="ObjDef.1237--0-----p--"> </CxnDef> </ObjDef> ... <Model Model.ID="Model.1238--0-----u--" Model.Type="MT_EEPC"> <ObjOcc ObjOcc.ID="ObjOcc.1239--0-----x--" ObjDef.IdRef="ObjDef.1234--0-----p--" SymbolNum="ST_EV"> <Position Pos.X="0" Pos.Y="0" /> <Size Size.dX="250" Size.dY="156" /> <CxnOcc CxnOcc.ID="CxnOcc.1240--0-----y--" CxnDef.IdRef="CxnDef.1236--0-----q--" ToObjOcc.IdRef="ObjOcc.1241--0--x--"> <Position Pos.X="125" Pos.Y="156" /> <Position Pos.X="125" Pos.Y="312" /> </CxnOcc> <AttrOcc AttrOcc.ID="AttrOcc.1242--0-----12-" AttrTypeNum="AT_NAME" /> </ObjOcc> ...
<epml><definitions> <definition defId="111"> <name>Start</name> </definition> ...</definitions><directory name="Group.Root"> <epc epcId="1"> <event id="1" defRef="111"> <name>Start</name> <graphics> <position x="0" y="0" width="250" height="156"/> </graphics> </event> <arc id="14"> <flow source="1" target="5"/> <graphics> <position x="125" y="156"/> <position x="125" y="312"/> </graphics> </arc> ...
EPC AML EPML
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 35
EPML Pro und Contra
Pro
• Intuitive Bezeichnungen
• Leichtere Entwicklung von EPML
Anwendungen
• Kleinere Dateien
Contra
• Bisher wenige Tools
Quelle: J. Mendling, M. Nüttgens: Transformation of ARIS Markup Language to EPML. In: M. Nüttgens, F.J. Rump, eds.: Proc. of the 3rd GI Workshop on Event-Driven Process Chains (EPK 2004), Luxembourg, Luxembourg, pages 27-38, October 2004. http://wi.wu-wien.ac.at/~mendling/publications/04-EPK-AML.pdf
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 36
Transformation von AML nach EPML
AML EPML
aml:Model.ID epml:epcId
aml:ObjDef.Id epml:defId
aml:ObjOcc.Id epml:id
aml:AttrDef.Type epml:typeId
aml:ObjDef epml:definition
aml:AttrDef epml:attributeType
aml:Group epml:directory
aml:Model epml:epc
aml:ObjOcc different EPML elements
aml:CxnOcc epml:arc or epml:relation
aml:Pos.X epml:x
aml:Pos.Y epml:y
aml:Size.dX epml:width
aml:Size.dY epml:height
Identifier
Kopfdaten
Navigation
Modell-Element
Positionsdaten
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 37
AML2EPML-Transformationsskript
• Implementierung als XSLT-Skript
• Erhältlich auf der EPML-Website (http://wi.wu-wien.ac.at/~mendling/EPML)
• Rücktransformation EPML2AML in Arbeit
Quelle: J. Mendling, M. Nüttgens: Transformation of ARIS Markup Language to EPML. In: M. Nüttgens, F.J. Rump, eds.: Proc. of the 3rd GI Workshop on Event-Driven Process Chains (EPK 2004), Luxembourg, Luxembourg, pages 27-38, October 2004. http://wi.wu-wien.ac.at/~mendling/publications/04-EPK-AML.pdf
java org.apache.xalan.xslt.Process -IN aml.xml -XSL AML2EPML.xsl -OUT ergebnis.epml
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 38
Agenda
6. Was sollte ich gelernt haben?
Austauschformate für EPKs – IWi Saarbrücken 15.02.2005Folie 39
Was Sie mitnehmen sollten…
• XML-Austauschformat ist nicht gleich XML-Austauschformat
• Heterogenitätsproblem bei EPK-Tools und Austauschformaten
• Metamodell und Austauschformat sollen sich entsprechen
• EPML ist ein tool-neutrales Austauschformat für EPKs
• AML läßt sich nach EPML transformieren (und umgekehrt)
• Infos zu EPML auf http://wi.wu-wien.ac.at/~mendling/EPML
Das EPML-Austauschformat: EPK-Modelle in Bewegung
Jan Mendling,Abt. für Wirtschaftsinformatik und Neue Medien, Wirtschaftsuniversität Wienhttp://wi.wu-wien.ac.at/[email protected]
Vielen Dank für Ihre Aufmerksamkeit