HTML mit Domino oder kontra Domino?

Unternehmen, die Lotus Domino unternehmensweit einsetzen, nutzen meist die Features dieser Plattform, um die Pflege der eigenen Internetseiten, des Intranets, eines Extranets oder auch eines Portals zu organisieren.

Elemente wie die etablierte Oberfläche, der fehlende Installationsaufwand im Roll-Out, die nahtlose eMail-Integration und die Nutzung der Rechtestrukturen sprechen dafür. Also liegt die Realisierung eines Content Management Systems (CMS) auf Basis Dominos nahe.

Reduziert man Content Managing auf das Nötigste, müssen zwei Typen von Informationen, nämlich Inhalte und Layoutinformationen, getrennt verwaltet und gleichzeitig angezeigt werden. Inhalte bildet man dabei am besten als Notes-Dokumente ab, denn sie sollen schließlich von Redakteuren gepflegt werden, und das sind in der Regel keine Notes-Entwickler.
Doch schon bei der Verwaltung der Layoutinformationen scheiden sich die Geister: manche Anbieter legen diese in Masken des Domino Servers ab. Damit können alle Web-Features des Domino Servers genutzt werden, aber in der Regel auch nur die: eine Abweichung davon ist unmöglich oder sehr aufwändig. Änderungen am Layout erfordern somit auch immer einen Notes-Entwickler, und zwar einen, der gleichzeitig etwas von HTML versteht.
Die andere Fraktion bilden Anbieter, bei denen auch Layoutinformationen in Dokumenten gespeichert werden. Analog genügen hier Autorenrechte - und das notwendige Fachwissen! - aus, um Veränderungen durchzuführen, auch Webdesigner ohne Notes-Kenntnisse können damit arbeiten. Des weiteren kann beliebiger HTML-Code zum Einsatz kommen, beispielsweise das Ergebnis einer externen Agentur oder des Lieblings-HTML-Editors. Andererseits ist der technische Aufwand auf Seiten des Servers ungleich größer.

Mischung von Layout und Inhalt
Ruft nun ein Anwender mit seinem Browser eine Seite auf, passiert folgendes: Der Server leitet aus der URL den gewünschten Inhalt ab. Jetzt muss geprüft werden, ob der Anwender - entweder "Anonymous" oder ein authentifizierter Webnutzer - das gewünschte Dokument überhaupt lesen darf. Im nächsten Schritt wird aus dem Inhaltsdokument direkt oder indirekt über ein Template ermittelt, welches Layout für diese Seite verwendet werden soll. Dann werden die Elemente "Inhalt" und "Layout" zusammengesetzt, um eine fertige HTML-Seite zu erhalten. Dieses Verfahren erfordert naturgemäß mehr Aufwand auf Seiten des Servers als eine statische HTML-Seite.
Wird das Layout innerhalb einer Domino-Maske verwaltet, können dazu Domino-Features verwendet werden: das Dokument enthält die Information, welche Maske zu verwenden ist, und wird mit dieser dargestellt. Änderungen an der Maske hingegen wirken sich direkt aus. Wird das Layout hingegen ebenfalls in Dokumenten verwaltet, gestaltet sich das "Mischen" der Elemente etwas komplexer: eine HTML-Seite muss aus den Inhalten zweier Dokumente zusammengesetzt werden. Dem Server wird über definierte Regeln mitgeteilt, welche Teile des Layouts durch die entsprechenden Inhalte zu ersetzen sind. Dabei kann das Ersetzen mit weit mehr Intelligenz ausgestattet werden, beispielsweise bedingte Ersetzungen, Fehlertoleranz etc.
Das Ergebnis beider Verfahren ist identisch: eine fertige HTML-Seite, die an den Browser abgeschickt wird. Im letzteren Fall hat die Applikation jedoch deutlich mehr Kontrolle über diese fertige Seite, da sie selbst für das Zusammensetzen verantwortlich ist. Diese Kontrolle ermöglicht die Implementierung weiterer Features auf Systemebene.

Funktionen und Performance

Zum einen kann ein System, dass das Zusammensetzen von Inhalt und Layout selbst koordiniert, die einzelnen Elemente sehr einfach austauschen: statt der Inhalte der eigenen Datenbank werden die einer fremden Quelle verwendet, statt eines einzigen HTML-Layouts werden mehrere parallel verwendet und über Parameter unterschieden. Tauschen Sie die Inhalte der Datenbank durch Ihr Namens- und Adressbuch aus und verwenden Sie zwei hübsche HTML-Layouts, ist die Telefonliste für das Intranet und die Ansprechpartnerübersicht im Web (hier zum Beispiel ohne Durchwahlen) fertig - und dabei voll dynamisch: neue Mitarbeiter, Kündigungen, Namensänderungen etc. werden weiterhin an zentraler Stelle gepflegt.

Performance ist ein weiterer Faktor, der im Zuge der Verbreitung von xDSL-Technologien zunehmend an Bedeutung gewinnt. Sie zählt nach wie vor zu den Schwächen des Domino Servers als Webserver im Vergleich zu statischen HTTP-Servern. Wenn auch das aktuelle Release R5 Zeichen setzt: die Leistung eines Apache Servers wird nicht erreicht. Das ist auch klar, betrachtet man die notwendigen Schritte beim Aufruf einer Seite. Nun betrifft die Stärke eines Domino Servers und letztendlich eines CMS - die Dynamik - jedoch nicht alle Seiten einer komplexen Site: so unterliegen beispielsweise die Frameset-Definition, der Navigator und die "Wir über uns"-Seite kaum Änderungen. Warum soll also der Domino Server diese Seiten bei jedem Zugriff dynamisch generieren?
Obliegt die Kontrolle der HTML-Seite der Applikation, gibt es dazu eine triviale Lösung: die HTML-Seite wird nicht zum Zeitpunkt des Aufrufs zusammengesetzt, sondern bereits beim Abspeichern der beteiligten Elemente. Das Ergebnis, die fertige HTML-Seite, wird im Dateisystem des Servers abgelegt und erfordert somit beim Aufruf keinerlei Dynamik seitens des Servers.
Andere Seiten hingegen arbeiten mit Laufzeitparametern: die Trefferliste der Suche, geschlossene Benutzergruppen oder auch personalisierte Seiten sind abhängig von Daten, die erst beim Aufruf zur Verfügung stehen. Analog muss hier der Domino Server für das Zusammensetzen der HTML-Seiten in Echtzeit sorgen.

Statistische Navigation

Nun werden Sie vielleicht einwenden, dass der Domino Server damit zum statischen HTTP-Server verkommt und dafür weder besonders gut geeignet noch preiswert genug ist. Vielmehr liegt doch der Schritt nahe, diese "niederen" Arbeiten auf einen Spezialisten zu übertragen, beispielsweise einen Apache Webserver: das beste aus zwei Welten. Das CMS muss dazu die HTML-Seite in das Datenverzeichnis eines anderen Webservers - sei es ein anderes Gerät oder ein Webserver auf einem anderen TCP/IP-Port - kopieren und die Links innerhalb der Sitestruktur in Abhängigkeit vom Modus der einzelnen Seite definieren. So ist es beispielsweise denkbar, dass die Volltextsuche über die gesamte Site sowohl vorberechnete als auch Echtzeit-Dokumente findet, deren Links in der Trefferliste entsprechend generiert werden müssen.
Die Erfahrung zeigt, dass Anwender zu umso längeren Wartezeiten bereit sind, je wichtiger und informativer der Inhalt ist. Ruft der Nutzer eine neue Domain auf und nach 15 Sekunden lässt sich immer noch keine Navigation blicken, verlässt er die Site; öffnet er hingegen das Webinterface seines eMail Providers, wartet er auch gegebenenfalls zähneknirschend 30 Sekunden, um seine eMails zu lesen. Dieses Verhalten unterstützt die Kombination aus vorberechneten und Echtzeit-Dokumenten optimal, weil häufig aufgerufene Dokumente wie der Frameset oder der Navigator schnell und ohne laufzeitspezifische Parameter zur Verfügung stehen, während dynamische Seiten mit den eigentlichen Inhalten - beispielsweise aus angebundenen Datenbanken - dynamisch generiert werden und somit langsamer sind.

Neben den angesprochenen Faktoren gibt es einige weitere Elemente, die den Unterschied zwischen einer Notes-Datenbank mit ein paar Webmasken und einem innovativen Content Management System ausmachen. Nur auf Basis der eigenen Anforderungen insbesondere auch in Hinsicht auf die Zukunft lässt sich entscheiden, ob eine Eigenentwicklung langfristig preiswerter ist als ein Standardprodukt oder ob diese Faktoren gerade den Mehrwert ausmachen, der mittelfristig ein Standardprodukt sinnvoll erscheinen lassen.

Cookies erleichtern die Bereitstellung unserer Dienste. Mit Klick auf "Cookie zulassen" stimmen Sie der Nutzung unserer Dienste zu und erklären Sie sich damit einverstanden, dass wir Cookies verwenden. Hier finden Sie unsere Datenschutzerklärung

 

	object(Joomla\Registry\Registry)#52 (3) {
  ["data":protected]=>
  object(stdClass)#437 (84) {
    ["article_layout"]=>
    string(20) "uniorg:newsanpassung"
    ["show_title"]=>
    string(1) "1"
    ["link_titles"]=>
    string(1) "1"
    ["show_intro"]=>
    string(1) "1"
    ["info_block_position"]=>
    string(1) "0"
    ["show_category"]=>
    string(1) "0"
    ["link_category"]=>
    string(1) "0"
    ["show_parent_category"]=>
    string(1) "0"
    ["link_parent_category"]=>
    string(1) "0"
    ["show_author"]=>
    string(1) "0"
    ["link_author"]=>
    string(1) "0"
    ["show_create_date"]=>
    string(1) "0"
    ["show_modify_date"]=>
    string(1) "0"
    ["show_publish_date"]=>
    string(1) "1"
    ["show_item_navigation"]=>
    string(1) "0"
    ["show_vote"]=>
    string(1) "0"
    ["show_readmore"]=>
    string(1) "1"
    ["show_readmore_title"]=>
    string(1) "0"
    ["readmore_limit"]=>
    string(3) "100"
    ["show_tags"]=>
    string(1) "1"
    ["show_icons"]=>
    string(1) "0"
    ["show_print_icon"]=>
    string(1) "0"
    ["show_email_icon"]=>
    string(1) "0"
    ["show_hits"]=>
    string(1) "0"
    ["show_noauth"]=>
    string(1) "0"
    ["urls_position"]=>
    string(1) "0"
    ["show_publishing_options"]=>
    string(1) "1"
    ["show_article_options"]=>
    string(1) "1"
    ["save_history"]=>
    string(1) "0"
    ["history_limit"]=>
    int(10)
    ["show_urls_images_frontend"]=>
    string(1) "0"
    ["show_urls_images_backend"]=>
    string(1) "1"
    ["targeta"]=>
    int(0)
    ["targetb"]=>
    int(0)
    ["targetc"]=>
    int(0)
    ["float_intro"]=>
    string(4) "left"
    ["float_fulltext"]=>
    string(4) "left"
    ["category_layout"]=>
    string(6) "_:blog"
    ["show_category_heading_title_text"]=>
    string(1) "1"
    ["show_category_title"]=>
    string(1) "1"
    ["show_description"]=>
    string(1) "1"
    ["show_description_image"]=>
    string(1) "0"
    ["maxLevel"]=>
    string(1) "1"
    ["show_empty_categories"]=>
    string(1) "0"
    ["show_no_articles"]=>
    string(1) "1"
    ["show_subcat_desc"]=>
    string(1) "1"
    ["show_cat_num_articles"]=>
    string(1) "0"
    ["show_cat_tags"]=>
    string(1) "1"
    ["show_base_description"]=>
    string(1) "1"
    ["maxLevelcat"]=>
    string(2) "-1"
    ["show_empty_categories_cat"]=>
    string(1) "0"
    ["show_subcat_desc_cat"]=>
    string(1) "1"
    ["show_cat_num_articles_cat"]=>
    string(1) "1"
    ["num_leading_articles"]=>
    string(1) "1"
    ["num_intro_articles"]=>
    string(1) "7"
    ["num_columns"]=>
    string(1) "1"
    ["num_links"]=>
    string(1) "0"
    ["multi_column_order"]=>
    string(1) "0"
    ["show_subcategory_content"]=>
    string(1) "0"
    ["show_pagination_limit"]=>
    string(1) "1"
    ["filter_field"]=>
    string(4) "hide"
    ["show_headings"]=>
    string(1) "1"
    ["list_show_date"]=>
    string(1) "0"
    ["date_format"]=>
    string(0) ""
    ["list_show_hits"]=>
    string(1) "1"
    ["list_show_author"]=>
    string(1) "1"
    ["orderby_pri"]=>
    string(5) "order"
    ["orderby_sec"]=>
    string(5) "rdate"
    ["order_date"]=>
    string(9) "published"
    ["show_pagination"]=>
    string(1) "1"
    ["show_pagination_results"]=>
    string(1) "0"
    ["show_featured"]=>
    string(4) "show"
    ["show_feed_link"]=>
    string(1) "1"
    ["feed_summary"]=>
    string(1) "0"
    ["feed_show_readmore"]=>
    string(1) "0"
    ["show_page_heading"]=>
    string(1) "0"
    ["layout_type"]=>
    string(4) "blog"
    ["menu_text"]=>
    string(1) "1"
    ["page_title"]=>
    string(21) "UNIORG | Press Review"
    ["secure"]=>
    string(1) "0"
    ["page_description"]=>
    NULL
    ["page_rights"]=>
    NULL
    ["robots"]=>
    NULL
    ["page_heading"]=>
    string(21) "UNIORG | Press Review"
  }
  ["initialized":protected]=>
  bool(true)
  ["separator"]=>
  string(1) "."
}