• Keine Ergebnisse gefunden

6WUXNWXUXQG0RGHOOLHUXQJYRQ'LHQVWHQ

Im Dokument Dynamische elektronische Bücher (Seite 97-102)

(OHNWURQLVFKH%FKHU

6WUXNWXUXQG0RGHOOLHUXQJYRQ'LHQVWHQ

schließend mit einem Statistikprogramm (externer Dienst), so muss er die Möglichkeit haben, die entstandenen Daten zur Erweiterung des Buchs (Annotation) zu verwenden und diese Ergebnisse abzuspeichern (Speicherungsdienst als Verfahren zur Individualisie-rung des elektronischen Buchs). Gleiches gilt für die durch gezielte Informationsanreiche-rung oder Informationserschließung ermittelte Information: Hat der Benutzer z. B. zu einem physikalischen Versuch zusätzliche Information (z. B. eine weitere Versuchssimu-lation aus dem World Wide Web; Fachliteratur zu einer spezifischen Variante des Ver-suchs aus einer digitalen Bibliothek), so muss er die Möglichkeit haben, die zusätzliche Information (bzw. Verweise auf sie) in das Buch zu integrieren und es so für sich zu indi-vidualisieren.

Es bestehen Wechselwirkungen nicht nur zwischen dem Primärdatenbestand und der Basisfunktionalität des elektronischen Buchs und den angebotenen Diensten, sondern auch zwischen den zusätzlichen Diensten untereinander. Die Realisierung dieses Modells setzt die deklarative Auszeichnung von Information als Mittel der Interoperabilität41 von Information und Dienst und die Verfügbarkeit offener Kommunikationsstandards voraus.

Wie solche Dienste zu modellieren und strukturieren sind, wird im folgenden Kapitel untersucht.

6WUXNWXUXQG0RGHOOLHUXQJYRQ'LHQVWHQ

Nachdem unterschiedliche Funktionen von Diensten diskutiert wurden, ist zu klären, wie – heterogene – Dienste zu strukturieren und zu modellieren sind, damit sie dynamisch in elektronische Bücher integriert werden können. Dies geschieht anhand der bereits ange-deuteten Beispiele auf einer konzeptuellen Ebene (für die Diensterealisierung erforderli-che Technologien werden in Kap. 12.3.1 ff. untersucht, die prototypiserforderli-che Umsetzung im Referenzprojekt in Kap. 14.2 vorgestellt). Um einen Dienst integrieren zu können, müs-sen dem Buchbetrachtungssystem unterschiedliche Informationen zur Verfügung stehen, die sich auf

• den Dienst selbst,

• die inhaltliche Struktur des Buchs, in die der Dienst eingebunden werden soll,

• den Benutzer,

• die aktuelle Benutzungssituation (Lesekontext, „Zustand“ des elektronischen Buchs) beziehen. Zunächst ist es erforderlich, allgemeine Informationen über den Dienst bereit-zustellen, um ihn technisch einbinden und ggf. dem Benutzer Informationen über den Dienst liefern zu können. Zu diesen Informationen gehören

die Dienstfunktion,

die Adressierung des Dienstes,

die Schnittstelle(n) zwischen Buch bzw. Buchbestandteil und Dienst,

• mögliche Folgedienste, an die von einem Dienst gelieferten Daten übergeben werden können,

die Modellierung der Daten (Format, Attribut-Wert-Strukturen), die an den Dienst geliefert werden müssen, bzw. die der Dienst selbst generiert sowie ggf.

41 Zur Frage der Realisierung interoperabler Dienste im World Wide Web vgl. VAN OSSENBRUG -GEN, HARDMAN & RUTLEDGE 1999, die als Ansatzpunkte für die Interoperabilität neben gene-rischen Diensten im World Wide Web wie die Erstellung von Informationsprofilen oder die Modularisierung von WWW-Anwendungen vor allem das Problem der Integration unter-schiedlicher Anwendungen sehen.

.DSLWHO¥'\QDPLVFKHHOHNWURQLVFKH%FKHU

• plattformspezifische Eigenschaften.

Stehen diese Informationen zur Verfügung, so stellt sich weiter die Frage, an welchen Stellen eines elektronischen Buchs, d. h. an welche Elemente seines Inhaltsmodells ein Dienst angebunden werden soll und wie diese Anbindung syntaktisch spezifiziert werden kann. Das Problem, Dienste so zu beschreiben, dass sie in ein elektronisches Buch dyna-misch integriert werden können und miteinander interagieren können, weist konzeptuelle Ähnlichkeit mit der Problematik der Spezifikation von Agentensprachen auf. Daher wer-den zunächst Standards aus dem Bereich der Agentensprachen diskutiert, um im An-schluss daran ein konkretes Modell der Dienstebeschreibung vorzustellen.

6SUDFKHQIU$JHQWHQV\VWHPH

Ein modulares Konzept, das elektronische Publikationen in eine heterogene dynamische Softwareinfrastruktur einordnet, ist mit dem Konzept von Softwareagenten eng verwandt.

Z. B. ist die Informationserschließung nicht nur ein Beispiel für zu integrierende Dienste in elektronischen Büchern, sondern auch ein klassisches Anwendungsgebiet für Softwa-reagenten (vgl. BRENNER, ZARNEKOW & WITTIG 1998: 21 ff., 225 ff.), wobei man ein-räumen muss, dass in vielen Fällen schon einfach strukturierte Informationssammlung-salgorithmen unter den Begriff intelligenter Softwareagenten subsumiert werden42. Die Konzepte und Sprachen, die für Agentensysteme entwickelt wurden (agent communica-tion Languages – ACL, vgl. LABROU, FININ & PENG 1999), können bei der Spezifikation der Schnittstellen und des Verhaltens elektronischer Publikationen eine wichtige Hilfe-stellung leisten. SINGH definiert den Agentenbegriff wie folgt:

In the true sense of the word, an agent is a persistent computation that can perceive its envi-ronment and reason and act both alone and with other agents. The key concepts in this defi-nition are interoperability and autonomy. [SINGH 1998: 40]

Unter einen Softwareagenten ist ein Programmsystem zu verstehen, das eigenständig Handlungen ausführt und mit einer Informationsinfrastruktur interagiert (vgl. CAGLAYAN

& HARRISON 1998: 9 ff., BRENNER, ZARNEKOW & WITTIG 1998: 21 ff.). Die Interopera-bilität und die Wahrnehmung der Umgebung ist durch die Kommunikationsfähigkeit des Agenten zu realisieren. Zur Spezifikation der Funktionalität von Agenten wurden ver-schiedene Sprachen bzw. Protokolle entwickelt: Ein in der Agentenliteratur schon seit längerem eingeführter Standardisierungsvorschlag ist die Knowledge Query and Ma-nipulation Language (KQML, vgl. FININ et al. 1994, LABROU, FININ & PENG 1999). Sie geht von der theoretischen Basis der Sprechakttheorie (vgl. AUSTIN 1979, SEARLE 1986;

HEYER & WOLFF 1998B) als Modellierung sprachlichen Handelns aus und entwirft ein Kommunikationsschema für Agenten. Nach diesem Ansatz beruht die Kommunikations-fähigkeit von Agenten auf einem dreischichtigen Modell, bestehend aus

den zu kommunizierenden Inhalten, die in einer geeigneten Repräsentationssprache deklarativ kodiert vorliegen,

der Kommunikationsfunktion (bzw. -logik), die in Analogie zu den Typen performati-ver Akte der Sprechakttheorie den Typ einer kommunikativen Handlung des Agenten nach einem vorgegebenen Muster klassifiziert und

42 Vgl. dazu CHEONG 1996, SINGH 1998: 40, BRENNER, ZARNEKOW & WITTIG 1998: 225 ff. Die dort diskutierten Beispiele für (Meta-)Suchmaschinen lassen sich zwar unter den Agentenbe-griff subsumieren, ein „intelligentes“ Verhalten ist aber nur in Ansätzen (z. B. bei der Indivi-dualisierung durch den Benutzer) zu erkennen.

,QWHJUDWLRQH[WHUQHU'LHQVWHXQG5HVVRXUFHQ

der Kommunikationsebene („Mechanik der Kommunikation“) selbst, auf der die tech-nischen Details des Informationsaustauschs kodiert werden (Datenprotokoll etc.).

Eine KQML-Nachricht besteht aus

• einem performativen Bestandteil, der die kommunikative Intention vermittelt,

• der Spezifikation von Inhalten bzw. Platzhaltern für gewünschte Information (z. B. bei Abfragen) und

• einer Attribut-Wert-Liste mit Angaben zu weiterer Kontextinformation (z. B. der Spe-zifikation der aktuell gültigen Ontologie oder Repräsentationssprache).

Im folgenden Beispiel wird eine an den Kontext des Referenzprojekts angepasste KQML-Nachricht wiedergegeben, bei der eine Informationsabfrage für einen Messwertdatensatz erfolgt:43

DVNRQH

VHQGHU%XFKEHQXW]HU;<

FRQWHQW0HVVHUJHEQLVYHUVXFK ¨)DGHQSHQGHO¨!

UHFHLYHU6SHLFKHUXQJVGLHQVWB0HVVHUJHEQLVVH UHSO\ZLWK$QIUDJHB

/DQJXDJH;0/

RQWRORJ\3K\VLNDOLVFKHB9HUVXFKH

WHOOVHQGHU6SHLFKHUXQJVGLHQVWB0HVVHUJHEQLVVH FRQWHQW0HVVHUJHEQLVYHUVXFK ¨)DGHQSHQGHO¨!

3DUDPHWHU!

'DHPSIXQJ!'DHPSIXQJ!

*HZLFKW!J*HZLFKW!

3DUDPHWHU!

0HVVZHUW!'DXHUGHU3HQGHOVFKZLQJXQJ0HVVZHUW!

'DWHQVDW]!

:HUW1U ¨¨!:HUW!

:HUW1U ¨¨!:HUW!

:HUW1U ¨¨!:HUW!

'DWHQVDW]!

0HVVHUJHEQLV!

UHFHLYHU%XFKEHQXW]HU;<

LQUHSO\WR$QIUDJHB /DQJXDJH;0/

RQWRORJ\3K\VLNDOLVFKHB9HUVXFKH

&RGHEHLVSLHO %HLVSLHOHLQHU.40/.RPPXQLNDWLRQ

Die Performativa (DVNRQH, WHOO etc.) in KQML sind sowohl hinsichtlich ihrer Standardisie-rung (core performatives – standard performatives – extended performatives) als auch hinsichtlich ihrer kommunikativen Funktion klassifiziert. Als Basisbestand werden fol-gende Subklassen performativer Akte eingeführt:

43 Das Beispiel nimmt an, dass XML als Kodierungsformat für den Informationstransport ver-wendet wird und geeignete DTDs für die Kodierung der Daten bzw. der zugrunde gelegten Ontologie vorhanden sind – KQML ist so modelliert, dass beliebige Beschreibungssprachen für Inhalte eingesetzt werden können, vgl. LABROU, FININ & PENG 1999: 47.

.DSLWHO¥'\QDPLVFKHHOHNWURQLVFKH%FKHU

• Einfache Anfrageperformativa (z. B. DVNLI),

• Anfrageperformativa für multiple Antwortquellen (z. B. VWUHDPLQ),

• Antwortperformativa (z. B. UHSO\),

• Generische Informationsperformativa (z. B. WHOOFDQFHO),

• Generierungsperformativa (z. B. UHDG\QH[W),

• Performativa zur Beschreibung von Fähigkeiten (z. B. LPSRUWH[SRUWPRQLWRU) und

• Netzwerkperformativa (z. B. IRUZDUGEURDGFDVW).

Ein jüngeres Protokoll, die ACL der Foundation for Intelligent Physical Agents (FIPA, FIPA-ACL), baut ebenfalls auf der Sprechakttheorie auf und kodiert eine sowohl syntak-tisch als auch inhaltlich KQML eng verwandte Agentensprache. Abbildung 15 zeigt den prinzipiellen Aufbau von Nachrichten in FIPA-ACL (FIPA 1998: Kap. 6.3.1, S. 10 f.):44

(inform

:sender agent1

:receiver hpl-auction-server :content

(price (bid good02) 150) :in-reply-to round-4 :reply-with bid04 :language sl

:ontology hpl-auction )

Begin message structure

Communicative act type

Message parameter

ACL message

Message content expression

Parameter expression

$EELOGXQJ 1DFKULFKWHQVWUXNWXUQDFKGHP),3$$&/0RGHOO

Die Anwendbarkeit von Agentenspezifikationssprachen für elektronische Publikationen ergibt sich

• aus ähnlichen Anwendungsproblemen, insbesondere der Möglichkeit der Anbindung von Diensten an Inhalte des elektronischen Buchs und

• aus dem konkreten Bedarf nach einheitlicher Spezifikation von Schnittstellen zwi-schen Softwarekomponenten (die u. a. nicht vollständig ex ante bekannt sind, sondern durch dynamische Zuschaltung interoperabel sein sollen).

Im Unterschied zu einem Agentensystem handelt es sich aber bei den Diensten, die für ein elektronischen Buch spezifiziert werden sollen, nicht um autonom miteinander intera-gierende Entitäten, sondern der Einsatz eines Dienstes setzt voraus, dass seine Integration gezielt durch Autor, Verlag/Distributor bzw. Benutzer erfolgt und auf diesem Weg die erforderliche Information über die Funktionsweise des Dienstes kodiert werden kann. Auf diesem Weg lässt sich pragmatisch die Problematik der Definition universeller Kommu-nikationsprimitive – ein Kernanliegen der Agentenkommunikationssprachen – umgehen.

Die ACL sind mehr konzeptueller Rahmen oder Vorgabe denn konkret nutzbares Umset-zungswerkzeug. Die Orientierung an der technologisch konkret nutzbaren Infrastruktur schränkt den Gestaltungsspielraum ein.

'LHQVWHNRGLHUXQJ

Die konkrete Kodierung der dienstebezogenen Information erfolgt im Rahmen dieser Arbeit auf der Basis deklarativen Markups, d. h. für jeden Dienst, der in ein elektroni-sches Buch integriert werden soll, wird ein Beschreibungsschema auf der Basis einer XML-DTD instantiiert, das im Rahmen der Dienstearchitektur durch das

44 Annex C in FIPA 1998 diskutiert den Zusammenhang zwischen KQML und der FIPA-ACL.

,QWHJUDWLRQH[WHUQHU'LHQVWHXQG5HVVRXUFHQ

tungssystem genutzt wird, um den Dienst an die Inhalte des Buch anzukoppeln und dem Benutzer zur Verfügung zu stellen. Diese textuelle Repräsentation der Dienstespezifikati-on hat den Vorteil, dass sie sich mit einfachen Editoren vDienstespezifikati-on Autoren bzw. Benutzern er-stellen und anpassen lässt; für ihre Nutzung ist allerdings die Überführung in Diensteob-jekte erforderlich.45

Die Kodierung greift die eingangs genannten Eigenschaften von Diensten auf und dient als Anknüpfungspunkt der Diensteaktivierung und -ausführung. Die nachfolgenden Beispiele zeigen vereinfacht die Beschreibung zweier Dienste für ein elektronisches Buch. Die Dienstebeschreibung hält Name und Funktion eines Dienstes fest, gibt dessen Adresse an, spezifiziert, an welches Auszeichnungselement des Buchs er angebunden werden soll und welche Art von Daten übermittelt werden. Hinzu kommt optionale In-formation, z. B. zur Autorisierung des Benutzers und zum Abrechnungsmodus.46

Anders als bei einer Agentenkommunikationssprache kann die Dienstekodierung nicht von den zugrundeliegenden Netzwerktechnologien abstrahieren, d. h. um einen Dienst integrieren zu können, sind genaue Informationen über seine Adressierung, das zu ver-wendende Protokoll und die zum Datenaustausch benötigten Formate erforderlich.

',(167(/,67(!

',(167!

1$0(!(QF\FORSHGLD%ULWDQQLFD1$0(!

)81.7,21!/H[LNRQ1DFKVFKODJHQYRQ%HJULIIHQ)81.7,21!

%(=8*!)DFKEHJULII%(=8*!

$'5(66(!KWWSZZZEULWDQQLFDFRPEFRPVHDUFKUHVXOWVKWPO$'5(66(!

7<3!:::7<3!

35272.2//!+77335272.2//!

,17(5)$&(W\S ¨+70/¨DGUHVVH ¨+70/6FKHPDWD:::'LHQVWKWPO¨!

',(1673$5$0(7(5QDPH SBTXHU\W\S VWULQJ!

)2/*(',(167!8HEHUVHW]XQJ)2/*(',(167!

)2/*(',(167!6SHLFKHUXQJ)2/*(',(167!

',(167!

',(167!

1$0(!$OWDYLVWD%DEHOILVK1$0(!

)81.7,21! 8XPOEHUVHW]XQJ'HXWVFK(QJOLVFK)81.7,21!

%(=8*!)DFKEHJULII%(=8*!

$'5(66(!KWWSEDEHOILVKDOWDYLVWDFRPFJLELQWUDQVODWH$'5(66(!

7<3!:::7<3!

35272.2//!+77335272.2//!

,17(5)$&(W\S ¨+70/¨DGUHVVH ¨+70/6FKHPDWD:::'LHQVWKWPO¨!

',(1673$5$0(7(5QDPH XUOWH[WW\S VWULQJ!

',(1673$5$0(7(5QDPH GRLWW\S VWULQJZHUW GRQH!

',(1673$5$0(7(5QDPH OSW\S VWULQJZHUW HQBGH!

)2/*(',(167!6SHLFKHUXQJ)2/*(',(167!

',(167!

',(167(/,67(!!

45 Vgl. MERZ & LAMERSDORF 1998: 9 ff., die für ihr allgemeines Dienstemodell die Interface Definition Language (IDL) von CORBA verwenden; HODES & KATZ 1999 stellen eine XML-basierte Interface Specification Language (ISL) vor, die dem hier verfolgten Ansatz sehr ähn-lich ist, da mit ihr Dienste nicht nur ebenfalls durch XML spezifiziert, sondern auch in Doku-mente eingebunden werden können.

46 Das Kodierungsschema verwendet als Syntax XML, vgl. dazu unten Kap. 5.2; die vollständige Dokumententypdefinition (DTD) der Dienstebeschreibung ist in Anhang 17.1 wiedergegeben.

.DSLWHO¥'\QDPLVFKHHOHNWURQLVFKH%FKHU

&RGHEHLVSLHO %HLVSLHOHIUGLH'LHQVWHNRGLHUXQJ

Problematisch ist dabei die Benennung der Dienstefunktion (z. B. Speicherung, Informa-tionserschließung, Darstellung etc.) über die ein Dienst einem Inhaltselement des Buchs zugeordnet werden kann (s. u.). Für sie wäre ein verbindliches und standardisiertes Voka-bular wünschenswert.

Im Dokument Dynamische elektronische Bücher (Seite 97-102)