Download Prozessorientierte Integration von Softwarekomponenten durch XML

Transcript
12.2 Ausblick
251
die die benötigte Funktionalität anbietet, sondern es die Aufgabe des Prozesseditors ist,
zur Ausführungszeit eine geeignete Klasse zu finden. Im Abschnitt 10.2.4 wurde
erwähnt, dass bislang eine recht einfache Variante zum Einsatz kommt, bei der in einer
XML-Datei jedem Interface, das in den Prozessdiagrammen als Konnektor verwendet
wird, eine implementierende Klasse zugeordnet ist. Als Alternative ist es auch denkbar,
dass statt einer solchen festen Zuordnung der Interpreter dynamisch zur Laufzeit anhand
der Schnittstelle, die durch das Interface spezifiziert wird, eine passende Klasse sucht.
Seit einiger Zeit existiert die von Sun Microsystems entwickelte Technologie
Java Intelligent Network Infrastructure (Jini). Laut [Jin01] ist Jini entwickelt worden,
um eine Infrastruktur für dynamische Dienste in Netzwerken zur Verfügung zu stellen.
Ein Dienst ist dabei als Software- oder auch Hardwarekomponente mit einer bestimmten Funktionalität zu verstehen. Dienste können sich selbstständig beim Jini-System anund abmelden. Bei der Anmeldung werden sie in einem speziellen Verzeichnis registriert, um ihre Funktionen anderen Teilnehmern des Systems anzubieten. Wenn ein Teilnehmer einen Dienst in Anspruch nehmen möchte, so spezifiziert er diesen in Form
eines Interface, das der Dienst erfüllen soll und übermittelt diesen Wunsch an das JiniSystem. Anhand des Verzeichnisses aller zur Zeit angemeldeten Dienste wird nun ein
passender Dienst gesucht. Bei erfolgreicher Suche wird eine Verbindung zwischen
Dienst und Dienstnehmer hergestellt, damit die Interaktion durchgeführt werden kann.
Diese Möglichkeiten der Jini-Technologie können für das Suchen von Konnektor-Klassen durch den Prozessinterpreter genutzt werden. Alle Klassen, die vom
Workflow-System genutzt werden sollen, müssten sich dann beim Jini-System anmelden, so dass sie im Verzeichnis vermerkt sind. Wenn nun eine Interpreterinstanz zur
Ausführung eines Service einen Konnektor benötigt, kann anhand des Verzeichnisses
eine passende Klasse ermittelt werden, die das im Prozessmodell verwendete Interface
erfüllt. Da die Konzepte von XML-Prozessen und der Jini-Technologie offenbar gut
zusammenpassen, sollte eine Implementierung des Ansatzes keine großen Probleme
bereiten.
Unterstützung anderer Modellierungswerkzeuge: Prozessdiagramme als Sprache zur
Modellierung von XML-Prozessen lassen sich, wie in Kapitel 7 gezeigt, vollständig als
Erweiterung der UML beschreiben. Wir haben den Prozesseditor entwickelt, um dem
Modellierer eines Workflows ein speziell auf Prozessdiagramme zugeschnittenes Werkzeug zur Verfügung zu stellen, mit dem sich solche Diagramme komfortabel entwerfen
lassen. Prinzipiell ließen sich aber mit jedem beliebigen UML-Werkzeug Prozessdiagramme erstellen, sofern es die gesamten Möglichkeiten von UML-Aktivitätendiagrammen und der Erweiterungsmechanismen, insbesondere das Konzept der Stereotypen, unterstützt. Es ergibt sich dabei das Problem, dass der Prozessinterpreter ausschließlich Prozesse ausführen kann, die in Form einer PML-Beschreibung vorliegen.
Es kann jedoch nicht davon ausgegangen werden, dass das UML-Werkzeug, mit dem
ein Prozess modelliert wurde, als Ausgabe ein PML-Dokument erzeugen kann. Mit
XMI (siehe Abschnitt 8.2.2) existiert ein Industriestandard, der als einheitliches Format
zum Austausch von UML-Modellen zwischen verschiedenen Modellierungssystemen
dient. Im Rahmen der Verbreitung von XMI nutzen immer mehr UML-Werkzeuge
diese Sprache zur Speicherung von UML-Diagrammen. Wenn ein Prozessdiagramm
also mit einem anderen Werkzeug als dem Prozesseditor entworfen wurde, könnte es
zunächst in Form eines XMI-Dokuments abgelegt werden. Man benötigt dann eine