Diplomarbeit. Hochschule für Technik und Wirtschaft Dresden (FH) Fachbereich Informatik/Mathematik. im Studiengang Informatik

Größe: px
Ab Seite anzeigen:

Download "Diplomarbeit. Hochschule für Technik und Wirtschaft Dresden (FH) Fachbereich Informatik/Mathematik. im Studiengang Informatik"

Transkript

1 Hochschule für Technik und Wirtschaft Dresden (FH) Fachbereich Informatik/Mathematik Diplomarbeit im Studiengang Informatik Thema: Konzeption und prototypische Realisierung eines Prozessmodellierungstools zur Beschreibung komplexer Nachrichtentransformationen mit WSBPEL, dargestellt am Beispiel von TransConnect eingereicht von: Ralf Winter eingereicht am: Betreuer: Prof. Dr. rer. oec. habil. Uwe Wloka (HTW-Dresden) Dipl.-Wirt.-Inf. (FH) Torsten Uhr (SQL-GmbH)

2 Inhaltsverzeichnis Inhaltsverzeichnis Inhaltsverzeichnis... I Glossar... III Abbildungsverzeichnis... VI Tabellenverzeichnis... VIII Abkürzungsverzeichnis... IX 1 Einleitung Ausgangssituation und Motivation Zielstellungen Aufbau der Diplomarbeit Grundlegende Technologien Business Process Execution Language (BPEL) Einordnung Sprachbestandteile Bewertung Nachrichtentransformationsmodell Konzeptuelles Nachrichtenmodell Konzeptuelles Prozessmodell Grundlagen der Eclipse-Plugin-Entwicklung Infrastruktur von Eclipse Darstellungselemente Aktionen Weiterführende Themen Analyse und Spezifikation Istzustandsanalyse TransConnect Workflow Process Engine Defizite Untersuchung der Anforderungen an den Sollzustand Funktionale Anforderungen Nicht-Funktionale Anforderungen Untersuchung existierender Modellierungswerkzeuge Bewertungskriterien Produktvergleich Bewertung der Einsetzbarkeit Verwandte Arbeiten I

3 Inhaltsverzeichnis 4 Entwurf der prototypischen Realisierung am Beispiel von TransConnect Architekturentwurf des Prozessmodellierungstools Struktur und Aufbau Anpassung der Aktivitäten Projekt- und Ressourcenverwaltung Remoteverwaltungsansatz über Vermittler Remoteverwaltungsansatz über Direktzugriff Lokalverwaltungsansatz Entwurfsentscheidung und konzeptuelle Architektur Beschreibung der Schnittstelle zu TransConnect Ausgewählte Implementierungsaspekte der prototypischen Realisierung am Beispiel der Translation-Aktivität Allgemeine Vorgehensweise zur Erweiterung des Designers Import von externen Transformationsbeschreibungen Zusammenfassung und Ausblick Ergebnisse und Schlussfolgerungen Ausblick Anhang A Metagrammatik der generierten Prozessbeschreibung B Komplexbeispiel Bestellabwicklung C Inhaltliche Struktur der beiliegenden CD-ROM Literaturverzeichnis Erklärungen II

4 Glossar Glossar Adapter Hier: Entwurfsmuster zur Anpassung einer fest definierten Schnittstelle einer Klasse an eine andere, um die Kommunikation zwischen Klassen mit inkompatiblen Schnittstellen zu ermöglichen. Compiler Computerprogramm, das ein in einer Quellsprache geschriebenes Programm in ein semantisch äquivalentes Programm einer Zielsprache umwandelt. Content Assist Hilfsassistent, der dem Nutzer mehrere Auswahlmöglichkeiten zu einem definierten Kontext zur Verfügung stellt. Delegate Beschreibt eine Schnittstelle zu einem komplexen Untersystem als Form des Entwurfsmusters Fassade, bei der einzelne Funktionalitäten an Unterklassen des Subsystems weitergereicht werden. Impedance Mismatch Integration Interface Komposition Lazy Loading Listener Bezeichnet im Gebiet der Softwaretechnik das Problem der Abbildung mengenorientierter relationaler Datensätze (Tupel) auf Objekte imperativer Programmiersprachen, wobei die Verarbeitung nur zeilenweise (satzorientiert) erfolgen kann. Bezeichnet die Herstellung eines Ganzen. Im übertragenen Sinne ist mit Integration also die globale Zusammenführung lokaler Systeme hinsichtlich bestimmter Integrationsobjekte mit einer festgelegten Integrationsart gemeint. Schnittstelle zur Kommunikation zwischen verschiedenen Komponenten eines Softwaresystems über definierte Routinen. Zusammensetzung eines Dienstes aus mehreren bestehenden Diensten mit einer Prozessbeschreibungssprache. Beschreibt den Prozess des dynamischen Ladens von Ressourcen zur Laufzeit bei erstmaliger Verwendung. Ereignisbehandlungsroutine, die dann ausgeführt wird, wenn ein bestimmtes Ereignis eintritt. III

5 Glossar Message Transformation Model Meta-Informationen Monitoring Nachrichtentransformation Orchestrierung Parser Persistenz Das MTM ist ein konzeptuelles, graphenorientiertes Modell zur Beschreibung von Transformationsprozessen der komplexen Nachrichtentransformation und gliedert sich in ein Nachrichtenmodell und ein Prozessmodell. Bezeichnung für Daten, die Informationen über andere Daten enthalten und diese mit Hilfe ausgewählter Eigenschaften beschreiben. Sammelbegriff für die Überwachung eines Vorgangs oder Prozesses mit technischen Hilfsmitteln über einen bestimmten Zeitraum. Beschreibt die Transformation von Nachrichten als Spezialfall der Datentransformation, wobei zwischen elementarer (syntaktische Transformationen) und komplexer (semantische Transformationen als Folge von Prozessschritten) Nachrichtentransformation unterschieden werden muss. Art der Komposition, wobei die zentrale Interaktion von dezentralen Diensten mit einer direkt oder indirekt ausführbaren Prozessbeschreibungssprache aus einer lokalen Sicht beschrieben wird. Computerprogramm zur Zerlegung eines Eingabedokuments in einzelne Bestandteile, die einem bestimmten gewünschten Format entsprechen. Bezeichnet die Speicherung von Daten oder Objekten in nicht-flüchtigen Speichermedien wie Dateisysteme oder Datenbanken. Plugin Bezeichnet ein weitgehend eigenständiges Computerprogramm, welches die Funktionalität eines anderen Softwareprodukts erweitert und mit diesem über definierte Schnittstellen lose gekoppelt ist. Proxy Entwurfsmuster, bei dem die Kontrolle über ein Objekt auf ein vorgelagertes Stellvertreterobjekt verschoben wird. Prozess Beschreibung des Prozessablaufs mit einer Prozessbeschreibungssprache. Wird synonym auch als Prozesstyp bezeichnet. IV

6 Glossar Prozessbeschreibungssprache Ressource Routing Serialisierung Eine derartige Sprache kann als Metamodell zur Beschreibung von teilweise automatisierten Geschäftsprozessen in Form einer Folge von Prozessschritten verstanden werden. Typische Ausprägungen solcher Sprachen sind grafische Ausdrucksformen oder XML- Schemata. Betriebsmittel, das benötigt wird, um eine bestimmte Aufgabe zu erreichen. Hier: Bestandteil von TransConnect wie Adapter, Warteschlange, Workflow, Zeitgesteuerte Aufgabe oder Nachrichtentyp. Bezeichnet im Allgemeinen das Festlegen von Wegen für Nachrichtenströme über definierte Regeln. Bezeichnet in der Softwaretechnik die Abbildung von Objekten auf externe sequenzielle Darstellungsformen (wie zum Beispiel Datenströme) zur Erreichung von Persistenz. Template Schablonen oder Vorlagen, die eine vom Datentyp unabhängige, generische Programmierung ermöglichen und zur Laufzeit mit Parametern vervollständigt werden. Thread Widget Teil eines Prozesses, der eine bestimmte Aufgabe erledigen soll und meist zur parallelen Abarbeitung eingesetzt wird. Im Rahmen von grafischen Benutzeroberflächen oft verwendet, um das Blockieren der Eingabemaske bei längerer Laufzeit zu vermeiden. Synonym für ein Fensterkontrollelement oder Steuerelement in grafischen Benutzeroberflächen. Workflow Oftmals synonym für den Begriff des Prozesses beziehungsweise des Prozesstyps verwendet. Allerdings wird hierbei ausschließlich auf IT-gestützte Realisierungen abgezielt, weshalb Prozesstyp an dieser Stelle allgemeiner ist. Wrapper Austauschbare Hüllenklasse, welche die Funktionalitäten anderer Klassen kapselt und mit entsprechender Erweiterung auch als Adapter dienen kann. V

7 Abbildungsverzeichnis Abbildungsverzeichnis Abbildung 1: Adaptierte 3-Schichten-Architektur Abbildung 2: Logischer Aufbau des konzeptuellen Nachrichtenmodells Abbildung 3: Grundmodell eines gerichteten Graphen Abbildung 4: Knotentypen eines Prozesses Abbildung 5: Architekturaufbau Eclipse Abbildung 6: Architekturaufbau von TransConnect Abbildung 7: 3-Ebenen-Aufbau der Komponenten von TransConnect Abbildung 8: Architektur TransConnect Server Abbildung 9: Gesamtarchitektur TransConnect Abbildung 10: Architektur TransConnect Server Abbildung 11: Logischer Aufbau des WFPE-Core Abbildung 12: Arbeitsschritte des Process Parsers Abbildung 13: Aufbau Migrator Abbildung 14: Aufbau Service Dictionary Abbildung 15: Aufbau des Runtime Environment Abbildung 16: Einschätzung Eclipse BPEL Project Abbildung 17: Screenshot Eclipse BPEL Project Abbildung 18: Bewertung IX Workflow Modeler Abbildung 19: Screenshot IX Workflow Modeler Abbildung 20: Bewertung JOpera Abbildung 21: Screenshot JOpera Abbildung 22: Bewertung Intalio BPMS Designer Abbildung 23: Screenshot Intalio BPMS Designer Abbildung 24: Bewertung ActiveBPEL Designer Abbildung 25: Screenshot ActiveBPEL Designer Abbildung 26: Ergebnis des Produktvergleichs Abbildung 27: Gesamtarchitektur Eclipse BPEL Project Abbildung 28: Untersuchung der Lese- und Schreibperformance Abbildung 29: Aufbau Plugin-Komponente model Abbildung 30: Aufbau Plugin-Komponente ui Abbildung 31: TransConnect Beispielszenarien Abbildung 32: Schema Remoteverwaltungsansatz über Vermittler Abbildung 33: Schema Remoteverwaltungsansatz über Direktzugriff Abbildung 34: Schema Lokalverwaltungsansatz Abbildung 35: Ordnerstruktur Ressourcenverwaltung Abbildung 36: Schnittstellen TransConnect Server Abbildung 37: Schnittstelle Process Designer Abbildung 38: Schnittstelle Ressourcenverwaltung Abbildung 39: Ecore-Model der Translation-Aktivität Abbildung 40: UML-Klassendiagramm der Translation-Aktivität Abbildung 41: Extension für Schaltfläche der Translation-Aktivität Abbildung 42: Extension für Aktion der Translation-Aktivität Abbildung 43: Extension für Eigenschaftenseite der Translation-Aktivität Abbildung 44: Screenshot Eigenschaftenseite der Translation-Aktivität Abbildung 45: UML-Klassendiagramm der Transformation-Schnittstelle VI

8 Abbildungsverzeichnis Abbildung 46: Screenshot Auswahldialog Transformationbeschreibung Abbildung 47: Beispielprozess Bestellabwicklung VII

9 Tabellenverzeichnis Tabellenverzeichnis Tabelle 1: Notation der Metagrammatik... 6 Tabelle 2: Allgemeine Sprachbestandteile von WSBPEL Tabelle 3: Grundlegende Aktivitäten von WSBPEL Tabelle 4: Strukturierte Aktivitäten von WSBPEL Tabelle 5: Transaktionsaktivitäten von WSBPEL Tabelle 6: Aktionen in Eclipse Tabelle 7: Gegenüberstellung der Defizite Tabelle 8: Funktionale Anforderungen an das Prozessmodellierungswerkzeug Tabelle 9: Funktionale Anforderungen an die Ressourcenverwaltung Tabelle 10: Funktionale Anforderungen an die Monitoring-Komponente Tabelle 11: Nicht-Funktionale Anforderungen Tabelle 12: Bewertungskriterien Tabelle 13: Produktvergleich Modellierungswerkzeuge Tabelle 14: Aufgaben der Plugin-Komponenten Tabelle 15: Abbildung der interaktionsorientierten Aktivitäten Tabelle 16: Abbildung der kontrollflussorientierten Aktivitäten Tabelle 17: Abbildung der datenflussorientierten Aktivitäten Tabelle 18: Ressourcen des TransConnect -Servers Tabelle 19: Vergleich TC-Manager mit TC-Developer Studio Tabelle 20: Benötigte Ressourcen der Aktivitäten Tabelle 21: Identifizierte Typen von Transformationsbeschreibungen Tabelle 22: Inhaltliche Struktur der beiliegenden CD-ROM VIII

10 Abkürzungsverzeichnis Abkürzungsverzeichnis API BLOB BPEL BPMN DOM DTD EAI ECA EMF FTP GMF GUI J2EE JDBC JNI JVM MDD MOM MTM OASIS PDE Application Programming Interface Binary Large Object Business Process Execution Language Business Process Modeling Notation Document Object Model Document Type Definition Enterprise Application Integration Event-Condition-Action Eclipse Modeling Framework File Transfer Protocol Graphical Modeling Framework Graphical User Interface Java 2 Enterprise Edition Java Database Connectivity Java Native Interface Java Virtual Machine Model Driven Development Message Orientated Middleware Message Transformation Model Organization for the Advancement of Structured Information Standards Plugin Development Environment IX

11 Abkürzungsverzeichnis RDBMS RFRS SDK STX SWT Relational Database Management System Ready For Rational Software Software Development Kit Streaming Transformation for XML Standard Widget Toolkit TC TransConnect UI UML VM WFPE WSBPEL WSDL WSFL WSIL XLANG XML XPath XSD XSL(T) User Interface Unified Modeling Language Virtual Machine Workflow Process Engine Web Service Business Process Execution Language Web Service Description Language Web Service Flow Language Web Service Inspection Language XML-basierte Erweiterung der WSDL Extensible Markup Language XML Path Language XML Schema Definition Extensible Stylesheet Language (Transformation) X

12 1 Einleitung 1 Einleitung Die Steuerung von Geschäftsprozessen über eine Workflow-Engine ist zusammen mit einem Nachrichtentransportsystem, einer regelbasierten Verteilung von Nachrichten und einem zentralem Repository zur Regel- und Prozessdefinition einer der wichtigsten Bestandteile einer modernen Integrationsplattform im Sinne der Enterprise Application Integration (EAI). Begleitend dazu werden Werkzeuge zur Prozessmodellierung dazu genutzt, eine komfortable grafische Modellierung der Geschäftsprozesse innerhalb einer bestimmten Notation zu ermöglichen. Im Rahmen dieser Diplomarbeit ist zu untersuchen, in wie weit existierende Prozessmodellierungstools zur visuellen Beschreibung komplexer Transformationsprozesse eingesetzt, respektive als Grundlage für eine Eigenentwicklung genutzt werden können. Der Entwurf und die prototypische Realisierung richten sich hierbei nach den Anforderungen der Integrationsplattform TransConnect der Firma SQL GmbH. 1.1 Ausgangssituation und Motivation Mit der Definition eines konzeptuellen Modells zur Beschreibung komplexer Nachrichtentransformationen dem Message Transformation Model (MTM) [BÖHM07] wurde die Grundlage für die Einführung einer Prozesssteuerung in die Integrationsplattform TransConnect gelegt. Unter Nutzung von Transformationssprachen des XML-Standards wie XSLT oder STX wurden Vorschriften festgelegt, um eingehende Nachrichten von Quellsystemen in das interne Nachrichtenformat umzuwandeln beziehungsweise zum Anschluss beliebiger Zielsysteme interne Nachrichten in das Format des Zielsystems zu transformieren. Das Modell wurde auf externer Ebene mit Mitteln der Prozessbeschreibungssprache BPEL abgebildet und erlaubt somit prinzipiell die Nutzung bereits existenter Werkzeuge zur Modellierung von Prozessen. Auf diese Weise können Nutzer zu themengebundenen Szenarien wie zum Beispiel Bestellwesen, Lohnbuchhaltung oder Auftragsplanung Prozesspläne grafisch erstellen. Dies kann ohne Kenntnis von internen Vorgängen im EAI-System erfolgen und erspart daher die textuelle Konfiguration von Routen innerhalb eines komplexen Management-Tools. 1

13 1 Einleitung Im Rahmen der Weiterentwicklung von TransConnect zu Version soll somit ein Prozessmodellierungstool entworfen werden, mit dem es möglich ist, einen Workflow mit den Bestandteilen des MTM zu visualisieren. Da vorhandene Tools zur Prozessmodellierung zwar möglicherweise bereits mit Standards wie BPEL oder BPMN, jedoch nicht mit den Spezifikationen des MTM kompatibel sind, spielt die Art und Weise der formalen Beschreibung des modellierten Prozesses lediglich eine untergeordnete Rolle. Vielmehr muss diese künftig so erfolgen, dass die modellierten Workflows direkt an TransConnect weitergereicht und dort von der Workflow-Engine verarbeitet werden können. 1.2 Zielstellungen Basierend auf der bereits formulierten Ausgangssituation, können nun die Hauptziele für die Diplomarbeit festgelegt und anschließend näher spezifiziert werden. Untersuchung existierender Modellierungswerkzeuge im Hinblick auf die gestellten Anforderungen Bewertung der Einsetzbarkeit als Grundlage für eine Erweiterung Entwurf der Erweiterungen anhand des MTM und deren prototypische Realisierung am Beispiel von TransConnect Grundlegender Entwurf und prototypische Implementierung einer Projekt- und Ressourcenverwaltung In den ersten beiden Zielstellungen ist zunächst zu untersuchen, ob auf dem Markt vorhandene Prozessmodellierungstools den Anforderungen von TransConnect beziehungsweise des MTM genügen und somit wiederverwendet und erweitert werden können, oder ob eine Eigenentwicklung nötig ist. Abhängig von der Bewertung der Einsetzbarkeit steht nun als drittes Ziel der Entwurf der Eigenentwicklung beziehungsweise der Erweiterung und dessen prototypische Realisierung am Beispiel von TransConnect im Mittelpunkt der Diplomarbeit. Im Falle der Erweiterung eines vorhandenen Tools soll insbesondere darauf geachtet werden, dass die zusätzlichen Module möglichst weitgehend lose gekoppelt sind und somit Produktaktualisierungen des Hauptprogramms nur mit geringfügigen Änderungen verbunden sind. Als letzte 2

14 1 Einleitung Zielstellung der Diplomarbeit ist als Vorarbeit zu einem künftigen umfassenden TransConnect Developer Studio die Verwaltung der Projekte und Ressourcen beziehungsweise Metadaten, die der TransConnect -Server benötigt, zu entwerfen und ebenfalls prototypisch zu implementieren. 1.3 Aufbau der Diplomarbeit Die Diplomarbeit orientiert sich generell an den bereits definierten Zielstellungen und gliedert sich dabei in sechs Kapitel, die gleichzeitig die oberste Gliederungsebene darstellen. Als zweite Ebene werden Unterkapitel und als dritte Ebene Abschnitte verwendet. Zusätzlich können an einigen Stellen Teilüberschriften ohne Nummerierung vorkommen, um einzelne Abschnitte inhaltlich nochmals zu ordnen. Nach dieser Einleitung in Kapitel 1 beschäftigt sich Kapitel 2 zunächst mit grundlegenden Technologien wie der Business Process Execution Language (BPEL) sowie dem Message Transformation Model (MTM). Hierbei sei jedoch darauf hingewiesen, dass die Sprache BPEL an sich in dieser Diplomarbeit nur eine untergeordnete Rolle spielt und das MTM in der Diplomarbeit von Matthias Böhm [BÖHM07] ausführlich definiert und beschrieben ist, weshalb an dieser Stelle nur eine kurze Einführung und Übersicht gegeben wird. Abschließend gibt dieses Kapitel einen Einblick in das Plugin Development Environment (PDE) von Eclipse, mit dessen Hilfe sehr komfortabel auf dem Eclipse Framework basierende Tools und Plugins entwickelt werden können. In Kapitel 3 wird zunächst die ausführliche Analyse des Istzustands vorgenommen und anschließend werden die Anforderungen an den Sollzustand definiert. Diese beiden Schritte dienen als Ausgangspunkt für die nun folgende Untersuchung existierender Modellierungswerkzeuge. Dabei geht es neben der Definition von Bewertungskriterien sowie dem eigentlichen umfangreichen Produktvergleich um eine abschließende Bewertung der möglichen Einsetzbarkeit eines vorhandenen Tools als Erweiterungsgrundlage. Während die bisherigen Kapitel lediglich analytische Voraussetzungen schaffen, befasst sich Kapitel 4 mit dem Entwurf der prototypischen Realisierung am Beispiel von TransConnect. Besondere Aspekte der Implementierung an ausgewählten Beispielen 3

15 1 Einleitung werden in Kapitel 5 beschrieben, wobei lediglich Auszüge des Quellcodes vorkommen. Die CD im Anhang beinhaltet hingegen das vollständige Projekt inklusive ausführlicher Dokumentation im JavaDoc-Format. Kapitel 6 fasst die Ergebnisse der Diplomarbeit noch einmal zusammen, weist auf mögliche weiterhin vorhandene Defizite hin und gibt einen Ausblick auf zusätzliche Erweiterungen und Perspektiven, die aber nicht Bestandteil dieser Diplomarbeit sind. An dieser Stelle sei zudem vermerkt, dass aus Gründen der Nachvollziehbarkeit und Zuordnung oftmals englische Originalbegriffe verwendet werden müssen, jedoch an vielen Stellen versucht wird, eine deutsche Entsprechung zu finden. 4

16 2 Grundlegende Technologien und Tools 2 Grundlegende Technologien In diesem Kapitel werden grundlegende Technologien und Tools im Überblick dargestellt, deren Kenntnis für das Verständnis der Diplomarbeit wichtig ist. Dabei wird zunächst kurz auf die Prozessbeschreibungssprache BPEL (Business Process Execution Language) eingegangen, welche zur Einordnung der durch das zu entwickelnde Prozessmodellierungstool entstehenden Diagramme wichtig ist und vom Nachrichtentransformationsmodell verwendet wird. Abschließend werden die Konzepte der Eclipse-Plugin-Entwicklung beschrieben, die die Grundlage für die Entwicklung des Prozessmodellierungstools darstellen. 2.1 Business Process Execution Language (BPEL) Die Business Process Execution Language ist eine XML-basierte Sprache, die zur Orchestrierung von Webservices eingesetzt wird. Das zu Grunde liegende Prozessmodell nutzt dabei Aktivitäten für jeden Prozessschritt, wobei einzelne Aktivitäten mit Web Services kommunizieren können (daher auch Web Service Process Execution Language WSBPEL genannt). Die Spezifikation der derzeit aktuellen Version, vom OASIS WS-BPEL Komitee am 14. September 2004 als WSBPEL 2.0 bezeichnet, wurde am 12. April 2007 als Standard verabschiedet Einordnung Das Ziel der Sprache BPEL ist es, vorhandene Ideen der Sprachen XLANG von Microsoft und WSFL (Web Service Flow Language) von IBM aufzugreifen und somit eine Beschreibung von sowohl abstrakten als auch direkt ausführbaren Geschäftsprozessen zu ermöglichen. Eine grafische Modellierung der Prozesse ist im Standard selbst nicht vorgesehen und richtet sich nach der Implementierung des jeweiligen Tools. Für abstrakte Geschäftsprozesse wird dafür typischerweise die Business Process Modeling Notation (BPMN) von vielen Designern verwendet. Ausführbare Prozesse können auf einer entsprechenden BPEL-Engine gestartet werden, während abstrakte Prozesse interne Vorgänge beschreiben und somit nicht der externen Sicht auf den Geschäftsprozess dienen. 5

17 2 Grundlegende Technologien und Tools Sprachbestandteile Die allgemeine Metagrammatik von WSBPEL 2.0 kann nach [OAWS07] wie folgt dargestellt werden, wobei an dieser Stelle aus Gründen der Übersichtlichkeit auf die Angabe der Attribute verzichtet wird. Dabei werden folgende Konventionen bezüglich der Notation verwendet, die gleichermaßen für die gesamte Diplomarbeit gültig sind. Notation Häufigkeit? einmal oder kein mal * einmal, kein mal oder beliebig oft + einmal oder beliebig oft [ ] Zusammenfassung von Elementen zu einer Gruppe unter Beachtung von?, * und + ( ) Alternativen innerhalb einer Gruppe von Elementen mit ( und ) oder innerhalb von Attributen Tabelle 1: Notation der Metagrammatik <process> <extensions>? <extension>+ </extensions> <import/>* <partnerlinks>? <partnerlink/>+ </partnerlinks> <messageexchanges>? <messageexchange/>+ </messageexchanges> <variables>? <variable/>+ </variables> 6

18 2 Grundlegende Technologien und Tools <correlationsets>? <correlationset/>+ </correlationsets> <faulthandlers>? <catch>* activity </catch> <catchall>? activity </catchall> </faulthandlers> <eventhandlers>? <onevent>* <correlations>? <correlation/>+ </correlations> <fromparts>? <frompart/>+ </fromparts> <scope...>...</scope> </onevent> <onalarm>* (<for>duration-expr</for> <until>deadline-expr</until>)? <repeatevery>duration-expr</repeatevery>? <scope...>...</scope> </onalarm> </eventhandlers> activity </process> Das Wurzelelement <process> kapselt dabei den gesamten Prozess und enthält die einzelnen Sprachbestandteile als Kindelemente, die nachstehend kurz vorgestellt und beschrieben werden. 7

19 2 Grundlegende Technologien und Tools Name extensions import partnerlinks messageexchanges variables correlationsets faulthandlers eventhandlers Tabelle 2: Beschreibung Namensräume von WSBPEL-Erweiterungen Abhängigkeiten zu externen XML-Schemata oder WSDL- Definition Webservices, mit denen der Prozess kommunizieren soll Logische Bezeichner zur Assoziation von zusammengehörigen Receive/Reply-Paaren Variablen eines bestimmten Nachrichtentyps Zuordnungen von Variablen aus der Kommunikation mit Webservices zu einer bestimmten Prozessinstanz Fehlerbehandlungsroutinen Ereignisbehandlungsroutinen Allgemeine Sprachbestandteile von WSBPEL-2.0 Die Abschnitte in der Metagrammatik, die mit activity gekennzeichnet sind, stellen Platzhalter für eine beliebige Anzahl von Aktivitäten dar. Dabei wird zunächst unterschieden zwischen grundlegenden Aktivitäten, die weitestgehend atomar sind, und geschachtelten (strukturierten) Aktivitäten, die wiederum andere Aktivitäten enthalten können und somit zur Komposition von komplexen Prozessen geeignet sind. Grundlegende Aktivitäten Name assign validate invoke receive reply throw Beschreibung Wertzuweisung einer Variablen Gültigkeitsprüfung von Variablenwerten anhand deren Definition Aufruf eines Webservice zum Versenden einer Nachricht, entweder synchron (Request-Response) oder asynchron Blockierendes Warten auf passende eingehende Nachricht Verschicken einer Nachricht als Antwort auf eine eingehende Nachricht Signalisierung eines Fehlers, vergleichbar mit Ausnahmen (Exceptions) in objektorientierten Programmiersprachen 8

20 2 Grundlegende Technologien und Tools Name rethrow exit wait empty Tabelle 3: Beschreibung Verwendung im Rahmen der Fehlerbehandlung zum Weitergeben eines Fehlers Sofortiges Beenden eines Prozesses ohne Fehlerbehandlung Unterbrechung des Prozesses für eine definierte Zeitspanne oder bis zu einem bestimmten Zeitpunkt Leerer Knoten ohne Aktion Grundlegende Aktivitäten von WSBPEL-2.0 Strukturierte Aktivitäten Name sequence if while repeatuntil foreach flow pick Tabelle 4: Beschreibung Abarbeitung der Aktivitäten in der vorgegebenen Reihenfolge Bedingte Abarbeitung genau einer Aktivität entsprechend der gesetzten Bedingung, Erweiterung um beliebig viele elseifbeziehungsweise else-elemente möglich Abarbeitung der Aktivitäten dieser kopfgesteuerten Schleife, solange die Bedingung zutrifft Abarbeitung der Aktivitäten dieser fußgesteuerten Schleife, bis die Bedingung zutrifft Abarbeitung der Aktivitäten dieser kopfgesteuerten Schleife für alle Elemente, entweder seriell (entspricht der sequence- Aktivität) oder parallel (entspricht der flow-aktivität) Parallele Abarbeitung der Aktivitäten, beendet erst wenn jede der Aktivitäten beendet wurde (Synchronisation) Blockierendes Warten auf das Eintreten eines bestimmten Ereignisses und Auslösen einer Reaktion Strukturierte Aktivitäten von WSBPEL-2.0 Die Aktivitäten in der letzten Gruppe können ebenfalls weitere Aktivitäten beinhalten, beziehen sich jedoch auf einen eigenständigen Teilprozess, der auch als Transaktion bezeichnet werden kann. 9

21 2 Grundlegende Technologien und Tools Transaktionsaktivitäten Name scope compensate compensationscope Tabelle 5: Beschreibung Eine Art abgegrenzter Teilprozess mit eigenen Aktivitäten, die nur hier gültig sind Verwendung im Rahmen der Fehlerbehandlung zur Kompensation erfolgreich beendeter scope-aktivitäten Ähnlich wie compensate, jedoch auf einen speziellen scope bezogen Transaktionsaktivitäten von WSBPEL Bewertung Die Sprache WSBPEL wurde mit Verabschiedung der Version 2.0 hinsichtlich ihrer Komplexität stark erweitert und deckt mit den vorhandenen Aktivitäten nahezu sämtliche möglichen Funktionalitäten ab, die mit der Orchestrierung von Webservices in Verbindung stehen. Die flexibel nutzbare Invoke-Aktivität erlaubt die Kommunikation mit beliebigen externen Diensten, weshalb mit BPEL modellierte Prozesse in einer Vielzahl von spezifischen Szenarien einsetzbar sind. Bezüglich der standardisierten Erweiterung können so genannte ExtensionActivities verwendet werden, um die Sprache an eigene Anforderungen anzupassen. Auf Grund der aktuell hohen Akzeptanz in der Wirtschaft ist WSBPEL 2.0 somit sehr gut zur Beschreibung eines umfangreichen Nachrichtentransformationsmodells geeignet, worauf im folgenden Unterkapitel näher eingegangen wird. 10

22 2 Grundlegende Technologien und Tools 2.2 Nachrichtentransformationsmodell Das von Matthias Böhm in einem konzeptuellen Modell [FEKM06] definierte Nachrichtentransformationsmodell das Message Transformation Model (MTM) enthält sowohl ein konzeptuelles Nachrichtenmodell als auch ein konzeptuelles Prozessmodell, welche sich wie folgt in die konzeptuelle Ebene der 3-Ebenen- Architektur nach ANSI/SPARC [ANSI75] einordnen: Abbildung 1: Adaptierte 3-Schichten-Architektur Beide Teilmodelle werden in den nachfolgenden Abschnitten genauer betrachtet Konzeptuelles Nachrichtenmodell Das konzeptuelle Nachrichtenmodell beschreibt ein generisches Nachrichtenmodell, mit dem sämtliche Transformationsprozesse abgebildet werden können. Einzelne Nachrichten bestehen aus einem Kopf- und Datensegment, aus denen sich der in folgender Abbildung dargestellte logische Aufbau einer Nachricht ergibt: 11

23 2 Grundlegende Technologien und Tools Abbildung 2: Logischer Aufbau des konzeptuellen Nachrichtenmodells Während das Kopfsegment einer Nachricht aus einer 1:1-Zuordnung von Attribut und Wert für spezifische Metadaten zur Verwaltung besteht, enthält das Datensegment komplexere Attribute, denen jeweils ein Teil (Part) der Nachricht zugeordnet wird. Diese können entweder atomar sein oder wiederum selbst Binary Large Objects (BLOBs) beziehungsweise XML-Fragmente enthalten. Der Default-Part CONTENT muss dabei jedoch immer vorhanden sein. Mit diesem attributorientierten, feingranularen Ansatz ist es möglich, sämtliche Datenrepräsentation gleichzeitig flexibel und dynamisch, aber auch mit einer definierten Struktur abzubilden Konzeptuelles Prozessmodell Bezüglich des konzeptuellen Prozessmodells wurde ein graphenorientiertes Modell nach dem Konzept des JBoss Graph Oriented Programming [JGOP06] gewählt, um eine effiziente Verarbeitung aller Prozessbeschreibungssprachen zu gewährleisten. Die einzelnen Prozessschritte wurden dabei anforderungsorientiert entworfen, das heißt, bei erweiterten Anforderungen an eine Transformation werden einfach weitere Prozessschritte hinzugefügt ohne sich an eine bestimmte Sprache zu binden. Intern wurde das Modell aus Gründen der Performance als kompilierter und parametrisierter Prozessplan realisiert, der als eine Art Template verstanden werden kann. Aufbauend 12

24 2 Grundlegende Technologien und Tools auf dem Grundmodell eines gerichteten Graphen mit Knoten und Kanten, wurde das konzeptuelle Prozessmodell durch das hierarchische Element eines Prozesses erweitert, wobei die Knotentypen einzelne Prozessschritte darstellen, wie die folgende Abbildung zeigt: Abbildung 3: Grundmodell eines gerichteten Graphen Anhand dieses Modells wurden Muster als Knotentypen, respektive Prozessschritte, definiert, um die Interaktion mit externen Systemen, den Kontroll- und Datenfluss sowie die Transaktionssicherheit von Prozessen abzubilden. Abbildung 4: Knotentypen eines Prozesses Die einzelnen Muster werden in Kapitel 4 noch einmal näher beschrieben, welches sich unter anderem mit dem Entwurf der entsprechenden Darstellungselemente für jedes der genannten Prozessschritte im Prozessplan des Modellierungswerkzeugs beschäftigt. Eine Bewertung des MTM zusammen mit der Workflow Engine unter den aktuellen Gegegebenheiten findet in Abschnitt (Defizite der Istzustandsanalyse) statt. 13

25 2 Grundlegende Technologien und Tools 2.3 Grundlagen der Eclipse-Plugin-Entwicklung Die auf Java basierende Entwicklungsumgebung Eclipse wird derzeit als Quasi- Standard für die Entwicklung von allein lauffähigen Java-Anwendungen, Applikationen im Umfeld von J2EE, aber auch zahlreicher Plugins mit Hilfe eines eigenen Plugin- Development-Environments (PDE) angesehen. Falls Anwendungen mit einer grafischen Benutzeroberfläche (GUI) entwickelt werden sollen, kann dabei auf den Standard Widgets Toolkit (SWT) zurückgegriffen werden, der eine Vielzahl von Darstellungselementen zur Verfügung stellt und sogar die Grundlage für die Oberfläche von Eclipse selbst ist. In diesem Unterkapitel soll zunächst ein Überblick über die Infrastruktur von Eclipse mit ihren Darstellungselementen gegeben und schließlich auf das Aktionskonzept eingegangen werden. Danach werden noch einige weiterführende Themen der Plugin- Entwicklung benannt, die aber an dieser Stelle nur sehr abstrakt betrachtet werden können Infrastruktur von Eclipse Wie in [ECLI06] dargestellt, ist Eclipse kein monolithisches Programm, sondern besteht neben einem kleinen Kern, dem sogenannten Plugin-Loader, aus einer Vielzahl von Plugins. Bereits in der minimalen Auslieferungsversion von Eclipse sind wichtige Plugins wie Core, SWT, JFace, Workbench Core, Workbench UI und Help enthalten, welche die Grundfunktionalität von Eclipse herstellen. Diese Plugins werden je nach Bedarf im Laufe einer Session geladen (Lazy Loading), aber nicht automatisch entladen. Das bedeutet, jeder Programmierer eines Plugins muss sich selbst darum kümmern, dass nicht mehr benötigte Elemente aus dem Speicher entfernt werden, damit es nicht zu Speicherengpässen in der Java Virtual Machine (JVM) kommt. Die folgende Abbildung zeigt den Architekturaufbau von Eclipse nach [ECLIFPP] noch einmal im Überblick. 14

26 2 Grundlegende Technologien und Tools Abbildung 5: Architekturaufbau Eclipse Jedes Eclipse-Plugin besteht dabei aus einem Plugin-Manifest, einer Plugin- Aktivierungsklasse sowie einer beliebigen Anzahl von weiteren Klassen, die die eigentliche Funktionalität enthalten. Diese drei groben Bestandteile sind schließlich in einem Java-Archiv (JAR) gepackt, welches sich im plugins -Verzeichnis von Eclipse befindet. Das Plugin-Manifest jedes einzelnen Plugins, bestehend aus den Dateien MANIFEST.MF und plugin.xml, wird beim Start von Eclipse analysiert und dessen Meta-Informationen in einem internen Datenmodell aufgebaut. Auf diese Weise kennt Eclipse zu jeder Zeit die grobe Beschreibung der einzelnen Plugins und stellt initiale Aktivierungselemente wie Buttons oder Menüs dar. Erst wenn diese ausgelöst, also vom Benutzer im Rahmen einer Interaktion angesprochen werden, wird das eigentliche Plugin mit den entsprechenden Klassen in den Speicher geladen. Die Datei MANIFEST.MF enthält Informationen über das Plugin wie unter anderem Name, Version, Hersteller sowie den absoluten Pfad der Aktivierungsklasse, die erst dann instantiiert wird, wenn das Plugin zum ersten Mal aufgerufen wird. Weiterführende Bestandteile des Plugins sind in der Datei plugin.xml enthalten, wie zum Beispiel: Dependencies Runtime Extensions 15

27 2 Grundlegende Technologien und Tools Extension-Points Build Im Abschnitt Dependencies werden vorhandene Plugins wie beispielsweise Darstellungselemente (siehe Abschnitt 2.3.2) oder Ressourcen angegeben, deren Klassen vom aktuellen Plugin benötigt werden. Unter Runtime sind die Pakete des aktuellen Plugins zu finden, die zur Laufzeit für andere Plugins sichtbar sein sollen. Dies ist vor allem dann sinnvoll, wenn externe Plugins das aktuelle Plugin erweitern oder testen sollen. In der Kategorie Extensions können deklarativ Schnittstellen von anderen APIs, zum Beispiel der Eclipse-API, angegeben und direkt konfiguriert werden. Die einzelnen Extensions sind hierarchisch in Form eines Baumes aufgebaut, sodass die Elemente beliebig geschachtelt werden können. Die meisten Elemente können jedoch auch programmiertechnisch in den jeweiligen Klassen erstellt und eingerichtet werden. Unter Extension-Points können eigene Schnittstellen mit einer bestimmten Funktionalität definiert werden, die dann wiederum von anderen Plugins über Extensions verwendet werden können. Schließlich kann man über Build diverse Einstellungen an den Build-Pfaden vornehmen, das heißt, welche Dateien im fertigen Archiv des Plugins enthalten sein sollen. Die angegebene Plugin-Aktivierungsklasse ist die Klasse, die mittels Überschreibung der Methoden start() und stop() auf das Laden beziehungsweise Entladen eines Plugins Einfluss nehmen und somit bestimmte Eingangskonfigurationen oder Aufräumarbeiten erledigen kann. Hierbei sollte man jedoch darauf achten, dass nur absolut notwendige Aktionen in diesen Methoden enthalten sind, da sonst das Starten oder Beenden von Eclipse und dessen Plugins bezüglich der Performance negativ beeinflusst wird. Des Weiteren wird von [RFRS] empfohlen, dass Plugins die interne Logger-Factory von Eclipse nutzen sollen, um Laufzeitfehler innerhalb des Eclipse-Error-Logs anzuzeigen und in einem festgelegten Format in Textdateien festzuhalten. 16

28 2 Grundlegende Technologien und Tools Bezüglich der Oberfläche besitzt Eclipse zunächst als übergeordnetes Element die Workbench, welche das eigentliche Fenster der Entwicklungsumgebung mit Menü- und Werkzeugleiste (Toolbar) darstellt. Die Workbench ist unterteilt in einzelne sogenannte Perspektiven, wobei die bekannteste sicherlich die Java-Perspektive ist. Jede Perspektive enthält ihre eigene, hinsichtlich des Layouts frei konfigurierbare Zusammenstellung von mehreren Views und einem Editor. Unter einem View ist hier ein entweder links, rechts oder unterhalb des Editors platzierbares Fenster zu verstehen, welches eine bestimmte Sicht auf den aktuellen Kontext zeigt, wie zum Beispiel eine hierarchische Gliederung (Outline), Objekteigenschaften oder einen Navigator, über den man den aktuellen Workspace durchsuchen kann Darstellungselemente Wie bereits einleitend in diesem Unterkapitel beschrieben, bietet der Standard Widgets Toolkit (SWT) die Grundlage für die nativen Oberflächenelemente, im folgenden Widgets genannt, von Eclipse und seinen Plugins. Nativ in diesem Kontext bedeutet, dass versucht wird, auf der aktuellen Plattform (zum Beispiel Windows oder Linux) bereits vorhandene Widgets wieder zu verwenden und nicht vorhandene zu emulieren. Somit ist es möglich, eigene Oberflächen zu entwickeln, die vom Look-and-Feel an die Oberfläche des verwendeten Betriebssystems erinnern. Diese nativen Widgets von SWT können jedoch nur einfache Datentypen wie Zahlen, Zeichenketten oder Binärobjekte (Bilder) beinhalten, was sehr leicht zu einem Impedance Mismatch führen kann, wenn in Listen, Tabellen oder anderen komplexen Widgets benutzerdefinierte objektorientierte Daten verwendet werden. Um dieses Problem zu beheben, bieten sogenannte JFace Viewer entsprechende objektorientierte Wrapper um die zugehörigen SWT-Widgets an. Jeder dieser Viewer besteht aus einem Label Provider und einem Content Provider. Der Label Provider ist für die Zuordnung der Eigenschaften eines Objekts zu den jeweiligen Teilen eines Widgets wie Spalten oder Knoten zuständig, die letztendlich als Zeichenketten oder Bilder dargestellt werden. Der Content Provider dient sozusagen als Adapter zwischen dem internen Datenmodell der Objekte und dem Datenformat, das der jeweilige Viewer erwartet. Zur Kommunikation zwischen den einzelnen Widgets wird ein Event-Listener-Konzept genutzt. Das bedeutet, im Falle einer Nutzeraktion werden Ereignisse ausgelöst, auf die 17

29 2 Grundlegende Technologien und Tools andere Widgets mit speziell implementierten Listenern warten und dementsprechend eine Aktion ausführen Aktionen Aktionen werden in Eclipse für nutzergesteuerte Ereignisse im Bereich von Menüleisten, Werkzeugleisten (Toolbars) und Kontextmenüs verwendet, wobei es umfangreiche Filtermöglichkeiten gibt, um die Sichtbarkeit der Aktionen zu steuern. Eine Aktion besteht dabei aus folgenden Teilen: Deklaration im Plugin-Manifest IAction Proxy IActionDelegate Während das IAction-Objekt von der Eclipse-Oberfläche instantiiert wird um die Aktion als Stellvertreter (Proxy) zu repräsentieren, also an der gewünschten Stelle in der Oberfläche einzubinden, enthält das IActionDelegate-Objekt die eigentlichen Anweisungen der Aktion. Somit entspricht auch das Aktionskonzept dem im Abschnitt erwähnten Lazy Loading, indem Eclipse die entsprechende IActionDelegate- Klasse erst dann lädt, wenn die Aktion wirklich zum ersten Mal ausgeführt wird, während die Aktion selber aber trotzdem schon angezeigt wird und verfügbar ist. Im Folgenden wird ein prinzipieller Überblick über die möglichen Aktionen in Eclipse gegeben, wobei aus Zuordnungsgründen die originale englische Bezeichnung verwendet wird. Name Workbench Window Actions Object Actions View Actions Editor Actions Beschreibung Aktionen in der Menüleiste und Toolbar Aktionen, die im Kontextmenü nur bei bestimmten Objekten erscheinen Aktionen innerhalb einer View (Kontextmenü, Toolbar, Pulldown-Menü) Aktionen innerhalb des Editors (Kontextmenü, Toolbar, Pulldown-Menü) Tabelle 6: Aktionen in Eclipse 18

30 2 Grundlegende Technologien und Tools Für View- und Editor Actions können optional spezielle Tastenbelegungen konfiguriert werden Weiterführende Themen In den vorhergehenden Abschnitten wurde ein Überblick über elementare Bestandteile der Eclipse-API gegeben, welche aber noch weitaus mehr Möglichkeiten bietet. Im Folgenden werden einige dieser weiterführenden Features kurz vorgestellt. Verfolgen von Änderungen in Ressourcen (Resource Change Tracking) Durch bestimmte Event-Listener besteht die Möglichkeit, auf Änderungen in Java Quellcode-Dateien, Textdateien oder anderen beliebigen Ressourcen zu reagieren und somit Statusänderungen, Aktualisierungen oder weitere Ereignisse auszulösen. Dialoge und Assistenten Über entsprechende SWT-/JFace-Klassen können komfortabel vordefinierte Dialoge (zum Beispiel zum Öffnen und Speichern von Dateien), benutzerdefinierte Dialoge, aber auch über mehrere Konfigurationsschritte führende Assistenten erstellt und in die Plugins eingebunden werden. Einstellungsseiten (Preference Pages) Um für ein Plugin bestimmte Voreinstellungen treffen zu können, ist es möglich, eine eigene Kategorie in das globale Einstellungsmenü von Eclipse (Window Preferences) einzubinden und diese über eine Preference-API beliebig zu gestalten. Eigenschaften (Properties) Die Eigenschaften von benutzerdefinierten Objekten können in Form von Attribut/Wert-Paaren im Properties-View angezeigt und auch optional in einem Eclipseeigenen Metaformat persistent über Sessions gehalten werden. Builder, Markers, Natures Um komplexere Editoren, Designer oder sogar Compiler zu entwickeln, gibt es die sogenannten Builder. Diese fragen regelmäßig Änderungen an den Ressourcen ab, führen Aktualisierungen durch und erstellen schließlich den festgelegten Regeln 19

31 2 Grundlegende Technologien und Tools entsprechende abgeleitete Ressourcen. Diese haben die Besonderheit, dass sie jederzeit wieder durch den Builder generiert werden können und somit nicht in einer Versionsverwaltung gehalten oder in ein Backup-Archiv gepackt werden müssen. Marker signalisieren am linken Rand des Editors zum Beispiel Fehler, Hinweise oder Break Points für den Debugger. Natures weisen einem Projekt besondere Eigenschaften oder Verhaltensweisen der Workbench zu. Die bekannteste Nature ist wohl die Java Nature, die man implizit auswählt, wenn ein neues Java-Projekt angelegt wird. Hilfe Eclipse bietet ein spezielles Framework an, um Hilfe-Dialoge aus HTML-, XHTMLoder PDF-Dokumenten zu erstellen und diese dynamisch an Stellen der Workbench einzubinden. Internationalisierung Um sämtliche Zeichenketten in Dialogen, Views, Menüs und anderen Darstellungselementen in mehreren Sprachen anzubieten, besitzt Eclipse die Möglichkeit, für jede Sprache Properties-Dateien anzulegen, welche die Zeichenketten in der jeweiligen Sprache enthalten. Zur Laufzeit wird dann entsprechend der Nutzereinstellungen entschieden, welche Sprachdatei geladen wird. Features, Branding, Updates Um ein beziehungsweise mehrere fertige Eclipse-Plugins zu vermarkten, kann man ein so genanntes Feature erstellen, über das man die Plugins als eine Einheit komfortabel installieren, einrichten, ihnen ein entsprechendes Firmenzeichen (Branding) geben und sogar eine automatische Aktualisierung über den Eclipse Update Manager durchführen kann. Details zu diesen Themen würden die Grenzen dieses Grundlagenkapitels überschreiten, jedoch werden in Kapitel 5 im Rahmen der Implementierung noch einmal bestimmte Bereiche je nach Verwendung genauer beschrieben. 20

32 3 Analyse und Spezifikationen 3 Analyse und Spezifikation Im vorangegangen Kapitel wurden zunächst grundlegende Technologien zur Nachvollziehbarkeit der Diplomarbeit erörtert. In diesem Kapitel geht es hingegen um konkrete Analyseergebnisse des Ist- und Sollzustands sowie einer abschließenden Untersuchung existierender Modellierungswerkzeuge als Ausgangspunkt für den prototypischen Entwurf am Beispiel von TransConnect. 3.1 Istzustandsanalyse Im Rahmen der Istzustandsanalyse sollen Aspekte des aktuellen Systems aufgezeigt werden, die zum Zeitpunkt der Diplomarbeit entweder bereits vorhanden oder verbesserungswürdig sind beziehungsweise noch komplett fehlen, so dass in der Diplomarbeit eine prototypische Problemlösung entworfen werden kann. Es muss jedoch darauf hingewiesen werden, dass aus technologischen Gründen bei der Istzustandsanalyse eine Unterscheidung zwischen den Komponenten des derzeitig entwickelten TransConnect in der Version und der prototypisch entworfenen Workflow Process Engine [FEKA06], gedacht für TransConnect Version 1.3.6, unterschieden wird. Ist eine klare Trennung nicht möglich, wenn zum Beispiel ein bereits vorhandenes Modul prototypisch neu konzipiert wurde, wird dies an entsprechender Stelle vermerkt TransConnect Die Integrationsplattform für Anwendungsintegration TransConnect wird seit 1998 stetig weiterentwickelt und kann mittlerweile als EAI-Server bezeichnet werden. Die Grundlage bildet dabei ein Adapterkonzept mit Kommunikation über XML-basierte Nachrichten, wie die folgende Abbildung verdeutlicht: 21

33 3 Analyse und Spezifikationen Abbildung 6: Architekturaufbau von TransConnect Im Folgenden werden nun die einzelnen Komponenten von TransConnect [TCHB06] näher beschrieben und auf deren Rolle innerhalb des Gesamtsystems eingegangen. Im Groben setzt sich TransConnect aus den Komponenten Manager Server Datastore zusammen, wobei diese in drei Ebenen eingeordnet werden können: Abbildung 7: 3-Ebenen-Aufbau der Komponenten von TransConnect Der TransConnect Manager befindet sich in der Präsentationsebene und stellt ein auf Sybase Central basierendes Tool zur Konfiguration von TransConnect dar. Sybase Central wird im Normalfall zur grafischen Administration von verschiedenen Sybase- Produkten genutzt, ist aber über ein umfangreiches Software Development Kit (SDK) 22

34 3 Analyse und Spezifikationen mit eigenen Plugins erweiterbar. Das in dieser Diplomarbeit zu entwickelnde Werkzeug zur Prozessmodellierung ist ebenfalls in der Ebene der Präsentation anzusiedeln. Es stellt praktisch eine Neuentwicklung dar, da TransConnect 1.3.5, wie bereits erwähnt, eine XML-basierte Nachrichtenkommunikation aufweist und noch keine Prozesssteuerung im Sinne einer Workflow Engine enthält. Da somit keines der bereits vorhandenen Bestandteile die Grundlage für ein Prozessmodellierungstool darstellt, wird der bisherige Server und Datastore nur kurz erläutert und im nächsten Abschnitt auf die neue prototypische Workflow Process Engine eingegangen. Wie die folgende Abbildung zeigt, setzt sich der TransConnect Server wiederum aus mehreren Modulen zusammen. Abbildung 8: Architektur TransConnect Server Basierend auf einem J2EE Application Server, dem JBoss, verwaltet TransConnect sämtliche Konfigurationen in einem zentralen Metadata Repository, welches über den TransConnect Manager einsehbar und veränderbar ist. Über die verschiedenen Client Interfaces, System Listener oder Inbound Adapter eingehenden, beziehungsweise durch die Zeitsteuerung (Scheduler) generierten Nachrichten gelangen entsprechend ihres Inhalts (Content-based Routing) in den Standard-Workflow, der wahlweise eine synchrone oder asynchrone Verarbeitung zulässt. Im Falle der synchronen Verarbeitung werden die Nachrichten direkt weitergeleitet, jedoch kommt es bei Fehlern zum Stillstand der gesamten Warteschlange (Message Queue). Die asynchrone Verarbeitung lässt über eine oder mehrere Warteschlangen eine parallele Verarbeitung inklusive Prioritätssteuerung zu, wobei die Einhaltung der Reihenfolge der Nachrichten nicht garantiert ist. Im Normalfall erfolgt schließlich eine Nachrichtentransformation 23

35 3 Analyse und Spezifikationen (Mapping) mit XSLT oder STX zwischen dem Format des Quellsystems und dem gewünschten Format des Zielsystems, das über einen entsprechenden Outbound- Adapter angesprochen wird. Das zentrale Modul der Transaktionsverwaltung dient der internen Realisierung von folgenden Zielen: Vermeidung von Datenverlust keine Doppelverarbeitung von Nachrichten Rücksetzbarkeit (Rollback) je nach Verfügbarkeit am Zielsystem Der Transport ist für den Fluss der Nachrichten zwischen Inbound- und Outbound- Adapter innerhalb des Systems zuständig. Dabei werden eingehende Nachrichten zunächst in ein internes Nachrichtenformat umgewandelt, welches aus folgenden Elementen besteht: interne Attribute Nutzdaten als XML-Dokument optional Binärdaten als Anhang (Attachment) Das Persistence-Modul hält diese internen Nachrichten während ihrer Verarbeitung persistent im TransConnect Datastore und greift dabei auf ein relationales Datenbankmanagementsystem (RDBMS) zurück. Nachdem nun der Istzustand von TransConnect dargestellt wurde, soll im Folgenden ein Überblick über die geplante Komponentenarchitektur von TransConnect gegeben werden. 24

36 3 Analyse und Spezifikationen Abbildung 9: Gesamtarchitektur TransConnect Wie aus der Abbildung zu entnehmen ist, bleibt das Grundprinzip vorhanden, jedoch sind im Detail einige Veränderungen erkennbar. Innerhalb der Präsentationsebene werden der TransConnect Manager, das Prozessmodellierungstool (Process Designer) und eine entsprechende Ressourcenverwaltung innerhalb von Eclipse im Rahmen des TransConnect Developer Studios integriert. Die Geschäftslogik und Oberfläche der Webanwendung zur Remote-Administration (TransConnect Console) ist ebenfalls auf dem J2EE Application-Server angesiedelt, der bereits den TransConnect Server beinhaltet. Zusätzlich sind noch eine umfangreiche Testumgebung, ein eigenständiges Installationsprogramm sowie ein Lizenzierungstool Bestandteil von TransConnect Im nächsten Abschnitt wird nun der Prototyp der Workflow Process Engine näher betrachtet Workflow Process Engine Die von Matthias Böhm konzipierte Workflow Process Engine [FEKA06], im Folgenden WFPE genannt, integriert sich in den Server von TransConnect 1.3.6, der nun die nachstehende veränderte Architektur aufweist: 25

37 3 Analyse und Spezifikationen Abbildung 10: Architektur TransConnect Server Vergleicht man den Aufbau des Servers in TransConnect (siehe Abschnitt 3.1.1) mit dem in TransConnect 1.3.6, wird deutlich, dass das Adapterkonzept, die Wartschlangen und die Zeitsteuerung weiterhin vorhanden sind, der Standard-Workflow jedoch komplett durch die WFPE ersetzt und mit dem TP-Monitor eine neue Komponente zur Systemüberwachung eingeführt wurde. Bezüglich des Ablaufs im System werden nun die empfangenen, beziehungsweise zeitgesteuert generierten Nachrichten, nachdem sie in das interne Nachrichtenformat in Form des MTM umgewandelt worden, an den Dispatcher weitergeleitet. Dieser verteilt die Nachrichten entweder synchron direkt an die WFPE oder im asynchronen Fall indirekt an eine oder mehrere Warteschlangen. Letzteres bedeutet im praktischen Sinne, dass jeweils ein neuer Prozess parallel gestartet wird. Die WFPE führt diese durch Beschreibungssprachen definierten Prozesse aus und verwaltet deren Verarbeitung. Das genutzte Konzept ermöglicht auch das Nachladen von Informationen bei der Verarbeitung durch Interaktion mit mehreren Outbound-Adaptern, also nicht nur zur Kommunikation mit einem einzigen Zielsystem. Wie in der oben stehenden Abbildung zu sehen, besteht die WFPE selbst wiederum aus mehreren Teilkomponenten: Core Migrator Process Parser 26

38 3 Analyse und Spezifikationen Service Dictionary Runtime Environment Der zentrale Teil Core definiert und realisiert die Schnittstelle IProcessEngine zur gesamten WFPE und greift dabei auf die anderen Teilkomponenten zu. Abbildung 11: Logischer Aufbau des WFPE-Core Die Teilkomponente Process Parser übernimmt dabei die Umwandlung der durch externe XML-Prozessbeschreibungssprachen beschriebenen Prozesse in das interne Format mittels XSL-Transformationen. Damit ist es möglich, unterschiedliche Prozessbeschreibungssprachen zu verwenden und lediglich für jede Sprache ein zugehöriges Transformationsskript zur Verfügung zu stellen. Nach regel- und kostenbasierter Optimierung wird ein interner Java-Prozessplan nach einer Vorlage (Template) erzeugt und mit Parametern entsprechend der Prozessbeschreibung gefüllt. Schließlich kompiliert der Process Parser den Prozessplan und speichert ihn physisch als Klasse ab. Neue Objekte des Prozessplanes können nun zur Laufzeit durch einfache Objektinstantiierung erzeugt und als Thread gestartet werden, wenn diese Klasse einmal in die JVM geladen wurde. Die folgende Abbildung verdeutlicht noch einmal das Prinzip des Parsers. 27

39 3 Analyse und Spezifikationen Abbildung 12: Arbeitsschritte des Process Parsers Die Teilkomponente Migrator ist für die Überführung von Metadaten-Repositories älterer TransConnect -Versionen in die neue Version zuständig. Damit ist es möglich, früher definierte Routing- und Adapterkonfigurationen in der neuen Prozesssteuerung wieder zu verwenden. Abbildung 13: Aufbau Migrator Sämtliche Dienste innerhalb von TransConnect werden im Service Dictionary als eine Art vorkonfiguriertes Objekt mit allen Einstellungen gehalten, um eine flexible und dynamische Nutzung direkt aus dem Workflow heraus zu gewährleisten. Dabei ist 28

40 3 Analyse und Spezifikationen besonders die Funktionalität des WSDL Generators zu beachten, der für alle im Service Dictionary enthaltenen Dienste entsprechende WSDL-Dokumente generieren kann. Dies ist nötig, um Dienste von TransConnect bei der Modellierung von Workflows mit dem angestrebten Prozessmodellierungstool einbinden zu können. In der folgenden Abbildung wird noch einmal der Aufbau des Service Dictionary im Überblick dargestellt. Abbildung 14: Aufbau Service Dictionary Die vierte Komponente der WFPE, das Runtime Environment, stellt letztendlich die Ausführungsumgebung einzelner Prozesspläne dar und implementiert die einzelnen Muster beziehungsweise Operatoren des MTM. Der so genannte Process Manager erstellt für jeden instantiierten Prozessplan, ausgelöst entweder durch Inbound-Adapter oder zeitgesteuerte Ereignisse, einen entsprechenden Process Container und organisiert die Ressourcenverwaltung, Thread- und Prioritätssteuerung. 29

41 3 Analyse und Spezifikationen Abbildung 15: Aufbau des Runtime Environment Ein solcher Process Container enthält, wie in der vorangestellten Abbildung zu sehen, das Objekt des Prozessplans selbst sowie sämtliche Instanzen. Sobald eine bestimmte Aufgabe den jeweiligen Prozessplan benötigt, übergibt der Process Container den Prozessplan an den laufenden Worker-Thread. Dieser Ablauf kann jederzeit wiederholt werden, selbst wenn die vorhergehende Aufgabe noch nicht erledigt ist. Zusammen mit der Prioritätssteuerung ist dieser Aspekt sehr wichtig für die Gesamtperformance von TransConnect Nachdem nun in den bisherigen Abschnitten dieses Unterkapitels der Umfang von TransConnect sowie die Architekturkomponenten von TransConnect untersucht wurden, sollen im folgenden Abschnitt noch einmal gesondert sowohl die Defizite der aktuellen Version als auch fehlende Realisierungsaspekte von TransConnect im Hinblick auf die im Unterkapitel 3.2 aufgeführten Anforderungen an den Sollzustand hervorgehoben werden. 30

42 3 Analyse und Spezifikationen Defizite In diesem Abschnitt werden die Defizite von TransConnect beziehungsweise dem Prototyp von TransConnect noch einmal im Überblick dargestellt, um die Entwicklung eines Prozessmodellierungstools sowie eines Developer Studios zu rechtfertigen. TransConnect Prototyp TransConnect fehlende Visualisierung beziehungsweise grafische Modellierung des Routings von internen Prozessen unzureichende Möglichkeiten des Monitorings am laufenden System keine übersichtliche und komfortable Verwaltung aller benötigten Ressourcen Workflow Engine und konzeptionelles Prozessmodell vorhanden, jedoch Werkzeug zur Modellierung der Prozesspläne noch nicht implementiert Monitoring zwar über Schnittstellen vorgesehen (offene Parser-Architektur), aber bislang nicht realisiert - (keine Veränderung) Tabelle 7: Gegenüberstellung der Defizite Wie der Tabelle zu entnehmen ist, wurde im Prototyp von TransConnect mit dem Entwurf der WFPE und dem MTM zwar die technische Grundlage für die grafische Modellierung von Prozessplänen geschaffen, jedoch fehlt bisher immer noch ein entsprechendes Modellierungswerkzeug. Ein Developer Studio mit Ressourcenverwaltung und Monitoring wäre generell eine Neuentwicklung. Im Rahmen einer abschließenden Bewertung des Istzustands lässt sich sagen, dass die konzeptuellen Modelle des MTM sowie die prototypische Workflow-Engine im aktuellen Stand bereits eine qualitativ hochwertige Implementierung einer Prozesssteuerung von TransConnect darstellen. Jedoch muss die Abweichung vom BPEL-Standard in Bezug auf die einzelnen Muster, respektive Aktivitäten des MTM aus Gründen der Vereinfachung und Erweiterung (siehe Kapitel 4) kritisch hinterfragt werden, obwohl bereits eine WSBPEL-Repräsentation des MTM mit entsprechendem Transformator existiert. Auch wenn ein Prozessmodellierungswerkzeug innerhalb dieser Diplomarbeit an die Spezifikation des MTM angepasst werden kann, sind die damit 31

43 3 Analyse und Spezifikationen erzeugten Prozessbeschreibungen hinsichtlich der erweiterten Aktivitäten nicht kompatibel mit anderen Designern oder Tools, die nur die standardkonformen Elemente kennen. Ein Vorschlag zur Verbesserung dieses Sachverhalts wird im Rahmen des Ausblicks in Kapitel 6 unterbreitet. 3.2 Untersuchung der Anforderungen an den Sollzustand Nachdem im letzten Abschnitt die Defizite des Istzustands benannt wurden und somit sowohl die Entwicklung eines Prozessdesigners als auch einer Ressourcenverwaltung gerechtfertig ist, soll nun auf die konkreten Anforderungen eingegangen werden, wobei zwischen funktionalen und nicht-funktionalen Anforderungen unterschieden wird Funktionale Anforderungen Die in diesem Abschnitt definierten Anforderungen beschreiben die grundsätzlichen Aufgaben und Aktionen, die das Produkt besitzen soll [REQU06]. Dabei wird noch einmal in Muss- und Kann-Anforderungen unterteilt, um den einzelnen Aspekten eine Priorität zuzuordnen. Das bereits erwähnte zukünftige Developer Studio beinhaltet im Allgemeinen vier Hauptkomponenten: Konfiguration der Instanzen vom TransConnect -Server Prozessmodellierung Projekt- und Ressourcenverwaltung Monitoring Die Konfiguration der Server-Instanzen von TransConnect soll außer über die Administrationsoberfläche (TransConnect Console) auch innerhalb des Developer Studios möglich sein, ist jedoch nicht Bestandteil dieser Diplomarbeit. Folgende funktionale Anforderungen beziehen sich auf die Bestandteile des Prozessmodellierungswerkzeugs. 32

44 3 Analyse und Spezifikationen Anforderung Muss Bedingung Grafische Modellierung und Visualisierung von Prozessplänen Beschreibung und Generierung von internen Prozessvorschriften unter Nutzung des Message Transformation Models (MTM) Unabhängigkeit von der Hardware-Plattform und dem verwendeten Betriebssystem Realisierung als Eclipse-Plugin Erweiterbarkeit um zusätzliche Muster beziehungsweise Komponenten Unidirektionale Schnittstelle zur Ressourcenverwaltung Kann Bidirektionale Schnittstelle zur Monitoringkomponente Bidirektionale Schnittstelle zur Transformationskomponente Alternative Beschreibung und Generierung von Prozessplänen unter Nutzung einer standardisierten Prozessbeschreibungssprache (zum Beispiel WSBPEL 2.0) Maßnahmen zur Qualitätssicherung (Tests) Tabelle 8: Funktionale Anforderungen an das Prozessmodellierungswerkzeug Als allgemeine und übergeordnete Aufgabe hat das Prozessmodellierungstool die grafische Modellierung und Visualisierung von Prozessplänen, unabhängig von einer Beschreibungssprache. Diese modellierten Prozesspläne sollen dann intern mit Hilfe des MTM beschrieben und generiert werden, so dass eine Nutzung direkt an der WFPE möglich ist. Um dieses Ziel zu erreichen, muss das Modellierungswerkzeug eine Einwegschnittstelle zur Ressourcenverwaltung besitzen, über die schließlich der Transport zum Server erfolgt. Zur praktischen Integration in eine bereits vorhandene Entwicklungsumgebung ist das Tool als Eclipse-Plugin plattform- und betriebssystemunabhängig zu realisieren. Darüber hinaus sollte die Architektur so gestaltet sein, dass beliebige Muster jederzeit ergänzt beziehungsweise neue Komponenten über definierte Schnittstellen angebunden werden können. Optional kann das Prozessmodellierungstool bidirektionale Schnittstellen zur Monitoringkomponente sowie zur Transformationskomponente der WFPE besitzen, um alternativ auch Prozesspläne mit einer standardisierten Prozessbeschreibungssprache 33

45 3 Analyse und Spezifikationen wie WSBPEL 2.0 zu generieren. Denkbar wären auch automatisierte Testumgebungen, um die fehlerfreie Funktionalität des Plugins bei Anpassungen überprüfen zu können. Die Projektverwaltung und das Ressourcenmanagement im zukünftigen Developer Studio besitzen ebenfalls eigene funktionale Anforderungen, welche wie folgt benannt werden können. Anforderung Muss Bedingung Erstellung eines TransConnect -Szenarios (Projekt) Möglichkeit der Offline-Verwaltung ohne Serververbindung Anlegen und Herstellen von Verbindungen zu TransConnect - Servern Definition von XML-Formaten und Strukturen zur persistenten Abbildung der TransConnect -Ressourcen Bearbeiten der Ressourcen in geeigneten Editoren oder Assistenten Kann Client-Schnittstelle zu einer Versionsverwaltung Maßnahmen zur Transportsicherheit Tabelle 9: Funktionale Anforderungen an die Ressourcenverwaltung Im Rahmen der Ressourcenverwaltung muss der Nutzer die Möglichkeit haben, ein neues TransConnect -Projekt zu erstellen und in diesem in einer vordefinierten Struktur die benötigten Ressourcen anzulegen. Das Bearbeiten dieser Ressourcen in Editoren und Assistenten muss ohne Serververbindung (offline) möglich sein, weshalb sämtliche Ressourcen in XML-Dateien mit definiertem Format persistiert werden. Zum Transport des Projekts zu einem TransConnect -Server oder beim Ausführen spezieller Aktionen muss eine entsprechende Serververbindung aufgebaut werden. Als Kann-Anforderung ist die Integrierung einer Client-Schnittstelle zu einer Versionsverwaltung zu benennen, um die angelegten Projekte zentral zu lagern sowie eventuelle Maßnahmen zur Transportsicherheit der Daten, welche jedoch noch nicht näher definiert wurden. Die nachstehende Tabelle enthält die funktionalen Anforderungen an die Monitoringkomponente. 34

46 3 Analyse und Spezifikationen Anforderung Muss Bedingung Statistische Analyse und Laufzeit-Monitoring des Servers Statistische Analyse einzelner ausgewählter Prozesse Grafische Auswertung der ermittelten Daten Kann Laufzeit-Debugging im Fehlerfall Tabelle 10: Funktionale Anforderungen an die Monitoring-Komponente Die Muss-Anforderungen gliedern sich im Wesentlichen in drei Bereiche. Es muss möglich sein, eine statistische Analyse des Servers im Hinblick auf Hardware- Ressourcen (Speichernutzung, CPU-Auslastung) und Software-Ressourcen (Warteschlangen-Auslastung, Nachrichten im System) vorzunehmen. Weiterhin sollen einzelne Prozesse mit statistischen Daten hinterlegt werden, wie zum Beispiel die Häufigkeit der Prozessverwendung oder der Nutzung eines bestimmten Zweiges in einem Kontrollflusselement. In Zukunft ist optional das Debugging zur Laufzeit denkbar, bei dem im Fehlerfall Schritt für Schritt am betroffenen Prozess nachvollzogen werden kann, an welcher Stelle es zum Abbruch kam. Sämtliche ermittelte Daten müssen entweder direkt in dem betroffenen Prozessplan oder in einer dafür vorgesehenen grafischen Oberfläche visualisiert werden Nicht-Funktionale Anforderungen Im Gegensatz zu den funktionalen Anforderungen beschreiben die nicht-funktionalen Anforderungen bestimmte Eigenschaften des Produkts, die das gewünschte Verhalten der Funktionalitäten näher beschreiben [REQU06]. Im Folgenden werden diese geforderten Eigenschaften für das Prozessmodellierungstool, die Ressourcenverwaltung und das Monitoring genannt und kurz erläutert. Anforderung Ergonomie Kompatibilität Beschreibung Aspekte der Benutzerfreundlichkeit wie Anordnung der Schaltflächen, Menüs und Darstellungselemente Unterstützung des Imports und Exports von Prozessbeschreibungen alternativer Modellierungswerkzeuge 35

47 3 Analyse und Spezifikationen Anforderung Portierbarkeit Robustheit Performance Skalierbarkeit Tabelle 11: Beschreibung Unabhängigkeit vom Betriebssystem und von einem möglicherweise vorhandenen Designer im Falle der Erweiterung Entsprechende Fehlerbehandlung im Falle nicht sachgemäßer Bedienung Einschätzung des Laufzeitverhaltens in Bezug auf Leistungsfähigkeit und Verarbeitungsgeschwindigkeit Einschätzung der Performance bei steigenden Eingabemengen, hier aber auch: Anpassungsaufwand bei Änderung der Anforderungen Nicht-Funktionale Anforderungen 3.3 Untersuchung existierender Modellierungswerkzeuge Zur Entscheidungsfindung, ob ein bereits auf dem Markt vorhandenes Modellierungswerkzeug als Erweiterungsgrundlage genutzt werden kann, wird nun zum Abschluss der Analyse ein Produktvergleich mit definierten Bewertungskriterien durchgeführt und am Ende die Einsetzbarkeit der untersuchten Produkte eingeschätzt Bewertungskriterien Im Folgenden werden vorbereitend für den Produktvergleich einige Bewertungskriterien festgelegt, wobei für die Vorauswahl der hier verglichenen Produkte folgende Gemeinsamkeiten vorhanden sein mussten: Eclipse-Plugin kein kommerzielles, respektive kostenpflichtiges Produkt Durch die Forderung, dass es sich um ein Eclipse-Plugin handeln muss, wird indirekt die nicht-funktionale Anforderung nach der Portierbarkeit erfüllt, da die Entwicklungsumgebung Eclipse für viele unterschiedliche Plattformen zur Verfügung steht und somit die Plugins ebenfalls lauffähig bleiben. Voraussetzung dafür ist, dass das Eclipse-Plugin keine betriebssystemspezifischen Bibliotheken über das Java Native Interface (JNI) anspricht. Wie in den Anforderungen an den Sollzustand im Unterkapitel 36

48 3 Analyse und Spezifikationen 3.2 beschrieben, ist die Veränderung beziehungsweise Erweiterung eines existierenden Modellierungswerkzeugs unumgänglich, um es an die Bedürfnisse von TransConnect und dem MTM anzupassen. Aus diesem Grund wurden in den Produktvergleich generell keine kostenpflichtigen Produkte aufgenommen, da diese die nötigen Anpassungen im Normalfall nicht zulassen. Um eine Bewertung aus möglichst verschiedenen Perspektiven zu gewährleisten, werden die folgenden Kriteriengruppen festgelegt: Oberflächenkriterien Funktionale Kriterien Qualitätskriterien Die Gruppe der Oberflächenkriterien fasst dabei sämtliche Kriterien zusammen, die sich mit der Ergonomie und den Bedienmöglichkeiten der Oberfläche befassen. Funktionale Kriterien können auch als Features verstanden werden und spiegeln die einzelnen Möglichkeiten der Produkte hinsichtlich ihrer Verwendung wieder. Die Qualitätskriterien schließen alle weiteren noch nicht benannten nicht-funktionalen Kriterien ein. Die nachstehende Tabelle gibt einen Überblick über die einzelnen Bewertungskriterien in ihren Gruppen mit einer entsprechenden Beschreibung beziehungsweise den Bewertungsmöglichkeiten. Zusätzlich wurden sowohl eine Gewichtung der einzelnen Kriterien von 1 (unwichtig) bis 10 (sehr wichtig) als auch Bewertungspunkte auf einer Skala von 1 (sehr schlecht) bis 6 (sehr gut) eingeführt, um innerhalb der Auswertung eine objektive Entscheidung treffen zu können. Dabei drückt eine niedrige Gewichtung nicht zwingend die Vernachlässigung des Kriteriums aus, sondern ist in diesem Fall eine Nachbesserung im Rahmen der Erweiterung oft leicht möglich. 37

49 3 Analyse und Spezifikationen Gruppe Kriterium Beschreibung Gewichtung Oberflächenkriterien Ergonomie Benutzerfreundlichkeit der Oberfläche 7 Grafische Darstellung Aufwändigkeit der Präsentation 5 Elementeigenschaften Umfang der Einstellungsmöglichkeiten für jedes Darstellungselement 3 Funktionale Kriterien Notation Art der Notation (BPEL BPMN alternativ) 8 Modellierungsmöglichkeiten Modellierung der Basisaktivitäten wie Invoke, Receive, Switch oder Subworkflows 8 Validierung Überprüfung der syntaktischen Korrektheit der modellierten Prozesspläne 5 Prozessplangenerierung In welcher Form werden die modellierten Prozesspläne generiert? 5 Import/Export Existenz einer Schnittstelle zum Austausch von Prozessbeschreibungen 6 Erweiterbarkeit Ist funktionale Erweiterung oder Anpassung mit akzeptablem Aufwand möglich? 10 Qualitätskriterien Performance Einschätzung des Laufzeitverhaltens in Bezug auf Leistungsfähigkeit und Verarbeitungsgeschwindigkeit 6 Robustheit Einschätzung der Fehlertoleranz bei unsachgemäßer Verwendung 5 Tabelle 12: Bewertungskriterien 38

50 3 Analyse und Spezifikationen Produktvergleich Im Folgenden werden die untersuchten existierenden Modellierungswerkzeuge zunächst einzeln kurz vorgestellt und anschließend tabellarisch zum Vergleich detailliert gegenübergestellt. Dabei muss jedoch noch einmal im Hinblick auf die in Unterkapitel 3.2 definierten Anforderungen an den Sollzustand darauf hingewiesen werden, dass es das Ziel dieses Produktvergleichs ist, ein vorhandenes Modellierungswerkzeug zur Erweiterung beziehungsweise Anpassung zu finden. Keines der auf dem Markt befindlichen Produkte wird die definierten Anforderungen vollständig erfüllen. Es geht also lediglich darum, welches Modellierungstool den Anforderungen am ehesten gerecht wird beziehungsweise sich entsprechend flexibel anpassen lässt. Eclipse BPEL Project Der von der Eclipse Foundation seit Anfang 2006 als Open-Source-Projekt entwickelte BPEL Designer [ECLBP07] stellt ein Plugin für die Entwicklungsumgebung Eclipse dar, welches diese um entsprechende BPEL-Funktionalitäten erweitert. Somit ist es möglich, mit der Designerkomponente grafische Prozesspläne in der WSBPEL-2.0- Notation zu modellieren sowie in Zukunft eine umfangreiche Validierung durchzuführen. Schließlich soll es mit einem Runtime Framework möglich sein, die erstellten Prozesspläne auszuführen und zur Laufzeit auf Fehler zu überprüfen. Zu Beginn der Diplomarbeit befand sich das Projekt noch in einem sehr frühen Stadium (Version vom Dezember 2006), in dem die Komponenten Validierung, Runtime Framework und Debugging noch nicht implementiert waren. Mittlerweile beinhaltet die Version M3 (August 2007) eine Validierung im Rahmen von WSPEL-2.0. Das BPEL Project stellt demnach einen funktionsstarken Designer inklusive Prozessplan- Generierung dar, der grafisch sehr ansprechend und auf Grund des offenen Quellcodes beliebig erweiterbar ist. 39

51 3 Analyse und Spezifikationen Pro WSBPEL-2.0 Notation übersichtliche Oberfläche grafisch anspruchsvoll gut erweiterbar Validierung Contra keine Ausführungsumgebung kein Debugging Abbildung 16: Einschätzung Eclipse BPEL Project Abbildung 17: Screenshot Eclipse BPEL Project IX Workflow Modeler Der IX Workflow Modeler [IXWFM07] der Imixs Software Solutions GmbH ist ein Werkzeug zur grafischen Modellierung von allgemeinen Workflows ohne Festlegung auf eine bestimmte standardisierte Notation. Dabei steht generell eine Modellierung unabhängig von der Anwendungslogik ohne Ausführung und Validierung im Vordergrund. Der Umfang der zur Verfügung stehenden Elemente beschränkt sich auf die Knoten Process und Activity sowie deren Verbindung. Da es sich auch hier um ein 40

52 3 Analyse und Spezifikationen Quellcode-offenes Projekt handelt, ist es hinsichtlich Funktionalität und Darstellung ebenfalls erweiterbar. Jedoch stellt sich die vorhandene Oberfläche im Vergleich zu anderen Tools zwar als übersichtlich, aber nicht sehr komfortabel heraus. Pro übersichtliche Oberfläche gut erweiterbar Contra keine standardisierte Modellierung keine Ausführungsumgebung kein Debugging geringer Funktionsumfang Abbildung 18: Bewertung IX Workflow Modeler Abbildung 19: Screenshot IX Workflow Modeler 41

53 3 Analyse und Spezifikationen JOpera Das Eclipse-Plugin JOpera [JOPER07] wurde von der ETH Zürich entwickelt und stellt ein Tool zur grafischen Komposition von Services dar, das auch zur Modellierung von Workflows genutzt werden kann. Auch hier ist die Modellierung an keinen Standard gebunden, da ein eigenes XML-Format zur formalen Beschreibung der Workflows genutzt wird. Zwar bietet JOpera Laufzeit-Monitoring und Debugging, besitzt aber eine unübersichtliche, wenig intuitive Benutzeroberfläche und weist an einigen Stellen Laufzeitfehler auf. Da der Quellcode von JOpera leider nicht offen verfügbar ist, können die nötigen umfangreichen Änderungen zur Anpassung an TransConnect und Erreichung der gestellten Anforderungen nicht durchgeführt werden. Pro Monitoring- und Debugging Contra keine standardisierte Modellierung unkomfortable Oberfläche Quellcode nicht offen Fehleranfälligkeit Abbildung 20: Bewertung JOpera 42

54 3 Analyse und Spezifikationen Abbildung 21: Screenshot JOpera Intalio BPMS Designer Der von Intalio stammende BPMS Designer ist ein umfangreiches, auf dem Eclipse- Framework basierendes, eigenständiges Tool zur Modellierung von Workflows in der standardisierten Business Process Modeling Notation (BPMN) [BPMN06]. Die Oberfläche ist sehr übersichtlich aufgebaut (Palette, Eigenschaften, Problemanzeige) und ermöglicht somit eine komfortable Bedienung. Bezüglich der formalen Prozessbeschreibung nutzt der Designer ein eigenes Binärformat, weshalb an dieser Stelle umfangreiche Änderungen nötig wären. Intalio nutzt nur Vermarktung seines Designers drei Modelle. Die Open Source Edition [INTOS07] wird im Rahmen der Eclipse Foundation seit Januar 2007 entwickelt und ist demzufolge frei erweiterbar. Weiterhin existieren noch die frei verfügbare Community Edition [INTCE07] zum nichtkommerziellen Einsatz und die Enterprise Edition [INTCE07] mit kommerzieller Unterstützung. 43

55 3 Analyse und Spezifikationen Pro Modellierung mittels BPMN komfortable Bedienung Validierung offener Quellcode (Open Source Edition) Contra eigenes Binärformat Abbildung 22: Bewertung Intalio BPMS Designer Abbildung 23: Screenshot Intalio BPMS Designer 44

56 3 Analyse und Spezifikationen ActiveBPEL Designer Der ActiveBPEL Designer [ACTBP07] von Active Endpoints ist das komplexeste von den getesteten Werkzeugen in diesem Produktvergleich. Es bietet neben der grafisch sehr ansprechenden Modellierungskomponente sogar eine Echtzeitsimulation der erstellten Prozesspläne inklusive Debugging, gut lesbar generierte WSBPEL-2.0- Prozesspläne und ausführliche Statistik-Informationen. Die Oberfläche ist ähnlich wie beim Eclipse BPEL Project sehr intuitiv und grafisch ansprechend gestaltet. Zusammen mit der ebenfalls erhältlichen ActiveBPEL-Engine lassen sich die modellierten Prozesspläne direkt veröffentlichen und ausführen. Leider ist der Quellcode des Designers selbst nicht frei zugänglich und die Generierung beziehungsweise Modellierung somit nicht an die Bedürfnisse von TransConnect anpassbar. Pro WSBPEL-2.0 Notation komfortable Bedienung grafisch anspruchsvoll Validierung, Simulation und Debugging Ausführungsumgebung Contra Quellcode nicht offen Abbildung 24: Bewertung ActiveBPEL Designer 45

Ein Nachrichtentransformationsmodell für komplexe Transformationsprozesse in datenzentrischen Anwendungsszenarien

Ein Nachrichtentransformationsmodell für komplexe Transformationsprozesse in datenzentrischen Anwendungsszenarien BTW 2007, Aachen, 09.03.2007 Ein Nachrichtentransformationsmodell für komplexe Transformationsprozesse in datenzentrischen Anwendungsszenarien Die Definition des Message Transformation Model (MTM) und

Mehr

Workflow Systeme mit der Windows Workflow Foundation

Workflow Systeme mit der Windows Workflow Foundation Studiengang Electronic Business (EB) Diplomarbeit (280000) Workflow Systeme mit der Windows Workflow Foundation externe Betreuung durch Christoph Müller vorgelegt bei Prof. Dr. Michael Gröschel von Hans-Martin

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

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

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de Innovator 11 classix Anbindung an Eclipse Einführung, Installation und Konfiguration Michael Kaaden Connect www.mid.de Einführung in die Innovator-Eclipse-Anbindung Die hier beschriebene Anbindung steht

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Inhaltsverzeichnis 1 Allgemein... 3 2 Erforderliche Anpassungen bei der Installation...3 2.1 Konfiguration Jboss 7 Applicationserver (Schritt 4/10)...3

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Powermanager Server- Client- Installation

Powermanager Server- Client- Installation Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Sybase Central Dokumentation Aktivierung der Monitoringfunktion

Sybase Central Dokumentation Aktivierung der Monitoringfunktion Sybase Central Dokumentation Aktivierung der Monitoringfunktion Version 1.0 14. Dezember 2012 Inhaltsverzeichnis 1 EINLEITUNG... 3 2 ZIELSETZUNG... 3 3 VORGEHENSWEISE... 3 4 ANHANG... 7 4.1 DOKUMENTHISTORIE...

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Anwenderdokumentation AccountPlus GWUPSTAT.EXE AccountPlus Inhaltsverzeichnis Inhaltsverzeichnis Anwenderdokumentation AccountPlus GWUPSTAT.EXE (vorläufig) ab Version 6.01 INHALTSVERZEICHNIS...1 1 ALLGEMEINES...2 2 INSTALLATION UND PROGRAMMAUFRUF...2

Mehr

Einleitung: Frontend Backend

Einleitung: Frontend Backend Die Internetseite des LSW Deutschland e.v. hat ein neues Gesicht bekommen. Ab dem 01.01.2012 ist sie in Form eines Content Management Systems (CMS) im Netz. Einleitung: Die Grundlage für die Neuprogrammierung

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

Integrationsprozesse. cross component BPM - Steuerung systemübergreifender Szenarien. Konrad Lubenow, FHTW Berlin, Juli 2007

Integrationsprozesse. cross component BPM - Steuerung systemübergreifender Szenarien. Konrad Lubenow, FHTW Berlin, Juli 2007 Integrationsprozesse cross component BPM - Steuerung systemübergreifender Szenarien Konrad Lubenow, FHTW Berlin, Juli 2007 Integrationsprozesse XI(ccBPM) normaler Messageaustausch über den Integrationsserver

Mehr

gallestro BPM - weit mehr als malen...

gallestro BPM - weit mehr als malen... Ob gallestro das richtige Tool für Ihr Unternehmen ist, können wir ohne weitere rmationen nicht beurteilen und lassen hier die Frage offen. In dieser rmationsreihe möchten wir Ihre Entscheidungsfindung

Mehr

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch Einfache und effiziente Zusammenarbeit in der Cloud EASY-PM Office Add-Ins Handbuch Inhaltsverzeichnis 1. Einführung... 3 2. Ribbonmenü... 4 3. Dokument... 5 3.1 Öffnen... 5 3.2 Speichern... 6 3.3 Speichern

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

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

WordPress. Dokumentation

WordPress. Dokumentation WordPress Dokumentation Backend-Login In das Backend gelangt man, indem man hinter seiner Website-URL einfach ein /wp-admin dranhängt www.domain.tld/wp-admin Dabei gelangt man auf die Administrationsoberfläche,

Mehr

AnNoText. AnNoText Online-Update. Copyright Wolters Kluwer Deutschland GmbH

AnNoText. AnNoText Online-Update. Copyright Wolters Kluwer Deutschland GmbH Copyright Wolters Kluwer Deutschland GmbH AnNoText AnNoText Online-Update Wolters Kluwer Deutschland GmbH Software + Services Legal Robert-Bosch-Straße 6 D-50354 Hürth Telefon (02 21) 9 43 73-6000 Telefax

Mehr

Getting Started Guide CRM Online, 2013 & 2015 xrm1 Verpflegungspauschalen

Getting Started Guide CRM Online, 2013 & 2015 xrm1 Verpflegungspauschalen Getting Started Guide CRM Online, 2013 & 2015 xrm1 Verpflegungspauschalen 1 Download und Import der Lösung 2 Import der aktuellenverpflegungspauschalen 3 Weitere Informationen und Problembehandlung 1 Download

Mehr

Umstellung Ihrer Mailbox von POP zu IMAP

Umstellung Ihrer Mailbox von POP zu IMAP Rechenzentrum Umstellung Ihrer Mailbox von POP zu IMAP Vorbereitende Hinweise für die Umstellung auf das neue E-Mail- und Kalendersystem Zimbra Stand: 02.Juli 2014 Inhalt Einleitung... 1 Vorgehensweise

Mehr

Installationsanleitung CLX.PayMaker Home

Installationsanleitung CLX.PayMaker Home Installationsanleitung CLX.PayMaker Home Inhaltsverzeichnis 1. Installation und Datenübernahme... 2 2. Erste Schritte Verbindung zur Bank einrichten und Kontoinformationen beziehen... 4 3. Einrichtung

Mehr

E-Cinema Central. VPN-Client Installation

E-Cinema Central. VPN-Client Installation E-Cinema Central VPN-Client Installation Inhaltsverzeichnis Seite 1 Einleitung... 3 1.1 Über diese Anleitung... 3 1.2 Voraussetzungen... 3 1.3 Hilfeleistung... 3 2 Vorbereitung Installation... 4 3 Installation

Mehr

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard 1 von 6 102013 18:09 SharePoint 2013 Veröffentlicht: 16.07.2012 Zusammenfassung: Hier erfahren Sie, wie Sie einen KPI (Key Performance Indicator) mithilfe des PerformancePoint Dashboard Designer in SharePoint

Mehr

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen Stand: 13.12.2010 Die BüroWARE SoftENGINE ist ab Version 5.42.000-060 in der Lage mit einem Microsoft Exchange Server ab Version 2007 SP1

Mehr

PowerWeiss Synchronisation

PowerWeiss Synchronisation PowerWeiss Synchronisation 1 Einrichtung der Synchronisation I. Starten des Synchronisations Wizard Seite 3 II. Schritt 1 - Benutzer auswählen Seite 3 III. Schritt 2 - Grundlegende Einstellungen Seite

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Was ist neu in Sage CRM 6.1

Was ist neu in Sage CRM 6.1 Was ist neu in Sage CRM 6.1 Was ist neu in Sage CRM 6.1 In dieser Präsentation werden wir Sie auf eine Entdeckungstour mitnehmen, auf der folgende neue und verbesserte Funktionen von Sage CRM 6.1 auf Basis

Mehr

Anleitung für den Euroweb-Newsletter

Anleitung für den Euroweb-Newsletter 1. Die Anmeldung Begeben Sie sich auf der Euroweb Homepage (www.euroweb.de) in den Support-Bereich und wählen dort den Punkt Newsletter aus. Im Folgenden öffnet sich in dem Browserfenster die Seite, auf

Mehr

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...

Mehr

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION Allgemein Infomon bietet die Architektur für das Informations-Monitoring in einer Windows- Topologie. Die Serverfunktionalität wird in einer IIS-Umgebung

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

ESB - Elektronischer Service Bericht

ESB - Elektronischer Service Bericht Desk Software & Consulting GmbH ESB - Elektronischer Service Bericht Dokumentation des elektronischen Serviceberichts Matthias Hoffmann 25.04.2012 DESK Software und Consulting GmbH Im Heerfeld 2-4 35713

Mehr

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

Sof o t f waretechn h o n l o og o i g en n f ü f r ü v e v rteilte S yst s eme Übung Softwaretechnologien für verteilte Systeme Übung Organisatorisches Gruppen mit 3-4 Personen bearbeiten ein zugewiesenes Thema Abgabe besteht aus einer Arbeit mit 10-15 Seiten und ~30 Minuten Präsentation

Mehr

Ihr CMS für die eigene Facebook Page - 1

Ihr CMS für die eigene Facebook Page - 1 Ihr CMS für die eigene Facebook Page Installation und Einrichten eines CMS für die Betreuung einer oder mehrer zusätzlichen Seiten auf Ihrer Facebook Page. Anpassen der "index.php" Installieren Sie das

Mehr

Leitfaden zur Installation von Bitbyters.WinShutdown

Leitfaden zur Installation von Bitbyters.WinShutdown Leitfaden zur Installation von Bitbyters.WinShutdown für Windows 32 Bit 98/NT/2000/XP/2003/2008 Der BitByters.WinShutDown ist ein Tool mit dem Sie Programme beim Herunterfahren Ihres Systems ausführen

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

IDEP / KN8 für WINDOWS. Schnellstart

IDEP / KN8 für WINDOWS. Schnellstart IDEP / KN8 für WINDOWS Schnellstart 1. INSTALLATION 1.1 ÜBER DAS INTERNET Auf der Webseite von Intrastat (www.intrastat.be) gehen Sie nach der Sprachauswahl auf den Unterpunkt Idep/Gn8 für Windows. Dann

Mehr

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige

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

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird. Der Admin-Bereich im Backend Achtung: Diese Anleitung gibt nur einen groben Überblick über die häufigsten Aufgaben im Backend-Bereich. Sollten Sie sich nicht sicher sein, was genau Sie gerade tun, dann

Mehr

Installationsanleitung CLX.PayMaker Office

Installationsanleitung CLX.PayMaker Office Installationsanleitung CLX.PayMaker Office Inhaltsverzeichnis 1. Installation und Datenübernahme... 2 2. Erste Schritte Verbindung zur Bank einrichten und Kontoinformationen beziehen... 4 3. Einrichtung

Mehr

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Boris Golubovic Dortmund, den 24. Oktober 2010 Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Ein Projekt anlegen Ein Projekt kapselt alle zu einer Anwendung gehörenden

Mehr

Installationsanleitungen

Installationsanleitungen Installationsanleitungen INPA SGBD-Entwicklungsumgebung (EDIABAS) INPA für Entwickler Bevor Sie EDIABAS / INPA installieren können, müssen Sie sich für den Ordner sgref auf smuc0900 freischalten lassen.

Mehr

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage. Integration mit Die Integration der AristaFlow Business Process Management Suite (BPM) mit dem Enterprise Information Management System FILERO (EIMS) bildet die optimale Basis für flexible Optimierung

Mehr

Angebot & Rechnung, Umsatzsteuer, Mein Büro Einrichtung automatischer Datensicherungen

Angebot & Rechnung, Umsatzsteuer, Mein Büro Einrichtung automatischer Datensicherungen Software Angebot & Rechnung, Umsatzsteuer, Mein Büro Thema Einrichtung automatischer Datensicherungen Datum September 2011 So richten Sie automatische Datensicherungen ein Über den Menüpunkt Datei - Datensicherung

Mehr

Anleitung BFV-Widget-Generator

Anleitung BFV-Widget-Generator Anleitung BFV-Widget-Generator Seite 1 von 6 Seit dem 1. Oktober 2014 hat der Bayerische Fußball-Verband e.v. neue Widgets und einen neuen Baukasten zur Erstellung dieser Widgets veröffentlicht. Im Folgenden

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

Business Process Execution Language. Christian Vollmer <christian.vollmer@udo.edu> Oliver Garbe <oliver.garbe@udo.edu>

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

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

ÖKB Steiermark Schulungsunterlagen

ÖKB Steiermark Schulungsunterlagen ÖKB Steiermark Schulungsunterlagen Fotos von Online-Speicher bereitstellen Da das hinzufügen von Fotos auf unsere Homepage recht umständlich und auf 80 Fotos begrenzt ist, ist es erforderlich die Dienste

Mehr

Vergleich: Positionen der Word 2003-Befehle in Word

Vergleich: Positionen der Word 2003-Befehle in Word Seite 1 von 6 Word > Erste Schritte Vergleich: Positionen der Word 2003-Befehle in Word 2007 Dieser Artikel enthält eine Einführung in die grundlegenden Elemente der neuen Microsoft Office Word 2007- Benutzeroberfläche

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Kurzanleitung ejax Online-Demo

Kurzanleitung ejax Online-Demo Dieser Leitfaden führt Sie in 12 Schritten durch die Module der Online Demo-Version des ejax Management Systems. Übersicht und Navigation Schritt 1 Nach der Anmeldung und dem Start der Anwendungsoberfläche

Mehr

INSTALLATIONSANLEITUNG

INSTALLATIONSANLEITUNG INSTALLATIONSANLEITUNG MASTER UPDATE 2.1.0.4 2014 Gambio GmbH. www.gambio.de Inhaltsverzeichnis 1 Changelog 3 2 Datensicherung 3 3 Installation Master Update 4 3.1 Update von Shopsystemen v2.0.7c bis v2.0.15.4

Mehr

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools Im nachfolgenden Dokument werden alle Einzelschritte aufgeführt, die als Voraussetzung für die korrekte

Mehr

Java-Tutorium WS 09/10

Java-Tutorium WS 09/10 Tutorial: Eclipse Debugger Was ist der Eclipse Debugger? Die Eclipse Plattform stellt einige sehr hilfreiche Features zum Programmieren bereit. Eines dieser Features ist der Debugger. Mithilfe des Debuggers

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Installation und Sicherung von AdmiCash mit airbackup

Installation und Sicherung von AdmiCash mit airbackup Installation und Sicherung von AdmiCash mit airbackup airbackup airbackup ist eine komfortable, externe Datensicherungslösung, welche verschiedene Funktionen zur Sicherung, sowie im Falle eines Datenverlustes,

Mehr

Inhalt. meliarts. 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen...

Inhalt. meliarts. 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen... Inhalt 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen... 4 Seite 1 von 7 meliarts 1. Allgemeine Informationen meliarts ist eine Implementierung

Mehr

Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner www.inventage.com

Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner www.inventage.com Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner www.inventage.com Eignet sich Eclipse RCP als Enterprise Plattform? Einführung Demos Corporate Governance Asset

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

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole Lavid-F.I.S. Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der Lavid Software GmbH Dauner Straße 12, D-41236 Mönchengladbach http://www.lavid-software.net Support:

Mehr

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8 Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8 Schritt 1: Altes Modul-Paket vollständig deinstallieren Die neuen MRG-Module sind aus dem Scope local in den Scope

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Der Konfigurations-Assistent wurde entwickelt, um die unterschiedlichen ANTLOG-Anwendungen auf den verschiedensten Umgebungen automatisiert

Mehr

Handbuch PCI Treiber-Installation

Handbuch PCI Treiber-Installation Handbuch PCI Treiber-Installation W&T Release 1.0, September 2003 09/2003 by Wiesemann & Theis GmbH Microsoft und Windows sind eingetragene Warenzeichen der Microsoft Corporation Irrtum und Änderung vorbehalten:

Mehr

Support-Ticket-System. - Anleitung zur Benutzung -

Support-Ticket-System. - Anleitung zur Benutzung - Support-Ticket-System - Anleitung zur Benutzung - Anschrift Netzwerkservice Schmidt Münsterstr. 170 44534 Lünen-Wethmar Telefon (02306) 308380-99 Telefax (02306) 308380-44 Mobil (0178) 71 88 344 ICQ 173452919

Mehr

Adminer: Installationsanleitung

Adminer: Installationsanleitung Adminer: Installationsanleitung phpmyadmin ist bei uns mit dem Kundenmenüpasswort geschützt. Wer einer dritten Person Zugriff auf die Datenbankverwaltung, aber nicht auf das Kundenmenü geben möchte, kann

Mehr

Live Update (Auto Update)

Live Update (Auto Update) Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

3. GLIEDERUNG. Aufgabe:

3. GLIEDERUNG. Aufgabe: 3. GLIEDERUNG Aufgabe: In der Praxis ist es für einen Ausdruck, der nicht alle Detaildaten enthält, häufig notwendig, Zeilen oder Spalten einer Tabelle auszublenden. Auch eine übersichtlichere Darstellung

Mehr

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2012 Express with management tools

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2012 Express with management tools Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2012 Express with management tools Im nachfolgenden Dokument werden alle Einzelschritte aufgeführt, die als Voraussetzung für die korrekte

Mehr

Handbuch zum Excel Formular Editor

Handbuch zum Excel Formular Editor Handbuch zum Excel Formular Editor Mit diesem Programm können Sie die Zellen von ihrer Excel Datei automatisch befüllen lassen. Die Daten können aus der Coffee Datenbank, oder einer weiteren Excel Datendatei

Mehr

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller Proseminar: Website-Managment-System NetObjects Fusion von Christoph Feller Netobjects Fusion - Übersicht Übersicht Einleitung Die Komponenten Übersicht über die Komponenten Beschreibung der einzelnen

Mehr