Well, it almost works :)
Just on thing: As far as i remember, PDFs are able not only to link at a
given page, but within an anchor in a page. I have attached another
document (sorry, its a bit larger this time, but without enough text you
can not reproduce the bug), that shows what i mean. Clicking in the
summary on one of the subchapter will lead you to the beginning of the
page, that contains the the subchapter, not to the subchapter itself on
the page.
Thanks for your quick reply
Sven
I've done a change that should fix the bug for you. Would you please
update your working copy and retry? Please let me know if it works.
Thanks for preparing the example FO file in the first place! That helped
a lot.
This is the fix:
http://svn.apache.org/viewcvs?rev=326133&view=rev
On 18.10.2005 13:00:25 Jeremias Maerki wrote:
Looks like you hit a bug in FOP Trunk. I'll need to investigate this a
bit more closely. I will get back to you.
For the fop-devs: The internal-destination is properly set on the area
tree but the PDFRenderer doesn't find the right pageReference in
renderInlineParent() and thus skips generating the PDFLink object. Maybe
there's a general problem with forward references there.
On 18.10.2005 12:33:34 Sven wrote:
Hi there,
i read about FOP's problem, not being able to display leaders & co
as links. In my case i have just simple text that is used as an
internal hyperlink. FOP renders the page successfully without any
warning about missing referenced IDs, so i have to assume everything
works fine. But indeed none of the links is "clickable".
I am using the latest trunk from repository (revision 325900). Am i
missing something important? Thanks for help :)
<snip/>
Jeremias Maerki
<?xml version="1.0" encoding="utf-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master margin="4.5cm" page-width="21cm" page-height="29.7cm" master-name="titlepage">
<fo:region-body/>
</fo:simple-page-master>
<fo:simple-page-master margin="2.5cm" page-width="21cm" page-height="29.7cm" master-name="default">
<fo:region-body margin-bottom="1cm" margin-top="1cm"/>
<fo:region-before extent="1cm"/>
<fo:region-after extent="1cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="titlepage">
<fo:flow flow-name="xsl-region-body">
<fo:block text-align="center" font-weight="bold" font-size="16pt" font-family="Helvetica">Integration von Agentenplattformen in J2EE-Anwendungsserverumgebungen â am Beispiel von Jadex</fo:block>
<fo:block space-before="1em" text-align="center" font-size="12pt" font-family="Times">
(Arbeitsbeschreibung zur Diplomarbeit)
</fo:block>
<fo:block space-after="12pt" space-before="4em" font-weight="bold" font-size="14pt" font-family="Helvetica">
Inhaltsverzeichnis
</fo:block>
<fo:list-block line-height="1.5em" font-size="12pt" font-family="Times">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>1.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Einleitung">Einleitung</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Einleitung"/>
</fo:block>
<fo:list-block>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>1.1.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Zielsetzung">Zielsetzung</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Zielsetzung"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>1.2.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Vorgehen">Vorgehen</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Vorgehen"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>2.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Grundlagen">Grundlagen</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Grundlagen"/>
</fo:block>
<fo:list-block>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>2.1.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Agententechnologie">Agententechnologie</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Agententechnologie"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>2.2.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Anwendungsserver">Anwendungsserver</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Anwendungsserver"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>3.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Analyse der Integrationsmöglichkeiten">Analyse der Integrationsmöglichkeiten</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Analyse der Integrationsmöglichkeiten"/>
</fo:block>
<fo:list-block>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>3.1.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Systemnahe Integration">Systemnahe Integration</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Systemnahe Integration"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>3.2.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Komponentenbasierte Integration">Komponentenbasierte Integration</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Komponentenbasierte Integration"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>4.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Einschätzung und Auswahl einer Integrationsart">Einschätzung und Auswahl einer Integrationsart</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Einschätzung und Auswahl einer Integrationsart"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>5.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Evaluation anhand einer Beispielanwendung">Evaluation anhand einer Beispielanwendung</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Evaluation anhand einer Beispielanwendung"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>6.</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:basic-link internal-destination="Zusammenfassung und Ausblick">Zusammenfassung und Ausblick</fo:basic-link>
<fo:leader leader-length.optimum="100%" leader-pattern="dots"/>
<fo:page-number-citation ref-id="Zusammenfassung und Ausblick"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="default">
<fo:static-content flow-name="xsl-region-before">
<fo:block border-bottom="solid 1px silver" text-align="end" font-size="10pt" font-family="Helvetica">Einleitung</fo:block>
</fo:static-content>
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="12pt" font-family="Helvetica">
<fo:page-number/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block space-after="0.5em" space-before="1em" id="Einleitung" font-weight="bold" font-size="16pt" font-family="Helvetica">1. Einleitung</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Obwohl die agentenorientierte Softwareentwicklung im vergangenen
Jahrzehnt immer gröÃeren Zuspruch gefunden hat, findet sie
bisher nur überwiegend im universitären Umfeld Anwendung. Damit
sie Bestandteil der Entwicklung von Unternehmensanwendungen
werden kann, müssten die Defizite bestehender Agentenplattformen
beseitigt werden. Diese Defizite bestehen in der schlechten
Administrierbarkeit und der häufig nur unzureichend
unterstützten Interoperabilität mit bestehenden
Unternehmensanwendungen [CoGrBKR02].
<fo:block space-after="0.5em" space-before="1em" id="Zielsetzung" font-weight="bold" font-size="14pt" font-family="Helvetica">1.1. Zielsetzung</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Ziel dieser Diplomarbeit ist es, die im Fachbereich
Informatik der Universität Hamburg entwickelte
Agentenplattform Jadex um eben genannte
nicht-funktionale Aspekte wie zum Beispiel die
Verwaltung und Ãberwachung von Softwareagenten zu
erweitern. Weiterhin soll der wechselseitige Zugriff von
Softwareagenten und Unternehmenssoftware für den
Programmierer so einfach wie möglich gestaltet werden.
Eine ideale Lösung würde demnach so aussehen, dass weder
ein Agenten- noch ein Unternehmenssoftwareprogrammierer
eine neue Schnittstelle zu lernen hätten. Stattdessen
würden beide die ihnen bekannten Schnittstellen nutzen,
um gegenseitig zu interagieren.
</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Um dieses Ziel zu erreichen, wird eine Bestandsaufnahme
existierender Softwareframeworks gemacht, welche die
genannten Anforderungen erfüllen. Das Hauptaugenmerk
liegt hierbei sowohl auf der Analyse bestehender
Lösungen für Agententechnologie im Unternehmensumfeld im
Allgemeinen, als auch auf einer Untersuchung der
Integrationsmöglichkeiten von Jadex in bestehende
Unternehmenssoftware im Speziellen.
</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Ausgehend von dieser Analyse wird eine der
Integrationsmöglichkeiten für Jadex realisiert und
anhand eines Beispielszenarios demonstriert und
validiert.
</fo:block>
</fo:block>
<fo:block space-after="0.5em" space-before="1em" id="Vorgehen" font-weight="bold" font-size="14pt" font-family="Helvetica">1.2. Vorgehen</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Da die genannten Anforderungen an Software sowohl für
die effiziente Entwicklung als auch für den effektiven
Betrieb wichtig sind, werden sie von Unternehmen als
zwingend notwendig angesehen. Dementsprechend zahlreich
ist die Anzahl der Frameworks auf dem Markt, die dem
Entwickler die Programmierung dieser immer
wiederkehrenden Anforderungen abzunehmen verspricht.
</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Eine davon ist die im Java Community Process (JCP)
entstandene Spezifikation namens Java 2 Platform,
Enterprise Edition (J2EE) für die Entwicklung
komponentenbasierter, mehrschichtiger
Unternehmensanwendungen in Java. Diese Spezifikation
wird von mehreren kommerziellen und nicht-kommerziellen
Anwendungsservern umgesetzt. Da sich die
Anwendungsserver für Unternehmenssoftware über die Jahre
bewährt haben, ist es durchaus nahe liegend, die von
ihnen erbrachten Dienste zu nutzen, um die oben
genannten Defizite bestehender Agentenplattformen zu
beseitigen.
</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
In dem folgenden Kapitel werden dafür zunächst die
zugrunde liegenden Technologien erklärt. Dabei wird
speziell auf die technischen Gesichtspunkte von Jadex
und J2EE-konformen Anwendungsservern eingegangen, da
diese den begrenzen Faktor für eine Integration
darstellen. Von dieser kurzen Einführung ausgehend,
werden im folgenden Kapitel verschiedene
Integrationsmöglichkeiten aufgezeigt und auf ihre Vor-
und Nachteile hin untersucht. Aufgrund der Analyse wird
anschlieÃend eine dieser aufgezeigten Möglichkeiten
ausgewählt und implementiert. Dazu gehört auch ein
einfaches Beispielszenario, das die Funktionalität der
Integration verdeutlicht. AbschlieÃend werden in einem
Resümee die erzielten Ergebnisse mit den Anforderungen
verglichen, die aufgetauchten Probleme erklärt sowie die
im Zuge der Diplomarbeit aufgetauchten, weiterführenden
Ideen kurz umrissen.
</fo:block>
</fo:block>
</fo:block>
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="default">
<fo:static-content flow-name="xsl-region-before">
<fo:block border-bottom="solid 1px silver" text-align="end" font-size="10pt" font-family="Helvetica">Grundlagen</fo:block>
</fo:static-content>
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="12pt" font-family="Helvetica">
<fo:page-number/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block space-after="0.5em" space-before="1em" id="Grundlagen" font-weight="bold" font-size="16pt" font-family="Helvetica">2. Grundlagen</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
An dieser Stelle soll nun eine Einführung in die in dieser
Diplomarbeit verwendeten Technologien gegeben werden. Wie schon
im vorangegangenen Kapitel gesagt, werden dabei insbesondere die
technischen Aspekte beider Technologien erläutert.
<fo:block space-after="0.5em" space-before="1em" id="Agententechnologie" font-weight="bold" font-size="14pt" font-family="Helvetica">2.1. Agententechnologie</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Beginnend mit einer kurzen allgemeinen Einführung in
Softwareagenten und Agentenplattformen sowie ihren
Einsatz, geht dieses Kapitel speziell auf Jadex ein.
</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Softwareagenten sind Programmfragmente, die im Kontext
einer Agentenplattform laufen und sich durch folgende
Eigenschaften auszeichnen:
</fo:block>
<fo:list-block>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>1.)</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Soziabilität, d.h. Agenten kommunizieren mit anderen
Agenten, um ihre vom Programmierer festgelegten
Ziele zu erreichen.
</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>2.)</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Proaktivität, d.h. Agenten reagieren nicht nur auf
Ãnderungen ihrer Umwelt, sondern handeln auch aus
eigener Initiative.
</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>3.)</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Autonomie, d.h. Agenten handeln weitestgehend
unabhängig von Benutzereingriffen.
</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>4.)</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Anpassungsfähigkeit, d.h. Agenten sollten die
Prinzipien der aus der Psychologie bekannten
âHandlungsregulationstheorieâ ansatzweise umsetzen.
</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Jadex ist eine Implementierung des BDI-Modells, welches
wohl als bekanntester Vertreter der deliberativen
Agentenarchitekturen gilt. Dieses Modell wurde
ursprünglich 1987 von Michael Bratman entwickelt, der
sich in seiner Funktion als Professor der Philosophie an
der Stanford Universität mit der Entscheidungsfindung
bei Menschen beschäftigt hat [WikiBDI05]. Grundlage des
Modells sind drei Kernkomponenten die jedem BDI-Agenten
zugrunde liegen: sein Wissen (
<fo:inline text-decoration="underline">B</fo:inline>
eliefs), seine Ziele (
<fo:inline text-decoration="underline">D</fo:inline>
esires) und seine Absichten (
<fo:inline text-decoration="underline">I</fo:inline>
ntentions) [PoBrLa05].
</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Jadex war ursprünglich als Erweiterung der
Agentenplattform Jade entwickelt worden â daher auch der
Name Jadex (Jade Extension). Der aktuelle
Entwicklungszweig von Jadex ermöglicht es aber unter
anderem dank geeigneter Schnittstellen, quasi beliebige
Transportsysteme für Nachrichten anzubinden.
</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Es folgt eine technische Beschreibung von Jadex. Die
Anforderungen an die Laufzeitumgebung werden ebenso wie
die Schnittstellen, die eine Integration von Jadex
ermöglichen, benannt und erklärt.
</fo:block>
</fo:block>
<fo:block space-after="0.5em" space-before="1em" id="Anwendungsserver" font-weight="bold" font-size="14pt" font-family="Helvetica">2.2. Anwendungsserver</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Die im JCP entwickelte Spezifikation J2EE definiert
einen allgemein akzeptierten Rahmen für die Entwicklung
modularer, mehrschichtiger Anwendungen. An dem Prozess
wirken mehrere namhafte Firmen wie etwa IBM, Sun und
Oracle mit dem Ziel mit, Anwendungsserver und
Anwendungskomponenten unterschiedlicher Hersteller
interoperabel zu halten. Um dieses zu erreichen, werden
in der Spezifikation nicht-funktionale Aspekte
festgelegt, die die folgenden Bereiche betreffen:
</fo:block>
<fo:list-block>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block font-size="10pt" font-family="Symbol">
â¢
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">Transaktionskontrolle</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block font-size="10pt" font-family="Symbol">
â¢
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Kommunikation zwischen Komponenten und mit externen
- möglicherweise schon bestehenden - Systemen
</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block font-size="10pt" font-family="Symbol">
â¢
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">Unterstützung für Persistenz von Geschäftsdaten</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block font-size="10pt" font-family="Symbol">
â¢
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">Sicherheit</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block font-size="10pt" font-family="Symbol">
â¢
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">Namens- und Verzeichnisdienste</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block font-size="10pt" font-family="Symbol">
â¢
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Unterstützung für die Entwicklung und die
Administration von Komponenten
</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Im Folgenden wird näher auf die einzelnen Aspekte
eingegangen: Dabei wird erläutert wie sie umgesetzt
wurden und wie sie vom Entwickler genutzt werden können.
</fo:block>
</fo:block>
</fo:block>
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="default">
<fo:static-content flow-name="xsl-region-before">
<fo:block border-bottom="solid 1px silver" text-align="end" font-size="10pt" font-family="Helvetica">Analyse der Integrationsmöglichkeiten</fo:block>
</fo:static-content>
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="12pt" font-family="Helvetica">
<fo:page-number/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block space-after="0.5em" space-before="1em" id="Analyse der Integrationsmöglichkeiten" font-weight="bold" font-size="16pt" font-family="Helvetica">3. Analyse der Integrationsmöglichkeiten</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Nachdem die Vorraussetzungen und Möglichkeiten beider
Technologien genannt wurden, beschäftigt sich dieses Kapitel
nun mit den Integrationsmöglichkeiten der beiden. Dazu
werden die sich teilweise widersprechenden Anforderungen
beider Technologien â z.B. Proaktivität auf der einen,
kontrollierter, reaktiver Ablauf auf der anderen Seite â
gegenübergestellt und auf ihre Verträglichkeit hin
untersucht.
</fo:block>
<fo:block space-after="0.25em" space-before="0.5em" font-weight="bold" font-size="12pt" font-family="Helvetica">Dicker Test an dieser Stelle</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Die Anpassungsfähigkeit von Softwareagenten wird z.B. durch
eine Integration kaum beeinflusst, ist sie doch als
Bestandteil von Jadex vollständig im BDI-Modell gekapselt.
Als problematisch könnten sich da nur Zustandsinformationen
des Agenten erweisen, da nicht alle Integrationsarten
beliebige Objekte als Instanzvariablen zulassen.
</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Schwieriger sind dagegen die Soziabilität und das eben schon
genannte proaktive Verhalten von Agenten zu integrieren.
Gemäà der Zielsetzung dieser Arbeit erfordert die
Soziabilität nicht nur eine Kommunikation der Agenten
untereinander, sondern auch eine Kommunikation mit
bestehender Unternehmenssoftware. Die Komplexität der
Integration des proaktiven Verhaltens ist abhängig von der
gewählten Integrationsart. Sehr allgemein formuliert lässt
sich sagen: Je mehr sich diese Integration an die
J2EE-Spezifikation hält, desto mehr Dienste kann sie vom
Anwendungsserver in Anspruch nehmen, aber desto komplexer
ist auch die Integration.
</fo:block>
<fo:block space-after="0.5em" space-before="1em" id="Systemnahe Integration" font-weight="bold" font-size="14pt" font-family="Helvetica">3.1. Systemnahe Integration</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Ãber die durch die Spezifikation vorgegebenen
Schnittstellen für Anwendungskomponenten hinaus bieten
die meisten Anwendungsserver eigene â
herstellerspezifische â Schnittstellen an.
</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
BlueJADE ist zum Beispiel ein Ansatz, der eine
Integration von Jade in den frei verfügbaren
Anwendungsserver von JBoss vorsieht. Dabei macht sich
BlueJADE den modularen Aufbau vom JBoss Anwendungsserver
zu nutzen. Dieser besteht nur aus einem Mikrokernel, der
alle weiteren Komponenten wie etwa die Container für
J2EE-Komponenten lädt und verwaltet. BlueJADE stellt
also den Adapter zwischen Jade und dem Mikrokernel vom
Jboss Anwendungsserver dar [CoGrBu02].
</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Aber auch andere Anwendungsserver wie die
Referenzimplementierung der J2EE-Spezifikation von Sun
bieten solche Schnittstellen.
</fo:block>
</fo:block>
<fo:block space-after="0.5em" space-before="1em" id="Komponentenbasierte Integration" font-weight="bold" font-size="14pt" font-family="Helvetica">3.2. Komponentenbasierte Integration</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Von einer komponentenbasierten Integration kann man
dagegen sprechen, wenn sie die J2EE-Spezifikation
einhält und damit herstellerunabhängig ist. Die so
integrierte Agentenplattform würde wie eine
Anwendungskomponente im Anwendungsserver laufen und
würde damit all ihre Vorteile und Funktionalitäten
unterstützen.
</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Deswegen wird an dieser Stelle analysiert, inwieweit
sich Jadex als Komponente für die einzelnen Teile des
Anwendungsserver eignet [BaGa02].
</fo:block>
</fo:block>
</fo:block>
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="default">
<fo:static-content flow-name="xsl-region-before">
<fo:block border-bottom="solid 1px silver" text-align="end" font-size="10pt" font-family="Helvetica">Einschätzung und Auswahl einer Integrationsart</fo:block>
</fo:static-content>
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="12pt" font-family="Helvetica">
<fo:page-number/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block space-after="0.5em" space-before="1em" id="Einschätzung und Auswahl einer Integrationsart" font-weight="bold" font-size="16pt" font-family="Helvetica">4. Einschätzung und Auswahl einer Integrationsart</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
An das vorangehende Kapitel anschlieÃend werden nun die
genannten Integrationsmöglichkeiten mit dem Ziel bewertet, eine
der Möglichkeiten für eine Implementierung auszuwählen.
Auswahlkriterien sind auf der einen Seite die Qualität der
Integration, auf der anderen die für diese Diplomarbeit zur
Verfügung stehende Zeit.
</fo:block>
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="default">
<fo:static-content flow-name="xsl-region-before">
<fo:block border-bottom="solid 1px silver" text-align="end" font-size="10pt" font-family="Helvetica">Evaluation anhand einer Beispielanwendung</fo:block>
</fo:static-content>
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="12pt" font-family="Helvetica">
<fo:page-number/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block space-after="0.5em" space-before="1em" id="Evaluation anhand einer Beispielanwendung" font-weight="bold" font-size="16pt" font-family="Helvetica">5. Evaluation anhand einer Beispielanwendung</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
AbschlieÃend werden die im Rahmen dieser Arbeit erbrachten
Ergebnisse validiert. Dazu wird ein Beispielszenario entwickelt,
welches die in dieser Arbeit erbrachten Ergebnisse demonstriert.
In Frage kommende Anwendungsdomänen sind jene, in denen
üblicherweise auch Agententechnologie und Anwendungsserver zum
Einsatz kommen. Da der Schwerpunkt dieser Arbeit auf der Analyse
der Integrationsmöglichkeiten und der Implementierung einer
solchen liegen, wird das Szenario wahrscheinlich nur einen Teil
einer Domäne abdecken. Wichtig ist, dass es die Vorteile der
Integration deutlich macht.
</fo:block>
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="default">
<fo:static-content flow-name="xsl-region-before">
<fo:block border-bottom="solid 1px silver" text-align="end" font-size="10pt" font-family="Helvetica">Zusammenfassung und Ausblick</fo:block>
</fo:static-content>
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="12pt" font-family="Helvetica">
<fo:page-number/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block space-after="0.5em" space-before="1em" id="Zusammenfassung und Ausblick" font-weight="bold" font-size="16pt" font-family="Helvetica">6. Zusammenfassung und Ausblick</fo:block>
<fo:block text-align="justify" font-size="12pt" font-family="Times">
Darüber hinaus soll ein Ausblick auf weitere
Integrationsmöglichkeiten gemacht werden.
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]