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