EAI Prozessmodellierung. Diplomarbeit

Größe: px
Ab Seite anzeigen:

Download "EAI Prozessmodellierung. Diplomarbeit"

Transkript

1 EAI Prozessmodellierung Analyse der Unterschiede zwischen den sprachlichen Konzepten XML Process Definition Language und Business Process Modelling Language mit Erstellung eines Konverters zwischen beiden Konzepten Eingereicht von: Florian Schweiger Diplomarbeit zur Erlangung des akademischen Grades Magister rerum socialium oeconomicarumque Magister der Sozial- und Wirtschaftswissenschaften (Mag. rer. soc. oec.) Fakultät für Wirtschaftswissenschaften und Informatik, Universität Wien Fakultät für Technische Naturwissenschaften und Informatik, Technische Universität Wien Studienrichtung: Wirtschaftsinformatik (E175) Begutachter: a.o. Univ. Prof. Dr. Ing. Jürgen Dorn Wien, im April 2004

2 1 INHALT 1 INHALT Einleitung Konzeptvergleich zwischen XPDL und BPML Detaillierter Vergleich Kontext Aktivitäten Verbindung von Aktivitäten Prozessinstanzierungsarten Variablen Zeitelemente Dokumentation Workflow Unterstützung Simulation Ausnahmebehandlung Spracherweiterung Transformationsregeln und Algorithmen Umwandlung von XPDL zu BPML Allgemein Element Package Element WorkflowProcess Aktivitäten BPML zu XPDL Element package Element process Aktivitätstypen Implementation Eingesetzte Technologie Design Realisierung Testprozess Modellierung des Testprozesses Darstellung des Beispielprozesses mit XPDL Darstellung des Beispielprozesses mit BPML Transformation Vergleich zwischen modelliertem und umgewandeltem Prozess Zusammenfassung Literaturverzeichnis Seite 2

3 2 Einleitung EAI (Enterprise Application Integration) ist laut einer Studie der Gartner Group eine jener Technologien mit beinahe 100%iger Umsatzwachstumschance im Zeitraum 2002 bis Es werden Zuwächse in Höhe von 1,275 Milliarden Dollar in Europa erwartet. (vgl. [Bisc02]) Viele Betriebe setzen bereits heute Geschäftsprozessmodellierungswerkzeuge (GPMW) wie ADONIS oder ARIS ein, um ihre Prozesse dokumentieren, analysieren und auch optimieren zu können. Um EAI erfolgreich in die Unternehmensumwelt integrieren zu können, ist es notwendig Geschäftsprozesse zu modellieren. Dies kann entweder in programmtechnischer Form, zum Beispiel durch Verwendung einer objektorientierten Programmiersprache oder durch Einsatz von graphischen Prozessmodellierungswerkzeugen erfolgen. Letztere werden heute von allen größeren EAI Applikationsherstellern zur Verfügung gestellt, nicht zuletzt um die Akzeptanz von EAI zu erhöhen. Während GPMW jegliche Art von Geschäftsprozessen modellieren können, ist es bei EAI Werkzeugen nicht notwendig eine solche Vielfalt zu ermöglichen. EAI Applikationen dienen rein zur Abbildung und Automatisierung von Informationsflüssen, sowohl im Sinne einer kompletten Automatisierung aber auch im Sinne von Teilautomatisierungen in Kombination mit manuellen Eingriffen. Die vorliegende Diplomarbeit geht aus einer Anstellung des Autors bei GFT Technologies hervor. Ein Kunde des Unternehmens setzt zur Modellierung seiner Prozesse das Prozessmodellierungswerkzeug ADONIS ein. Weiters war von Seiten des Kunden geplant eine noch näher zu bestimmende EAI Applikation einzuführen. Um zu vermeiden, bereits modellierte Prozesse abermals mit einem EAI Prozessmodellierungswerkzeug modellieren zu müssen, wurde GFT Technologies beauftragt eine Schnittstelle zwischen EAI Prozessmodellierungswerkzeug und ADONIS herzustellen. Die Erstellung einer Schnittstelle zwischen ADONIS und einer EAI Applikation erfordert eine Konvertierung in beiden Richtungen. ADONIS bietet, laut Herstellerinformation, die Möglichkeit, Prozesse mit XPDL (XML Process Definition Language) zu modellieren. Die kooperierenden EAI Applikationshersteller von GFT Technologies werden in Zukunft wahrscheinlich BPML (Business Process Modelling Language) als Importsprache unterstützen. In dieser Arbeit wird daher ein Konverter zwischen XPDL und BPML definiert und implementiert. Auf eine Auflistung der verwendeten EAI Applikationen muss aus Geheimhaltungsgründen verzichtet werden. Zielsetzung dieser Arbeit ist es, zwei Algorithmen bereitzustellen, welche verwendet werden können BPML in XPDL und XPDL in BPML zu transformieren. Um eine bloße theoretische Definition zu vermeiden, ist der ermittelte Algorithmus in Form einer Applikation umzusetzen. Ferner gilt es die Frage zu beantworten, ob es sinnvoll bzw. überhaupt machbar ist eine Übersetzung durchzuführen. Seite 3

4 Die Diplomarbeit wurde wie folgt gegliedert: 3. Konzeptvergleich zwischen XPDL und BPML Es soll dargelegt werden, welche speziellen Konstrukte in jeder Sprache modellierbar sind und wie die entsprechenden Gegenstücke, falls vorhanden, aufgebaut sind. 4. Transformationsregeln und Algorithmen Hier werden zwei Algorithmen präsentiert, welche eine Umwandlung eines XPDL Dokumentes in ein BPML Dokument und umgekehrt ermöglichen. 5. Implementation In diesem Kapitel werden die Architektur des Konverters und die verwendeten Applikationen und Applikationsschnittstellen vorgestellt. Weiters erfolgt die Definition eines Testprozesses, welcher in jeder der beiden Prozessgrammatiken abgebildet wird. Am Ende des Kapitels wird die Anwendung der definierten Algorithmen auf die modellierten Prozesse und ein Vergleich zwischen den manuell modellierten und den automatisch generierten Prozessen beschrieben. 6. Zusammenfassung Als Conclusio schließt die Diplomarbeit mit einer Zusammenfassung der erarbeiteten Ergebnisse, möglichen Erweiterungen des Konverterkonzeptes, sowie der dargestellten Algorithmen. Die Begriffe Prozessmodellierungsgrammatik, Prozessmodellierungssprache, Prozessgrammatik und Sprache werden in diesem Dokument synonym verwendet. Die Begriffe XPDL Engine und BPML Engine repräsentieren Applikationen, welche XPDL bzw. BPML Syntax interpretieren und ausführen. Sie sind in ihrer Funktion mit einem Workflow Management System vergleichbar. (vgl. [Alle01]) XML Elemente werden durch den Begriff Element in Kombination mit dem Elementnamen wiedergegeben. Das Element <XYZ>Inhalt</XYZ> wird zum Beispiel durch den Text Element XYZ beschrieben. Zusätzlich erfolgt für jedes Element die Angabe der Prozessgrammatik. Seite 4

5 3 Konzeptvergleich zwischen XPDL und BPML Ausgangsbasis für den Konzeptvergleich bilden die XML Schema Elemente der jeweiligen Sprache. Nicht berücksichtigt werden Sprachkonzepte, welche von Sprachinterpretern implementiert werden und nicht durch die Syntax gegeben sind. Unter Sprachinterpreter versteht man ein Programm, welches als Eingabe Prozessinstruktionen erhält, die in einer Prozessmodellierungsgrammatik ausgedrückt werden, und die dieser interpretiert und ausführt. Für einen abstrakteren Vergleich, welcher fundamentale sprachimanente Konzepte beinhaltet, sei auf [El-B03] verwiesen. BPML (Business Process Modelling Language) ([Arki02]), in der dieser Arbeit zu Grunde liegenden Version 1.0, ist eine blockorientierte Sprache. XPDL (XML Process Definition Language) ([MaNo02]) hingegen ist graphorientiert. Während der Erstellung dieser Arbeit, wurde vom betreuenden Professor eingebracht, dass bereits eine aktuellere Version der BPML Spezifikation existiert. Laut seiner Aussage ist es mit dieser Version bereits möglich Transitionen in BPML darzustellen. Da auf der Website des Konsortiums (vgl. [BPML04]), welches die BPML Spezifikation erstellt hat, keine entsprechende Spezifikation verfügbar war, bleibt das Konzept der Transitionen unter BPML unberücksichtigt. Unter Blockorientierung soll das Ausführungskonzept einer Programmiersprache wie zum Beispiel JAVA verstanden werden, d.h. aufeinander folgende Befehle werden hintereinander ausgeführt, ohne dass eine explizite Verbindung zwischen den Befehlen besteht. Graphorientierte Sprachen arbeiten hingegen mit Transitionen. D.h. es muss jeweils eine explizite Transition zwischen zwei Aktivitäten gesetzt werden, damit diese hintereinander ausgeführt werden können. (für eine Definition von Graph siehe [DorKa96]) Laut [Shap02] ist eine Umwandlung von Blockstruktur in Graphenstruktur kein Problem, die Umkehrung aber sehr wohl. Eine Umwandlung ist nur möglich, wenn gewisse Einschränkungen beachtet werden. Welche Einschränkungen notwendig sind, wurde im Rahmen dieser Arbeit ermittelt. Translation of blocked-structured flow control (routing) into a graph structure presents no fundamental difficulties. The reverse is more problematic. This can be facilitated by imposing a set of restrictions on the graph structure that guarantee it to be well-structured. [Shap02] Oberstes Element in beiden Sprachen ist das Paket. Während XPDL beliebig viele Pakete pro Dokument erlaubt, beschränkt BPML jedes Dokument auf ein einziges Paket. Innerhalb eines Paketes ist es möglich Prozesse, Variablen, etc. zu definieren. Eine weitere Gemeinsamkeit stellt die Subsummierung von Aktivitäten zu Prozessen dar. Damit Aktivitäten automatisiert abgewickelt werden können, ist es möglich Applikationen zu definieren. XPDL ist diesbezüglich mächtiger, da sämtliche Applikationen darstellbar sind. BPML beschränkt sich auf eine Verwendung von Webservice (vgl. [Boot04]) Applikationen. Seite 5

6 3.1 Detaillierter Vergleich Kontext Der Begriff Kontext bezeichnet ein BPML Konstrukt, welches eine Umgebung für alle Aktivitäten und Prozesse innerhalb des Kontextes definiert. Durch dieses Konstrukt ist es möglich, Variablen, Signale, etc. auf einen bestimmten Bereich einzuschränken. context s define an environment for the execution of related activities. Activities that execute within the same context use the context to exchange information and coordinate their execution. An activity can access and modify the value of properties defined within that context, instantiate a nested process, raise and synchronize signals, and so forth. [Arki02] Ein Kontext kann entweder explizit durch das context Element modelliert werden oder implizit durch die Definition eines process oder package Elementes gegeben sein. Es wird von einer Eltern-Kind Beziehung gesprochen, falls ein Kontext einen anderen einschließt. Definitionen, welche innerhalb des Vater-Kontextes definiert sind, stehen innerhalb des Kind-Kontextes zur Verfügung. The hierarchical composition of activities creates a relationship between contexts. When a context definition encapsulates another context definition, we refer to the encapsulating definition as the parent context and to the encapsulated definition as the child context. The child context shares all the definitions of the parent context and, recursively, any of its parent contexts. It can also add local definitions of its own. The child context does not share any of its local definitions with the parent context and, by definition, with any sibling context. [Arki02] In XPDL existiert kein entsprechendes Konstrukt Aktivitäten Während XPDL nur eine einzige Art von Aktivität vorsieht, gibt es unter BPML verschiedene Aktivitätstypen. Diese werden in der nachfolgenden Tabelle dargestellt. Aktivitätstyp action assign call compensate delay empty fault raise spawn Beschreibung des Aktivitätstypes Greift auf ein Webservice zu, wobei Eingabe- und Ausgabevariablen übergeben werden können. Weist einer Variablen einen neuen Wert zu. Instanziert einen Prozess und wartet bis dieser endet. Führt für den laufenden Prozess Kompensation aus. Kompensation bezeichnet die Umkehrung von allen bereits ausgeführten Prozessschritten für den jeweiligen Prozess. D.h. es werden alle Änderungen rückgängig gemacht. Führt zu einer Verzögerung um eine gewisse Zeitdauer. Diese Aktivität ist ohne Inhalt. Erzeugt einen Fehler. Erzeugt ein Signal. Instanziert einen Prozess, ohne darauf zu warten, dass dieser fertig gestellt wird. Seite 6

7 synch all choice foreach sequence switch until while Wartet auf das Auftreten eines vordefinierten Signals, welches zur Instanzierung eines Prozesses führt. Führt alle Aktivitäten parallel aus. Führt eines von mehreren möglichen Aktivitätssets auf Grund des Auftretens eines Ereignisses aus. (zur Definition von Aktivitätsset vgl. Element activityset in Abschnitt 4.2.2) Führt Aktivitäten für jedes Element einer Liste aus. Führt Aktivitäten sequentiell aus. Führt eines von mehreren möglichen Aktivitätssets auf Grund der Erfüllung einer Bedingung aus. Führt Aktivitäten ein- oder mehrmals aus, solange eine gewisse Bedingung nicht erfüllt ist. Führt Aktivitäten null oder mehrmals aus, solange eine gewisse Bedingung erfüllt ist. XPDL bietet nicht so viele verschiedene Aktivitätstypen. Eine Aktivität in XPDL entspricht am ehesten einer action Aktivität in BPML. Dies deswegen, da XPDL Aktivitäten auf Applikationen zugreifen können und somit auch auf Webservices. Die BPML Aktivitäten assign, compensate und empty können ebenfalls mit einer XPDL Aktivität modelliert werden. Allerdings gilt es zu beachten, dass die Aktivität compensate Teil des Transaktionskonzeptes von BPML ist. XPDL unterstützt Transaktionen nicht explizit, weshalb eine Umsetzung unter XPDL nicht sinnvoll erscheint. BPML call Aktivitäten können unter XPDL als Aktivitäten mit Implementationsart Subflow realisiert werden. Diese Aktivitätsart ermöglicht es, einen Prozess an Stelle der Aktivität auszuführen. Signale werden in XPDL nicht unterstützt, wodurch die BPML Aktivitäten raise und synch kein entsprechendes Pendant in XPDL vorfinden. Die BPML Aktivitäten all, choice, switch, until und while lassen sich in XPDL als Transitionen abbilden. Für die BPML Aktivität sequence gibt es unter XPDL mehrere Darstellungsarten, wobei sie sich direkt mittels einer XPDL Aktivität umsetzen lässt. Dabei muss definiert werden, dass es sich bei der verwendeten XPDL Aktivität um eine BlockActivity handelt. BlockActivity bezeichnet eine Aktivität, welche andere Aktivitäten beinhalten kann. Innerhalb der XPDL BlockActivity muss ein XPDL ActivitySet definiert werden, welches mehrere Aktivitäten beinhalten kann, wobei eine sequentielle Ausführung stattfindet. Seite 7

8 In XPDL gibt es folgende Aktivitätsstrukturen: Abbildung 1 Aktivitätsstrukturen in XPDL [MaNo02] Wie in Abbildung 1 ersichtlich, gibt es neben der erwähnten BlockActivity auch eine Route Aktivität. Diese Aktivität soll dazu dienen, eine Kombination mehrerer Transitionen, welche im Abschnitt Transitionen weiter unten behandelt werden, zu ermöglichen Verbindung von Aktivitäten XPDL verwendet für den Übergang von einer zur nächsten Aktivität Transitionen. Hierbei handelt es sich um ein zweiteiliges Konzept. Einerseits gibt es explizite Transitionen, welche die Verbindungen zwischen Aktivitäten bestimmen, andererseits gibt es so genannte TransitionRestriction Elemente. Diese sind Teil der Aktivitäten selbst und bestimmen, wie mit ein- und ausgehenden Verbindungen zu verfahren ist. Abbildung 2 Einschränkung von ein- und ausgehenden Transitionen durch TransitionRestriction Elemente Sowohl für eingehende als für ausgehende Verbindungen existieren zwei Möglichkeiten der Synchronisation. Für eingehende Verbindungen ( Join ) ist es möglich darauf zu warten bis alle vorhergehenden Aktivitäten beendet wurden ( AND Seite 8

9 Restriction ) oder bis eine vorhergehende Aktivität beendet wurde ( XOR Restriction ). Bei ausgehenden Verbindungen ( Split ) können mehrere Aktivitäten gleichzeitig (parallel; AND Restriction ) oder eine von mehren Aktivitäten verfolgt werden ( XOR Restriction ). Explizite Verbindungen zwischen Aktivitäten können nur mittels Transitionen und folglich mit XPDL modelliert werden. Durch die angewandte Blockstruktur in BPML ist eine implizite Reihenfolge und somit Verbindung der Aktivitäten gegeben. Ist eine Wiederholung von Aktivitäten notwendig, so müssen spracheigene Konstrukte wie zum Beispiel until Elemente angewandt werden. Explizite Aufrufe sind nur für process Elemente, welche Prozesse modellieren, definiert. Prozesse sind [ ] eine Summe von logisch zusammenhängenden Aktivitäten, [ ]. ([Wojd02]) Von dieser Definition muss für eine erfolgreiche Umwandlung des Transitionskonzeptes nach BPML Abstand genommen werden. Wird jede XPDL Aktivität als BPML Prozess modelliert, so ist eine Transformation realisierbar. process Elemente, welche BPML Prozesse repräsentieren, können per call Element instanziert werden und ermöglichen somit einen expliziten Aufruf. Nachteilig an dieser Art der Verbindung ist allerdings, dass bei jeder Anwendung dieses Elementes ein eigener Prozess instanziert wird, d.h. es existiert eine eigene Instanz dieses Prozesses. Problematisch ist dies deshalb, da eine Synchronisation von parallel ausgeführten Aktivitäten in Geschäftsprozesse möglich sein muss. Nachfolgend wird dieser Sachverhalt detailierter analysiert. Zwei Aktivitäten werden parallel ausgeführt, wobei sich im Anschluss eine sequentielle Aktivität befindet. Alle Aktivitäten werden als Prozesse modelliert. Da auch die sequentielle Aktivität als process Element repräsentiert wird, ist ein Aufruf durch ein call Element erforderlich. Jede der beiden parallelen Aktivitäten führt diesen Aufruf durch und demzufolge existieren zwei Instanzen der sequentiellen Aktivität. Somit resultiert diese Art der Verbindung in einer fehlerhaften Umsetzung. Es wäre lediglich möglich sequentielle Abläufe fehlerfrei darzustellen. Abbildung 3 Synchronisation von zwei parallelen Aktivitäten Wird für Prozesse eine andere Instanzierungsart gewählt, so ist es dennoch möglich Parallelität zu modellieren. Prozesse sind dann per Signal zu instanzieren. Hierbei ist es möglich mehrere Signale zu definieren, welche für eine Instanzierung eines Prozesses notwendig sind. Für das vorher genannte Beispiel würde dies bedeuten, dass jede der parallen Aktivitäten jeweils ein Signal auslöst und die serielle Aktivität auf diese zwei Signale warten muss, bis sie ausgeführt werden darf. (Zu beachten ist, dass die Aktivitäten als Prozesse modelliert werden und nur deshalb ein Aufruf über Signale erfolgen kann.) Seite 9

10 3.1.4 Prozessinstanzierungsarten Explizite Instanzierungsarten für Prozesse sieht ausschließlich BPML vor. Es existieren drei verschiedene Arten, nämlich Aktivität Ein Prozess dieses Instanzierungstypes kann vom gleichen Kontext (vgl. Abschnitt Kontext weiter unten) aus, mittels der BPML Aktivitäten call, spawn und compensate aufgerufen werden. Nachricht Ein Prozess dieses Instanzierungstypes ist die unabhängigste Art einen Prozess zu instanzieren. Der zugehörige Prozess wartet auf das Eintreffen einer Nachricht, welche nicht im selben Kontext (vgl. Abschnitt Kontext weiter unten) erstellt werden muss. Diese Art der Instanzierung ermöglicht Webservices zur Instanzierung von Prozessen. Signal Ein Prozess dieses Instanzierungstypes ist darauf beschränkt vom selben Kontext (vgl. Abschnitt Kontext weiter unten) aus instanziert zu werden. Sobald das erwartete Signal auftritt, kommt es zur Instanzierung des entsprechenden Prozesses. Im Gegensatz zur Instanzierungsart Aktivität ist es allerdings möglich, dass mehrere Signale für eine Instanzierung definiert werden können. Hierdurch können mehrere vorhergehende Prozesse synchronisiert werden. In XPDL ist die Instanzierungsart nicht näher spezifiziert. Allerdings gibt es bei XPDL die Möglichkeit den AccessLevel eines Prozesses zu spezifizieren. Diese kann entweder öffentlich ( PUBLIC ) (d.h. der Prozess kann von einem externen System bzw. einer externen Applikation aufgerufen werden) oder privat ( PRIVATE ) (d.h. der Prozess kann nur von einer Aktivität mit Implementationsart Subflow aufgerufen werden) sein. XPDL bietet auf Aktivitätsebene die Möglichkeit an, den Implementierungstyp zu spezifizieren. Eine Aktivität kann entweder manuell, durch eine Applikation oder durch einen Prozess implementiert sein. BPML sieht auf dieser Ebene keine entsprechende Angabe vor Variablen Variablen werden in BPML über Property Elemente definiert. Drei Grundtypen können unterschieden werden: simpletype complextype element Diese drei Grundtypen entsprechen XML Schema Typen. (vgl. [Fall01]) In XPDL werden Variablen über Datafield Elemente dargestellt. DataType Elemente spezifizieren um welchen Datentyp es sich handelt. Es existieren die folgenden Datentypen: Seite 10

11 Array Type Hierbei handelt es sich um ein Datenfeld ( Array ) an Datentypen, wobei die einzelnen Elemente dieses Datenfeldes vom gleichen Datentyp sein müssen. Basic Type Hierbei handelt es sich um XSD (XML Schema Definition) simpletype Datentypen. (vgl. [Fall01]) Declared Type Referenziert auf einen definierten Datentyp, welcher in einer Typdefinition deklariert wurde. Enumeration Type Ermöglicht die Darstellung von Aufzählungen. External Reference Referenziert auf ein externes Dokument, welches den gewünschten Datentyp definiert. List Type Dieser Datentyp hat die gleiche Funktion wie der Datentyp Array Type, allerdings findet keine Beschränkung der Anzahl der Elemente statt. Record Type Repräsentiert eine Menge an Elementen, welche von unterschiedlichem Datentyp sein können. Schema Type Ermöglicht die Definition eines Datentyps nach XSD. Union Type Definiert eine Menge an Datentypen, wobei einer davon für eine Dateninstanz verwendet wird Zeitelemente Unter Zeitelementen werden Zeitgeber verstanden, welche bei Erreichen eines bestimmten Zeitpunktes bzw. nach Ablauf einer Zeitspanne einen Prozess oder eine Aktivität ausführen. Beide Sprachen sehen Elemente für diesen Zweck vor. In XPDL ist dies durch so genannte Deadline Elemente möglich. Nach Ablauf einer bestimmten Zeitdauer wird eine Ausnahme ausgelöst, welche dazu führt, dass einer Transition gefolgt wird. Somit dient dieses Element unter XPDL rein zur Festlegung von Maximaldauern für Aktivitäten. BPML sieht für die Abbildung von Zeitdauern das Element Schedule vor. Dieses Element dient im Gegensatz zu XPDL nicht zur Ausnahmebehandlung. Es instanziert einen Prozess zum angegebenen Zeitpunkt und ermöglicht hierdurch die Ausführung einer Aktivität Dokumentation Aktivitäten können in beiden Sprachen dokumentiert werden. Während XPDL hierfür eine eigene Datei vorsieht, in welcher sich eine Beschreibung der jeweiligen Aktivität befindet, ist die Dokumentation unter BPML Bestandteil des jeweiligen Aktivitätselementes. Seite 11

12 3.1.8 Workflow Unterstützung Unter Workflow soll folgende Definition verstanden werden: The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules. [Alle01] XPDL ist darauf ausgelegt Workflows zu unterstützen. Über das Element Implementation wird festgelegt, wie eine Aktivität implementiert ist. Es existieren hierfür drei verschiedene Möglichkeiten, nämlich manuell, Werkzeug unterstützt oder als Subflow. Ist eine Aktivität manuell implementiert, so wird diese Aktivität nicht durch eine XPDL-Engine unterstützt. Ist die Implementationsart gleich Werkzeug unterstützt, so bedeutet dies, dass diese Aktivität auf eine Applikation zugreift und somit durch diese realisiert wird. Subflow, die dritte Art der Implementation, dient dazu, einen Prozess aufzurufen, welcher die entsprechende Aktivität ausführt. Applikationen und Prozessteilnehmer sind durch eigene Elemente abbildbar. BPML unterstützt das Workflowkonzept nicht Simulation XPDL ermöglicht es Simulationsvariablen zu definieren. Diese Variablen sollen es ermöglichen, den Ablauf von Workflowprozessen zu simulieren. Es ist möglich die Dauer, die Kosten, die Wartezeit, die Kapazitätsauslastung (indirekt über das Attribut Instantiation ), etc. zu definieren. BPML kennt kein derartiges Konzept Ausnahmebehandlung BPML stellt ein umfangreiches Paket an Reaktionsmöglichkeiten für die Behandlung von Fehlern zur Verfügung. Es gibt Ausnahmeprozesse, welche auf eingehende Nachrichten hin instanziert werden. Gleichzeitig geht mit der Instanzierung die Beendigung aller gerade ausgeführten Kontextprozesse einher. Unter Kontextprozessen werden all jene Prozesse verstanden, welche innerhalb desselben Kontextes modelliert wurden. Die zweite Ebene des Ausnahmekonzeptes von BPML wird durch Fehlerroutinen ( fault handler ) dargestellt. Diese werden im jeweiligen Kontext definiert und können bei Auftreten von Fehlercodes entsprechende Aktivitäten zur Fehlerbehandlung aufrufen. Kompensationsprozesse stellen die dritte Stufe der Ausnahmebehandlung dar. Änderungen, welche vom fehlerhaften Prozess verursacht wurden, können durch diesen Prozess rückgängig gemacht werden. XPDL hat kein eigenes Ausnahmekonzept. Deadline Elemente sind die einzige Möglichkeit auf fehlerhaftes Verhalten (im Falle des Überschreitens einer bestimmten Zeitspanne bei der Ausführung einer Aktivität) zu reagieren. Nach Überschreiten einer gewissen Zeitspanne, wird ein Fehler ausgelöst. Dies führt dazu, dass eine Transition verfolgt wird. Seite 12

13 Spracherweiterung Die Möglichkeit einer individuellen Spracherweiterung um beliebige Elemente ist nur unter XPDL gegeben. Anforderungen spezifischer Hersteller können in XPDL zusätzlich zu den bereits vorhandenen Elementen über Extended Attributes Elemente definiert werden. Die Sprache ist somit individuell erweiterbar und im Gegensatz zu BPML an nahezu sämtliche Anforderungen anpassbar. Seite 13

14 4 Transformationsregeln und Algorithmen In diesem Kapitel werden zwei Algorithmen dargestellt, welche eine Umwandlung der beiden Prozessgrammatiken ermöglichen. Zuerst wird die Umwandlungsrichtung XPDL zu BPML behandelt, anschließend wird die Umwandlung in entgegengesetzter Richtung dargestellt. Ausgangsbasis für die Erstellung der Algorithmen bilden die jeweiligen XSD Elemente der Prozessmodellierungsgrammatiken. 4.1 Umwandlung von XPDL zu BPML Der folgende Algorithmus beschreibt, wie ein XPDL Dokument in ein BPML Dokument umgewandelt werden kann. Die Elemente des XPDL Dokumentes werden hierarchisch abgearbeitet und in entsprechende BPML Elemente umgewandelt. Es ist folgende Reihenfolge einzuhalten. 1. Es ist das XPDL Package Element zu ermitteln. 2. Es ist ein BPML package Element zu erzeugen. Das Attribut namespace ist gleich zu setzen. 3. Es sind alle XPDL WorkflowProcess Elemente, welche sich im Inhalt des XPDL Package Elementes befinden, zu ermitteln, und für jedes gefundene Element sind die nachfolgenden, untergeordneten Punkte auszuführen. a. Das Attribut AccessLevel, welches dem XPDL WorkflowProcess Element zugeordnet ist, muss je nach Wert folgendermaßen umgesetzt werden. i. Wenn es den Wert PRIVATE besitzt, ist keine Umwandlung notwendig. ii. Wenn es den Wert PUBLIC besitzt, ist ein process Element zu erzeugen, wobei das Attribut name gleich dem Attribut Id des XPDL WorkflowProcess Elementes zu setzen ist. Dem Wert des Attributes name ist der Text I anzufügen. 1. Im Inhalt des BPML process Elementes ist ein BPML event Element zu erzeugen, wobei das Attribut activity gleich dem Attribut Id des XPDL WorkflowProcess Elementes zu setzen ist. Dem Wert des Attributes activity ist der Text invoke voranzustellen. 2. Im Inhalt des BPML process Elementes ist ein BPML action Element zu erzeugen, wobei das Attribut name gleich dem Attribut activity des BPML event Elementes gesetzt wird. Das Attribut porttype ist gleich dem Text xpdlservicetype zu setzen. Das Attribut operation ist gleich dem Attribut name des BPML action Elementes zu setzen. a. Im Inhalt des BPML action Elementes ist ein BPML call Element zu erzeugen. Das Attribut name ist gleich dem Attribut Id des WorkflowProcess Elementes zu setzen. Dem Wert des Attributes name ist der Text call voranzustellen. Das Attribut process ist gleich dem Attribut Id des XPDL WorkflowProcess Elementes zu setzen. Seite 14

15 b. Es ist ein BPML process Element zu erzeugen. Das Attribut name ist gleich dem Attribut Id des XPDL WorkflowProcess Elementes zu setzen. Es ist ein BPML context Element im Inhalt des BPML process Elementes zu erzeugen, welches alle, im Inhalt des XPDL WorkflowProcess Elementes befindlichen, Elemente abbildet. Es ist ein BPML call Element im Inhalt des BPML process Elementes zu erzeugen. Das Attribut process ist gleich dem Attribut name jenes BPML process Elementes zu setzen, welches dem öffnenden Tag des BPML context Elementes am nächsten ist und sich in dessen Inhalt befindet. Das Attribut name ist gleich dem Attribut process zu setzen, wobei der Text call voranzustellen ist. i. Für jedes Activity Element, welches sich im Inhalt des XPDL WorkflowProcess Elementes befindet, ist Algorithmuspunkt 4 (Aktivitäten), welcher weiter unten beschrieben ist, anzuwenden. ii. Für jedes XPDL ActivitySet Element, welches sich im Inhalt des XPDL WorkflowProcess Elementes befindet, sind die nachfolgenden, untergeordneten Punkte auszuführen. Es ist ein BPML call Element im Inhalt des BPML process Elementes zu erzeugen. Das Attribut process ist gleich dem Attribut name jenes BPML process Elementes zu setzen, welches dem öffnenden Tag des BPML context Elementes am nächsten ist und sich in dessen Inhalt befindet. Das Attribut name ist gleich dem Attribut process zu setzen, wobei der Text call voranzustellen ist. 1. Es ist ein BPML process Element zu erzeugen, wobei das Attribut name gleich dem Attribut Id des XPDL ActivitySet Elementes gesetzt wird. 2. Es ist ein BPML context Element zu erzeugen, welches dem Inhalt des BPML process Elementes hinzuzufügen ist. 3. Für jedes XPDL Activity Element, welches sich im Inhalt des XPDL ActivitySet Elementes befindet, ist ein BPML process Element zu erzeugen, welches dem Inhalt des BPML context Elementes hinzuzufügen ist. a. Die einzelnen Elemente sind entsprechend Algorithmusschritt 4 (Umwandlung von Activity Elementen) zu modellieren. iii. Für jedes XPDL Element DataField sind die nachfolgenden, untergeordneten Punkte auszuführen. 1. Es ist ein BPML property Element zu erzeugen. Das Attribut name dieses Elementes ist gleich dem Attribut Id des DataField Elementes zu setzen. Das Attribut type ist gleich dem Attribut Type des XPDL Elementes BasicType, welches sich im Inhalt des XPDL Elementes DataType befindet, zu setzen. Das XPDL Element DataType befindet sich im Inhalt des XPDL Elementes DataField. Der Text xsd: ist dem Wert des Attributes type voranzustellen. Es ist darauf zu achten, dass der Wert des type Attributes ausschließlich Kleinbuchstaben enthält. iv. Für jedes XPDL FormalParameter Element sind die nachfolgenden, untergeordneten Punkte auszuführen. 1. Jedes Element ist als BPML property Element im Inhalt des BPML package Elementes zu modellieren. Seite 15

Seminar XML und Datenbanken. Thema: Workflow

Seminar XML und Datenbanken. Thema: Workflow Seminar XML und Datenbanken Thema: Workflow Betreuer: Markus Bon Bearbeiter: Kristof Barklage Gliederung (1) Grundlagen (2) Workflow Management Coalition (3) XML Process Definition Language (XPDL) (4)

Mehr

Business Process Execution Language. Christian Vollmer Oliver Garbe

Business Process Execution Language. Christian Vollmer <christian.vollmer@udo.edu> Oliver Garbe <oliver.garbe@udo.edu> Business Process Execution Language Christian Vollmer Oliver Garbe Aufbau Was ist BPEL? Wofür ist BPEL gut? Wie funktioniert BPEL? Wie sieht BPEL aus?

Mehr

Business Process Execution Language for Web Services (BPEL4WS)

Business Process Execution Language for Web Services (BPEL4WS) Hauptseminar und Vorlesung Web Services WS 2003/04 Business Process Execution Language for Web Services (BPEL4WS) Patrick Sauter 2/17 Vortrag - Überblick Definition, Zielsetzung und Allgemeines einfacher

Mehr

Geschäftsprozessmodellierung essmodellierung mit BPEL

Geschäftsprozessmodellierung essmodellierung mit BPEL Geschäftsprozessmodellierung essmodellierung mit BPEL Autor: Stefan Berntheisel Datum: 8. Januar 2010 Stefan Berntheisel Hochschule RheinMain Fachseminar WS 09/10 Agenda Grundlagen Business Process Execution

Mehr

1 YAWL Yet Another Workflow Language

1 YAWL Yet Another Workflow Language 1 YAWL Yet Another Workflow Language Das YAWL Workflow-Management-System wurde von Wil van der Aalst und seinem Team an der Eindhoven University of Technology entwickelt. Das System ist in seiner jetzigen

Mehr

Process Engineering VU 1 Workflow Management Beate List

Process Engineering VU 1 Workflow Management Beate List Process Engineering VU 1 Workflow Management Beate List Institut für Softwaretechnik und Interaktive Systeme Technische Universität Wien Favoritenstr. 9-11 / 188, A-1040 Wien email: list@wit.tuwien.ac.at

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

Web Services Composition (BPWS4J )

Web Services Composition (BPWS4J ) Web Services Composition (BPWS4J ) Hager Markus, Kober Christoph, Linde Kai, Ott Florian, Erdmann Dennis Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße

Mehr

Business Process Model and Notation BPMN

Business Process Model and Notation BPMN Business Process Model and Notation BPMN BPMN ist ein Standard der Object Management Group OMG zur graphischen Notation von Geschäftsprozessen Aktueller Standard: BPMN 2.0 (http://www.omg.org/spec/bpmn/2.0/)

Mehr

Präsentation zum Thema XML Datenaustausch und Integration

Präsentation zum Thema XML Datenaustausch und Integration Sebastian Land Präsentation zum Thema XML Datenaustausch und Integration oder Warum eigentlich XML? Gliederung der Präsentation 1. Erläuterung des Themas 2. Anwendungsbeispiel 3. Situation 1: Homogene

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

Mehr

Konzepte und Anwendung von Workflowsystemen. Kapitel 8: Workflow Ausführungssprache BPEL

Konzepte und Anwendung von Workflowsystemen. Kapitel 8: Workflow Ausführungssprache BPEL Vorlesung Wintersemester 2011/12 Konzepte und Anwendung von Workflowsystemen Kapitel 8: Workflow Ausführungssprache BPEL Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Institut für Programmstrukturen

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

Geschäftsprozessanalyse

Geschäftsprozessanalyse Geschäftsprozessanalyse Prozessmodellierung weitere Begriffe: workflow business process modelling business process (re-)engineering 2 Was ist ein Prozess? Prozesse bestehen aus Aktionen / Ereignissen /

Mehr

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part XI) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

BPMN. Suzana Milovanovic

BPMN. Suzana Milovanovic BPMN Suzana Milovanovic 2 Übersicht Klärung von Begriffen, Abkürzungen Was ist BPMN? Business Process Diagram (BPD) Beispielprozess Entwicklung von BPMN BPMN in der Literatur 3 Grundlegende Begriffe Business

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

9. Business Process Execution Language

9. Business Process Execution Language 1 9. Business Process Execution Language Beobachtung: häufige Änderungen der Geschäftsprozesse dies erfordert leichte und schnelle Software-Anpassung Idee: Software in (Web-)Services gliedern ( SOA) diese

Mehr

ISO 15504 Reference Model

ISO 15504 Reference Model Prozess Dimension von SPICE/ISO 15504 Process flow Remarks Role Documents, data, tools input, output Start Define purpose and scope Define process overview Define process details Define roles no Define

Mehr

EPK nach BPEL Transformation als Voraussetzung für praktische Umsetzung einer SOA

EPK nach BPEL Transformation als Voraussetzung für praktische Umsetzung einer SOA Sebastian Stein Konstantin Ivav EPK nach BPEL Transformation als Voraussetzung für praktische Umsetzung einer SOA www.ids-scheer.com Was macht IDS Scheer? Software und Beratung für Geschäftsprozessmanagement

Mehr

Tutorial zu WS-BPEL. Veranstaltung: Entwicklung verteilter Softwaresysteme mit Webservices im Sommersemester 2008

Tutorial zu WS-BPEL. Veranstaltung: Entwicklung verteilter Softwaresysteme mit Webservices im Sommersemester 2008 Tutorial zu WS-BPEL Veranstaltung: Entwicklung verteilter Softwaresysteme mit Webservices im Sommersemester 2008 Universität Hamburg Department Informatik Arbeitsbereich VSIS Gruppe 01: Johannes Kuhlmann,

Mehr

Microsoft Office SharePoint Services Workflow Limitierungen

Microsoft Office SharePoint Services Workflow Limitierungen Microsoft Office SharePoint Services Workflow Limitierungen Dorner Stefan, namics AG April 2007 Inhaltsverzeichnis Allgemeines... 3 Workflow Foundation Thread Pool-Modelle... 5 DefaultWorkflowSchedulerService...

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Geschäftsprozessmanagement: Einführung in»business Process Modelling Notation«(BPMN)

Geschäftsprozessmanagement: Einführung in»business Process Modelling Notation«(BPMN) Geschäftsprozessmanagement: in»business Process Modelling Notation«(BPMN) Eugen Labun Fachhochschule Gießen-Friedberg Fachbereich MNI Institut für Softwarearchitektur Serviceorientierte Architekturen bei

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung IBM WebSphere Process Server Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung AGENDA 1. Überblick 2. WebSphere Process Server 3. Komponenten 4. Präsentation

Mehr

Universität Trier. FB IV Wirtschafts- und Sozialwissenschaften. SS 2008 Veranstalterin: Dipl.-Wirt.-Inf. Ariane Gramm

Universität Trier. FB IV Wirtschafts- und Sozialwissenschaften. SS 2008 Veranstalterin: Dipl.-Wirt.-Inf. Ariane Gramm Universität Trier FB IV Wirtschafts- und Sozialwissenschaften SS 2008 Veranstalterin: Dipl.-Wirt.-Inf. Ariane Gramm Übung Wirtschaftsinformatik I Teil 2 Thema: Erläuterung der eepk Eingereicht am 12.06.2008

Mehr

Markus BöhmB Account Technology Architect Microsoft Schweiz GmbH

Markus BöhmB Account Technology Architect Microsoft Schweiz GmbH Markus BöhmB Account Technology Architect Microsoft Schweiz GmbH What is a GEVER??? Office Strategy OXBA How we used SharePoint Geschäft Verwaltung Case Management Manage Dossiers Create and Manage Activities

Mehr

Automatisierte Durchführung von Transporten in der Automic (UC4) Automation Engine - ONE Automation

Automatisierte Durchführung von Transporten in der Automic (UC4) Automation Engine - ONE Automation WF2Trans Automatisierte Durchführung von Transporten in der Automic (UC4) Automation Engine - ONE Automation Aus unserer langjährigen Erfahrung in Kundenprojekten wissen wir, dass ein klares und eindeutiges

Mehr

SOA goes real Service-orientierte Architekturen erfolgreich planen und einführen

SOA goes real Service-orientierte Architekturen erfolgreich planen und einführen Daniel Liebhart SOA goes real Service-orientierte Architekturen erfolgreich planen und einführen ISBN-10: 3-446-41088-0 ISBN-13: 978-3-446-41088-6 Inhaltsverzeichnis Weitere Informationen oder Bestellungen

Mehr

Model-Driven Software Development

Model-Driven Software Development Model-Driven Software Development BPEL 2.0 Robert Siebert Das Forschungs- und Entwicklungsprojekt OrViA wird mit Mitteln des Bundesministeriums für Bildung und Forschung (BMBF) gefördert, die innerhalb

Mehr

Using Workflows to Coordinate Web Services in Pervasive Computing Environments

Using Workflows to Coordinate Web Services in Pervasive Computing Environments Using Workflows to Coordinate Web Services in Pervasive Computing Environments Vortrag im Rahmen des Seminars SOA 2005 im Fachbereich Informatik angefertigt von Volker Henke Agenda 1. Ubiquitous Computing

Mehr

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

Vertiefte Grundlagen. Übung 2.7. TU Dresden - Institut für Bauinformatik Bauinformatik Vertiefte Grundlagen Geschäftsprozessmodellierung Übung 2.7 Begriffe Ein Geschäftsprozess beschreibt wiederkehrenden Ablauf. Dieser Ablauf beschreibt, welche Aktivitäten in welcher Folge

Mehr

Grundlagen der Verwendung von make

Grundlagen der Verwendung von make Kurzskript zum Thema: Grundlagen der Verwendung von make Stefan Junghans Gregor Gilka 16. November 2012 1 Einleitung In diesem Teilskript sollen die Grundlagen der Verwendung des Programmes make und der

Mehr

Softwarewiederverwendung und Patterns

Softwarewiederverwendung und Patterns Begrifflichkeiten und Beschreibungssystematik Begriffe Literatur zu Patterns Übersicht über die behandelten Konzepte Beschreibungsschema 97 Begriffe Glossar Patterns (Muster) sind ein Mittel der Wiederverwendung

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 6

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 6 Prof. Dr. Wilhelm Schäfer Paderborn, 24. November 204 Christian Brenner Tristan Wittgen Besprechung der Aufgaben:. - 4. Dezember 204 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester

Mehr

(Prüfungs-)Aufgaben zum Thema Scheduling

(Prüfungs-)Aufgaben zum Thema Scheduling (Prüfungs-)Aufgaben zum Thema Scheduling 1) Geben Sie die beiden wichtigsten Kriterien bei der Wahl der Größe des Quantums beim Round-Robin-Scheduling an. 2) In welchen Situationen und von welchen (Betriebssystem-)Routinen

Mehr

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA Liste der Handbücher Liste der Benutzerhandbücher von MEGA MEGA 2009 SP4 1. Ausgabe (Juni 2010) Die in diesem Dokument enthaltenen Informationen können jederzeit ohne vorherige Ankündigung geändert werden

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Java Batch Der Standard für's Stapeln

Java Batch Der Standard für's Stapeln Java Batch Der Standard für's Stapeln Berlin Expert Days 18.09.2015 Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Konzeption und Realisierung von IT-Lösungen GEDOPLAN

Mehr

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012 Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

End-to-End Automatisierung Mehr als Continuous Integration & Continuous Delivery

End-to-End Automatisierung Mehr als Continuous Integration & Continuous Delivery 29. Juni 2015 End-to-End Automatisierung Mehr als Continuous Integration & Continuous Delivery Jürgen Güntner Typen von Unternehmen 3 Property of Automic Software. All rights reserved Jene, die Apps als

Mehr

Erste Schritte in Java

Erste Schritte in Java Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

PART 3: MODELLING BUSINESS PROCESSES EVENT-DRIVEN PROCESS CHAINS (EPC)

PART 3: MODELLING BUSINESS PROCESSES EVENT-DRIVEN PROCESS CHAINS (EPC) Information Management II / ERP: Microsoft Dynamics NAV 2009 Page 1 of 5 PART 3: MODELLING BUSINESS PROCESSES EVENT-DRIVEN PROCESS CHAINS (EPC) Event-driven Process Chains are, in simple terms, some kind

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: 03.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc.

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: 03.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc. Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 4: Stand: 03.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische Universität Eichstätt-Ingolstadt

Mehr

Model Driven Development einige wichtige Grundprinzipien

Model Driven Development einige wichtige Grundprinzipien Model Driven Development einige wichtige Grundprinzipien Johannes Scheier j@scheier software.ch Copyright by Scheier Software Engineering Seite 1 Inhalt Was ist Model Driven Development (MDD)? Was verspricht

Mehr

ColdFusion 8 PDF-Integration

ColdFusion 8 PDF-Integration ColdFusion 8 PDF-Integration Sven Ramuschkat SRamuschkat@herrlich-ramuschkat.de München & Zürich, März 2009 PDF Funktionalitäten 1. Auslesen und Befüllen von PDF-Formularen 2. Umwandlung von HTML-Seiten

Mehr

Softwareanforderungen für Microsoft Dynamics CRM Server 2015

Softwareanforderungen für Microsoft Dynamics CRM Server 2015 Softwareanforderungen für Microsoft Dynamics CRM Server 2015 https://technet.microsoft.com/de-de/library/hh699671.aspx Windows Server-Betriebssystem Microsoft Dynamics CRM Server 2015 kann nur auf Computern

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

Tivoli Monitoring for Databases (ITM) Resource Model Tivoli Enterprise Console (TEC) Zusammenfassung. IBM Tivoli. Marcel Brückner

Tivoli Monitoring for Databases (ITM) Resource Model Tivoli Enterprise Console (TEC) Zusammenfassung. IBM Tivoli. Marcel Brückner 1 Tivoli Monitoring for Databases (ITM) Grundidee Umsetzung 2 3 Aufbau Kombination mit ITM Rule Sets 4 Grundidee Umsetzung 1 Tivoli Monitoring for Databases (ITM) Grundidee Umsetzung 2 3 Aufbau Kombination

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Modellgetriebene Softwareentwicklung bei der IBYKUS AG Modellgetriebene Softwareentwicklung bei der IBYKUS AG Theorie Teil 4: Domänenspezifische Sprachen Dr. Steffen Skatulla IBYKUS AG 1 Inhalt Teil 4: Domänenspezifische Sprachen Nutzung vorhandener Sprachen

Mehr

Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS

Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS CITT Expertengespräch TietoEnator 2006 Page 1 Data Freshness and Overall, Real

Mehr

Einführung in VisualBasic for Applications. Stefan Mahlitz

Einführung in VisualBasic for Applications. Stefan Mahlitz Einführung in VisualBasic for Applications Stefan Mahlitz Stefan Mahlitz Einführung in VBA 27.08.00 Inhaltsverzeichnis 1. Grundlagen der VisualBasic for Applications (VBA) Programmierung...2 1.1 Variablen,

Mehr

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird.

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. AGILO HOWTO Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. ROLLEN IM TEAM In Scrum hat jedes Teammitglied eine

Mehr

Service-Orientierte Architekturen

Service-Orientierte Architekturen Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 7: Web Services IV Exkurs über Sicherheitsanforderungen Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha

Mehr

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08 Security Patterns Benny Clauss Sicherheit in der Softwareentwicklung WS 07/08 Gliederung Pattern Was ist das? Warum Security Pattern? Security Pattern Aufbau Security Pattern Alternative Beispiel Patternsysteme

Mehr

6 Systematisches Testen von Programmen

6 Systematisches Testen von Programmen 6 Systematisches Testen von Programmen Testen Untersuchung des Source-Codes nach Fehlern und Anomalien Stefan Lucks, Software-Entwicklung für Sichere Systeme SS 04, Kapitel 6 p.1/24 Untersuchung des Source-Codes

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

SOA Service Oriented Architecture

SOA Service Oriented Architecture SOA Service Oriented Architecture (c) Till Hänisch 2006, BA Heidenheim [IBM] [WS] Wir haben: Prog ramm Proxy Proxy K2 K1 Plattformunabhängiger RPC Wir haben: Prog ramm Proxy Proxy K2 K1 Plattformunabhängiger

Mehr

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus]

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] ESB Open Source ESB: Mule Flightreservation Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] Inhalt 1. Open Source ESB: Mule... 2 1.1. Überblick... 2 1.1.1. Das Beispiel Zeigt:... 2 1.2. Installationsanleitung...

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Lehrstuhl für Allgemeine BWL Strategisches und Internationales Management Prof. Dr. Mike Geppert Carl-Zeiß-Str. 3 07743 Jena

Lehrstuhl für Allgemeine BWL Strategisches und Internationales Management Prof. Dr. Mike Geppert Carl-Zeiß-Str. 3 07743 Jena Lehrstuhl für Allgemeine BWL Strategisches und Internationales Management Prof. Dr. Mike Geppert Carl-Zeiß-Str. 3 07743 Jena http://www.im.uni-jena.de Contents I. Learning Objectives II. III. IV. Recap

Mehr

WF4 Windows Workflow Foundation. Titelmasterformat

WF4 Windows Workflow Foundation. Titelmasterformat WF4 Windows Workflow Foundation Titelmasterformat WF4 Über mich Name: Titelmasterformat E-Mail: Homepage: Roland König roland.koenig@rkoenig.eu www.rkoenig.eu Schwerpunkte:.Net- und SAP-Entwicklung Arbeitgeber:

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

VHDL Verhaltensmodellierung

VHDL Verhaltensmodellierung VHDL Verhaltensmodellierung Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 VHDL Verhaltensmodellierung 1/26 2008-10-20

Mehr

Microsoft Office SharePoint 2007

Microsoft Office SharePoint 2007 Inhalt 1 Erstellen von Workflows für Microsoft Office SharePoint 2007 15 June 2009 Sebastian Gerling Sebastian.gerling@spiritlink.de COPYRIGHT 2003 SPIRIT LINK GMBH. ALL RIGHTS RESERVED Inhalt 1 Dipl.

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Einführung in ActionScript

Einführung in ActionScript Fachbereich Mathematik und Informatik Softwareprojekt: Spieleprogrammierung Einführung in ActionScript Do, Hoang Viet(do@mi.fu-berlin.de) Freie Universität Berlin, SoSe 2012 Agenda Allgemeine Einführung

Mehr

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering andreas.holubek@arlanis.com arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

UpToNet Workflow Workflow-Designer und WebClient Anwendung

UpToNet Workflow Workflow-Designer und WebClient Anwendung UpToNet Workflow Workflow-Designer und WebClient Anwendung Grafische Erstellung im Workflow-Designer 1 Grafische Erstellung im Workflow-Designer Bilden Sie Ihre Arbeitsvorgänge im Workflow-Designer von

Mehr

Remotely Anywhere Verwendung von Zertifikaten Schritt für Schritt Anleitung zur Implementation von Zertifikaten in Remotely Anywhere

Remotely Anywhere Verwendung von Zertifikaten Schritt für Schritt Anleitung zur Implementation von Zertifikaten in Remotely Anywhere Remotely Anywhere Verwendung von Zertifikaten Schritt für Schritt Anleitung zur Implementation von Zertifikaten in Remotely Anywhere Copyright 1997-2005 Brainware Consulting & Development AG All rights

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Komponentenbasierte Softwareentwicklung

Komponentenbasierte Softwareentwicklung Seminar WS04 Komponentenbasierte Softwareentwicklung Karl Pauls Software-Komponente A software component is a unit of composition with contractually specified interfaces and explicit context dependencies

Mehr

Windows PowerShell 3.0 für Einsteiger 1

Windows PowerShell 3.0 für Einsteiger 1 Windows PowerShell 3.0 für Einsteiger 1 Übersicht über Windows PowerShell 3.0. Arbeiten mit Event Logs und PING Autor: Frank Koch, Microsoft Deutschland Information in this document, including URLs and

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Kybernetik Das Kybernetische Modell

Kybernetik Das Kybernetische Modell Kybernetik Das Kybernetische Modell Mohamed Oubbati Institut für Neuroinformatik Tel.: (+49) 731 / 50 24153 mohamed.oubbati@uni-ulm.de 05. 06. 2012 Das Modell Das Modell Was ist ein Modell? Ein Modell

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

VHDL Verhaltensmodellierung

VHDL Verhaltensmodellierung VHDL Verhaltensmodellierung Dr.-Ing. Volkmar Sieh Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2013 VHDL Verhaltensmodellierung 1/18 2013-01-11 Inhalt

Mehr

17 Komponentenbasiertes Software-Engineering

17 Komponentenbasiertes Software-Engineering 17 Komponentenbasiertes Software-Engineering 17.0 Einführung Lernziele Grundlagen, Prinzipien und Probleme des CBSE 17.1 Komponenten und Komponentenmodelle Komponenten und ihre Eigenschaften Komponentenmodelle

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Hermia Entwurf und Implementierung eines dynamisch rekonfigurierbaren Webservice basierten Workflow Management Systems

Hermia Entwurf und Implementierung eines dynamisch rekonfigurierbaren Webservice basierten Workflow Management Systems Hermia Entwurf und Implementierung eines dynamisch rekonfigurierbaren Webservice basierten Workflow Management Systems Diplomarbeit bei Prof. Dr. Martin Wirsing Betreuer: Dr. Alexander Knapp vorgelegt

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

SECTINO. Security for Inter-Organizational Workflows

SECTINO. Security for Inter-Organizational Workflows SECTINO Security for Inter-Organizational Workflows Framework zur Modellierung und Realsisierung sicherheitskritischer organisationsübergreifender Workflows Kooperation Research Group Quality Engineering

Mehr

Einsatz von UML und C++ am Beispiel einer Satelliten-Lageregelungssoftware

Einsatz von UML und C++ am Beispiel einer Satelliten-Lageregelungssoftware Einsatz von UML und C++ am Beispiel einer Satelliten-Lageregelungssoftware Dipl. Inform. Olaf Maibaum DLR, Abt. Simulations- und Softwaretechnik DLR, Abt. Simulations- und Softwaretechnik 1 Übersicht Bird-Satellit

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung Unified Process Eine Einführung von Hannes Fischer Fischer Software Elfenstr. 64 70567 Stuttgart Deutschland Copyright 2000 Hannes Fischer Unified Process Wie wird heute gearbeitet? Der Unified Process

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

DSLinux Skriptbasierte Inventarisierung für Linux

DSLinux Skriptbasierte Inventarisierung für Linux DSLinux Skriptbasierte Inventarisierung für Linux www.docusnap.com TITEL DSLinux AUTOR Docusnap Consulting DATUM 21.04.2015 Die Weitergabe, sowie Vervielfältigung dieser Unterlage, auch von Teilen, Verwertung

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

Mehr

SemTalk Services. SemTalk UserMeeting 29.10.2010

SemTalk Services. SemTalk UserMeeting 29.10.2010 SemTalk Services SemTalk UserMeeting 29.10.2010 Problemstellung Immer mehr Anwender nutzen SemTalk in Verbindung mit SharePoint Mehr Visio Dokumente Viele Dokumente mit jeweils wenigen Seiten, aber starker

Mehr

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015 Abstrakt zum Vortrag im Oberseminar Graphdatenbanken Gero Kraus HTWK Leipzig 14. Juli 2015 1 Motivation Zur Darstellung komplexer Beziehungen bzw. Graphen sind sowohl relationale als auch NoSQL-Datenbanken

Mehr

Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering,

Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering, Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering, Manfred Broy Lehrstuhl für Software & Systems Engineering Technische Universität München Institut für Informatik ISO 26262 Functional

Mehr