Download AJA Phase I 2000

Transcript
- 133 -
Common Facilities
Application Agents
user agent
system agent
SAL
SAL
service
service
SAL
SAL
service
SAL
Object Request Broker (ORB)
SAL
SAL
SAL
SAL
WF Service
Repository
CSCW
Component
KB
DM
Strategy Service
System Agents
Abb. 2: Der logische Klient und die darin verwendeten Klassen von Agenten
Der Logische Klient ist zunächst eine sogenannte Peer-to-Peer-Architektur /12/: Auf der Implementierungsebene sind alle Agenten gleichwertig, und jeder kann jeden anderen damit
beauftragen, Dienstleistungen zu erbringen. Dies ist eine sehr flexible ”soziale” Struktur. Andererseits setzt die Vergabe einer Dienstleistung voraus, daß ihr Einsatz sinnvoll ist, ihre
Schnittstellenbeschreibung berücksichtigt wird, die entsprechenden Eingabeobjekte bereitgestellt werden und die Ergebnisobjekte auch genutzt werden können.
Damit in einem solchen Agentensystem die angebotenen Dienstleistungen voll genutzt werden können, müßte jeder Agent mit den Dienstleistungen der anderen Agenten vertraut sein.
Wenn das System wächst, würde der Wartungsaufwand quadratisch mitwachsen.
Um einem Kollaps zu entgehen, ist ein Grundprinzip des Logischen Klienten die Unterscheidung zwischen Systemdiensten und normalen Diensten: Normale Dienste kennen bloß die
Dienstleistungen der Systemdienste, und Systemdienste sind nicht abhängig von den Dienstleistungen der normalen Dienste. Das logische Bindeglied zwischen diesen beiden Welten ist
der Strategie-Service, der die Dienstleistungsbeschreibungen der normalen Dienste
verarbeiten kann und Dienstleistungen vermittelt. Das praktische Bindeglied zwischen diesen
Welten ist der Workflow-Service, der im Laufe eines Workflows verschiedene Dienstleistungen anspricht und koordiniert.
Bisher steht jedoch kein generischer Strategie-Service zur Verfügung, der diese Aufgabe
allgemein erfüllen kann. Im KFÜ sind die möglichen Workflows bekannt und wurden daher
händisch erstellt. Normale Dienste dürfen und müssen die Dienstleistungen der anderen
normalen Dienste nicht kennen. Dafür tritt an die Stelle des Wissens von anderen Dienstleistungen im System nun das Wissen um Workflows. Wenn ein normaler Dienst zur Erbringung
seiner Dienstleistung Hilfe braucht, gibt er einen Workflow in Auftrag. Er muß wissen, ob es
im KFÜ einen passenden Workflow gibt und welche Schnittstellenbeschreibung dieser hat.