13.07.2015 Aufrufe

ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...

ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...

ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.2. Erforderliche Werkzeuge4.2. Erforderliche WerkzeugeDieser Abschnitt soll <strong>ein</strong>en Überblick darüber geben, welche gr<strong>und</strong>legenden Werkzeuge benötigt werden,um den in Kapitel 3 beschriebenen Präsentations-Erzeugungsprozeß zu realisieren.4.2.1. Kombination von ProzessorenAuf diese Thematik wurde bereits im letzten Abschnitt <strong>ein</strong>gegangen. Prinzipiell kann der Aufruf vonProzessoren auf zwei Weisen erfolgen:1. Die Prozessoren werden durch Funktionsaufrufe realisiert. Die Steuerung übernimmt das Programm,in dem diese Funktionsaufrufe formuliert sind. Die Daten werden in <strong>ein</strong>er gem<strong>ein</strong>samenDatenstruktur (z.B. <strong>ein</strong>em DOM-Baum) gehalten 1 .2. Die Prozessoren werden durch eigenständige Programme realisiert. Die Steuerung übernimmt<strong>ein</strong> Steuerungsprogramm, das die <strong>ein</strong>zelnen Programme in <strong>ein</strong>er definierten Abfolge aufruft.Die Daten werden in <strong>ein</strong>em gem<strong>ein</strong>samen Austauschformat (z.B. als textuelle XML-Dokumente)entweder über die Standard-Ein/Ausgabe oder über Dateien übergeben.Vorteil von 1. ist <strong>ein</strong>e bessere Laufzeiteffizienz, da nicht jeder Prozessor zunächst die erhaltenen Datenin <strong>ein</strong>e interne Datenstruktur parsen muß <strong>und</strong> die Funktionen intern sehr schnell aufgerufen werdenkönnen. Der Nachteil ist jedoch, daß alle Prozessoren in <strong>ein</strong>em <strong>ein</strong>zigen monolithischen Programmformuliert werden, was die Austauschbarkeit erschwert. Ein Mittelweg wäre die Realisierung derProzessoren in Form von extern implementierten Funktionen in APIs, wodurch allerdings die Wahlder Programmiersprache vorgegeben wäre.Vorteil von 2. ist die Flexibilität des Prozesses, da die Prozessoren mit annähernd beliebigen Formalismenspezifiziert <strong>und</strong> beliebig ausgetauscht werden können. Nachteil ist das im vorangegangenenAbsatz bereits angesprochene wiederholte Parsen der Dokumente.Welcher <strong>Ansatz</strong> besser geeignet ist, hängt vom Anwendungszweck ab: Für <strong>ein</strong> Produktionssystem, beidem der Prozeß relativ stabil ist, ist sicher der erste <strong>Ansatz</strong> besser geeignet, für <strong>ein</strong> Produktionssystemmit <strong>ein</strong>em sich häufig ändernden Prozeß oder für <strong>ein</strong>en Prototypen der zweite.4.2.2. Prozessoren für TransformationenFür viele deklarative Anfragesprachen gibt es Software, die die in dieser Sprache formulierten Anfragenauf Dokumenten durchführt. Diese Programme werden ebenfalls Prozessoren genannt. Daß derBegriff Prozessor in dieser Arbeit für die Einheiten des Präsentations-Erzeugungsprozesses verwendetwird, ist k<strong>ein</strong> Zufall. Sie machen im Gr<strong>und</strong>e das gleiche: Sie führen Transformationen auf demDaten- bzw. <strong>Layout</strong>baum, hier also auf XML-Dokumenten, durch.Existiert <strong>ein</strong>e Transformation des Präsentations-Erzeugungsprozesses in <strong>ein</strong>er Anfragesprache, diesolche Prozessoren bietet, so liegt der Einsatz <strong>ein</strong>es solchen Prozessors nahe.1 Natürlich kann es auch entfernte Funktionsaufrufe geben, wie z.B. mit CORBA. Allerdings ersch<strong>ein</strong>en diese dem Programmselbst als lokale Aufrufe, da der Aufruf durch den Client Stub <strong>und</strong> dessen data marshaling transparent durchgeführtwird.43

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!