Integration von Suchmaschinen in die Corporate Knowledge

Transcription

Integration von Suchmaschinen in die Corporate Knowledge
Universität-Gesamthochschule Paderborn
Diplomarbeit
Integration von Suchmaschinen in die Corporate
Knowledge Management Plattform einer internationalen
Großbank
Problemanalyse und Konzeption eines Lösungsansatzes anhand
einer prototypischen Implementation
Prof. Dr. Ludwig Nastansky
Wintersemester 1999/2000
Betreuer:
Dipl.-Inform. Stefan Smolnik
vorgelegt von:
Guido Koert
Wirtschaftsinformatik
Matr.-Nr.: 3059310
Am Roden 36
59846 Sundern
Eidesstattliche Erklärung
Ich erkläre hiermit an Eides Statt, daß ich die vorliegende Arbeit selbständig und nur
unter Verwendung der angegebenen Hilfsmittel angefertigt habe; die aus fremden
Quellen direkt oder indirekt übernommenen Gedanken sind als solche kenntlich gemacht.
Die Arbeit wurde bisher keiner anderen Prüfungsbehörde vorgelegt und auch noch nicht
veröffentlicht.
Paderborn, den
..........
.................
(Datum)
(Unterschrift)
Verzeichnisse
Inhaltsverzeichnis
1
Einleitung ............................................................................................................ 1
1.1 Szenario ............................................................................................................ 1
1.2 Zielsetzung........................................................................................................ 2
1.3 Vorgehensweise ................................................................................................ 3
2
Technologische Grundlagen und Thematikabgrenzung.................................... 5
2.1 Die Entwicklung des World Wide Webs ........................................................... 5
2.2 Suchmaschinen als ordnende Instanzen im WWW .......................................... 10
2.2.1 Historische Betrachtung von Suchmaschinen........................................... 10
2.2.2 Abgrenzung des Begriffs Suchmaschine .................................................. 14
2.2.3 Architektur und Vorgehensweise von Suchmaschinen ............................. 16
2.2.4 Spezielle Suchmechanismen für Lotus Notes/Domino ............................. 18
2.3 Lotus Notes/Domino R5.................................................................................. 19
2.4 NetFicient Release 2 ....................................................................................... 21
2.5 Technologische und konzeptionelle Rahmenbedingungen ............................... 23
3
Problemanalyse ................................................................................................. 25
3.1 Webtechnologien ............................................................................................ 25
3.1.1 Das Hypertext Transport Protocol............................................................ 25
3.1.2 Hypertext Markup Language ................................................................... 27
3.1.3 Java ......................................................................................................... 32
3.2 Lotus Notes/Domino Release 5 ....................................................................... 32
3.2.1 Lotus Domino als Webserver................................................................... 33
3.2.2 Design Elemente von Lotus Notes ........................................................... 36
3.2.3 Konfiguration des Domino-Servers.......................................................... 40
3.3 Suchmaschinensoftware .................................................................................. 42
3.4 Kernanforderungen an NetFicient R2 .............................................................. 43
i
Verzeichnisse
4
Evaluierung von Lösungsansätzen ................................................................... 45
4.1 Korrekte Erfassung der Webseiten durch Spider und Indexer .......................... 45
4.1.1 Manipulation der HTTP-Header unter Lotus Domino .............................. 46
4.1.2 Lösungsansätze für nicht unterstützte HTML-Funktionen........................ 48
4.1.3 Unterstützung von JavaScript und Java-Applets....................................... 50
4.1.4 Suchmaschinengerechte Webdarstellung der Notes-Elemente.................. 51
4.1.5 Implementation einer speziellen Suchseite............................................... 53
4.2 Unterstützung der Suchmaschinensoftware ..................................................... 54
4.2.1 Korrekte Einordnung der Seiten in den Trefferlisten ................................ 55
4.2.2 Konzeption eines leistungsfähigen Suchinterfaces ................................... 58
4.2.2.1 Obligatorisch zu unterstützende Funktionalitäten................................. 59
4.2.2.2 Benutzerfreundliche Umsetzung der benötigten Funktionen................. 61
4.3 Sicherheitsaspekte........................................................................................... 63
5
Lösungskonzept zur Integration von Suchmaschinen in NetFicient............... 65
5.1 Lösungsansatz und Vorgehensweise................................................................ 65
5.2 Programmierung der Meta-Informationen im HTTP-Header und HTML-Head 66
5.3 Generierung eines Suchbaumes zur Unterstützung der Spider.......................... 68
5.4 Trennung von Seiteninhalt und Meta-Informationen........................................ 71
5.5 Verifikation des entwickelten Konzeptes......................................................... 72
5.5.1 Testumgebung und Vorgehensweise........................................................ 72
5.5.2 Analyse der Testergebnisse...................................................................... 74
6
Ausblick............................................................................................................. 78
7
Zusammenfassung............................................................................................. 80
8
Literaturverzeichnis.......................................................................................... 82
ii
Verzeichnisse
9
Anhang .............................................................................................................. 86
9.1 Zusätzliche Informationen zum Thema Suchmaschinen................................... 86
9.1.1 Liste der Suchmaschinen im WWW ........................................................ 86
9.1.2 Spider Spotting Chart .............................................................................. 95
9.2 HTTP-Header Informationen des Domino-Servers .......................................... 97
9.3 Dokumentation des entwickelten Prototyps ..................................................... 99
9.4 Protokollierung des Proof of Concepts .......................................................... 101
9.4.1 Protokoll vom 30.09.1999 ..................................................................... 101
9.4.2 Protokoll vom 24.11.1999 ..................................................................... 105
9.4.3 Logdatei des Verity-Spiders .................................................................. 108
iii
Verzeichnisse
iv
Abkürzungsverzeichnis
Abb.
Abbildung
ACL
Access Control List
ARPA
Advanced Research Projects Agency
ASCII
American Standard Code for Information Interchange
ASP
Active Server Pages
CERN
Centre Européen pour la Recherche Nucléaire
CGI
Common Gateway Interface
CORBA
Common Object Request Broker Architecture
FAQ
Frequently Asked Questions
FTP
File Transfer Protocol
HTML
Hypertext Markup Language
HTTP
Hypertext Transport Protocol
IRC
Internet Relay Chat
ISO
International Standard Organsiation
ITSO
International Technical Support Organisation
KM
Knowledge Management
MIME
Multipurpose Internet Mail Extension
NNTP
Network News Transfer Protocol
PDF
Portable Document Format
RFC
Request for Comments
SMTP
Simple Mail Transfer Protocol
TCP/IP
Transmission Control Protocol/Internet Protocol
URL
Uniform Resource Locator
Veronika
Very Easy Rodent-Orientated Netwide Index to Computerized Archives
WAIS
Wide Area Information System
WWW
World Wide Web
Verzeichnisse
Verzeichnis der Abbildungen
Abb. 1:
Aufbau und Struktur von HTML-Dokumenten ........................................... 9
Abb. 2:
Suchmaschinen-Abdeckung des WWW (Quelle: Lawrence/Giles 1998) .. 12
Abb. 3:
Aufbau von mehrfach verteilten Systemen................................................ 13
Abb. 4:
Vorgehensweise von Suchmaschinen........................................................ 16
Abb. 5:
Architektur des Domino-Servers............................................................... 20
Abb. 6:
Knowledge Management mit NetFicient................................................... 22
Abb. 7:
Aufbau der untersuchten Framesets .......................................................... 29
Abb. 8:
HTML-Quelltext zur Generierung eines einfachen Framesets ................... 29
Abb. 9:
Hauptnavigation in NetFicient als Image Map .......................................... 30
Abb. 10:
HTML-Quelltext für eine Image Map ....................................................... 31
Abb. 11:
HTTP-Header für eine Page mit Pass Thru HTML ................................... 35
Abb. 12:
JavaScript und Pass Thru HTML .............................................................. 37
Abb. 13:
Verwenung von Domino-Applets zur Darstellung beim Webzugriff ......... 38
Abb. 14:
Domino-Ansicht als HTML-Tabelle mit Navigation ................................. 39
Abb. 15:
Serverkonfiguration für die Domino Web Engine ..................................... 42
Abb. 16:
Suchergebnis für Bonitätsprüfung bei Altavista ........................................ 43
Abb. 17:
Räumliche Abgrenzung des Suchfokus ..................................................... 60
Abb. 18:
Andvanced Search von Infoseek ............................................................... 62
Abb. 19:
Maske zur Eingabe der Informationen für die Suchmaschine .................... 67
Abb. 20:
Programmierung des HTML-Head in Notes.............................................. 67
Abb. 21:
Lenkung des Spiders durch den Suchbaum ............................................... 68
Abb. 22:
Berechneter Link für die Suchansicht ....................................................... 69
Abb. 23:
Quelltext für den Next-Link der Suchansicht ............................................ 70
Abb. 24:
Auszug aus der Logdatei des Verity-Spiders............................................. 75
Abb. 25:
Auszug aus der Trefferliste von Verity ..................................................... 76
v
Verzeichnisse
Abb. 26:
Konfiguration der Verity-Suchmaschine ................................................. 101
Abb. 27:
Proof of Concept – Trefferliste vom 30.09.1999, Teil 1/2 ....................... 103
Abb. 28:
Proof of Concept – Trefferliste vom 30.09.1999, Teil 2/2 ....................... 104
Abb. 29:
Proof of Concept – Trefferliste vom 24.11.1999, Teil 1/2 ....................... 106
Abb. 30:
Proof of Concept – Trefferliste vom 24.11.1999, Teil 1/2 ....................... 107
vi
Verzeichnisse
Verzeichnis der Tabellen
Tabelle 1:
Die größten und populärsten Suchmaschinen (Quelle: Sullivan 1999).... 15
Tabelle 2:
Von Suchmaschinen nicht unterstützte HTML-Funktionen .................... 28
Tabelle 3:
Zusammenhänge zwischen Notes-Elementen und HTTP-Header ........... 35
Tabelle 4:
Probleme in Abhängigkeit von der Webdarstellung der Notes-Elemente 40
Tabelle 5:
Faktoren, die das Ranking der Suchmaschinen beeinflussen................... 55
Tabelle 6:
Faktoren zur Beeinflussung der Trefferliste ........................................... 57
Tabelle 7:
Logische Operatoren für Suchanfragen (vgl. Altavista 1999) ................. 59
Tabelle 8:
Ausdrücke zur Abgrenzung des Suchfokus (vgl. Altavista 1999) ........... 60
Tabelle 9:
Unterstützte Sicherheitsstandards........................................................... 63
Tabelle 10: Spider Spotting Chart ............................................................................ 96
Tabelle 11: Liste der HTTP-Header in Abhängigkeit der Notes-Elemente ................ 98
vii
Einleitung
1
1 Einleitung
1.1 Szenario
Das Internet hat in den letzten Jahren zunehmend an Bedeutung gewonnen. Gerade mit
der Einführung des World Wide Web (WWW oder das Web) ist eine eigene Präsenz im
Internet für viele Unternehmen zu einem wettbewerbsfördernden Faktor geworden.
Doch neben Marketing und geschäftlichen Anwendungen wie Ecommerce ist der ursprüngliche und primäre Nutzen des Internets nach wie vor die schnelle, globale Informationsbeschaffung und –verbreitung (vgl. Casselberry 1997, S. 174).
Seit seinem Ursprung Ende der sechziger Jahre ist das Internet sprunghaft gewachsen.
Allein das WWW umfaßte Anfang 1998 nach einer Schätzung des NEC Research Institute über 320 Millionen Seiten (vgl. Lawrence/Giles 1998, S. 198). Diese „...größte
Infothek der Welt“ (Luckhardt 1998, S. 88) enthält wertvolle Informationen zu fast allen
Themenbereichen, deren effektive Nutzung einen entscheidenden Wettbewerbsvorteil
darstellen kann. Um in diesen riesigen Datenmengen die Informationen zu finden, die
man benötigt, sind effiziente Suchmöglichkeiten erforderlich. Sogenannte Suchmaschinen und –dienste wie z. B. Altavista oder Yahoo gehören daher nicht umsonst zu den
meist genutzten Diensten im WWW (vgl. Knut/Bager 1997, S. 170).
Wichtig für die eigene Webpräsenz ist daher nicht nur die funktionelle Gestaltung der
eigenen Seiten, sondern auch die leichte Auffindbarkeit. Dafür ist es nötig, daß die eigenen Seiten von Suchmaschinen erfaßt werden und bei relevanten Suchanfragen in der
Trefferliste der Suchmaschinen möglichst weit oben plaziert werden, da sie sonst im
riesigen Informationsangebot des WWW keine Beachtung finden.
Die Deutsche Bank AG hat zur eigenen Informationsverbreitung im Intranet und Internet mit NetFicient eine proprietäre Lösung auf Basis der Groupware-Plattform Lotus
Notes/Domino entwickelt. In der Konzeption der neuen Release soll diese ursprünglich
für das Web-Publishing entwickelte Anwendung zu einer Knowledge Mangement (KM)
Plattform ausgebaut werden. Ein wichtiger Bestandteil dieser Weiterentwicklung ist
aufgrund der oben beschriebenen Thematik die Integration von Suchmaschinen. Diese
beinhaltet zwei wesentliche Aspekte. Zum einen soll gewährleistet werden, daß die mit
NetFicient erstellten Seiten von internen und externen Suchmaschinen verarbeitet werden können, um somit zu gewährleisten, daß aus dem Intranet und Internet auf diese
Einleitung
2
Informationen effizient zugegriffen werden kann. Zum anderen soll zur Unterstützung
der
KM-Funktionalitäten ein leistungsfähiges Suchinterface in Netficient integriert
werden, um Informationen aus dem Intranet sowie dem Internet effizienter nutzen zu
können.
1.2 Zielsetzung
NetFicient wurde von der Deutschen Bank AG ursprünglich als Web-Publishing-Tool
konzipiert und eingesetzt, d. h. es sollte den Anwendern ermöglicht werden, auch ohne
spezifische Kenntnisse wie HTML (Hypertext Markup Language), Java etc. einfach und
schnell ansprechende und funktionelle Inhalte im Intranet und Internet zu veröffentlichen. Bedingt durch die Größe des firmeneigenen Netzes wurden neue Technologien
wie Knowledge Management erforderlich, um die vorhandenen Informationen effizient
zu nutzen und in einen Geschäftsvorteil umzusetzen. Die Unterstützung und Integration
von Suchmaschinen in NetFicient Release 21 ist daher von den planenden Entwicklern
als eine wichtige Anforderung für die Weiterentwicklung zu einer KM-Plattform formuliert worden (vgl. Deutsche Bank AG 1999a).
Ziel dieser Arbeit ist es, ein Konzept zu dieser Integration von Suchmaschinen in die
Publishing-Komponente von NetFicient zu entwickeln, wobei die korrekte Verarbeitung
der mit NetFicient publizierten Seiten durch interne und externe Suchmaschinen im
Vordergrund steht. Zudem wird in einer eingehenden Analyse die zugrundeliegende
Problematik bewußt gemacht, die durch die auftretenden Schwierigkeiten im Zusammenhang von Suchmaschinen mit Lotus Domino entsteht. Vor dem Hintergrund der
durch NetFicient gegebenen Anforderungen werden mehrere verschiedene Lösungsansätze evaluiert und gegebene Zielkonflikte aufgeführt. Zusätzlich wird, basierend auf
den Ergebnissen, ein Prototyp entwickelt, der zusammen mit dem Lösungskonzept den
Entwicklern in der anschließenden Implementationsphase der neuen Release von NetFicient als Grundlage dienen soll.
Ein weiterer betrachteter Aspekt dieser Arbeit ist die Unterstützung der Benutzer durch
ein leistungsfähiges Suchinterface. Ziel ist es, ein Konzept zu entwickeln, das sowohl
die Anforderungen an die Bedienbarkeit (engl. Usability) erfüllt als auch leistungsfähige
1
Im Verlaufe dieser Arbeit ist, wenn nicht anders angegeben, immer Release 2 gemeint.
Einleitung
3
Funktionen integriert, um den Anwendern eine effiziente Suche mit qualitativ zu bewertenden Ergebnissen zur Verfügung zu stellen.
1.3 Vorgehensweise
Um die im vorangegangen Abschnitt formulierte Zielsetzung zu erreichen, müssen zunächst die grundlegenden Technologien beschrieben und die verwendete Terminologie
definiert werden. Daher befaßt sich das anschließende 2. Kapitel mit den InternetStandards und –Technologien und grenzt die Themenbereiche dabei auf einen für diese
Arbeit relevanten Fokus ab. Vor allem die in den anschließenden Kapiteln wesentlichen
Grundlagen von Suchmaschinen und von der verwendeten Plattform Lotus
Notes/Domino in der aktuellen Release 5.0 stehen dabei im Vordergrund. Zudem werden die Knowledge Management Plattform NetFicient und die zu beachtenden Anforderungen vorgestellt. Schließlich werden die gegebenen technologischen und konzeptionellen Rahmenbedingungen abgesteckt.
In Kapitel 3 wird eine umfassende Analyse der zugrundeliegenden Problematik durchgeführt. Diese beinhaltet zunächst die Identifikation und Abgrenzung der wesentlichen
Problembereiche, wobei sowohl generell mit Suchmaschinen verbundene Schwierigkeiten als auch im Zusammenhang mit Lotus Domino im allgemeinen und NetFicient
im speziellen auftretende Probleme betrachtet werden. Danach werden die Problembereiche eingehend auf ihre Ursachen und Auswirkungen hin untersucht sowie deren Bedeutung für diese Arbeit beschrieben.
Darauf aufbauend werden in Kapitel 4 Lösungsansätze für die entsprechenden Teilprobleme entwickelt und evaluiert. Dabei werden existierende Standardlösungen vorgestellt, an die Problematik angepaßt und zusätzlich auch neue Konzepte und Lösungswege entwickelt. Zur Bewertung der einzelnen Ansätze werden deren Vor- und Nachteile
diskutiert und ihre jeweilige Eignung für NetFicient untersucht. Auch wird auf vorhandene Zielkonflikte von einzelnen Lösungen hingewiesen.
Basierend auf diesen Ergebnissen, wird dann ein umfassendes Lösungskonzept für die
Integration von Suchmaschinen in NetFicient entwickelt. Begleitend dazu wird ein
Prototyp entwickelt, der die praktische Umsetzung des Konzeptes in Lotus
Notes/Domino demonstrieren soll. Zudem findet der Prototyp Verwendung zur Verifikation der Ergebnisse in einem abschließenden Proof of Concept.
Einleitung
4
Der anschließende Ausblick befaßt sich mit zukünftigen Entwicklungen und Technologien, die im Zusammenhang mit der diskutierten Thematik relevant sind. Zudem wird
ein Vorschlag für eine Erweiterung der Suchmaschinenstandards vorgestellt, der die in
dieser Arbeit nicht zu lösenden Probleme adressiert.
Den Abschluß bildet eine Zusammenfassung, die noch einmal die wesentlichen Erkenntnisse und Ergebnisse dieser Arbeit in prägnanter Form präsentiert.
Darüber hinaus umfaßt der Anhang weitergehende Informationen zu dem Thema Suchmaschinen. Dies sind insbesondere Listen und Tabellen, die den Lesefluß im Hauptteil
der Arbeit gestört hätten. Zudem werden Protokolle der durchgeführten Tests sowie die
Dokumentation des entwickelten Prototyps aufgeführt. Der Prototyp selbst sowie die
benutzten Literaturquellen aus dem World Wide Web sind auf der beiliegenden CDROM zu finden.
Technologische Grundlagen und Abgrenzung der Thematik
5
2 Technologische Grundlagen und Thematikabgrenzung
Dieses Kapitel gibt eine Einführung in die grundlegenden Technologien, die in dieser
Arbeit diskutiert werden. Zudem wird eine Abgrenzung der Themengebiete auf einen
für die anschließenden Kapitel sinnvollen Fokus vorgenommen.
Zunächst wird die Entwicklung des Internets, besonders die des World Wide Webs und
die für diese Arbeit relevanten Standards und Konzepte beschrieben. Darauf aufbauend,
wird detailliert auf die Vorgehensweise und Architektur von Suchmaschinen eingegangen. Danach wird die Knowledge Management Plattform NetFicient des untersuchten
Unternehmens und die zugrundeliegende Groupware und Intranet Plattform Lotus
Notes/Domino Release 5 vorgestellt und dabei vor allem der Webserver und die neuen
Designelemente näher beschrieben. Abschließend werden die für diese Arbeit geltenden
technischen und konzeptionellen Rahmenbedingungen aufgeführt, die durch die eingesetzte Hard- und Software sowie die definierten Kernanforderungen der neuen Release
von NetFicient gegeben sind.
2.1 Die Entwicklung des World Wide Webs
Entgegen eines weitläufigen Irrtums ist das World Wide Web (WWW) nicht dem Internet gleichzusetzen. Vielmehr ist das WWW nur einer, wenn auch der populärste, der
zahlreichen Dienste, die das Internet als Basis benutzen. Daher wird im folgenden zunächst kurz auf die Entstehung und Entwicklung des Internets und seiner Dienste und
Standards eingegangen, bevor, darauf aufbauend, das WWW detaillierter beschrieben
wird.
Wie viele Entwicklungen in der Informatik und Informationstechnologie entstand auch
das Internet aus einem militärischen Projekt (vgl. Keil-Slawik 1996, S. 23). Unter der
Prämisse, auch bei größter anzunehmender Zerstörung nach einem atomaren Angriff
noch zu funktionieren, wurde auf Basis des Konzeptes der Paketverteilung (engl. packet
switching) Ende der sechziger Jahre das ARPANET (ARPA= Advanced Research Projects Agency) entwickelt, an dem neben militärischen Institutionen alle relevanten Firmen und Universitäten angeschlossen waren, die sich maßgeblich mit der militärischen
Forschung beschäftigten. Mit der Öffnung des ARPANET für die Wissenschaft und
dem damit verbundenen starken Anstieg der Anzahl vernetzter Rechner wurde ein einheitliches Protokoll zur Datenübertragung notwendig, wodurch das TCP/IP-Protokoll
Technologische Grundlagen und Abgrenzung der Thematik
6
(Transmission Control Protocol/Internet Protocol) entstand. In anderen Staaten, besonders in Europa, fanden ähnliche Entwicklungen statt, und mit der Kopplung der vielen
Einzelnetze entstand ein weltweites Netz, für das im Laufe der achtziger Jahre die Bezeichnung Internet eingeführt wurde (vgl. Münz/Nefzger 1998).
Das TCP/IP-Protokoll stellt die Basis für alle Datenübertragungen im Internet dar. Wie
der Name schon vermuten läßt, handelt es sich dabei eigentlich um zwei differenziert zu
betrachtende Protokolle. Das Transmission Control Protocol ist für die fehlerfreie
Übermittlung der Daten zuständig. Gemäß dem oben bereits erwähnten packet switching werden die Daten zur Übertragung in mehrere kleine Pakete aufgeteilt, die jeweils
einzeln an die Zieladresse geschickt werden, wo sie dann wieder zu der ursprünglichen
Nachricht zusammengesetzt werden. Dabei baut das TCP-Protokoll auf dem Internet
Protocol auf, welches für die Adressierung der Pakete verantwortlich ist. Dazu wird
jedem an das Internet angeschlossenen Rechner eine eindeutige IP-Adresse (z. B.
131.234.164.5) zugewiesen, wodurch gewährleistet wird, daß die Empfänger präzise
adressiert werden können. Eine detaillierte Beschreibung des TCP/IP-Protokolls findet
man in Comer (1998). Die Einordnung in das OSI-Referenzmodell (Open Systems Interconnections) wird detailliert in Tanenbaum (1992) beschrieben.
Das Internet ist die Basis für zahlreiche Dienste. Neben dem in dieser Arbeit relevanten
WWW sind vor allem Email (Electronic Mail) zum Austausch von Nachrichten, die als
Newsgroups oder auch Usenet bekannten Diskussionsforen, FTP (File Transport Protocol) zur Übertragung von Dateien und IRC (Internet Relay Chat) zur textbasierten Online Diskussion zu nennen. Bekannte, jedoch veraltete Dienste sind das Informationssystem WAIS (Wide Area Information System) und Gopher zur Übertragung einfacher
Textdokumente.
Alle Internetdienste arbeiten nach dem Client/Server-Prinzip, d. h. die Gesamtfunktion
eines Dienstes wird in zwei Bereiche aufgeteilt. Dabei bietet ein meist permanent mit
dem Internet verbundener Rechner, der Server, einen oder mehrere Dienste an, welche
von anderen Rechnern, den Clients, abgefragt werden. Zur Kommunikation zwischen
Client und Server benutzen die Dienste eigene Protokolle wie SMTP (Simple Mail
Transfer Protocol) für Email, NNTP (Network News Protocol) für Diskussionsforen und
HTTP (Hypertext Transfer Protocol) für das WWW, welche alle auf dem TCP/IPProtokoll basieren. Im Rahmen dieser Arbeit von Bedeutung ist das Hypertext Transfer
Technologische Grundlagen und Abgrenzung der Thematik
7
Protocol2. Gemäß dem Client/Server-Prinzip öffnet dabei der Webclient eine Verbindung zum Webserver, indem er über TCP/IP einen Port anwählt, an dem der Server auf
Anforderungen (Requests) wartet. Die Anforderungen setzen sich immer aus einer Methode (Method), einem Kopf (Header) mit zusätzlichen (Meta-)Informationen und optional einem mitgesendeten Objekt (Entity) zusammen. Die gebräuchlichsten Methoden
sind GET, mit der eine bestimmte Seite vom Server angefordert wird; HEAD, die den
Server auffordert, nur den HTTP-Header zurückzusenden; PUT, die das Gegenstück zur
GET-Methode darstellt und ein mitgesendetes Entity an den Server zur Speicherung
übergibt. Die im Header übermittelten Informationen kann man in folgende Kategorien
einteilen (vgl. Hajji 1998, S. 469-471):
-
Allgemeine (General) Header. Allgemeine Header können sowohl vom Server als
auch vom Client stammen. Typisch sind hier Date, Connection usw.
-
Anforderungs- (Request-) Header. Diese Header werden vom Client an den Server
gesendet. Mit ihnen identifiziert sich der Client und gibt beispielsweise an, welche
MIME-Typen (Multipurpose Internet Mail Extensions) er akzeptieren kann.
-
Entity-Header. Entity-Header beinhalten Meta-Informationen über das angeforderte
bzw. gesendete Objekt, wie z. B. Länge (Content-Length) oder Typ (ContentType).
Hat der Server eine Anforderung von einem Client erhalten, gibt er je nach Anfrage eine
bestimmte Antwort zurück, also z. B. die angeforderte Seite oder eine passende Fehlermeldung. Die Antwort ist dabei analog zu den Anfragen aufgebaut, enthält aber zusätzlich folgende Header:
-
HTTP-Version. Diese speziellen Rückgabecodes werden vom Client ausgewertet,
um herauszufinden, ob seine Anfrage erfolgreich war oder nicht.
-
Antwort- (Reply-) Header. Antwort-Header werden nur vom Server gesendet. Sie
identifizieren z. B. die Server-Software und geben weitere Informationen.
Damit der Server weiß, welches Objekt er zurückgeben soll, sind alle Ressourcen (z. B.
Dokumente, Grafiken usw.) im WWW durch sogenannte Uniform Resource Locator
2
Die folgenden Ausführungen beziehen sich auf HTTP/1.1, wie in Request for Comments (RFC) 2068
spezifiziert (siehe Fielding et al. 1999).
Technologische Grundlagen und Abgrenzung der Thematik
8
(URL) eindeutig adressierbar. Eine HTTP-URL setzt sich dabei wie folgt zusammen:
http://host [ ":" port ] [ abs_path ], wobei host für den Servernamen
steht, port den TCP/IP-Anschluß spezifiziert3 und abs_path das Verzeichnis und den
Namen des Objektes angibt (vgl. Berners-Lee 1994, S. 12f. und Berners-Lee et al. 1994,
S. 8).
Die offizielle Spezifikation von HTTP/1.1 kann nachgelesen werden in Fielding et al.
(1997) und Fielding et al. (1999). Eine eher anwendungsorientierte Einführung in HTTP
liefert Wong (1997).
Nachdem das Internet als Basis und die zugrundeliegenden Protokolle beschrieben wurden, wird nun genauer auf das World Wide Web an sich eingegangen. Seit seiner Entstehung im Jahre 1989 am CERN (Centre Européen pour la Recherche Nucléaire) hat
sich das WWW ständig weiterentwickelt. War das WWW ursprünglich noch ein rein
textbasiertes System (vgl. Ramm 1996, S. 8), so können heute durch die Etablierung
immer neuer Standards und durch die Weiterentwicklung der Webbrowser genannten
Webclients auch multimediale Informationen wie Bilder, Grafiken, Sound und Video
integriert werden. Zudem wurden Schnittstellen zu anderen Internetdiensten wie Email
oder FTP hinzugefügt (vgl. Münz/Nefzger 1998). Somit bietet das WWW mit seiner
einfachen Navigation und der grafischen Benutzeroberfläche gerade für Einsteiger eine
einfache Möglichkeit, am großen Informationsangebot des Internets zu partizipieren.
Das WWW setzt sich aus Millionen einzelner Webseiten zusammen, die über sogenannte Links miteinander verknüpft werden können. Mehrere zusammenhängende
Webseiten z. B. eines Autors oder eines Unternehmens werden als Website oder auch
Homepage bezeichnet (vgl. Ramm 1996, S. 4). Durch die Möglichkeit, mit eingebetteten Links innerhalb des Textes auf andere Webseiten zu verweisen oder auch innerhalb
eines größeren Dokumentes zu navigieren, verfolgt das WWW das Konzept des Hypertextes (siehe auch Nastansky et al. 1994, 332f.). Umgesetzt werden die Webseiten mittels der Seitenbeschreibungssprache HTML4 (Hypertext Markup Language). Ein solches
HTML-Dokument verfügt über einen strukturierten Aufbau und besteht aus mehreren
Elementen, die mit Hilfe von Etiketten (engl. Tags) kenntlich gemacht werden (vgl.
3
Beim HTTP-Protokoll wird 80 als Standardport benutzt.
4
Im Rahmen dieser Arbeit HTML 4.0
Technologische Grundlagen und Abgrenzung der Thematik
9
Maurer 1996, S. 5f). Grundsätzlich ist ein HTML-Dokument wie in Abb. 1 illustriert
aufgebaut.
<HTML>
<HEAD>
<TITLE> ... </TITLE>
</HEAD>
<BODY>
...
</BODY>
</HTML>
Abb. 1: Aufbau und Struktur von HTML-Dokumenten
Betrachtet man nur die HTML-Elemente HTML, TITLE, HEAD und BODY, erhält man
die Grundstruktur eines HTML-Dokumentes. Während im HEAD-Abschnitt Informationen zum Dokument wie Titel, Hintergrund usw. abgelegt werden, enthält der BODYAbschnitt den eigentlichen Inhalt der Webseite. Mit der Weiterentwicklung von HTML
entstanden auch neue Konzepte wie Framesets (Frames), Image Maps und Formulare,
die durch Vereinfachung der Navigation und Erweiterung der Funktionalität den Erfolg
des WWW entscheidend beeinflußt haben.
Um das WWW auch für Anwendungen wie z. B. Online-Banking oder Ecommerce nutzen zu können, wurden Programmierbarkeit und dynamische Konzepte notwendig. Hier
haben sich vor allem zwei Ansätze etabliert:
-
Mit CGI-Scripts (Common Gateway Interface), die auf dem Server ausgeführt werden, kann über ein WWW-Frontend auf eine im Hintergrund (Backend) liegende
relationale Datenbank zugegriffen werden (vgl. Hajji 1998, S. 569ff.).
-
JavaScript und Java-Applets basieren auf der plattform-unabhängigen Programmiersprache Java. Mit diesen Technologien können leistungsfähige Webapplikationen entwickelt werden, die auf den Webclients ausgeführt werden. Während JavaScript direkt in das HTML-Dokument eingebunden wird, müssen Java-Applets vor
ihrer Ausführung zunächst vom Server auf den Client geladen werden. Im Zusammenhang mit Java-Applets sind auch noch Java-Servlets zu erwähnen, die, wie der
Name schon andeutet, auf dem Webserver ausgeführt werden.
Technologische Grundlagen und Abgrenzung der Thematik
10
Aufgrund der eingesetzten Plattform Lotus Notes/Domino im untersuchten Unternehmen spielen CGI-Scripts in den folgenden Kapiteln keine Rolle. Auch andere Konzepte,
wie die Active Server Pages (ASP) von Microsoft, werden aus genanntem Grund nicht
berücksichtigt.
2.2 Suchmaschinen als ordnende Instanzen im WWW
Aufgrund der zentralen Bedeutung von Suchmaschinen für diese Arbeit werden in diesem Abschnitt die grundlegenden Technologien und Konzepte von Suchmaschinen betrachtet. Dazu wird zunächst die Geschichte von Suchmaschinen im Internet und WWW
beschrieben, bevor die verschiedenen Grundtypen von Suchmaschinen gegeneinander
abgegrenzt werden. Daraufhin wird detailliert auf die Architektur und die Vorgehensweise der für diese Arbeit relevanten Suchmaschinen eingegangen. Schließlich werden
auch die von Lotus speziell für Lotus Notes/Domino entwickelten Suchmechanismen
dargestellt.
2.2.1 Historische Betrachtung von Suchmaschinen
Vor der Einführung des WWW war neben Email und Newsgroups das Austauschen von
Dateien (FTP) einer der meist genutzten Dienste im Internet. Mit der steigenden Zahl an
FTP-Servern war ein Werkzeug notwendig geworden, welches die Server und die dort
gespeicherten Programme bzw. Dateien katalogisierte. Daher entwickelte Alan Emtage,
ein Student an der McGill University in Montreal, im Jahre 1990 mit Archie ein skriptbasiertes Werkzeug, welches FTP-Server im Internet aufsucht, deren Inhalt indiziert,
seine so erzeugte Datenbank auf Benutzeranfragen (engl. Query) hin durchsucht und die
Ergebnisse zurückgibt. Damit stellt Archie den ersten Suchdienst im Internet dar (vgl.
Sonnenreich/Macinta 1998, S. 1).
Die wachsende Popularität von Archie inspirierte Entwickler an der University of Nevada Systems Computing Services im Jahre 1993 dazu, Veronica (Very Easy RodentOrientated Netwide Index to Computerized Archives) zu entwickeln. Veronica war Archie sehr ähnlich und übertrug dessen Funktionalität auf einen anderen Internetdienst, in
diesem Falle Gopher. Später wurden auch Suchwerkzeuge für die übrigen im Internet
angebotenen Dienste entwickelt, wie z. B. DejaNews für die Diskussionsforen.
Mit der Einführung des WWW wurden andere, speziell an diesen Dienst angepaßte
Suchwerkzeuge erforderlich. Die ersten waren lokale Indexierer wie WAIS oder Glimp-
Technologische Grundlagen und Abgrenzung der Thematik
11
se, welche eine Volltextindizierung eines kompletten Webservers anlegen konnten. Fast
zeitgleich mit Glimpse tauchten auch die ersten Roboter im Web auf, die das WWW
automatisch durchsuchen und die besuchten Seiten an einen Indexer zur Aufnahme in
eine Datenbank weitergeben. Der erste dieser Roboter war der World Wide Web Wanderer. Ursprünglich dazu entwickelt, Webserver zu zählen, um die Größe und das
Wachstum des WWW zu dokumentieren, sammelte er kurz darauf die besuchten URLs
in einer Wandex genannten Datenbank, welche somit die erste Webdatenbank der Welt
darstellte. Suchmaschinen wie Excite, Altavista usw. funktionieren nach dem gleichen
Prinzip, wurden allerdings im Laufe der Jahre kontinuierlich weiterentwickelt. So wurden Funktionen wie Volltextindizierung der besuchten Seiten hinzugefügt, leistungsfähigere Suchanfragen implementiert sowie auch Sicherheitsaspekte berücksichtigt (vgl.
Sonnenreich/Macinta 1998, S. 1-13).
Auch für Intranets wurden mit wachsender Größe Suchmaschinen interessant. Da sie
zumeist auf den gleichen Standards wie das Internet und das WWW aufbauen, konnten
hier auch die oben beschriebenen Suchmaschinen eingesetzt werden. Aufgrund der heterogenen Umgebung, die in den meisten Intranets gegeben ist, weisen IntranetSuchmaschinen wie z. B. Verity oder Ultraseek erweiterte Funktionalitäten auf, um auch
lokale Dateisysteme und relationale Datenbanken durchsuchen und indizieren zu können.
Parallel zu diesen automatisch erzeugten Indexen etablierten sich manuell zusammengestellte Webverzeichnisse5, auch Kataloge genannt. Anbieter von Webinhalten müssen
dabei ihre Seiten bei dem Verzeichnisdienst anmelden. Die so erstellten Verzeichnisse
beinhalten technisch bedingt einen wesentlich kleineren Datenbestand. Dafür liefern sie
meist qualitativ bessere Suchergebnisse, da die Erstellung der Indexe von Menschen
und nicht von automatischen Indexern vorgenommen wird. Auch sogenannte Linksammlungen und FAQs (Frequently Asked Questions) können zu den Katalogen gezählt
werden.
Leistungsfähigere Hardware und effizientere Algorithmen ermöglichen es, immer mehr
Seiten im WWW in immer kürzeren Zeitintervallen zu indizieren. Trotzdem können die
Suchmaschinen nicht mit dem Wachstum des Webs Schritt halten. Wie in Abb. 2 zu
5
Wie z. B. der populäre Verzeichnisdienst Yahoo (http://www.yahoo.com)
Technologische Grundlagen und Abgrenzung der Thematik
12
sehen, erfassen die heutigen Suchmaschinen nur einen Bruchteil des World Wide Webs.
Seit 1995 existieren daher sogenannte Meta-Crawler oder Suchmaschinen 2. Ordnung6.
Diese richten die Suchanfragen parallel an mehrere der großen Suchmaschinen und fassen die Ergebnisse, sogenannte Trefferlisten, wieder zusammen, um auf diese Weise
eine größere Abdeckung des WWW zu erzielen.
40%
30%
20%
10%
0%
HotBot
AltaVista Northern
Light
Excite
Infoseek
Lycos
Abb. 2: Suchmaschinen-Abdeckung des WWW (Quelle: Lawrence/Giles 1998)
In etwa zeitgleich begann mit den verteilten Systemen eine weitere Entwicklungsrichtung (vgl. Sander-Beuermann 1998, S. 180). Verteilte Systeme machen sich den modularen Aufbau der Suchmaschinen zu Nutzen. Sie nehmen eine strikte Aufgabentrennung
zwischen dem Sammeln der Informationen und der Aufnahme der Informationen in
einer Datenbank (Index) vor. Auf diese Weise können mehrere Roboter gleichzeitig das
Web durchsuchen, deren Daten in einem getrennten Prozeß in den Index aufgenommen
werden. Führt man die Idee der Aufgabenteilung solcher einfach verteilter Systeme
konsequent weiter fort, kann man sich auch ein mehrfach verteiltes System mit mehreren Sammlern und mehreren Datenbanken vorstellen (siehe Abb. 3 auf Seite 13). Eine
detaillierte Beschreibung anhand der frei verfügbaren Suchmaschine Harvest findet der
interessierte Leser in Borggraefe (1999).
Aus der oben beschriebenen Geschichte der Suchmaschinen lassen sich nach SanderBeuermann (1998, S. 180) die drei folgenden Tendenzen ableiten:
1. Mit der Einführung von Robotern entwickelten sich aus lokalen Sammelprozessen
globale Strukturierungsversuche.
6
Z. B. MetaCrawler (http://www.metacrawler.com) oder MetaGer (http://meta.rrzn.uni-hannover.de)
Technologische Grundlagen und Abgrenzung der Thematik
13
2. Um das steigende Angebot von Suchmaschinen besser zu nutzen, haben sich MetaSuchdienste etabliert.
3. Um die wachsende Datenflut zu bewältigen, werden Konzepte wie verteilte Systeme
notwendig.
Die gerade beschriebene Entwicklung stellt jedoch noch nicht die Grenzen der Forschungen dar. Die Trefferlisten der Suchmaschinen erster und zweiter Ordnung sind
meist sehr groß und enthalten viele irrelevante Links. So wird ein am Gartenanbau interessierter Benutzer kaum Informationen zum Politiker „Kohl“ suchen. Momentan sind
daher Bemühungen im Gange, Suchmaschinen der 3. Generation zu verwirklichen. Diese setzen auf Meta-Crawlern auf, um spezielle Indizes für bestimmte Interessengebiete
zu entwickeln7.
Datenbank
3
Datenbank
2
Datenbank
1
Spider 1
Spider 2
Spider 3
Spider 4
Spider 5
Datenquellen im WWW und Intranet
Abb. 3: Aufbau von mehrfach verteilten Systemen
7
Eine detaillierte Beschreibung findet man in Sander-Beuermann (1998), S. 181ff.
Technologische Grundlagen und Abgrenzung der Thematik
14
2.2.2 Abgrenzung des Begriffs Suchmaschine
Im vorangegangenen Abschnitt wurden bereits mehrere Suchdienste und deren Konzepte vorgestellt. Die riesige Anzahl an Suchdiensten im WWW8 läßt sich anhand ihrer
Vorgehensweise in folgende Kategorien einteilen (vgl. Sullivan 1999a):
-
Spezielle Suchdienste: Diese haben sich auf einzelne Bereiche des Internets spezialisiert (z. B. Archie auf FTP oder Dejanews auf Newsgroups). Daher spielen sie in
den weiteren Betrachtungen keine Rolle.
-
Verzeichnisdienste/Kataloge: Das wichtigste Merkmal von Verzeichnisdiensten
(wie z. B. Yahoo) ist, daß sie nicht voll automatisch erstellt werden. Das heißt, die
darin aufgeführten Webseiten werden nicht durch einen Roboter gesammelt, sondern von den jeweiligen Autoren bzw. Administratoren dem Verzeichnisdienst gemeldet, wo diese dann manuell kategorisiert und eingestuft werden.
-
Suchmaschinen: Suchmaschinen (z. B. Altavista oder Hotbot) durchsuchen mit Hilfe
von Robotern (auch Spider, Crawler oder Gatherer genannt9) automatisch das Web.
Dabei gehen sie von Ausgangsseiten aus, verfolgen alle weiterführenden Links und
nehmen sie dabei in einen Index auf. Aus diesem Index werden dann die Suchergebnisse generiert.
-
Hybride Suchmaschinen: Einige Verzeichnisdienste greifen auf Wunsch auch auf
den Index einer Suchmaschine zurück (z. B. arbeitet Yahoo mit Altavista zusammen). Andersherum erstellen Suchmaschinen auch durch Reviews und Ratings der
indizierten Webseiten eigene Verzeichnisse (siehe auch Abschnitt 4.2.1).
-
Suchmaschinen 2. Ordnung: Diese auch Meta-Crawler genannten Suchmaschinen
durchsuchen nicht selbst das Web, sondern geben die Suchanfragen parallel an mehrere der großen Suchmaschinen weiter und fassen die Ergebnisse anschließend zusammen.
8
Eine umfassende Liste ist in Anhang 9.1.1 zu finden.
9
Im folgenden wird in Anlehnung an die Terminologie der im untersuchten Unternehmen eingesetzten
Suchmaschinen Verity nur noch der Begriff Spider benutzt (vgl. Deutsche Bank 1999, S. 5).
Technologische Grundlagen und Abgrenzung der Thematik
-
15
Verteilte Systeme: Durch strikte Aufgabenteilung in Spider und Indexer werden
Suchmaschinen effizienter. Je nach Grad der Aufgabenteilung wird zwischen einfach und mehrfach verteilten Systemen unterschieden (vgl. auch Abschnitt 2.2.1).
Im Fokus dieser Arbeit liegt die Problematik, die im Zusammenhang mit den automatischen Robotern der Suchmaschinen besteht. Verzeichnisdienste und die speziellen
Suchdienste werden daher nicht weiter berücksichtigt. Auch hybride und MetaSuchmaschinen sowie verteilte Systeme werden nicht gesondert betrachtet, sondern
unter dem Begriff Suchmaschinen zusammengefaßt, da die in Kapitel 3 untersuchten
Probleme die gleichen wie bei Suchmaschinen sind. Auf die Vorgehensweise von MetaSuchmaschinen wird im folgenden Abschnitt jedoch kurz eingegangen10, da deren Konzept in den Kapiteln 4 und 5 noch eine Rolle spielt. Wie anhand der Liste in Anhang
9.1.1 zu sehen, ist die Anzahl der Suchmaschinen im WWW sehr groß und wächst immer weiter. Da es unmöglich wäre, im Rahmen dieser Arbeit alle Suchmaschinen zu
untersuchen, beschränken sich die Ausführungen und Analysen auf eine ausgewählte
Anzahl der größten bzw. meist besuchten Suchmaschinen (in Tabelle 1 durch fette
Schrift gekennzeichnet).
Suchmaschine
URL
Suchmaschine
URL
Altavista
www.altavista.com
Infoseek
www.infoseek.com
Ask Jeeves
www.askjeeves.com
Looksmart
www.looksmart.com
AOL Netfind
www.aol.com/netfind
Lycos
www.lycos.com
Direct Hit
www.directhit.com
MSN
www.msn.com
Excite
www.excite.com
Netscape
www.netscape.com
Google
www.google.com
Northern Light
www.northernlight.com
GoTo
www.goto.com
Search.com
www.search.com
Hotbot
www.hotbot.com
Snap
www.snap.com
Inktomi
www.inktomi.com
Webcrawler
www.webcrawler.com
Tabelle 1: Die größten und populärsten Suchmaschinen (Quelle: Sullivan 1999)
10
Eine detailliertere Beschreibung findet man in Sander-Beuermann (1998).
Technologische Grundlagen und Abgrenzung der Thematik
16
2.2.3 Architektur und Vorgehensweise von Suchmaschinen
Um im nachfolgenden Kapitel eine strukturierte Problemanalyse vornehmen zu können,
ist es wichtig, zunächst den Aufbau und die Vorgehensweise von Suchmaschinen detailliert zu beschreiben und so eine genaue Zuordnung von Ursache und Problem vornehmen zu können. Dazu werden im folgenden die wesentlichen Komponenten von
Suchmaschinen differenziert betrachtet und deren genaue Funktionsweise aufgezeigt.
Alle gemäß dem vorangegangenen Abschnitt definierten Suchmaschinen lassen sich in
drei Hauptkomponenten differenzieren (vgl. Sullivan 1999a und Sander-Beuermann
1996): Den Spider, der das Web automatisch durchsucht, einen Indexer, welcher alle
gefundenen Webseiten indiziert und in eine Datenbank aufnimmt und die Suchmaschinensoftware, die auf Suchanfragen hin den Index durchsucht und eine nach bestimmten
Regeln generierte Trefferliste zurückgibt (vgl. auch Abb. 4).
Der Indexer indiziert die
gefundenen Seiten und führt
ein Update der Database aus
Indexer
3
Der Spider
gibt neue und
geänderte
Seiten an den
Indexer
2
Suchanfrage
Index
Database
Benutzer
Spider
Der Spider "crawlt"
durch Web und
Intranet und
untersucht die
gefundenen Seiten
auf Änderungen
Suchergebnisse
als Trefferliste
1
Web- und Intranet-Sites
Abb. 4: Vorgehensweise von Suchmaschinen
Technologische Grundlagen und Abgrenzung der Thematik
17
Der Spider geht bei seiner Suche durch das WWW von einer Startseite aus. Diese besteht aus einer Liste von URLs, welche der Spider nacheinander aufsucht. Dabei fordert
der Spider vom entsprechenden Webserver zunächst nur den HTTP-Header an. Anhand
der darin enthaltenen Meta-Informationen wird durch einen Abgleich mit der Datenbank
ermittelt, ob es sich um eine neue oder seit dem letzten Besuch geänderte Seite handelt
(vgl. Abb. 4 [1]). Ist dies der Fall, schickt der Spider die Seite an den Indexer zur späteren Bearbeitung und verfolgt alle darin enthalten URLs weiter. Dieser Vorgang wird so
lange fortgesetzt, bis eine vorher festgelegte Suchtiefe erreicht wird oder der Spider auf
eine Seite trifft, die keine neuen Links mehr enthält bzw. deren weitere Verfolgung dem
Spider untersagt wird (vgl. dazu Abschnitt 4.3).
Die von dem Spider gesammelten Webseiten werden im nächsten Schritt von einem
Indexer weiterverarbeitet und in eine Datenbank aufgenommen, bzw. bei Änderungen
wird diese aktualisiert (vgl. Abb. 4 [2]). Dabei werden aus Gründen des Speicherplatzes
nicht die kompletten Webseiten gespeichert, sondern nur bestimmte Komponenten wie
z. B. Titel, Meta-Tags und natürlich die zugehörige URL. Manche Suchmaschinen
nehmen zudem noch eine Volltextindizierung der Webseiten vor.
Die so erstellte Webdatenbank bildet die Basis für die eigentliche Suchmaschinensoftware. Über ein Suchinterface kann der Benutzer Suchanfragen eingeben. Die Software
durchsucht daraufhin die Datenbank nach den Stichwörtern und erzeugt eine Trefferliste, die an den Benutzer zurückgegeben wird (vgl. Abb. 4 [3]). Die Reihenfolge der angezeigten URLs wird dabei nach Gewichtung und Relevanz, bezogen auf die Suchanfrage, sortiert (engl. Ranking).
Auch wenn die Suchmaschinen vom Aufbau und von der grundlegenden Vorgehensweise her identisch sind, so unterscheiden sie sich doch in ihrer Leistungsfähigkeit, ihrem Funktionsumfang und den unterstützten Standards. Als Beispiele seien hier die Anzahl der am Tag vom Spider besuchten Seiten, die Unterstützung von HTMLFunktionalitäten wie Image-Maps und Framesets sowie die möglichen Parameter zur
Suchanfrage und vor allem die Vorgehensweise bei dem bereits erwähnten Ranking zu
nennen (vgl. Sullivan 1999c).
Technologische Grundlagen und Abgrenzung der Thematik
18
2.2.4 Spezielle Suchmechanismen für Lotus Notes/Domino
Informations-, Content- und Knowledge-Management gehören zu den Haupteinsatzfeldern von Lotus Notes/Domino11. Daher wurden von Lotus mehrere speziell auf
Notes/Domino abgestimmte Suchmechanismen entwickelt. Im einzelnen sind dies:
-
Volltextindizierung und –suche der Notes-Datenbanken
-
Search Site Database
-
Domino R5 Domain Search
-
Lotus Domino Extended Search
Jede Notes-Datenbank bietet die Funktion zur Volltextindizierung und zur Suche in diesem Volltextindex. Die Suche beschränkt sich aber dabei auf die jeweils geöffnete Datenbank, eine parallele Suche in mehreren Datenbanken ist auf diese Weise nicht möglich. Um mehr als eine Datenbank gleichzeitig zu durchsuchen, kann eine spezielle Search Site Database auf einem Domino-Server installiert werden, mit deren Hilfe mehrere Datenbanken auf diesem Server indiziert und durchsucht werden können. Ein entsprechendes Template wird bei jedem Lotus Domino-Server mitgeliefert.
Seit der Release 5 von Domino ist es zusätzlich möglich, auf einem Domino-Server
einen Domain-Indexer als speziellen Task laufen zu lassen. Mit dieser Domain Search
genannten Lösung können alle Datenbanken auf allen Domino-Servern einer DominoDomaine indiziert werden. Darüber hinaus bietet Lotus mit Domino Extended Search
eine zusätzliche Lösung an, mit der neben mehreren Domino-Domainen auch relationale Datenbanken und Webindizes durchsucht werden können.
Die beschriebenen Suchmechanismen bieten somit einen modularen Aufbau, der verschiedensten Anforderungen des Informations- und Knowledge-Management genügt.
Es wird damit jedoch keine Lösung angeboten, um die eigenen Webseiten externen
Suchmaschinen zugänglich zu machen. Da dieser Aspekt eine der Hauptzielsetzungen
dieser Arbeit darstellt, werden diese speziellen Suchmechanismen im weiteren Verlauf
nicht mehr berücksichtigt. Zusätzliche Informationen zu diesem Thema findet der interessierte Leser in Collins et al. (1999, S. 282-285), Florio (1999) und Lotus Development
(1998).
11
Im folgenden wird die Firmenbezeichnung Lotus vereinfachend weggelassen.
Technologische Grundlagen und Abgrenzung der Thematik
19
2.3 Lotus Notes/Domino R5
Da der Schwerpunkt dieser Arbeit auf Suchmaschinen und ihre Integration in eine auf
Notes/Domino basierende Applikation liegt, beziehen sich die folgenden Ausführungen
hauptsächlich auf die Architektur des Domino-Servers, vor allem in seiner Funktionsweise als Webserver. Zudem wird eine Abgrenzung der Begriffe Notes und Domino
vorgenommen sowie die wesentlichen neuen Designelemente der Release 5 vorgestellt.
Grundlegende Begriffe wie Groupware sowie technische Merkmale und Komponenten
(z. B. Notes-Datenbank, Dokument, Maske, Ansicht, Agent usw.) der Plattform
Notes/Domino werden dabei als bekannt vorausgesetzt. Der interessierte Leser wird auf
Nastansky (1993) und Ott/Nastansky (1997) sowie auf die Werke Dierker/Sander
(1998), Axt/Hertel/Wagner (1999) und Denning et al. (1998) verwiesen12.
Seit der ersten Release im Jahre 1989 hat Notes sich von einer reinen GroupwarePlattform hin zu einer Plattform für Intranet- und Internetapplikationen entwickelt. Vor
allem mit der zunehmenden Integration von Webstandards seit der Version 4.0 begann
ein Synergieprozeß von Groupware-Konzepten und Internet-Technologien, der mit der
Einführung eines speziellen Webservers namens Domino in der Version 4.5 seinen bedeutendsten Schritt machte (vgl. Florio 1999a). Später wurde aus Gründen des Marketing der komplette Server Domino genannt, während der Client die ursprüngliche Bezeichnung Notes beibehielt (vgl. Daibenzeiher et al. 1997, S. 37-40).
Für die Funktionsweise des Domino-Servers als Webserver sind zwei Serverprozesse
verantwortlich (vgl. Axt/Hertel/Wagner 1999, S. 532ff.), der HTTP-Servertask (front
end) und die Domino Web Engine (back end). Die HTTP-Serverkomponente verhält
sich dabei wie ein gewöhnlicher Webserver (z. B. Apache) und wartet auf Anfragen von
Webclients. Verweist die angeforderte URL auf eine gewöhnliche HTML-Datei, wird
diese direkt zurückgegeben. Bestimmte URL-Anfragen (siehe auch Abschnitt 3.2.1)
werden von dem HTTP-Task allerdings als ein spezieller Befehl erkannt, der für den
Zugriff auf ein Notes-Element bestimmt ist. Dieser Befehl wird an die Domino Web
Engine weitergeleitet, die den Befehl interpretiert und das angeforderte Daten- oder
Gestaltungselement der entsprechenden Datenbank aufruft. Daraus generiert die Domi-
12
Mit Ausnahme von Axt/Hertel/Wagner (1999) behandeln die angegebenen Literaturquellen noch die
vorige Version 4.x von Notes/Domino.
Technologische Grundlagen und Abgrenzung der Thematik
20
no Web Engine dynamisch ein HTML-Script, welches über den HTTP-Server als
Webseite an den Client zurückgegeben wird (siehe hierzu auch Abb. 5).
Domino
HTTP-Client
(Browser oder
Suchmaschine)
GET-URL
HTTP-Server
Domino
Web Engine
HTML etc.
Notes C++ API
Notes-Kernel
HTML,
GIF, CGI
etc.
Notes
Datenbanken
Abb. 5: Architektur des Domino-Servers
Mit der Release 5 von Notes/Domino ist die Integration von Internet-Technologien und
–Standards weiter fortgeschritten. Vor allem mit der stärkeren Implementierung von
Java-Applets ist es nun möglich, Notes-Elemente wie z. B. Ansichten näher am NotesOriginal darzustellen (vgl. Axt/Hertle/Wagner 1999, S. 330). Zudem wird durch das
Ausführen der Applets auf den Clients ein Gewinn an Performance erzielt und die Serverlast verringert.
Auch der Notes-Client hat einige Veränderungen aufzuweisen. Neben der neuen grafischen Benutzeroberfläche ist vor allem die Aufteilung des Clients in drei aufgabenspezifische Komponenten zu erwähnen. Neben dem gewohnten Notes-Client stehen nun
zusätzlich der Domino Designer und der Domino Administrator mit jeweils eigenen
Benutzeroberflächen zur Verfügung. Im Rahmen dieser Arbeit sind vor allem die mit
dem Domino Designer neu hinzugekommenen Designelemente interessant, da sie vorrangig auf die Entwicklung von Webapplikationen abzielen. Im folgenden werden daher
kurz die R5-Designelemente Seite (Page), Gliederung (Outline) und Rahmengruppe
Technologische Grundlagen und Abgrenzung der Thematik
21
(Frameset)13 vorgestellt, die in den anschließenden Kapiteln noch eine zentrale Rolle
spielen. Eine komplette Liste aller Neuerungen und eine detailliertere Beschreibung
findet der interessierte Leser in Collins et al. (1999), S. 175ff. und Burch (1999). Eine
Übersicht über die Programmiermöglichkeiten liefert Mann (1999).
Seiten kann man als Masken ohne Felder beschreiben. Sie dienen dementsprechend der
Anzeige von Informationen und sind nicht wie Masken zur Dateneingabe geeignet. Ansonsten weisen sie alle Funktionalitäten wie Images, Dateianhänge, Aktionsschaltflächen etc. auf. Auch können sie als Container für andere Notes-Elemente wie z. B. Ansichten oder Navigatoren benutzt werden. Der Haupteinsatz von Seiten ist daher zum
einen als Ersatz für die $$ViewTemplate-Maske, zum anderen wegen ihrer guten Layout-Möglichkeiten als Startseiten für Webapplikationen zu sehen.
Rahmengruppen dienen zur Abbildung der in Abschnitt 2.1 beschriebenen HTMLFramesets in Notes. Die Arbeitsfläche wird dabei in mehrere definierbare Bereiche aufgeteilt, denen dann explizit Seiten, Ansichten, Masken, Applets oder URLs zugewiesen
werden können.
Gliederungen ermöglichen es, eine hierarchische Struktur von Links und NotesElementen für eine Site zu erstellen. Sie verknüpfen dabei das dynamische Konzept von
Ansichten mit dem graphischen Layout von Navigatoren. Daher eignen sie sich vor allem für sogenannte Site Maps und Navigationsframes.
2.4 NetFicient Release 2
Ursprünglich stellte NetFicient ein Werkzeug zum Erstellen von Webseiten im Internet
und Intranet mit integriertem Redaktionsworkflow dar. Schnell wurde das Produkt um
weitergehende Funktionen wie ein Newspanel ergänzt. Um aber der wachsenden Informationsflut und der zunehmenden Komplexität gerecht zu werden, sind innovative
Technologien notwendig wie z. B. der Wandel vom Informations- zum Knowledge Management. Um diesen Prozeß zu unterstützen, wird NetFicient in der nächsten Release 2
zu einer Knowledge Management Plattform ausgebaut, wobei die Publishing Kompo-
13
Um Verwechslungen vorzubeugen, werden für die Notes-Designelemente die deutschen Bezeichnun-
gen verwendet, während im Webkontext auf die englischen Begriffe zurückgegriffen wird.
Technologische Grundlagen und Abgrenzung der Thematik
22
nente ein zentraler Bestandteil der NetFicient Familie darstellt, die demnächst aus folgenden Modulen bestehen soll (vgl. Deutsche Bank AG 1999b, S. 15ff):
-
NetFicient.Publishing stellt das Basismodul für den Aufbau eines professionellen
I*nets dar.
-
NetFicient.Knowledge soll den bereits angesprochenen Wandel vom Informationszum Knowledge-Management unterstützen (vgl. Abb. 6).
-
NetFicient.Solutions garantiert eine unternehmensweit einfache und sichere Kommunikation.
-
NetFicient.eBusiness ist für die Abwicklung der elektronischen Bestell- und Zahlungsvorgänge zuständig.
Knowledge Management
Expertise
Ich weiß nicht, wer mir helfen
kann!
Quality
NetFicient
Ich habe eine Information,
doch wie gut ist sie wirklich?
Collaboration
Wie bringe ich Kollegen und
Dokumente in einen Kontext,
um damit Aktionen abzuleiten?
Organization
Discovery
Ich weiß, was ich suche, aber
ich kann es nicht finden!
Warum bekomme ich so viele
Informationen?
Abb. 6: Knowledge Management mit NetFicient
Da die korrekte Erfassung und Indizierung der mit NetFicient erstellten Web- und Intranetseiten im Zentrum der Betrachtungen steht, beziehen sich die Ausführungen in den
nachfolgenden Kapiteln hauptsächlich auf die Publishing-Komponente. Aber auch die
im Bereich des Knowledge Managements (vgl. Deutsche Bank AG 1999b, S. 6ff.) mit
NetFicient adressierten Problemstellungen (siehe Abb. 6) werden zum Teil durch eine
verstärkte Integration von Suchmaschinen unterstützt. So wird das Auffinden von Informationen (Discovery) durch ein leistungsfähiges Suchinterface erleichtert. Zudem
werden Konzepte entwickelt, die zum einen die Fülle der Informationen reduzieren
Technologische Grundlagen und Abgrenzung der Thematik
23
(Organization) und zum anderen die Bewertung der gefundenen Informationen (Quality) vereinfachen.
Aufgrund der Komplexität der Aufgabenbereiche ist es nicht immer möglich und auch
nicht sinnvoll, sich alle Informationen selber zu beschaffen. Oft ist es einfacher und
schneller, einen entsprechenden Experten zu Rate zu ziehen. In einem globalen Unternehmen wie der Deutschen Bank AG ist es daher wichtig, daß geeignete Experten jederzeit leicht zu ermitteln sind (Expertise). Da diese Thematik nicht unmittelbar mit der
Integration von Suchmaschinen in Beziehung steht, wird sie im weiteren Verlauf nicht
weiter verfolgt. Auch die in Abb. 6 beschriebene Collaboration spielt im Zusammenhang mit der in dieser Arbeit verfolgten Zielsetzung keine Rolle.
2.5 Technologische und konzeptionelle Rahmenbedingungen
In diesem abschließenden Abschnitt werden die eingesetzte Hard- und Software beschrieben, die als technologische Randbedingungen in den anschließenden Kapiteln
berücksichtigt werden müssen. Auch wird ein Blick auf einige Anforderungen an NetFicient geworfen, welche die konzeptionellen Randbedingungen für diese Arbeit darstellen.
Wie bereits beschrieben, wird als Plattform für NetFicient R2 Lotus Notes/Domino R5
zum Einsatz kommen. Alle in dieser Arbeit vorgenommenen Untersuchungen beziehen
sich dabei auf die Version 5.0. Auf der Client-Seite soll der proprietäre Notes-Client
durch einen universellen Webbrowser abgelöst werden. Im untersuchten Unternehmen
kommt hier auf Windows-Basis der Netscape Navigator in der Version 4.x, bei OS/2Clients momentan noch die Version 2.1 zum Einsatz. Für die in dieser Arbeit durchgeführten Tests wurde der Netscape Navigator 4.5 verwendet. Die interne Suchmaschine
dbsearch des untersuchten Unternehmens basiert auf der Suchsoftware von Verity 97,
mit der auch die Verifizierung des Konzeptes im abschließenden Proof of Concept
durchgeführt wird. Für Tests im Vorfeld wird die frei verfügbare Software Harvest in
der Version 1.4 sowie Testversionen der Suchwerkzeuge Phantom der Firma Maxum
und Altavista Discovery benutzt.
Neben der verstärkten Integration von Suchmaschinen wurden in der Spezifikation von
NetFicient R2 weitere Kernanforderungen formuliert. An dieser Stelle seien aber nur die
Technologische Grundlagen und Abgrenzung der Thematik
24
Punkte genannt, die für die Thematik dieser Arbeit relevant sind14. Dazu gehören, wie
die anschließende Problemanalyse zeigt, die Unterstützung von Mehrsprachigkeit, Multikontext und Multiframefunktionalität.
Für ein globales Unternehmen, wie es die Deutsche Bank AG darstellt, ist es von großer
Wichtigkeit, daß die vorhandenen Informationen in allen erforderlichen Sprachen dargestellt werden können. Das bedeutet zum einen, daß jedes Dokument in mehreren
Sprachen vorliegen muß, zum anderen sollte auch automatisch die gewählte Sprache
(wie z. B. Muttersprache oder Englisch) angezeigt werden.
Die Multiframefunktionalität umfaßt zwei Aspekte. Zunächst soll es, wie der Name
schon sagt, möglich sein, mehrere Navigationsframes auf mehreren Ebenen darzustellen
(Frame in Frame). Gleichzeit soll der Inhaltsframe so in die Lesezeichen (Bookmarks)
eines Browsers aufgenommen werden können, daß bei wiederholten Aufruf sowohl der
gewünschte Inhalt als auch die entsprechende Navigation erscheinen.
Mit Multikontext ist gemeint, daß ein Inhaltsframe in verschiedenen Websites darstellbar ist. Dabei soll der Inhalt unter verschiedenen Themenbereichen (Kontext) zu finden
sein und auch mit unterschiedlicher Gültigkeitsdauer oder ähnlichen Kriterien versehen
werden können.
14
Eine komplette Liste der Anforderungen ist in Deutsche Bank (1999a) zu finden.
Problemanalyse
25
3 Problemanalyse
Im vorangegangenen Kapitel wurde ausführlich die Vorgehensweise von Suchmaschinen beschrieben und näher auf die dabei relevanten Technologien eingegangen. Bei dem
Zusammenspiel dieser differenten Konzepte kommt es zwangsläufig zu Problemen. Ziel
dieses Kapitels ist es nun, die auftretenden Probleme einer eingehenden Analyse zu unterziehen. Um die beobachteten Probleme präzise ihrer Ursache zuordnen zu können,
ist es notwendig, den Gesamtkontext in eindeutig abgegrenzte Bereiche aufzuteilen.
Dazu werden zunächst die einzelnen Technologien separat im Zusammenhang mit
Suchmaschinen untersucht, um daran anschließend die bei der Synthese der verschiedenen Bereiche entstehenden Probleme zu analysieren. Gemäß dieser Vorgehensweise
werden in diesem Kapitel die folgenden abgegrenzten Problembereiche behandelt:
-
Die der Funktionsweise des Spiders zugrundeliegenden Web-Technologien,
-
Lotus Domino als eingesetzter Webserver,
-
die Suchmaschinensoftware an sich sowie
-
konzeptionell bedingte Probleme, die durch die definierten Rahmenbedingungen
von NetFicient gegeben sind.
Dabei wird zunächst in der Theorie dargestellt, welche Problemstellungen in den einzelnen Bereichen gegeben sind und wie sich diese auch in der Praxis auswirken.
3.1 Webtechnologien
Mit der Publishing-Komponente von NetFicient werden die Informationen sowohl im
Intranet als auch im Internet für den Zugriff von Webclients zur Verfügung gestellt, so
daß neben den Webbrowsern auch die Spider der Suchmaschinen darauf zugreifen können. Die diesem Prozeß zugrundeliegenden Webtechnologien werden in diesem Abschnitt auf Schwachstellen im Zusammenhang mit Suchmaschinen hin untersucht. Dazu
gehören vor allem das HTTP-Protokoll, die Seitenbeschreibungssprache HTML sowie
auf Java basierende dynamische Konzepte.
3.1.1 Das Hypertext Transport Protocol
Der Spider verhält sich bei seiner Suche durch das WWW bzw. Intranet wie ein Webclient. Dabei fordert er mittels einer GET-Anforderung von dem Webserver den jeweili-
Problemanalyse
26
gen HTTP-Header an. Mit Hilfe der Informationen in diesem Header wird ein Abgleich
mit dem Index der Suchmaschine durchgeführt, um neue Seiten bzw. Änderungen an
schon erfaßten Seiten festzustellen. Die folgenden HTTP-Header-Methoden spielen
dabei eine entscheidende Rolle:
-
Last-Modified: Dieser Entity-Header gibt an, wann die angeforderte Seite zuletzt
modifiziert wurde. Wird dieser Header nicht korrekt gesetzt, kann es zu zwei unterschiedlichen Fehlern kommen. Wenn der Webserver dieses Datum nicht auf dem
aktuellen Stand hält, können Änderungen vom Spider nicht identifiziert werden, und
somit wird auch der Index nicht aktualisiert. Des weiteren bewirken fehlerhafte oder
gar nicht gesetzte Werte (z. B. „unknown“), daß die entsprechenden Seiten bei jedem Durchlauf des Spiders als geändert klassifiziert und somit neu indiziert werden.
Dadurch wird eine erhöhte Belastung sowohl des Webservers als auch der Suchmaschine verursacht.
-
Expires: Mit Hilfe dieses Entity-Headers kann man ein „Verfallsdatum“ angeben,
an dem die Informationen der Webseite nicht mehr relevant sind. Bei dynamisch
generierten Inhalten geben jedoch viele Webserver für diesen Wert das aktuelle
Datum zurück. Suchmaschinen, die diesen Header interpretieren, nehmen derartige
Seiten dann nicht in ihren Index auf.
-
If-Modified-Since: Mit der Einführung von HTTP/1.1 wurde das Hypertext
Transport Protocol um einige Funktionen und Eigenschaften erweitert. Eine dieser
Erweiterungen ist die des „Conditional Requests“, wie in Fielding et al. (1999, S.
53) nachzulesen ist: „The semantics of the GET method change to a "conditional
GET" if the request message includes an If-Modified-Since, If-Unmodified-Since,
If-Match, If-None-Match, or If-Range header field. A conditional GET method requests that the entity be transferred only under the circumstances described by the
conditional header field(s).“ Gerade die If-Modified-Since Methode stellt für
die Suchmaschinen eine Möglichkeit dar, unveränderte Seiten direkt mit der Anforderung durch den Spider auszugrenzen und somit die Netzwerklast zu mindern und
die Suchmaschine zu entlasten. Voraussetzung für diese Vorgehensweise wäre jedoch, daß dieses Datum genau wie das Last-Modified Datum korrekt vom
Webserver verarbeitet wird.
Problemanalyse
27
Nachdem die potentiellen Problembereiche vorgestellt wurden, gilt es nun zu untersuchen, wie relevant die einzelnen Punkte in der Praxis sind. Dazu muß kontrolliert werden, wie der Domino-Server, genauer der HTTP-Server Task und die Domino Web Engine, mit diesen HTTP-Methoden umgeht. Da dies vom Kontext her eher in das Kapitel
3.2 paßt, sei an dieser Stelle nur erwähnt, daß der Domino-Server für das LastModified Datum je nach Element meist nicht den richtigen Wert, sondern entweder
nichts oder das aktuelle Datum zum Zeitpunkt der Anfrage der Seite zurückgibt. Ähnliches gilt auch für das Expires Datum, so daß es in beiden Fällen zu den oben geschilderten Auswirkungen kommen kann und somit in Kapitel 4 diese Problematik berücksichtigt wird. Eine genauere Betrachtung der Problematik Domino-Server und HTTPHeader folgt dann in Abschnitt 3.2.1, der sich explizit mit Notes/Domino beschäftigt.
Wird das Last-Modified Datum nicht korrekt zurückgegeben, kommt es dementsprechend auch zu Problemen mit der If-Modified-Since Methode. Da eine Lösung für
das Last-Modified Datum gleichzeitig das Funktionieren der If-Modified-Since
Methode garantiert, wird diese nicht weiter explizit betrachtet.
3.1.2 Hypertext Markup Language
Als Seitenbeschreibungssprache im WWW und im Intranet hat sich HTML etabliert.
Wie in Abschnitt 2.1 vorgestellt, ist der Funktionsumfang von HTML bis zu der hier
untersuchten Version 4.0 stark angestiegen. Daher gilt es in diesem Abschnitt zu analysieren, welche der HTML-Funktionen von Suchmaschinen unterstützt werden und welche nicht oder nur teilweise verstanden werden. Der Schwerpunkt der Untersuchungen
liegt hier vor allem auf den Auswirkungen im Suchvorgang, die sich durch diese Inkompatibilitäten ergeben. Berücksichtigt werden dabei in diesem und den folgenden
Kapiteln lediglich die am meisten genutzten Suchmaschinen (vgl. Abschnitt 2.2.2). Zudem wird die im Intranet der Deutschen Bank AG eingesetzte Suchmaschine dbsearch,
die auf Verity basiert (vgl. Deutsche Bank AG 1999, S. 8), in die Betrachtung mit einbezogen. Wie in Sullivan (1999c) zu sehen, werden die meisten HTML-Funktionen von
den Suchmaschinen unterstützt. Probleme ergeben sich vor allem mit Framesets, Image
Maps und JavaScript (vgl. Tabelle 2).
Framesets werden im WWW immer beliebter, da mit ihrer Hilfe die Navigation innerhalb einer Website oder Homepage auf einfache Weise realisiert werden kann. Wie
Webbrowser älterer Generationen unterstützen jedoch viele Suchmaschinen diese
Problemanalyse
28
Funktion nicht oder nur teilweise. So können, wie in Tabelle 2 zu sehen, von den hier
betrachteten Suchmaschinen immerhin die Hälfte nicht mit Framesets umgehen. Aber
auch wenn die Suchmaschine mit der Hilfe von Framesets erstellte Webseiten durchsuchen kann, kommt es, wie im Verlauf dieses Abschnitts erläutert wird, häufig zu Folgeproblemen. Daher müssen zwei Aspekte berücksichtigt werden. Zunächst wird beschrieben, wieso einige Suchmaschinen nicht mit Framesets umgehen können und wie
sich dieses Unvermögen auswirkt, wenn eine solche Suchmaschine auf eine mit Framesets generierte Seite trifft. Danach werden dann die Probleme geschildert, die auftreten
können, auch wenn Framesets von der Suchmaschine unterstützt werden.
AltaVista
Excite
HotBot/
Inktomi
Infoseek
Lycos
Northern Web
Verity
Light
Crawler
Frames
Ja
Nein
Nein
Nein
Teilweise
Ja
Ja
Ja
Clientsite
Imagemaps
Ja
Nein
Nein
Ja
Nein
Ja
Ja
Ja
Serversite
Imagemaps
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
JavaScript
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Tabelle 2: Von Suchmaschinen nicht unterstützte HTML-Funktionen
Um die angesprochene Problematik besser darstellen zu können, werden im Vorfeld
zunächst einige Begriffe definiert, und es wird näher auf die Technologie von Framesets
eingegangen. Der Einfachheit halber werden im Kontext dieser Arbeit Framesets mit
drei Frames betrachtet, die wie folgt aufgebaut sind (vgl. Abb. 7 auf folgender Seite):
-
ein Hauptframe, der für die gesamte Website oder Homepage relevante Links enthält (z. B. Home, Hilfe, Suchen etc.),
-
ein Navigationsframe, der die Navigation im aktuellen Kontext erleichtern soll und
-
ein Inhalts-(engl. Content) Frame, der die eigentlich anzuzeigenden Informationen
enthält.
Problemanalyse
29
Abb. 7: Aufbau der untersuchten Framesets
Der HTML-Quelltext für dieses einfache Frameset ist in Abb. 8 zu sehen. Eine Suchmaschine, die den HTML-Tag <frameset> nicht versteht, bekommt lediglich den
Textteil im Body-Bereich angezeigt. Sie kann jedoch nicht die einzelnen Frames verfolgen, womit die gesamte Website bzw. Homepage nicht durchsuchbar ist.
<html>
<head>
<title> Ein einfaches Beispiel für Framesets </title>
</head>
<frameset cols="20%,*" border="3">
<frame src="Navigation.html" name="Nav">
<frameset rows="*,4*">
<frame src="Haupt.html" scrolling="no" name="Main">
<frame src="Inhalt.html" name="Content">
</frameset>
<body>
Sorry! You need a frames-browser to view this site.
</body>
</frameset>
</html>
Abb. 8: HTML-Quelltext zur Generierung eines einfachen Framesets
Problemanalyse
30
Ein Problem ganz anderer Natur ergibt sich bei Suchmaschinen, die Websites mit
Framesets durchsuchen und indizieren können. Als Link für die gefundenen Seiten wird
jeweils die URL für den entsprechenden Inhalts-Frame, nicht aber für das Frameset, in
der Trefferliste angezeigt. Verfolgt ein Benutzer diesen Link, bekommt er zwar den
Inhalt und somit die Information, die er sucht, dargestellt, die zugehörigen Navigationsframes fehlen jedoch, so daß ein weiteres Navigieren innerhalb der gefundenen Website
bzw. Homepage oft nicht möglich ist.
Image Maps sind ein weiteres Mittel, die Navigation zu vereinfachen. Auch in der aktuellen Version der Publishing-Komponente von NetFicient wird für die Hauptnavigation
eine Image Map benutzt (vgl. Abb. 9). Unter einer Image Map versteht man eine Grafik,
der ein Koordinatennetz mit Links hinterlegt ist. Je nachdem, in welchen Bereich der
Benutzer mit der Maus klickt, wird eine andere URL aufgerufen (vgl. Maurer 1996, S.
57ff.). Zudem unterscheidet man nach dem Ort der Ausführung serverside und clientside Image Maps. Da serverside Image Maps aufgrund ihrer technologischen Eigenschaften nicht für Suchmaschinen zugänglich sind, konzentrieren sich die folgenden
Darstellungen auf die clientside Image Maps.
Abb. 9: Hauptnavigation in NetFicient als Image Map
Wie in Tabelle 2 zu sehen, können drei der betrachteten Suchmaschinen nicht mit Image
Maps umgehen. Dies hat zur Folge, daß die in der Image Map hinterlegten Links nicht
vom Spider weiterverfolgt werden können, da er die HREF=“...“-Einträge im AREAAbschnitt nicht als Links identifiziert (vgl. Abb. 10 auf Seite 31). Besonders stark wirkt
sich dies im Zusammenhang mit den sehr beliebten Site Maps oder Navigation Maps
aus, bei denen der Einstieg zu einer Website bzw. die gesamte Navigation über Image
Maps realisiert wird. Derart gestaltete Seiten sind dann von den betroffenen Suchmaschinen nicht erfaßbar.
Problemanalyse
31
<IMG SRC="./header.gif" BORDER=0 WIDTH="778" HEIGHT="27"
USEMAP="#navbar" ISMAP>
<MAP NAME="navbar">
<AREA COORDS="460,0,495,27"
story.go(-1);">
<AREA COORDS="496,0,551,27"
story.go(1);">
<AREA COORDS="552,0,592,27"
<AREA COORDS="593,0,639,27"
<AREA COORDS="640,0,684,27"
<AREA COORDS="685,0,745,27"
<AREA COORDS="746,0,776,27"
HREF="javascript: parent.info.hiHREF="javascript: parent.info. hiHREF="/home.html" TARGET="_top">
HREF="/search.html" TARGET="info">
HREF="/phone.html" TARGET="info">
HREF="/feedback.html" TARGET="info">
HREF="/help.html" TARGET="info">
</MAP>
Abb. 10: HTML-Quelltext für eine Image Map
JavaScript ist eine eigene Programmiersprache und somit eigentlich kein direkter Bestandteil von HTML Da diese Sprache jedoch eigens zu dem Zweck geschaffen wurde,
HTML-Autoren ein Werkzeug in die Hand zu geben, mit dessen Hilfe sich Webseiten
optimieren lassen (vgl. Münz/Nefzger 1999), werden mit JavaScript verbundene Probleme ebenfalls in diesem Unterkapitel behandelt. JavaScript wird mittels des speziellen
HTML-Tags <Script> direkt in den HTML-Quelltext eingefügt, d. h. auch der JavaScript-Quelltext ist für die Suchmaschine komplett einsehbar. Trotzdem wird JavaScript, wie Tabelle 2 illustriert, von keiner der untersuchten Suchmaschinen unterstützt.
Dies kann zwei Ursachen haben. Die erste Möglichkeit wäre, daß der Spider die im JavaScript enthaltenen Links nicht erkennt, da sie nicht mit dem entsprechenden HTMLTag <A> ausgezeichnet sind (s. o.). Die andere und häufigere Ursache ist, daß der gesamte Bereich innerhalb des <Script>-Tags von der Suchmaschine ignoriert wird.
Daher sind Websites, deren Navigation allein auf JavaScript basiert, nicht von den Spidern durchsuchbar. Die restlichen Informationen sowie Links in der entsprechenden
Webseite werden jedoch korrekt vom Spider verarbeitet.
Anders verhält es sich mit CGI-Scripts. CGI-Scripts dienen meist zur Einbindung einer
externen Datenquelle (z. B. eine relationale Datenbank) in eine Webseite (z. B. das
Blättern in einem Warenkatalog). Da CGI-Scripts im Kontext mit Domino und speziell
NetFicient eine eher untergeordnete Rolle spielen, werden sie in den späteren Kapiteln
nicht weiter berücksichtigt, sollen aber der Vollständigkeit halber an dieser Stelle kurz
Problemanalyse
32
erwähnt und auf Probleme mit Suchmaschinen hin untersucht werden. Der Aufruf des
CGI-Scripts erfolgt meist über eine URL mit folgender Syntax, die von dem Spider und
verfolgt und an den Indexer weitergegeben werden kann (vgl. Hajji 1999, S. 571ff.):
http://hostname/pfad/scriptname?argumente. Auch die von dem CGI-Script
erzeugte Webseite besteht meistens aus Standard-HTML und kann von den Suchmaschinen einwandfrei verarbeitet werden. Probleme mit CGI-Scripts ergeben sich nur,
wenn zum Aufruf des Scripts Parameter notwendig sind, die zunächst vom Benutzer
eingegeben werden müssen (z. B. die Suche in einem Warenkatalog über Stichwörter).
3.1.3 Java
Mit Java ergeben sich für den Webdesigner eine Vielzahl von Möglichkeiten, seine
Website interaktiver und ansprechender zu gestalten. Dabei kann man sich neben dem
oben bereits dargestellten JavaScript auch Java-Applets und Java-Servlets bedienen.
Unter Java-Applets sind Java-Programme zu verstehen, die von einer Webseite über den
HTML-Tag <APPLET> aufgerufen werden und auf dem Client ausgeführt werden. Da
Java-Applets aber im Gegensatz zu JavaScript nicht im Quelltext, sondern als ausführbare Programme an den Webclient übergeben werden, können darin enthaltene Links
und Informationen nicht von den Suchmaschinen erfaßt werden. Dies spielt vor allem
im Zusammenhang mit Domino R5 eine große Rolle, da hier die Möglichkeit besteht,
interaktive Elemente wie Ansichten oder Navigatoren als Java-Applet zu realisieren
(siehe dazu auch Abschnitt 3.2.2). Die gleiche Problematik stellt sich mit Java-Servlets.
Der einzige Unterschied besteht darin, daß Java-Servlets, wie der Name schon sagt,
nicht auf dem Client, sondern auf dem Server selber ausgeführt und somit gar nicht erst
an den Client bzw. die Suchmaschine geschickt werden.
3.2 Lotus Notes/Domino Release 5
Seit der Version 4.5 hat sich Lotus Notes mit der Einführung der Domino Web Engine
in Verbindung mit einem HTTP-Servertask (vgl. Abschnitt 2.3) den Web- und Intranettechnologien weiter geöffnet. Auch wenn man als Webbenutzer beim Zugriff auf
einen Domino-Server den Unterschied zu einem gewöhnlichen Webserver wie z. B.
Apache kaum merkt, so äußern sich die durchaus vorhandenen Unterschiede doch im
Detail. Wie sich dies auf die Unterstützung von Suchmaschinen auswirkt, wird in den
folgenden beiden Abschnitten näher analysiert. Während sich der erste Abschnitt mit
Problemanalyse
33
den Eigenschaften des Domino-Servers als HTTP-Server beschäftigt (siehe auch Abschnitt 3.1.1), wird im anschließenden Abschnitt näher untersucht, wie die einzelnen
Notes-Elemente beim Webzugriff dargestellt werden. Im Blickpunkt steht dabei jedoch
lediglich, wo es zu Problemen mit Suchmaschinen kommen kann. Einen detaillierten
Vergleich von Notes/Domino-Technologien und Webtechnologien kann der interessierte Leser in Smolnik (1999) nachlesen. Schließlich werden noch spezifische Einträge
in der Serverkonfiguration von Domino betrachtet, die im Zusammenhang mit Suchmaschinen wichtig sein können.
3.2.1 Lotus Domino als Webserver
Um über das Web auf Notes-Datenbanken, Ansichten, Dokumente usw. zugreifen zu
können, ist eine spezielle URL-Syntax entwickelt worden, die wie folgt definiert ist:
http://hostname/datenbank/DominoObjekt?Aktion&Argumente
Wobei15
-
Hostname für den Namen des TCP/IP-Hosts steht (in diesem Fall der Domino-Ser-
ver).
-
Datenbank für den Namen der Datenbank steht, inklusive der Dateierweiterung
„.nsf“ sowie evtl. dem relativen Pfad zu dem Verzeichnis, in dem die Datenbank
liegt.
-
DominoObjekt das aufzurufende Notes/Domino-Element bezeichnet wie z. B. eine
Ansicht, eine Maske oder ein Dokument. Dabei kann das Element sowohl durch
seinen Namen oder Alias als auch durch die von Domino vergebene Notes- oder
Universal-Id angesprochen werden.
-
Aktion die anzuwendende Operation spezifiziert. Hierzu zählen beispielsweise
?OpenPage, ?OpenView, ?OpenDocument etc.
-
Argumente als optionale Parameter für die Aktion mit übergeben werden können.
Diese spezielle Syntax kann im Kontext von Suchmaschinen zu Problemen führen. Laut
Sullivan (1999b) haben einige Suchmaschinen Probleme mit URLs, die Sonderzeichen,
15
Im folgenden wird lediglich eine zusammenfassende Beschreibung der Syntax gegeben. Eine ausführli-
che Aufstellung findet man in Mann (1999), S. 739ff.
Problemanalyse
34
besonders das Fragezeichen „?“ enthalten : „Also, avoid symbols in your URLs, especially the ? symbol. Search engines tend to choke on it.“ Dies kann sich darin auswirken, daß derartige URLs entweder ganz ignoriert werden oder aber die URL ab dem
„?“-Zeichen abgeschnitten wird, so daß der Link danach nicht mehr so funktioniert, wie
ursprünglich intendiert. Dieses Phänomen war jedoch nur mit einigen Suchwerkzeugen
(siehe Abschnitt 2.5) zu beobachten, nicht jedoch mit den hier betrachteten Suchmaschinen, so daß dieses Problem hier nicht weiter verfolgt wird. Ein weiteres Problem
entsteht durch die Adressierung der Notes-Elemente in der URL. Da durch die unterschiedlichen Bezeichnungsmöglichkeiten (Name, Alias oder Universal-ID) auch verschiedene URLs entstehen, werden die Seiten von den Suchmaschinen mehrfach indiziert. Bedenkt man hierbei, daß in einer URL mehrere Notes-Elemente auftreten können
(z. B. Datenbank, Ansicht, Dokument), kann es passieren, daß eine Seite theoretisch bis
zu neunmal von der Suchmaschine als neu erkannt wird.
In Abschnitt 3.1.1 wurde bereits die Problematik bei fehlerhaft oder gar nicht gesetzten
Werten für die HTTP-Header Last-Modified und Expires angesprochen. Im folgenden wird nun explizit untersucht, welche Daten der Domino-Server im HTTPHeader zurückgibt. Dabei müssen, wie in Tabelle 3 auf Seite 35 zu sehen ist, die einzelnen Designelemente von Domino differenziert betrachtet werden. Zudem werden zwei
verschiedene Ausprägungen der Felder im HTTP-Header betrachtet. Zum einen wird
mit Hilfe eines Netzwerk-Utilities der Header direkt vom Domino-Server abgerufen,
zum anderen werden mittels eines Webbrowsers16 die entsprechenden Werte abgefragt.
Die Ergebnisse der Untersuchung sind der genannten Tabelle 3 zu entnehmen. An dieser Stelle sei nur beispielhaft ein HTTP-Header aufgeführt (siehe Abb. 11), eine komplette Auflistung aller HTTP-Header dieses Testes ist in Anhang 9.2 zu finden.
HTTP/1.1 200 OK
Server: Lotus-Domino/Release
Date: Thu, 07 Oct 1999 12:04:16 GMT
Connection: close
Content-Type: text/html; charset=US-ASCII
Content-Length: 462
Last-Modified: Thu, 07 Oct 1999 11:50:38 GMT
Expires: Thu, 07 Oct 1999 11:50:38 GMT
16
In diesem Fall der Netscape Navigator in der Version 4.5
Problemanalyse
35
Abb. 11: HTTP-Header für eine Page mit Pass Thru HTML
Wie im anschließenden Abschnitt beschrieben wird, muß bei Domino R5 zusätzlich
unterschieden werden, ob die Elemente als Java-Applet oder als HTML-Quelltext übersetzt werden. Zudem können die Inhalte auch direkt als HTML behandelt werden (Pass
Thru HTML). Dies hat auch Auswirkungen auf den HTTP-Header. So gibt der DominoServer nur Daten für Last-Modified und Expires zurück, wenn die Seiten- bzw.
Dokumenteninhalte als HTML interpretiert werden. Werden Notes-Elemente angefordert, die zunächst übersetzt werden müssen, gibt der Domino-Server diese HeaderInformationen gar nicht zurück. Einzige Ausnahme stellen Dokumente dar, die Felder
mit programmiertem HTML-Text (dynamisches HTML) beinhalten. Hier gibt der Domino-Server beide Daten zurück, jedoch werden sie auf das aktuelle Datum und die
aktuelle Zeit gesetzt. Dieses Vorgehen ist von Seiten des Domino-Servers auch logisch
begründbar, da die jeweilige Seite jedesmal neu erstellt bzw. berechnet wird. Ansichten
werden an dieser Stelle nicht differenziert betrachtet, da bei allen Varianten keine Header-Informationen zurückgegeben werden. Auf der Clientseite wird dementsprechend
das gegebene Datum ausgegeben bzw. „unknown“ oder „no date given“ angezeigt.
Designelemente
HTTP-Header
Navigator Informationen
Web-Darstellung
Last-Modified
Expires
Last-Modified
Expires
Pass Thru HTML
Ja
Ja
Datum
Datum
Nein
Nein
Unknown
No date given
Ja
Ja
Datum
Datum
Notes
Nein
Nein
Unknown
No date given
Dynamisches HTML
Now
Now
Datum
Datum
Ansichten
Nein
Nein
Unknown
No date given
Gliederungen
Nein
Nein
Unknown
No date given
Rahmengruppen
Nein
Nein
Unknown
No date given
Seiten
Notes
Dokumente
Pass Thru HTML
Tabelle 3: Zusammenhänge zwischen Notes-Elementen und HTTP-Header
Problemanalyse
36
Damit entsteht also genau die in Abschnitt 3.1.1 beschriebene Problematik. Aber auch
wenn die untersuchten HTTP-Header zurückgegeben werden, benutzt der DominoServer für das Expires-Datum immer das gleiche Datum, welches im LastModified Header steht. Dadurch kann es theoretisch zu Problemen kommen, da der
Indexer die entsprechenden Seiten als nicht mehr gültig klassifiziert und somit nicht in
die Datenbank aufnimmt. Da aber alle hier betrachteten Suchmaschinen auch von Domino-Servern bereitgestellte Seiten in ihren Indizes haben, ist davon auszugehen, daß
dieser Header von den Suchmaschinen ignoriert wird. Diese Tatsache wurde auch von
den Mitarbeitern in der Abteilung Search Engine Technology der Deutschen Bank AG
bestätigt.
3.2.2 Design Elemente von Lotus Notes
Während der Fokus im vorangegangenen Abschnitt auf dem HTTP-Protokoll lag, wird
nun ein Blick auf das von Domino erzeugte HTML geworfen. In Abschnitt 3.1.1 wurde
bereits die Aufgabentrennung von Domino Web Engine und HTTP-Servertask beschrieben. Solange keine spezifischen Notes-Elemente involviert sind, verhält sich der
Domino-Server daher wie ein normaler Webserver und gibt die angeforderten Webseiten zurück (z. B. HTML-Dateien im entsprechenden Serververzeichnis). Wird mit der
aufgerufenen URL aber ein Notes-Element angefordert, wird dieses zunächst von der
Domino Web Engine für die Webdarstellung konvertiert. Auf die Art und Weise dieser
Konvertierung kann der Entwickler, wie weiter oben bereits kurz angedeutet wurde,
Einfluß nehmen.
Zunächst kann für jede Datenbank angegeben werden, ob zur Erzeugung der Seiten bei
einem Webzugriff JavaScript verwendet werden soll (siehe Abb. 12 auf Seite 37). Damit wird die Übersetzung von @Command-Funktionen (z. B. in Aktionsleisten) in JavaScript ermöglicht. Da derartige Kommandos für Suchmaschinen keine Relevanz haben
und JavaScript von den Suchmaschinen ignoriert wird, spielt diese Einstellung in den
späteren Darstellungen keine Rolle. Für die diversen Notes-Elemente stehen neben der
standardmäßigen HTML-Konvertierung zwei weitere Methoden zur Verfügung: Mit
Pass Thru HTML wird Domino angewiesen, den Inhalt als nativen HTML-Quelltext zu
interpretieren und direkt an den Client zurückzusenden (siehe Abb. 12). Zudem können
bei interaktiven Elementen wie z. B. Ansichten auch sogenannte Domino-Applets (vgl.
Axt/Hertel/Wagner (1999), S. 556ff.) benutzt werden. Damit sind vordefinierte Java-
Problemanalyse
37
Applets gemeint, die von Domino seit R5 als Bausteine angeboten werden (siehe Abb.
13 auf Seite 38). Im folgenden werden daher die einzelnen Notes-Elemente nach ihrer
Darstellungsweise differenziert auf Probleme hin analysiert, die im Zusammenhang mit
Suchmaschinen entstehen können.
Abb. 12: JavaScript und Pass Thru HTML
Die Option, den Inhalt als Pass Thru HTML zu interpretieren, steht nur für die NotesElemente Seite, Dokument/Maske und Ansicht zur Verfügung. Bei Seiten und Dokumenten wird dementsprechend der HTML-Quelltext direkt eingegeben bzw. durch Formeln „berechnet.“ Solange dabei keine problematischen HTML-Funktionen (vgl. Abschnitt 3.1.2) benutzt werden, stellen diese Elemente kein Problem für Suchmaschinen
dar. Um Pass Thru HTML für Ansichten verwenden zu können, muß der entsprechende
HTML-Quelltext (im Zusammenhang mit Ansichten meistens Links) für die entsprechenden Spalten programmiert werden. Da bei dieser Vorgehensweise weder Kategorien noch die automatisch generierten Ansichtslinks (siehe S. 38) angezeigt werden, ergeben sich auch keine Probleme bei der Erfassung der Links durch den Spider.
Identifiziert der Domino-Server ein Element nicht als Pass Thru HTML, generiert die
Domino Web Engine den entsprechenden HTML-Quelltext, um das angeforderte NotesElement im Web darzustellen. Seiten und Dokumente stellen dabei den einfachsten Fall
dar. Der Inhalt wie Text, RichText, Bilder oder Tabellen werden durch ihre HTMLPendants dargestellt und verursachen somit keine Probleme. Rahmengruppen werden
für das Web als HTML-Framesets dargestellt und sind daher mit den bereits erläuterten
Problemen für Suchmaschinen behaftet. Komplizierter gestalten sich dynamische
Problemanalyse
38
Notes-Elemente wie Gliederungen und Ansichten. Beide werden beim Zugriff über das
Web zu HTML-Tabellen konvertiert, was für Suchmaschinen keine Probleme bereitet.
Anders verhält es sich, wenn die Ansichten bzw. Gliederungen Kategorien enthalten.
Das Expandieren und Kollabieren der einzelnen Kategorien geschieht dabei über spezielle URL-Kommandos (vgl. Abschnitt 3.2.1), wodurch für jede mögliche Konstellation
eine eigene URL entsteht, die von dem Spider als neu klassifiziert wird. Bestehen die
einzelnen Kategorien auch noch aus Unterkategorien, steigert sich die Anzahl der möglichen URLs exponentiell, wodurch sowohl der Server als auch die Suchmaschine
übermäßig belastet werden.
.
Abb. 13: Verwenung von Domino-Applets zur Darstellung beim Webzugriff
Ansichten bringen bei der HTML-Darstellung noch ein weiteres Problem mit sich. Wie
in Abb. 14 auf Seite 39 illustriert, generiert die Domino Web Engine einige für Ansichten spezifische Links, die aus dem Notes-Client bekannt sind und der Navigation innerhalb der Ansichten dienen. Im folgenden werden die einzelnen Links näher beschrieben
und ihr Problem im Zusammenhang mit Suchmaschinen dargestellt.
-
Search öffnet eine von Domino generierte Suchmaske, mit der man die aktuelle Ansicht durchsuchen kann. Diese Seite sollte jedoch Suchmaschinen nicht zugänglich
sein, da diese Seite nicht indiziert werden muß.
-
Next/Previous dient eigentlich zur Navigation innerhalb der Ansicht, falls die Ansicht mehr Dokumente enthält, als angezeigt werden (vgl. Abschnitt 3.2.1). Problematisch für Suchmaschinen ist allerdings, daß diese Links auch zur Verfügung ste-
Problemanalyse
39
hen, wenn der Anfang bzw. das Ende der Ansicht erreicht wird, so daß eine Endlosschleife entsteht, wenn der Spider nicht erkennt, daß er die Seite schon besucht hat.
-
Expand/Collapse werden nur bei Ansichten mit Kategorien benötigt. Mit Expand
werden alle Kategorien geöffnet, mit Collapse alle Kategorien geschlossen. Auch
wenn eine Ansicht keine Kategorien enthält, wird die gleiche Ansicht mehrmals von
der Suchmaschine indiziert, da durch das Anhängen der Argumente ExpandView
bzw. CollapseView eine neue URL entsteht (siehe auch Abschnitt 3.1.1). Diese
beiden zusätzlichen URLs entstehen für jede mit Previous/Next anwählbare Seite,
wodurch bei einer großen Anzahl von Dokumenten die Suchmaschine und auch der
Domino-Server unnötig belastet werden.
Abb. 14: Domino-Ansicht als HTML-Tabelle mit Navigation
Für die Notes-Elemente Ansicht und Gliederung bietet Domino mit R5 spezielle Applets zur Darstellung im Web (siehe Abb. 13). Damit soll das Look&Feel und die Funktionalität des Notes-Clients in akzeptabler Form auch für das Web verfügbar gemacht
werden. Auch wird durch die Ausführung der Applets auf dem Client der Server weni-
Problemanalyse
40
ger belastet und ein Geschwindigkeitsvorteil17 erzielt. Wie in Abschnitt 3.1.3 beschrieben, können die Spider der Suchmaschinen diese Applets jedoch nicht verarbeiten und
somit nicht über die Links auf den Inhalt der Website zugreifen. Anders verhält es sich
mit dem RichText-Applet. Zur Anzeige von RichText-Objekten im Web benutzt die
Domino Web Engine Standard-HTML. Für die Eingabe von RichText über das Web
stellt Domino ein spezielles RichText-Applet zur Verfügung, um zumindest grundlegende Formatierungsoptionen bereitzustellen. Da das Erstellen bzw. Bearbeiten von
Dokumenten im Zusammenhang mit Suchmaschinen nicht von Interesse ist, wird dieser
Punkt im weiteren Verlauf nicht weiter berücksichtigt.
Schließlich seien im Zusammenhang mit Notes-Elementen noch eingebettete Objekte
genannt. Damit sind Notes-Elemente gemeint, die in eine Seite oder Maske integriert
werden. Dadurch entstehen für die Seite bzw. Maske die gleichen Probleme, die das
eingebettete Notes-Element mitbringt (z. B. ein Ansicht-Applet).
Darstellung
Probleme im Zusammenhang mit Suchmaschinen
Pass Thru HTML
Keine, außer der HTML-Quelltext enthält Framesets oder
Image Maps.
Generiertes HTML
-
Rahmengruppen (siehe Framesets, Abschnitt 3.1.2)
-
Kategorisierte Ansichten und Outlines / Sektionen in Dokumenten
-
Navigationslinks von Ansichten
Domino-Applets
Applets sind generell nicht für den Spider zugänglich.
Eingebettete Objekte
Übertragen ihre Probleme auf das jeweilige Notes-Element.
Tabelle 4: Probleme in Abhängigkeit von der Webdarstellung der Notes-Elemente
3.2.3 Konfiguration des Domino-Servers
In diesem Abschnitt werden Einträge in der Serverkonfiguration untersucht, die zu Problemen im Zusammenhang mit Suchmaschinen führen können. Im Fokus der Betrachtungen stehen dabei die Einstellungen für die Domino Web Engine, speziell der Ab-
17
Man darf dabei allerdings die längere Ladezeit des Applets nicht vergessen.
Problemanalyse
41
schnitt für Conversion/Display (siehe Abb. 15 am Ende dieses Abschnitts), in der einige
generelle Parameter für den Webzugriff gesetzt werden können.
Insbesondere folgende Einträge sind vor dem Hintergrund dieser Arbeit interessant:
-
Default/Maximum lines per view page gibt an, wie viele Zeilen beim Webzugriff auf
eine Ansicht standardmäßig bzw. maximal angezeigt werden. Dadurch werden bei
größerer Anzahl an Dokumenten die bereits erwähnten Navigationslinks mit den
diskutierten Nachteilen für Suchmaschinen angezeigt. Da diese bei Ansichten mit
HTML-Inhalt von Domino nicht generiert werden, können Suchmaschinen auf nicht
angezeigte Links bzw. Informationen nicht zugreifen.
-
Make this site accessible to web search site crawlers. Dieser undokumentierte Servereintrag hat momentan noch keine sichtbare Funktionalität. Der Administrator
sollte diesen Eintrag trotzdem auf „enabled“ setzen, da in kommenden Versionen
von Domino dieser Eintrag unterstützt werden könnte.
Problemanalyse
42
Abb. 15: Serverkonfiguration für die Domino Web Engine
3.3 Suchmaschinensoftware
In den vorangegangenen Abschnitten wurde dargelegt, wie sich die beiden Technologieströmungen Internet und Domino auf die Arbeitsweise von Suchmaschinen, konkret
den Spider und den Indexer, auswirken. Dabei wurden vorrangig Probleme behandelt,
die das Erfassen der Webseiten und deren Inhalte betrafen. Hier stehen nun die Probleme im Vordergrund, deren Ursache direkt bei den Suchmaschinen, speziell der Softwarekomponente, zu suchen ist.
Die Suchmaschinensoftware besteht gemäß der Darstellung in Abschnitt 2.2.3 aus zwei
Komponenten, einem Interface zur Eingabe von Suchanfragen und einem Generator, der
durch Sortierung der Suchergebnisse die Trefferliste erzeugt und anzeigt. Diese Trefferliste ist jedoch in den meisten Fällen zu groß und enthält auch viele Seiten, die mit
dem intendierten Suchergebnis nicht korrelieren. Das Beispiel in Abb. 16 zeigt, daß
Altavista selbst bei der Suche nach dem eher seltenen und sehr fachspezifischen Wort
„Bonitätsprüfung“ am 09.10.1999 fast 1.000 relevante Seiten findet. Diese Zahl wächst
bei anderen Sucheingaben noch erheblich an, wie eine Suche nach dem Begriff „kredit“
mit über 70.000 Treffern verdeutlicht.
Problemanalyse
43
Abb. 16: Suchergebnis für Bonitätsprüfung bei Altavista
Diese großen Trefferlisten sind das Resultat einiger grundlegender Eigenschaften von
Suchmaschinen. Auch wenn sie nur einen vergleichsweise kleinen Teil des WWW indizieren, geht die Zahl der indizierten Seiten trotzdem in den zwei- bis dreistelligen Millionenbereich. Diese große Anzahl indizierter Seiten ist einer der wesentlichen Vorteile
von Suchmaschinen gegenüber Webkatalogen, bringt aber gleichzeitig einen großen
Nachteil mit sich. Durch die automatische Indizierung der gefundenen Webseiten ist die
Zuordnung zu relevanten Themengebieten nicht so gut wie bei von Hand erstellten Katalogen. Zudem kann der Indexer keine Täuschungsversuche der Anbieter erkennen. Mit
Täuschungsversuchen sind hierbei falsche Einträge in den Meta-Tags gemeint, mit denen mehr Besucher auf die eigene Website gelockt werden sollen. Eine andere Ursache
für zu große oder falsche Trefferlisten sind nicht genügend exakt formulierte Suchanfragen. Die betrachteten Suchmaschinen bieten zwar alle Parameter und Funktionen, um
die Suche zu präzisieren, für den Gelegenheitsnutzer sind die Formulierungen aber zu
kompliziert. Ein weiteres Problem stellt die Schreibweise der Suchanfragen dar. Benutzt
man beispielsweise als Schlagwort „Bonitaetsprüfung“ anstelle von „Bonitätsprüfung“,
findet Altavista nur noch eine relevant Seite
Ein bisher nicht betrachteter Aspekt bezüglich der generierten Ergebnislisten ist die
Qualität der gefundenen Informationen. Auch wenn die gefundene Webseite Informationen zu dem gesuchten Thema anbietet, gibt es keine Möglichkeit für den Benutzer,
den Wert bzw. die Richtigkeit der Informationen abzuschätzen.
3.4 Kernanforderungen an NetFicient R2
Im Gegensatz zu den vorigen Analysen, die sich auf eher technische Merkmale konzentrieren, werden in diesem Abschnitt einige konzeptionelle Bedingungen dargestellt, die
im Zusammenhang mit Suchmaschinen zu beachten sind. Von den im Abschnitt 2.5
vorgestellten Kernanforderungen an die neue Version von NetFicient sind diesbezüglich
die Punkte Mehrsprachigkeit, Multikontext und Multiframefähigkeit relevant.
Die Multiframefähigkeit oder Frame-in-Frame-Technologie stellt eine Erweiterung der
in Abschnitt 3.1.2 beschriebenen Frame-Problematik dar, da zu einer Inhaltsseite nun
mehrere Navigationsframes gehören können. Mehrsprachigkeit und Multikontext bedeuten für die Suchmaschinen, daß eine Webseite von NetFicient mehrfach indiziert
werden muß, also in verschiedenen Sprachen oder in unterschiedlichen Themenkontex-
Problemanalyse
44
ten. Hier gilt es im nächsten Kapitel Wege zu finden, dies über verschiedene URLs zu
gewährleisten, da Suchmaschinen den Unterschied nur erkennen, wenn sie eine neue
URL vorfinden.
Evaluierung von Lösungsansätzen
45
4 Evaluierung von Lösungsansätzen
Für viele der im letzten Kapitel genannten Probleme haben sich im Laufe der Zeit Standardlösungen etabliert, die vor allem auf allgemeine Problematiken wie z. B. Framesets
zielen. Vor dem bereits beschriebenen Hintergrund NetFicient und Domino als eingesetztem Webserver reichen diese Standardlösungen aber meist nicht aus. Daher werden
im Verlauf dieses Kapitels, wenn vorhanden, zunächst Standardlösungen präsentiert und
ihre Eignung und Relevanz für NetFicient dargestellt. Daraufhin werden diese erweitert,
bzw. es werden neue Lösungsansätze entwickelt und ihre jeweiligen Vor- und Nachteile
diskutiert. Diese Evaluierung der einzelnen Lösungen dient dann als Grundlage für das
nächste Kapitel, in dem ein umfassendes Konzept für die Integration von Suchmaschinen entwickelt wird.
Während in der vorangegangenen Problemanalyse die Sichtweise auf den verursachenden Bereichen lag, werden die Probleme in diesem Kapitel nach ihrer Auswirkung auf
Suchmaschinen geordnet, um dann Lösungsansätze für die jeweiligen Bereiche zu entwickeln. Daher werden zunächst Ansätze für die Probleme präsentiert, die mit der korrekten Erfassung der Webseiten durch den Spider und den Indexer zusammenhängen.
Der anschließende Abschnitt konzentriert sich auf Lösungen bezüglich der Suchmaschinensoftware, speziell auf die Ranking-Verfahren und das Benutzerinterface. Der
letzte Abschnitt dieses Kapitels beschäftigt sich schließlich noch mit dem Aspekt der
Sicherheit im Zusammenhang mit Suchmaschinen.
4.1 Korrekte Erfassung der Webseiten durch Spider und Indexer
Um eine einwandfreie Erfassung der Webseiten zu gewährleisten, müssen mehrere
Punkte berücksichtigt werden. Für den Spider müssen die Seiten erreichbar sein, und
auch die Verknüpfungen innerhalb der gesamten Website müssen von ihm verfolgbar
sein. Zudem ist es nötig, daß die Inhalte der Webseiten für den Indexer keine Probleme
darstellen. Dazu werden im folgenden für die bereits dargestellten Probleme bezüglich
der HTTP-Header, den beiden HTML-Funktionen Framesets und Image Maps, den dynamischen Konzepten JavaScript und Java-Applets sowie den einzelnen NotesElementen Lösungsvorschläge vorgestellt bzw. entwickelt, und es wird explizit auf ihre
Vor- und Nachteile eingegangen.
Evaluierung von Lösungsansätzen
46
4.1.1 Manipulation der HTTP-Header unter Lotus Domino
Wie in der Problemanalyse (siehe Abschnitt 3.1.1) ausführlich dargestellt wurde, geht
es hierbei um die beiden HTTP-Header Last-Modified und Expires. Um diese beiden Datumswerte fehlerfrei an die Suchmaschine zu übergeben, können zwei grundverschiedene Ansätze zum Einsatz kommen. Entweder benutzt man nur Notes-Elemente,
für die der HTTP-Servertask die richtigen Werte zurückgibt, oder man modifiziert diese
Werte bei jedem Aufruf durch geeignete Domino- und Web-Programmiermittel.
Zur Modifikation der HTTP-Header stehen unter Domino mehrere Mittel zur Verfügung. Der Einsatz eines Servlets stellt die erste der hier betrachteten Möglichkeiten dar.
Mit einem Servlet ist es möglich, den HTTP-Header komplett selber zu schreiben und
somit die richtigen Werte für Last-Modified und Expires an den Spider zu übergeben. Servlets werden in Domino ausschließlich in Java implementiert, der Zugriff auf
die Domino-Elemente geschieht dabei über die Common Object Request Broker Architecture (CORBA) Schnittstelle (vgl. Axt/Hertel/Wagner 1999, S. 327-333). Die Vorgehensweise des Servlets sieht dabei wie folgt aus. Das Servlet liest zunächst von dem
angeforderten Objekt das Last-Modified und das Expires Datum über die
CORBA-Schnittstelle aus. Anschließend muß die Content-Length des Objektes berechnet werden, bevor der HTTP-Header mit Hilfe der Java-Anweisung response.setHeader(“Last-Modified: ...“) geschrieben werden kann. Der Vorteil
dieser Methode liegt in der Performance. Das Servlet wird nur einmal in den Speicher
des Servers geladen und dann bei jedem Aufruf ausgeführt. Zudem ist es möglich, über
spezielle Eigenschaften des Servers das Servlet bereits beim Starten des HTTP-Server
Tasks zu laden (vgl. Lotus Development Corporation 1999), so daß auch beim ersten
Aufruf keine Zeitverzögerung entsteht. Problematisch dagegen ist die Aktivierung des
Servlets. Bei Domino werden Servlets über die URL gestartet, wobei folgende Optionen
zur Verfügung stehen:
-
Servlet URL path: Mit dem Pfad in der URL wird Domino signalisiert, daß es sich
um ein Servlet handelt.
-
Class path: Liste von Pfaden, in der Domino nach Servlets und Klassen sucht.
-
Servlet file extension: Liste von Dateierweiterungen, welche Domino den Aufruf
eines Servlets signalisieren. Dabei wird jeder Dateierweiterung genau ein Servlet
zugewiesen.
Evaluierung von Lösungsansätzen
47
Anstelle des eigentlichen Objektes muß also zunächst das Servlet aufgerufen werden,
wobei die URL des angeforderten Objektes dem Servlet als Parameter übergeben wird.
Hier bieten sich zwei Implementierungsmöglichkeiten. Zum einen kann man das Servlet
standardmäßig bei jeder HTTP-Anforderung starten. Nachteil dieser Methode ist jedoch
eine hohe Serverbelastung. Eine bessere Lösung wäre hier die Benutzung einer speziellen „Suchseite“, die nur für Suchmaschinen erreichbar ist und Links auf alle Webseiten
innerhalb der Website enthält (vgl. Abschnitt 4.1.5). Auf diese Weise erreicht man, daß
das Servlet nur bei Zugriffen von Suchmaschinen aufgerufen wird, nicht aber bei Anfragen von anderen Web-Clients.
Eine weitere Möglichkeit, den HTTP-Header zu modifizieren, bieten Agenten, die über
die Web-Query-Open Eigenschaften von Domino-Masken automatisch ausgeführt werden, wenn ein Dokument über das Web aufgerufen wird, das auf einer derartigen Maske
basiert. Für die Implementation kann der Entwickler hierbei zwischen einem JavaAgenten und einem LotusScript-Agenten wählen. Eine undokumentierte Funktion von
Domino ermöglicht es, über einfache Ausgabeanweisungen den HTTP-Header von
Hand zu schreiben. Die Verwendung von Agenten hat jedoch einen entscheidenden
Nachteil. Da Agenten sehr viel Belastung für den Server bedeuten, gelangt selbst ein
hochperfomanter Server bei vielen gleichzeitig laufenden Agenten schnell an seine
Grenzen. Zwar läßt sich die Belastung analog zu der im Zusammenhang mit Servlets
bereits vorgestellten Suchseite begrenzen, selbst dann kann es aber je nach Konfiguration der Suchmaschine zu „Time-Out“-Fehlermeldungen aufgrund zu langer Antwortzeiten kommen.
Die dritte Alternative ist die Benutzung des HTML Meta-Tag HTTP-EQUIV, mit dem
auch Felder im HTTP-Header modifiziert werden können. Dazu werden die jeweiligen
Werte wie folgt in die HTML-Header-Eigenschaft der entsprechenden Maske eingetragen: <Meta NAME = “HTTP-EQUIV“ CONTENT =“Last-Modified:...“>. Diese
Methode stellt zwar die einfachste Lösungsalternative dar, erreicht aber nicht vollständig die angestrebte Funktionalität. Tests haben ergeben, daß der Server bei Anforderung
des HTTP-Header vom Spider nicht auf den HTML-Inhalt zurückgreift, wodurch die
Modifikation auf dieser Ebene wirkungslos ist. Lediglich wenn die Webseite selber angefordert wird, werden diese Meta-Tags interpretiert. Daher bekommt bei dieser Lösung
der Indexer zwar die richtigen Datumswerte, die ursprüngliche Problematik der erhöhten Netzbelastung bleibt jedoch bestehen.
Evaluierung von Lösungsansätzen
48
Der Vollständigkeit halber sei an dieser Stelle noch ein weiterer Lösungsansatz präsentiert, der darin besteht, mittels Java einen eigenen HTTP-Server unter Domino zu implementieren. Diese Vorgehensweise ist jedoch für NetFicient nicht relevant, da man
hier im Prinzip die Funktionsweise der Domino Web Engine nachprogrammiert und
somit auch auf den Domino-Server ganz verzichten könnte.
Die letzte der hier präsentierten Alternativen verfolgt einen anderen Ansatz als die bisher dargestellten Lösungen. Wurde dort versucht, den HTTP-Header zu modifizieren,
hat dieser Ansatz zum Ziel, daß der Domino-Server von sich aus die richtigen Informationen zurückgibt, indem nur die entsprechenden Design-Elemente benutzt werden. Da
man sich hierbei aber auf Seiten und Masken mit Pass Thru HTML beschränken muß
(vgl. Abschnitt 3.2.2), würde damit die Funktionalität aber stark eingeschränkt werden.
Aufgrund der beschriebenen Probleme kommen die beiden zuletzt dargelegten Lösungsvorschläge nicht in Betracht. Der Einsatz von Servlets bzw. Agenten stellt trotz
der damit verbundenen hohen Systembelastung sicherlich die beste Möglichkeit dar,
wobei die leichtere Umsetzung durch Agenten gegen die geringere Systembelastung der
Servlets abgewogen werden muß. Steht die Performance im Vordergrund, ist die Verwendung des HTML-Tags HTTP-EQUIV die einzige Lösung. Auch wenn dieser Tag
keine Auswirkungen auf den Spider hat, garantiert er doch die spätere korrekte Aufnahme der Werte in den Index der Suchmaschine
4.1.2 Lösungsansätze für nicht unterstützte HTML-Funktionen
In diesem Abschnitt werden Lösungskonzepte für die teilweise nicht unterstützten
HTML-Funktionen Framesets und Image Maps dargestellt bzw. entwickelt. Wie bereits
in Abschnitt 3.1.2 beschrieben, müssen bezüglich Framesets zwei Problematiken berücksichtigt werden. Daher wird hier zunächst auf Lösungen eingegangen, die sich mit
der Unterstützung von Suchmaschinen beschäftigen, die nicht mit Framesets umgehen
können, bevor Lösungen für die dargestellte Bookmark-Problematik untersucht werden.
Suchmaschinen und Browser, die den Frameset-Tag nicht unterstützen, können nicht
auf die Informationen und Links innerhalb der einzelnen Frames zugreifen. Daher wurde mit dem Frameset-Tag auch ein spezieller NoFrame-Tag eingeführt. Mit dessen
Hilfe ist es möglich, auch für nicht framefähige Browser Informationen anzuzeigen.
Diese beschränken sich jedoch meist auf Fehlermeldungen wie „Sie brauchen einen
framefähigen Browser, um diese Seite anzuzeigen.“ Im Kontext von Suchmaschinen
Evaluierung von Lösungsansätzen
49
läßt sich der NoFrame-Bereich nutzen, um die gesamte Website der Suchmaschine zugänglich zu machen. Dazu fügt man einfach einen Link im NoFrame-Bereich ein, der
auf eine spezielle Seite verweist, die Verknüpfungen zu allen Inhalts-Frames enthält
(siehe auch Abschnitt 4.1.5). Das Problem bei dieser Vorgehensweise ist, daß der Navigationskontext nicht mehr vorhanden ist, wenn ein Benutzer über die Suchmaschine
auf die Seiten zugreift. Die gleiche Problematik stellt sich auch bei Suchmaschinen, die
Framesets unterstützen. Diese können, wie in Abschnitt 3.1.2 beschrieben, die einzelnen
Frames durchsuchen, als Ergebnis geben sie aber auch nur eine einzelne aus dem Kontext gerissene Seite zurück. Mit dieser Bookmark-Problematik beschäftigen sich die
folgenden Ausführungen.
Zur Lösung der angesprochenen Problematik sind mehrere Ansätze denkbar. Die einfachste Methode stellt ein zusätzlicher Link auf jeder Seite dar, mit dessen Hilfe der
Benutzer die Navigationsframes manuell wieder hinzuladen kann. Bei NetFicient muß
in diesem Zusammenhang noch die angestrebte Multikontext-Funktionalität berücksichtigt werden. Daher reicht für NetFicient ein Link nicht aus. Vielmehr muß für jeden
Navigationskontext ein eigener Link eingefügt werden, so daß der Benutzer wählen
kann, wo er weiter nach Informationen suchen will.
Ein weiterer Ansatz ist es, die Navigationsframes mit Hilfe von JavaScript automatisch
hinzuzuladen. Da Suchmaschinen JavaScript nicht beherrschen und somit ignorieren,
ergeben sich in diesem Zusammenhang auch keine neuen Probleme. Während dieses
Vorgehen standardmäßig sehr einfach zu implementieren ist, muß man sich für die Umsetzung in NetFicient weiterführende Gedanken machen. Damit eine Suchmaschine
dieselbe Seite in verschiedenen Kontexten mehrfach in ihren Index aufnimmt, muß für
jeden Kontext auch eine andere URL existieren. Dabei unterscheiden Suchmaschinen
nicht nur die eigentliche Webadresse (Host + Pfad + Datei), sondern auch die
übergebenen Argumente. Anhand dieser Argumente kann man das JavaScript dahingehend erweitern, daß abgängig von den übergebenen Argumenten die entsprechenden
Navigationsframes hinzugeladen werden. Auch können auf diese Weise weitere Merkmale wie z. B. kontextabhängige Meta-Informationen hinzugefügt werden (siehe auch
Abschnitt 3.4).
Das neue Notes-Element Rahmengruppe stellt eine weitere Möglichkeit zur Lösung der
beschriebenen Problematik dar. Damit ist es möglich, ein Notes-Element wie z. B. eine
Seite fest mit einer Rahmengruppe zu verknüpfen. Dadurch wird erreicht, daß bei jedem
Evaluierung von Lösungsansätzen
50
Aufruf das Element in der zugeordneten Rahmengruppe angezeigt wird, womit die
Bookmark-Problematik gelöst wäre. Problematisch in diesem Zusammenhang ist jedoch, daß jedes Element nur einer Rahmengruppe fest zugeordnet werden kann und
somit die geforderten Funktionalitäten Multikontext und Multiframe nicht unterstützt
werden können. Ein weiterer Nachteil ist, daß diese Lösung nur mit Suchmaschinen
funktioniert, die Framesets unterstützen, da es nicht möglich ist, den Inhaltsframe alleine anzuzeigen. Setzt man für den Navigationsframe Ansichten oder Gliederungen ein,
die durch HTML an Stelle von Java-Applets dargestellt werden, kann dafür die Entwicklung einer eigenen Suchseite entfallen, da die gesamte Homepage von Suchmaschinen mit den oben genannten Einschränkungen durchsuchbar ist.
Fast die Hälfte der wichtigen Suchmaschinen unterstützen keine Image Maps (siehe
Abschnitt 3.1.2). Eine einfache Lösung dieses Problems wäre es, neben oder unter der
Image Map mit einem Link auf eine andere Seite zu verweisen, die alternativ die Links
aus der Image Map in normaler Form enthält. Dies würde auch die Webbenutzer unterstützen, die Browser älterer Generationen verwenden oder aufgrund der Übertragungsrate das Anzeigen von Grafiken und somit auch Image Maps ausgeschaltet haben.
Eine weitere Möglichkeit wären „versteckte“ Links (engl. hidden links), d. h. die Links
für die Suchmaschine sind für „normale“ Benutzer nicht zu sehen. Dies wäre z. B. durch
einen „leeren“ Link in der Form <A HREF=“URL“></A> zu realisieren oder indem man
die Schriftfarbe der Hintergrundfarbe anpaßt. Einige Suchmaschinen deuten diese Vorgehensweisen jedoch als Spamming und ignorieren derartige Links (vgl. Tabelle 5 auf
Seite 55).
4.1.3 Unterstützung von JavaScript und Java-Applets
Zur Generierung von Webseiten können seit der Release 5 von Lotus Domino spezielle
Domino-Applets und JavaScript eingesetzt werden (vor allem für interaktive Elemente
wie Ansichten, Aktionsleisten etc.). Dies beinhaltet auf der einen Seite gegenüber der
Vorgängerversion einen Gewinn an Performance, auf der anderen Seite können Suchmaschinen, wie in Abschnitt 3.1.3 geschildert, solche dynamisch generierten Seiten
nicht verarbeiten.
Ein weit verbreiteter Ansatz ist es, für Suchmaschinen und nicht javafähige Browser
spezielle Seiten anzubieten. Bei JavaScript kann man dies über den HTML-Tag
NoScript realisieren (vgl. Münz/Nefzger 1998), indem man in diesem Bereich eine
Evaluierung von Lösungsansätzen
51
Verknüpfung auf die spezielle Suchmaschinenseite einfügt. Da für Java-Applets keine
derartige Methode existiert, müssen andere Verfahren entwickelt werden, um den Spider auf die Suchmaschinenseite umzulenken. Ein Ansatz, der diese Vorgehensweise
verfolgt, nutzt die Möglichkeit, einen Spider beim Zugriff auf eine Seite zu identifizieren (Spider Spotting). Anhand eines speziellen HTTP-Headers läßt sich der Name des
anfragenden Clients ermitteln (z. B. Mozilla für Netscape). Auch die großen Suchmaschinen lassen sich auf diesem Weg identifizieren, um somit automatisch eine speziell
für Suchmaschinen erstellte Seite zurückgeben zu können. Da die Suchmaschinen allerdings aus Kontrollgründen manchmal auch unter Browsernamen auftreten, reicht diese
Abfrage allein nicht aus. Die IP-Adresse des anfragenden Clients ist ein weiterer Hinweis auf eine Suchmaschine, da deren IP-Adressen bzw. Hostnamen bekannt sind.18
Auch die im vorigen Abschnitt eingeführten versteckten Links können dazu eingesetzt
werden, um Suchmaschinen auf eine spezielle Seite zu verweisen. Neben der dort beschriebenen Umsetzung eines versteckten Links sei hier noch eine weitere Methode
genannt. Diese besteht in einer „Hidden Image Map“, d. h. eine Image Map mit einer
Breite und Länge von Null, die auf die alternative Seite verweist. Diese Methode hat
den Vorteil, daß nur Suchmaschinen diese Seite auch finden können. Leider unterstützen, wie bereits oben erwähnt, nicht alle Suchmaschinen Image Maps, so daß dies keine
alleinige Lösung ist, sondern vielmehr eine mögliche Ergänzung für die weiter oben
beschriebenen Lösungsansätze darstellt.
4.1.4 Suchmaschinengerechte Webdarstellung der Notes-Elemente
Die meisten Probleme ergeben sich für Suchmaschinen, wenn die Notes-Elemente explizit als Java-Applet oder mittels JavaScript für den Webzugriff dargestellt werden
(vgl. die Abschnitte 3.1.3 und 3.2.2). Die einfachste Lösung wäre daher, diese Funktionen komplett zu deaktivieren und nur mit der HTML-Generierung der Domino Web
Engine zu arbeiten. Will man nicht auf die Vorteile wie Performancesteigerung und
bessere Bedienbarkeit, die der Einsatz von Java-Applets mit sich bringt, verzichten,
muß der Zugriff für die Suchmaschine, wie im vorangegangenen Abschnitt erläutert,
über eine spezielle Suchseite erfolgen. Lediglich für die Darstellung von RichTextFeldern als Java-Applet kann auf diese Vorgehensweise verzichtet werden, da dieses
18
Siehe Anhang 9.1.2
Evaluierung von Lösungsansätzen
52
nur zum Editieren eines solchen Feldes zum Einsatz kommt und somit für Suchmaschinen keine Rolle spielt. Aber auch bei der HTML-Umsetzung der Notes-Elemente
kommt es, wie in Abschnitt 3.2.2 beschrieben, zu Problemen, für die im folgenden Lösungsansätze präsentiert werden. Vor allem die Ansichten von Notes stellen mit ihren
Kategorien und Navigationslinks Probleme für Suchmaschinen dar.
Das spezifische URL-Kommando ExpandView von Domino bewirkt, daß alle Kategorien der Ansicht expandiert dargestellt werden, so daß sämtliche Links für den Spider
zugänglich sind. Damit wird jedoch nicht verhindert, daß der Spider auch die Links zum
Zuklappen der Kategorien erfaßt und verfolgt und somit die ursprüngliche Problematik
nicht behoben wird. Zudem wirkt es sich nachteilig auf die Benutzbarkeit aus, wenn der
Benutzer stets mit expandierten Ansichten arbeiten muß. Aufgrund dieser Nachteile ist
von dem Einsatz kategorisierter Ansichten im Zusammenhang mit Suchmaschinen abzuraten. Auch werden aufgrund der beschriebenen Problematik URLs, die den Ausdruck Expand enthalten, von einigen Suchmaschinen ignoriert19. Wie in Abschnitt 3.2.2
erläutert, tritt ein ähnliches Problem in Verbindung mit Sektionen auf. Auch hier gibt es
ein spezielles URL-Kommando ExpandSection, bei dem allerdings jede zu expandierende Sektion explizit angegeben werden muß. So öffnet z. B. das Kommando ExpandSection=1,2,3,2.1 die ersten drei Sektionen der ersten Ebene sowie die erste
Untersektion der zweiten Sektion. Daher ist es auf diese Weise nicht möglich, per URLKommando sämtliche Sektionen automatisch zu expandieren. Zwar existieren
@Command-Funktionen und LotusScript-Befehle, mit denen alle Sektionen expandiert
werden können, aber leider stehen diese nur beim Zugriff über einen Notes-Client zur
Verfügung, so daß sich für Sektionen keine geeignete Lösung finden läßt. Dies spielt für
NetFicient jedoch nur eine untergeordnete Rolle. Da auf Clientseite in der neuen Release auch für Autoren hauptsächlich Webbrowser zum Einsatz kommen sollen (vgl. Deutsche Bank AG 1999b, S. 24), stehen Sektionen als Designelement für Webautoren nicht
zur Verfügung.
Für die beschriebenen Störungen, die durch die automatisch erzeugten Navigationslinks
einer Ansicht verursacht werden, bietet sich folgender Lösungsansatz an. Durch den
Einsatz einer Ansichtsschablone kann die automatische Erzeugung der Links unter-
19
Die interne Suchmaschine dbsearch der Deutschen Bank ignoriert neben „Expand“ auch noch den Aus-
druck „OpenView“.
Evaluierung von Lösungsansätzen
53
drückt werden. Bei jedem Aufruf einer Ansicht kontrolliert Domino, ob für diese Ansicht eine spezielle oder Standardschablone existiert, die für die Anzeige benutzt werden
soll. Eine derartige Schablone wird durch eine Maske mit dem vordefinierten Namen
„$$ViewTemplate for Ansichtsname“ generiert. Zur Anzeige der Ansicht muß diese
Maske ein Feld namens $$ViewBody enthalten. Zusätzlich können dieser Schablone
weitere Elemente hinzugefügt werden, um z. B. selbst Navigationsfunktionalitäten zu
implementieren, die nicht die angesprochenen Probleme aufweisen (vgl. Abschnitt
4.1.5). Allerdings lassen sich auch mit dieser Vorgehensweise nicht die durch Kategorien verursachten Schwierigkeiten beheben.
Mit dem in Release 5 von Notes/Domino neu hinzugekommenen Designelement Gliederung läßt sich ein weiterer Lösungsansatz der Ansichtsproblematik verwirklichen. Die
Ansicht, mit der in NetFicient die Navigationsleiste erzeugt wird, ist die einzige Ansicht, mit der die Benutzer und somit auch die Suchmaschinen direkten Kontakt haben.
Wie der Name schon sagt, eignen sich Gliederungen vorzüglich, um Seitenübersichten
oder Navigationsleisten zu realisieren. Wird zur Darstellung der Outlines für den Webzugriff HTML anstelle des dazu vorgesehenen Java-Applets verwendet, können die
Suchmaschinen über die so generierte Navigationsleiste die Website durchsuchen, vorausgesetzt sie können Framesets verarbeiten.
Die Verwendung einer speziellen Seite für Suchmaschinen stellt von den hier vorgestellten Ansätzen die flexibelste Lösung dar, da mit ihrer Hilfe die meisten angesprochenen Probleme umgangen werden können. Da dieser Lösungsansatz auch in den vorigen Abschnittem schon aufgegriffen wurde, konzentriert sich der nächste Abschnitt auf
die Realisierung einer derartigen Suchseite.
4.1.5 Implementation einer speziellen Suchseite
In den vorangegangenen Abschnitten wurde mehrfach eine spezielle Suchseite erwähnt.
Dabei ging es vor allem darum, wann eine derartige Seite sinnvoll ist und wie man den
Spider der Suchmaschine auf diese Seite lenkt. In diesem Abschnitt geht es nun um die
Umsetzung einer speziellen Suchseite in Domino, wobei mehrere Methoden denkbar
sind. Zum einen kann man über das spezifische Domino-URL-Kommando Openview&Start=1&Count=999999&ExpandView alle Dokumente in einer bereits ex-
Evaluierung von Lösungsansätzen
54
pandierten Liste anzeigen.20 Probleme kann es bei dieser Methode jedoch mit größeren
Datenbanken geben, da hier sehr große HTML-Dateien übertragen werden müssen.
Auch zu beachten sind in diesem Zusammenhang die in Abschnitt 3.2.3 erwähnten Einstellungen in der Serverkonfiguration. Wird hier ein relativ niedriger Wert für die maximale Anzahl anzuzeigender Zeilen einer Ansicht eingetragen, kommt es zu den bereits
beschriebenen Problemen mit den speziellen Ansichtslinks „Next“ und „Previous“, die
automatisch angezeigt werden, wenn die Ansicht mehr Einträge aufweist, als Zeilen
angezeigt werden dürfen.
Eine Lösung für das gerade beschriebene Problem bietet folgender Ansatz. Als Suchseite wird eine spezielle Ansicht (Searchview) generiert, die nur eine einzelne Spalte
ohne Kategorien enthält. Als Wert für diese Spalte „berechnet“ man jeweils eine URL
für alle Seiten der Homepage. Zudem wird die Eigenschaft der Ansicht auf Pass Thru
HTML gesetzt und die Ansicht in eine Schablone eingebettet. Auf diese Weise wird
gewährleistet, daß Domino nicht automatisch die bereits erwähnten Ansichtslinks generiert. Ist die Anzahl der Zeilen aber größer als die maximal in der Serverkonfiguration
eingestellte, werden dadurch nicht alle Links in der Ansicht angezeigt. Dazu muß man
die beiden Links „Next“ und „Previous“ von Hand programmieren21 und diese in die
Ansichtsschablone für die Suchansicht (siehe Abschnitt 4.1.4) einfügen.
Nachteil der beiden vorgestellten Methoden ist jedoch, daß die Suchmaschinen innerhalb der Dokumente wieder auf Links stoßen und diese weiterverfolgen, womit sie wieder auf „normale“ Ansichten treffen können, die wieder die beschriebenen Probleme
aufweisen.
4.2 Unterstützung der Suchmaschinensoftware
Die unüberschaubare Größe der als Suchergebnis zurückgelieferten Trefferlisten beinhaltet, wie in Abschnitt 3.3 beschrieben, zwei unterschiedliche Probleme. Aus der Sicht
des Informationsanbieters liegt das Ziel darin, möglichst weit oben in den relevanten
Trefferlisten plaziert zu werden. Um dies zu erreichen, muß zum einen die korrekte
Einordnung der Webseiten gewährleistet werden, zum anderen müssen auch die Ran-
20
Auch wenn die reale Zahl der Dokumente von der Count-Anzahl abweicht.
21
Die Implementation dieser Links wird in Abschnitt 5.3 beschrieben.
Evaluierung von Lösungsansätzen
55
kingverfahren der Suchmaschinen berücksichtigt werden. Diese beiden Aspekte werden
im folgenden Abschnitt detailliert dargestellt. Der daran anschließende Abschnitt befaßt
sich dann mit der zweiten Problematik, die aus der Sicht des Informationssuchenden
darin besteht, schnell Informationen zu finden und diese auch qualitativ bewerten zu
können. Dazu werden Anforderungen an ein leistungsfähiges und benutzerfreundliches
Suchinterface konzipiert und ihre Relevanz in der Praxis verdeutlicht.
4.2.1 Korrekte Einordnung der Seiten in den Trefferlisten
Je weiter oben eine Seite in der Trefferliste einer Suchmaschine angezeigt wird, um so
mehr Benutzer werden die Seite auch besuchen. Zudem ist es wichtig, daß die eigene
Seite nur im richtigen Kontext ausgesucht wird. Daher wird im folgenden zunächst auf
die Rankingverfahren der Suchmaschinen eingegangen, um anschließend, darauf aufbauend, Lösungsansätze zu entwickeln, mit denen ein gutes Ranking und die korrekte
Themenzuordnung der eigenen Seiten erreicht werden soll. Bezüglich der Rankingverfahren können an dieser Stelle jedoch nur einige allgemeine Vorgehensweisen aufgezeigt werden, von denen die einzelnen Suchmaschinen jedoch mehr oder weniger stark
abweichen (siehe Tabelle 5). Die genauen Methoden und Algorithmen der einzelnen
Suchmaschinen stellen ein gut gehütetes Geheimnis der Betreiber dar.
Alta
Vista
Excite
Northern
Light
Web
Crawler
Verity
-
Ja
-
Ja
Nein
-
Ja
Nein
Link Popularity
Nein
Ja
Ja
Nein
Ja
Nein
Ja
Nein
Meta Tags
Nein
Nein
Ja
Ja
Nein
Nein
Nein
Ja
Meta Refresh
Spam
OK
OK
Spam
OK
OK
OK
OK
Unsichtbarer
Text
Spam
OK
Spam
Spam
Spam
Spam
OK
OK
Kommentare
Nein
Nein
Ja
Nein
Nein
Nein
Nein
Nein
Stop-Wörter
Ja
Ja
Ja
Nein
Ja
Nein
Nein
Ja
Groß-/Kleinschreibung
Ja
Nein
Gemischt
Ja
Nein
Gemischt
Nein
Ja
Review
HotBot/ Infoseek Lycos
Inktomi
Tabelle 5: Faktoren, die das Ranking der Suchmaschinen beeinflussen
Evaluierung von Lösungsansätzen
56
Die Plazierung und Häufigkeit der Schlagwörter ist ein wichtiges Indiz für das spätere
Ranking. Schlagwörter, die im Seitentitel und Head-Abschnitt stehen, werden von
Suchmaschinen stärker gewichtet als Schlagwörter im Body-Abschnitt. Auch dort wird
Schlagwörtern im oberen Bereich größere Bedeutung zugemessen als weiter unten gelegenen. Auch die Anzahl der Vorkommen eines Schlagwortes beeinflußt das Ranking
positiv. Dabei ist jedoch zu bedenken, daß die meisten Suchmaschinen zu häufige Wiederholungen als Täuschungsversuch (Search Engine Spamming) bewerten und die Seite
dann ignoriert wird.
Auch die Popularität einer Seite (engl. Link popularity) spielt bei den meisten Suchmaschinen eine Rolle (vgl. Tabelle 5). Berechnet wird die Popularität einer Seite anhand
der Anzahl von anderen Webseiten innerhalb des Indexes, die mit einen Link auf die
entsprechende Seite verweisen. Je „populärer“ eine Seite ist, desto besser schneidet sie
beim Ranking ab.
Meta-Tags sind spezielle Tags innerhalb des HEAD-Abschnitts (vgl. Abschnitt 2.1) und
gelten allgemein als die beste Einflußmöglichkeit auf das Ranking. Da aber jeder versucht, seine Seite so gut wie möglich zu verkaufen, kommt es oft vor, daß Schlagwörter
und Beschreibungen benutzt werden, die mit der eigentlichen Seite gar nichts zu tun
haben. Aus diesem Grund ignorieren mittlerweile einige Suchmaschinen diese MetaTags bzw. messen ihnen nicht mehr eine so große Bedeutung zu. Ein weiteres Problem
ist, daß bezüglich der Meta-Tags kein einheitlicher Standard besteht22. So benutzen einige Suchmaschinen spezielle Meta-Tags, die nur von ihnen selbst benutzt und verstanden werden. Hinzu kommt, daß diese oft von den Administratoren der Suchmaschinen
modifiziert werden. Ein Beispiel hierfür ist der im Intranet der Deutschen Bank benutzte
Tag „relevance“, welcher explizit von der internen Suchmaschine dbsearch unterstützt
wird (vgl. Deutsche Bank AG 1999, S. 8). Als Standard haben sich jedoch die MetaTags Description, Summary und Keywords etabliert (vgl. Tabelle 6 auf Seite 57).
Description und Summary werden dazu genutzt, eine kurze Zusammenfassung oder
Beschreibung des Seiteninhalts anzugeben. Die meisten Suchmaschinen geben diesen
Eintrag auch als Information in der Trefferliste mit an, wobei jedoch nur die ersten 255
Zeichen berücksichtigt werden. Mit dem Meta-Tag Keywords können mehrere
22
Eine Übersicht der üblichen Meta-Tags liefert Sullivan (1998b).
Evaluierung von Lösungsansätzen
57
Schlagwörter angegeben werden, die von den Suchmaschinen stärker berücksichtigt
werden als durch Volltextindizierung generierte Schlagwörter.
Einige Suchmaschinen führen auch eine Statistik über die vom Benutzer ausgewählten
Seiten (Review). Je häufiger dabei eine Seite angeklickt wird, um so besser schneidet sie
beim nächsten Ranking ab.
Standardmäßig geben die hier untersuchten Suchmaschinen als Suchergebnis die ersten
10, maximal 20 gefundenen Seiten zurück. Aufgrund der bereits beschriebenen Problematik kann je nach Thematik ein Ranking unter den ersten 20 Treffern nicht garantiert
werden. Indem man aber Spamming vermeidet und die Benutzer in NetFicient bei den
für Suchmaschinen relevanten Einträgen unterstützt, kann man erreichen, daß die Seiten
von den Suchmaschinen zu den richtigen Themenbereichen eingeordnet und adäquate
Informationen in der Trefferliste angezeigt werden und außerdem eine möglichst hohe
Wahrscheinlichkeit für ein gutes Ranking erzielt wird.
Alta
Vista
Excite
HotBot/
Inktomi
Infoseek
78
70
115
70
60
„No title“
„Untitled“
URL
Erste Zeile
Description/
keywords
Beide
Description
Beide
Länge der
Beschreibung
150
395
249
Titellänge
Kein Titel
Lycos Northern
Light
Web
Crawler
Verity
80
60
Variabel
Erste
Zeile
-
URL
Variabel
Beide
Keine
Keine
170-240
135200
150-200
Description Variabel
395
Variabel
Tabelle 6: Faktoren zur Beeinflussung der Trefferliste
Die richtige Einordnung der eigenen Webseiten seitens der Suchmaschinen wird durch
passende Einträge im HTML-Header bewerkstelligt. Vor allem die bereits angesprochenen Meta-Tags Description, Summary und Keywords spielen dabei eine gewichtige
Rolle, aber auch der Titel der Seite sollte geeignet gewählt werden. Daher gilt es, die
Benutzer von NetFicient bei der Eingabe dieser Einträge zu unterstützen. Ein Ansatz
wäre es, die entsprechenden Felder automatisch berechnen zu lassen. So ist es sicher
kein großer Programmieraufwand, die ersten Zeilen aus dem Inhalt der Seite in das Description-Feld zu schreiben oder nach bestimmten Schlagwörtern zu suchen und diese
dann in das Keywords-Feld einzutragen. Mit dieser Vorgehensweise würde der Benutzer zwar am stärksten entlastet, sie beinhaltet aber einen entscheidenden Nachteil. Der-
Evaluierung von Lösungsansätzen
58
artig berechnete Einträge können zum einen nie so gut werden wie manuell erstellte,
zum anderen nimmt man auf diese Weise der Suchmaschine nur die Arbeit ab, da die
Suchmaschinen, wie in Tabelle 5 und Tabelle 6 zu sehen, ähnlich vorgehen, wenn diese
Informationen nicht angegeben werden. Wichtiger ist es daher, die Benutzer durch geeignete Hilfetexte und Schulungen auf die Problematik hinzuweisen und somit zu motivieren, geeignete Einträge vorzunehmen. Auch sollte ein zusätzlicher Arbeitsschritt im
Redaktions-Workflow hinzugefügt werden, in dem die entsprechenden Einträge noch
mal zu überprüfen und gegebenenfalls zu korrigieren sind. Einige Modifikationen können dabei auch automatisiert werden. Vor allem sollten automatisch verschiedene
Schreibweisen der eingegebenen Schlagwörter generiert werden, wie z. B. Umlaute zu
ersetzen und Groß- und Kleinschreibung hinzuzufügen, da die meisten Suchmaschinen
diese unterscheiden, wie auch das Beispiel in Abschnitt 3.3 zeigt. Auch sogenannte
Stopwörter (siehe Tabelle 5) sollten vermieden werden. Unter Stopwörtern versteht man
im Zusammenhang mit Suchmaschinen Begriffe, die aufgrund ihrer Häufigkeit von den
Suchmaschinen ignoriert werden (vgl. Sullivan 1999). So wird beispielsweise das Wort
„Web“ im Begriff „Web Developer“ ignoriert. Unterstützen kann man die Benutzer in
dieser Hinsicht, indem man sie bei der Eingabe auf Stopwörter aufmerksam macht.
Auch können automatisch die Begriffe in Anführungszeichen eingeschlossen oder durch
Synonyme ersetzt werden.
4.2.2 Konzeption eines leistungsfähigen Suchinterfaces
Bei der Entwicklung eines leistungsfähigen Suchinterfaces müssen zwei Ziele im Vordergrund stehen. Zum einen muß den Benutzern eine Vielzahl von Funktionalitäten zur
Verfügung gestellt werden, mit denen exaktere Suchanfragen formuliert werden können, um so die Anzahl der Suchergebnisse einzuschränken und die Qualität der gefundenen Informationen abschätzbar zu machen. Zum anderen darf die Benutzerfreundlichkeit nicht außer acht gelassen werden, um unerfahrenen Benutzern die Suche zu
erleichtern und geübte Anwender bei leistungsfähigen Suchanfragen zu unterstützen.
Daher werden in diesem Abschnitt zwei Aspekte diskutiert. Zunächst wird eine Liste
von benötigten Funktionen erstellt, darauf aufbauend werden Mittel zu einer benutzerfreundlichen Implementation dieser Funktionen dargestellt. Dabei lassen sich die hier
betrachteten Methoden in zwei grundlegende Bereiche differenzieren: Funktionen, mit
denen die Suche präzisiert werden kann, und Funktionen zur Beeinflussung der verwendeten Rankingverfahren bzw. Darstellung der Trefferliste.
Evaluierung von Lösungsansätzen
59
4.2.2.1 Obligatorisch zu unterstützende Funktionalitäten
Um die in Abschnitt 3.3 beschriebene große Anzahl an Suchergebnissen auf einen überschaubaren Anteil relevanter Treffer einzugrenzen, müssen dem Benutzer Funktionen
zur Verfügung gestellt werden, mit denen es möglich ist, den Suchbegriff zu präzisieren
bzw. den Suchraum einzugrenzen. Eine einfache Form zur Präzisierung des Suchbegriffes stellt die Verknüpfung mehrerer Begriffe durch logische Operatoren dar (vgl.
Tabelle 7). Eine weitere Methode, um die Suchergebnisse einzuschränken, ist die Verwendung von Phrasen, d. h. durch das Umschließen von Wörten mit Anführungszeichen (z. B. „Web Developer“), wird die Suchmaschine veranlaßt, nach genau diesem
Ausdruck zu suchen. Auch mit Hilfe von Groß- und Kleinschreibung läßt sich der
Suchbegriff genauer bestimmen. So suchen die meisten Suchmaschinen bei kleingeschriebenen Suchbegriffen nach allen Schreibweisen, während bei der Verwendung von
Großbuchstaben nach der genauen Schreibweise gesucht wird.
Ausdruck
Symbol
Beschreibung
AND
&
Findet nur Webseiten, die alle angegebenen Begriffe enthalten.
OR
|
Findet alle Webseiten, die mindestens einen der angegebenen Begriffe
enthalten.
AND NOT
!
Filtert Webseiten aus, die den angegebenen Begriff enthalten.
„Gruppierung“
()
Mit Klammerung können komplexe Ausdrücke gruppiert werden.
NEAR
~
Findet Webseiten, in denen die beiden angegebenen Begriffe nah aneinander stehen.23
Tabelle 7: Logische Operatoren für Suchanfragen (vgl. Altavista 1999)
Die 2. Möglichkeit, die Anzahl der Suchergebnisse zu reduzieren, stellt die Eingrenzung
des Suchraums dar. Eine gängige Variante ist dabei der Einsatz von diversen Filtern,
wie z. B. Sprach- oder Datumsfilter. Des weiteren bieten die meisten Suchmaschinen
eine Abgrenzung des Suchfokus an, d. h. die Suchmaschine kann angewiesen werden,
nur bestimmte Bereiche zu durchsuchen. Auf der obersten Ebene werden dabei Web
und Intranet unterschieden, die zusammen den gesamten Suchraum darstellen. Diese
beiden Bereiche lassen sich wiederum durch ihre eigene Struktur unterteilen, beim Web
in Domänen (z. B. .de) und Subdomänen (z. B. uni-paderborn.de), im Intranet dement-
23
Z. B. beträgt der Abstand bei Altavista maximal 10 Wörter (vgl. Altavista 1999).
Evaluierung von Lösungsansätzen
60
sprechend Unternehmenstöchter, Standorte und die Homepages der Abteilungen. Auf
der untersten Ebene steht dann schließlich die aktuelle Web- bzw. Intranetseite (vgl.
Abb. 17.) Zusätzlich macht es Sinn, die Suche auch auf einzelne HTML-Abschnitte der
Webeiten zu beschränken. Tabelle 8 zeigt beispielhaft die Möglichkeiten von Altavista
(vgl. Sonnenreich/Macinta 1998, S. 33).
Gesamter
Suchraum
World Wide Web
Intranet
Domaine
Töchter
Subdomaine
Standorte
Host
Abteilung
Aktuelle
Webseite
Abb. 17: Räumliche Abgrenzung des Suchfokus
Ausdruck
Beschreibung
Anchor:text
Findet Webseiten, die den angegebenen Text innerhalb eines Hyperlink-Tags
enthalten.
Applet:class
Findet Webseiten, die das angegebene Java-Applet enthalten.
Domain:domainname Beschränkt die Suche auf die angegebene Domain.
Host:name
Beschränkt die Suche auf den angegebenen Server.
Image:filename
Findet Webseiten, die Bilder mit dem angegebenen Dateinamen enthalten.
Link:URLtext
Findet Webseiten, die einen Link auf die angegebene URL enthalten.
Text:text
Ignoriert bei der Suche URLs und HTML-Tags.
Title:text
Beschränkt die Suche auf Webseiten mit dem angegebenen Begriff im Titelabschnitt des HTML-Codes.
URL:text
Findet Webseiten, die den angegebenen Begriff in ihrer URL enthalten.
Tabelle 8: Ausdrücke zur Abgrenzung des Suchfokus (vgl. Altavista 1999)
Evaluierung von Lösungsansätzen
61
Neben dieser „räumlichen“ Einschränkung kann auch eine themenspezifische Abgrenzung vorgenommen werden, z. B. in Themengebiete wie Wirtschaft, Technologie,
Sport, Politik etc. Die Schwerpunkte können dabei je nach Zielsetzung unterschiedlich
sein. So ist es für das hier untersuchte Unternehmen sicherlich sinnvoll, den Themenkomplex Wirtschaft weiter aufzugliedern (z. B. Märkte, Börse usw.), und dafür auf weniger relevante Bereiche zu verzichten.
Da die Trefferliste auch bei hinreichender Präzisierung des Suchbegriffes noch sehr
groß werden kann, ist es notwendig, das Vorgehen beim Ranking manipulieren zu können. So stellt z. B. Lycos dem Benutzer die Möglichkeit zur Verfügung, die Priorität
von gewissen Kriterien beim Ranking zu beeinflussen. Dabei können die Werte low,
default und high für die folgenden Merkmale vergeben werden:
-
Alle gesuchten Begriffe enthalten
-
Häufigkeit der gesuchten Begriffe
-
Stärkere Gewichtung des Textanfangs
-
Nähe der gesuchten Begriffe
-
Stärkere Gewichtung des Seitentitels
-
Exakte Reihenfolge der gesuchten Begriffe.
Zudem sollte es dem Benutzer ermöglicht werden, Einfluß auf die Darstellung der Trefferliste zu nehmen, indem er z. B. bestimmen kann, wie viele Treffer angezeigt werden
sollen, ob nur der Titel oder auch eine kurze Beschreibung geliefert werden soll und
ähnliches.
4.2.2.2 Benutzerfreundliche Umsetzung der benötigten Funktionen
Wurden im letzten Abschnitt die benötigten Funktionen eines leistungsfähigen Suchinterfaces vorgestellt, wird nun darauf eingegangen, wie diese dem Anwender in einer
benutzerfreundlichen Weise präsentiert werden können. Dabei werden jedoch lediglich
einige wichtige Aspekte anhand von praktischen Beispielen erläutert. Ein ausführlicheres Eingehen auf Themengebiete wie Software-Ergonomie, Benutzerschnittstellen oder
Systemgestaltung würde an der Zielsetzung dieser Arbeit vorbeigehen. Der interessierte
Leser wird diesbezüglich auf Keil-Slawik (1997) und Deutsches Institut für Normung
(1996) verwiesen.
Evaluierung von Lösungsansätzen
62
Wichtig bei der Realisierung eines leistungsfähigen und benutzerfreundlichen Suchinterfaces ist es, daß sowohl erfahrene Benutzer als auch Laien damit umgehen können.
Daher ist es notwendig, zwei verschiedene Suchmodi anzubieten: einen „normalen“
Suchmodus für Gelegenheitsnutzer sowie einen Expertenmodus, der komplexe Suchanfragen für erfahrene Benutzer zur Verfügung stellt. So reicht im normalen Modus die
Möglichkeit zur Eingabe von Suchbegriffen meist vollkommen aus. Idealerweise sollte
dabei auch die Eingabe von Fragen oder Sätzen aus dem normalen Sprachgebrauch unterstützt werden. Aber auch im Expertenmodus darf die Suchanfrage nicht nur über
komplizierte Ausdrücke möglich sein, sondern auch über ein intuitiv zu bedienendes
Interface, d. h. die wichtigsten Funktionen müssen durch grafische Schnittstellen auswählbar sein, ohne den Benutzer dabei durch eine zu große Funktionsvielfalt zu verwirren. Als Beispiel für eine gelungene Umsetzung sei hier das Interface von Infoseek in
Abb. 18 angegeben.
Abb. 18: Andvanced Search von Infoseek
Neben dem reinen Interface können auch zusätzliche Funktionen die Suche vereinfachen. Gerade bei der Suche im WWW, aber auch im globalen Intranet, ist eine Funktion
zur Übersetzung der wichtigsten Sprachen in die jeweilige Muttersprache (z. B. der Babelfish von Altavista) von großer Wichtigkeit, um alle gefundenen Informationen nutzen zu können. Auch eine Suche nach ähnlichen Begriffen oder Synonymen kann unerfahrenen Benutzern helfen, den geeigneten Suchbegriff zu finden. Für die häufige Nutzung ist das Anlegen von Profildokumenten sinnvoll, mit denen jeder Benutzer grundle-
Evaluierung von Lösungsansätzen
63
gende Einstellungen zur schnellen Wiederverwendung abspeichern kann. (z. B. der Custom search folder von Northern Light).
4.3 Sicherheitsaspekte
Innerhalb einer Website kann es Bereiche geben, die nicht für den Zugriff von Externen
bestimmt sind, bzw. auf die Spider von Suchmaschinen nicht zugreifen sollen. Auch
kann es in manchen Fällen sinnvoll sein, nur bestimmte Suchmaschinen auszugrenzen
(z. B. nur die interne Suchmaschine zuzulassen, während externe ausgeschlossen werden). Für dieses Problem haben sich im WWW zwei vom Ansatz her unterschiedliche
Standardverfahren durchgesetzt, die auch von allen externen Suchmaschinen unterstützt
werden (siehe Tabelle 9). Lediglich Verity versteht den Meta-Tag Robots nicht vollständig24. Am weitesten verbreitet ist das Erstellen einer ASCII-Datei im HomeVerzeichnis des Webservers mit Namen robots.txt. Mit Hilfe dieser Datei können Spider daran gehindert werden, ganze Sites, ein bestimmtes Verzeichnis und dessen Unterverzeichnisse und sogar eine einzelne Datei zu indizieren. Dabei können:
-
alle Spider,
-
alle Spider außer den in der Datei aufgeführten Spidern oder
-
nur die aufgeführten Spider
ausgeschlossen werden. Diese Methode wird von fast allen gängigen Suchmaschinen
akzeptiert. Problematisch ist bei dieser Vorgehensweise jedoch, diese Datei aktuell zu
halten, da Webautoren normalerweise keinen Zugriff auf diese Datei haben sollten.
Passwort geschützte Seiten
Robots.txt
Meta Ro-
bots
Alta
Vista
Excite
HotBot/
Inktomi
Infoseek
Lycos Northern
Light
Web
Crawler
Verity
Nein
Ja
Nein
Ja
Ja
Ja
Nein
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Noindex
Tabelle 9: Unterstützte Sicherheitsstandards
24
In der nächsten Version soll auch Verity diese Funktion voll unterstützen.
Evaluierung von Lösungsansätzen
64
Aufgrund dieser Problematik wurde eine weitere Methode mit Hilfe des Meta-Tags Robots eingeführt. Der Robots-Meta-Tag kann mit folgenden Parametern aufgerufen
werden: All, None, Index, NoIndex, Follow, NoFollow, wobei All als DefaultWert gesetzt wird. Während None den kompletten Zugriff auf die Seite verhindert, wird
mit NoIndex zwar die Indizierung der Seite verboten, die Links in der Seite werden
aber weiter verfolgt. Analog ermöglicht NoFollow das Indizieren der Seite, verhindert
aber, daß die Links weiterverfolgt werden. Auf diese Weise kann jeder Benutzer die
Rechte selber setzen (in Absprache mit dem zuständigen Webredakteur). Zudem können
diese Werte innerhalb der Dokumente ohne Probleme repliziert werden. Der entscheidende Nachteil dieser Methode ist jedoch, daß man keine differenzierte Ausgrenzung
von Suchmaschinen vornehmen kann. Entweder sind alle Suchmaschinen betroffen oder
keine.
Eine weitere Option wäre es, die Sicherheitstechnologien von Domino zu nutzen.
Grenzt man den Zugriff auf sensitive Bereiche mit Hilfe der Access Control List (ACL)
für autorisierte Benutzer ab, können Suchmaschinen nicht darauf zugreifen. Es ist allerdings bei Websites nicht möglich, nur Suchmaschinen auszuschließen, da damit automatisch alle anonymen Benutzer auch keinen Zugriff mehr haben, was sicher nicht im
Sinne einer Webpräsenz ist. Andererseits können die meisten Suchmaschinen (siehe
Tabelle 9 auf Seite 63) auch durch Passwort geschützte Seiten durchsuchen, vorausgesetzt, es wird ihnen ein entsprechender Benutzername mit Passwort zugeteilt. Sinn kann
diese Vorgehensweise bei kostenpflichtigen Seiten machen, indem die „Kunden“ über
die Suchmaschinen auf das Angebot aufmerksam gemacht werden und sich bei Interesse dann registrieren lassen können.
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
65
5 Lösungskonzept zur Integration von Suchmaschinen in
NetFicient
Im letzten Kapitel wurden verschiedene Lösungsansätze präsentiert und ihre jeweiligen
Vor- und Nachteile diskutiert. Ziel dieses Kapitels ist es nun, die einzelnen Ansätze zu
einer umfassenden Lösung zu integrieren, um so ein Konzept für die Unterstützung von
Suchmaschinen in NetFicient zu entwickeln. Gemäß der in Abschnitt 1.2 definierten
Zielsetzungen liegt der Schwerpunkt dabei auf der Unterstützung des Spiders und der
korrekten Einordnung der Webseiten durch den Indexer unter Berücksichtigung der
speziell durch NetFicient gegebenen Anforderungen. Die Umsetzung eines wie in Abschnitt 4.2.2.2 konzipierten Suchinterfaces spielt daher in diesem Kapitel keine Rolle
mehr.
5.1 Lösungsansatz und Vorgehensweise
Das in diesem Kapitel entwickelte Lösungskonzept umfaßt alle im Zusammenhang mit
Spider und Indexer beschriebenen Probleme. Um die korrekte Erfassung und Einordnung der Seiten zu gewährleisten, wird zunächst die in Abschnitt 4.1.1 erläuterte Manipulation der HTTP-Header in das Lösungskonzept integriert. Zudem werden die für die
Suchmaschinen relevanten Meta-Informationen automatisch aus Benutzereingaben generiert und als Meta-Tags in den HTML-Head geschrieben..
Darauf folgend wird auf Basis der in Abschnitt 4.1.5 beschriebenen Searchview ein
Suchbaum generiert, der es dem Spider ermöglicht, alle mit NetFicient publizierten
Seiten von einem beliebigen Startpunkt aus zu erreichen. Zusätzlich wird eine Trennung
des Seiteninhalts von den dazugehörigen Meta-Informationen vorgenommen, um Informationen in verschiedenem Kontext darstellen zu können und um somit die von NetFicient gestellten Anforderungen zu erfüllen.
In den folgenden Abschnitten werden die hier nur kurz vorgestellten Ansätze detailliert
beschrieben und ihre Implementation in Notes/Domino anhand der Entwicklung eines
einfachen Prototyps erläutert, wobei jeweils auf die wichtigsten Punkte eingegangen
wird. Die komplette Dokumentation des Prototyps ist in Anhang 9.3 zu finden.
Abschließend wird das entwickelte Lösungskonzept in einem Test (Proof of Concept)
mit der internen Suchmaschine dbsearch verifiziert. Grundlage für diese Verifikation
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
66
bildet der bereits erwähnte Prototyp, der basierend auf dem hier vorgestellten Lösungsansatz entwickelt wird.
5.2 Programmierung der Meta-Informationen im HTTP-Header und
HTML-Head
Um die korrekte Erfassung und Einordnung der einzelnen Webseiten zu erreichen, müssen zwei Aspekte berücksichtigt werden:
1. Durch korrekt gesetzte Werte für Expires und Last-Modified im HTTP-Header
wird es ermöglicht, daß die Seite überhaupt indiziert und auf dem aktuellen Stand
im Index der Suchmaschine gehalten wird (vgl. Abschnitt 3.1.1).
2. Die richtige Zuordnung der indizierten Seiten wird mittels der entsprechenden MetaTags im HTML-Head erreicht (siehe Abschnitt 4.2.1).
Während das Last-Modified-Datum einfach über die @Funktion @Modified von
Notes berechnet wird, kann das Expires-Datum durch zwei unterschiedliche Methoden gewonnen werden. Zum einen kann es durch die Eingabe des Benutzers gesetzt
werden, zum anderen besteht die Möglichkeit, jede Webseite automatisch mit einer vordefinierten Gültigkeitsdauer zu versehen. Für den entwickelten Prototyp wird der Einfachheit halber die zweite Alternative gewählt. Zudem werden die HTTP-Header nicht,
wie in Abschnitt 4.1.1 vorgestellt, als Servlet oder Agent geschrieben, sondern es wird
in Absprache mit Herrn Priewe von der Deutschen Bank AG die Lösung über den
HTML-Tag HTTP-EQUIV gewählt, da diese zum einen einfacher zu implementieren ist
und zum anderen gerade ihre Einfachheit zu besser überschaubaren Ergebnissen im abschließenden Proof of Concept führt.
Zur Generierung der Meta-Tags im HTML-Head müssen die Informationen über entsprechende Felder in der Notes-Maske eingegeben werden. Wie in Abschnitt 4.2.1 begründet, spielen dabei vor allem die beiden Einträge Beschreibung und Schlüsselwörter
(siehe auch Abb. 19 auf S. 67) eine wichtige Rolle, da aus diesen Werten die Meta-Tags
Description/Summary und Keywords berechnet werden. Daher sind diese beiden
Felder auch als Mußfelder definiert, d. h. hier müssen vom Benutzer Werte eingetragen
werden. Bei der Eingabe der Schlüsselwörter wird der Benutzer unterstützt, indem er
nur aus einer Liste vordefinierter Begriffe auswählen und keine eigenen Eingaben machen kann. Auf diese Weise wird gewährleistet, daß die Webseite später in den richti-
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
67
gen Kontext eingeordnet wird. Zudem wird so die Konformität der Schlüsselwörter innerhalb einer Website erreicht.
Abb. 19: Maske zur Eingabe der Informationen für die Suchmaschine
Zusätzlich können die Benutzer noch angeben, ob diese Seite überhaupt indiziert und
wenn ja, mit welcher Wichtigkeit sie von der internen Suchmaschine eingestuft werden
soll (siehe Abb. 19). Sind die Informationen durch den Benutzer eingegeben, können
daraus die entsprechenden Meta-Tags berechnet und diese zusammen mit dem MetaTag HTTP-EQUIV in den HTML-Head geschrieben werden. Dazu wird die in Abb. 20
angegebene Formel in die Maskenmethode HTML Head Content geschrieben.
_keywords:=@Implode(keywords; "," );
_lastmodified:=@Text(@Modified);
"<META name=\"robots\" content=\"None\">"+@Char(10)+
"<META name=\"description\" content=\""+Description+"\">" +
@Char(10)+
"<META name=\"keywords\" content=\""+_keywords+"\">"+@Char(10)+
"<META name=\"relevance\" content=\""+relevance+"\">"+@Char(10)+
"<META name=\"last_modified\" content=\""+_lastmodified+"\">"+@Char(10)+
"<META name=\"author\" content=\""+Autor+"\">"
Abb. 20: Programmierung des HTML-Head in Notes
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
68
5.3 Generierung eines Suchbaumes zur Unterstützung der Spider
Das in diesem Abschnitt beschriebene Konzept zielt auf die Erfaßbarkeit der Webseiten
durch den Spider, d. h., unabhängig von den verwendeten Methoden und Technologien
wie Framesets, Java-Applets etc. (siehe auch Abschnitt 3.1.2) soll es dem Spider möglich sein, alle Webseiten innerhalb einer Site von einem beliebigen Startpunkt aus zu
erreichen. Ziel ist es, daß der Spider die Website auf einem vorbestimmten Weg entlang
eines Suchbaums durchwandert (vgl. Abb. 21). Wichtig dabei ist die Kontrolle des Spiders, so daß er nicht aus dem Suchbaum ausbricht und in für ihn problematische oder
verbotene Bereiche gelangt. Auch soll auf diese Weise verhindert werden, daß der Spider eine Webseite über verschiedene Domino-URLs findet und diese dadurch mehrfach
indiziert wird.
Spider
Legende
Webseite
Suchseite
Weg des Spiders
durch den
Suchbaum
Abb. 21: Lenkung des Spiders durch den Suchbaum
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
69
Als Basis für die Generierung eines derartigen Suchbaums dient die in Abschnitt 4.1.5
dargestellte Suchansicht. Wie dort bereits beschrieben, enthält diese spezielle Ansicht
nur eine Spalte, in der HTML-Links für alle Seiten innerhalb der Datenbank berechnet
werden. Abb. 22 zeigt die entsprechende Spaltenformel, wobei vereinfachend davon
ausgegangen wird, daß die Datenbank im Root-Verzeichnis des Domino-Servers liegt.
"<A HREF=\"/"+@Subset(@DbName;-1)+"/Search/"
+@Text(@DocumentUniqueID)+"?OpenDocument\">"+Titel+"</A>"
Abb. 22: Berechneter Link für die Suchansicht
Um den Weg des Spiders zu kontrollieren, wird der Meta-Tag Robots in allen
Webseiten auf NoFollow gesetzt. Damit der Spider aber, wie in Abb. 21 illustriert,
auch auf andere Datenbanken gelenkt wird, müssen in der Suchansicht zusätzliche
Links enthalten sein, die auf diese Datenbanken verweisen. Dazu wird eine spezielle
Maske benutzt, die nur ein Feld für den entsprechenden Link enthält, welcher in der
Suchansicht mit angezeigt wird.
Wie in Abschnitt 4.1.5 dargelegt, wird zur Anzeige der Suchansicht eine Standardschablone verwendet, um so zu verhindern, daß Domino automatisch die speziellen Ansichtslinks generiert, welche für den Spider mehrere Probleme darstellen (vgl. Abschnitt
3.2.2). Damit aber unabhängig von der Konfiguration des Domino-Servers (vgl. Abschnitt 3.2.3) alle in der Ansicht berechneten Links dem Spider zugänglich sind, darf in
der Ansicht jeweils nur eine begrenzte Anzahl von Links angezeigt werden, und es muß
ein zusätzlicher Link hinzugefügt werden, über den der Spider zu den restlichen Links
in der Ansicht gelangen kann. Zur Manipulation der Anzahl angezeigter Zeilen in einer
Ansicht stellt Domino den Entwicklern das spezifische URL-Kommando ?OpenView,
zur Verfügung, welches mit den beiden Parametern &start=xx&count=yy aufgerufen
werden kann. Dabei gibt start die erste anzuzeigende Zeile an, und count definiert,
wie viele Zeilen angezeigt werden sollen. Hängt man also an die URL, über die der Spider auf die Suchseite gelenkt wird, beispielsweise ?OpenView&Start=1&Count=100
an, braucht nun nur noch ein Link generiert werden, der die jeweils nächsten hundert
Links anzeigt. Ein solcher Link läßt sich wie folgt zusammensetzen. Zunächst werden
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
70
die benötigten Informationen mit Hilfe von folgenden CGI-Variablen eingelesen (vgl.
Lotus Development Corporation 1999b, S. 498-502):
-
Path_Info:
liefert den Pfad, in dem die aktuelle Seite auf dem Server liegt.
-
Query_String:
liefert den Teil der URL, der hinter einem „?“ steht.
Während mit der ersten CGI-Variablen die URL für die Suchansicht ermittelt wird,
können über den Wert von Query_String die neuen Parameter für start und count
ermittelt werden, um so den Link zu generieren (vgl. Abb. 23). Zusätzlich muß noch die
Gesamtanzahl der Links mit dem aktuellen start-Wert verglichen werden, um eine
Endlosschleife (vgl. Abschnitt 3.2.2) zu vermeiden.
_path:=@Subset(@Explode(Path_Info;"?");1);
_query:=Query_String;
_paramlist:=@Subset(@Explode(_query;"&");-2);
_startstring:=@Subset(_paramlist;1);
_countstring:=@Subset(_paramlist;-1);
_start:=@TextToNumber(@Right(_startstring;@Length(_startstring)6));
_count:=@TextToNumber(@Right(_countstring;@Length(_countstring)6));
_max:=@Elements(@DbColumn( ""; ""; "help"; 1 ));
@If(_start +_count > _max;"";
"<A HREF=\"/" + @Text(_path) + "/Search?Openview&Start=" +
@Text( _start+_count) +"&Count="+@Text(_count)+"\">Next</A>")
Abb. 23: Quelltext für den Next-Link der Suchansicht
Schließlich muß noch gewährleistet werden, daß der Spider direkt auf die Suchansicht
verwiesen wird. Dazu wird im Hauptdokument des Framesets im NoFrame-Bereich
(vgl. Abschnitt 4.1.2) ein Link auf die Suchseite eingefügt. Für die Frames wird dabei
jeweils der Robots-Tag auf None gesetzt, so daß der Link auf die Suchseite den einzigen weiterführenden Weg für den Spider darstellt.
Zur Vervollständigung der Lösung wird noch der Robots-Tag auf der Standardschablone für die Suchansicht auf NoIndex gesetzt, damit sie nicht von der Suchmaschine
indiziert wird und Benutzer auf diesem Wege auf diese für sie nicht zugängliche Seite
gelangen können. Denkbar ist auch eine Erweiterung dieser Lösung, indem man auf
Basis des von Domino geführten Database Catalogue eine Startseite für Suchmaschi-
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
71
nen generiert, mit deren Hilfe der Spider dann durch die gesamte Domäne wandern
kann.
Somit ist die Erfassung der Seiten durch den Spider gesichert. Der anschließende Abschnitt beschäftigt sich nun mit der Lösung von Problemen, die speziell durch die Anforderungen von NetFicient gegeben sind.
5.4 Trennung von Seiteninhalt und Meta-Informationen
Das in den beiden vorigen Abschnitten entwickelte Konzept gewährleistet die Erfassung
aller Webseiten durch den Spider und die anschließende korrekte Einordnung der Seiten
durch den Indexer. Im folgenden wird nun das Konzept dahingehend erweitert, daß die
spezifischen Anforderungen von NetFicient Berücksichtigung finden. Diese Kernanforderungen machen es im wesentlichen notwendig, daß eine Webseite bzw. deren Inhalt
in mehrfachem Kontext von der Suchmaschine erfaßt werden kann. Um dies zu gewährleisten, wird eine Trennung des reinen Inhalts von den dazugehörigen MetaInformationen vorgenommen. Zu diesen Meta-Informationen gehören:
-
Informationen zur Indizierung durch die Suchmaschine (z. B. Stichwörter, Wichtigkeit etc.).
-
Informationen zum zugehörigen Navigationskontext.
-
Sonstige Informationen (z.B. auszuführende Scripte/Applets).
Dabei muß die Trennung nicht in allen Fällen strikt sein. So macht es z. B. für die zu
verwendenden Stichwörter im Meta-Tag KEYWORDS Sinn, diese aufzuteilen in rein inhaltsbezogene Stichwörter, die immer mit der Seite angezeigt werden sollen, und eher
kontextbezogene Stichwörter, die nur in einem bestimmten Zusammenhang (z. B. einer
bestimmten Homepage) angezeigt werden sollen. Die Informationen zum Navigationskontext geben zusätzlich das jeweils anzuzeigende Frameset an. Eine Umsetzung der
von NetFicient geforderten Multiframe-Funktionalität wäre nur mit sehr hohem Aufwand zu realisieren..
Die kontextabhängigen Informationen werden dabei jeweils in der entsprechenden
Homepage-Datenbank gespeichert. Dazu wird eine spezielle Maske erzeugt, mit deren
Hilfe ein Datenbankprofil erstellt werden kann, welches die Informationen in geeigneter
Form speichert. Für den Prototyp werden hier Links auf die beiden Frames der Datenbank sowie eine Textliste mit den spezifischen Schlüsselwörtern implementiert. Wird
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
72
nun eine Webseite aus einer anderen Datenbank heraus referenziert, wird mit Hilfe einer
speziellen Maske ein Referenzdokument in der Datenbnak der Webseite angelegt, welches den Namen der referenzierenden Datenbank und die DocumentID der entsprechenden Webseite speichert. Diese Referenzdokumente werden dann über die View Selection
Formular in die Suchansicht aufgenommen. Zudem wird die in Abb. 22 gezeigte Formel durch eine @If-Anweisung erweitert, so daß im Falle eines Referenzdokumentes
der entsprechende Datenbankname als Parameter an die URL angehängt wird. Die
Auswertung dieses URL-Parameters geschieht dabei analog zu dem in Abschnitt 5.3
beschriebenen Next-Link über die CGI-Variable Query_String. Mit Hilfe des Datenbanknamens können dann über @DbLookup-Anweisungen die Meta-Informationen hinzugeladen werden. Die Implementation dieser Funktionalität wird über eine zusätzliche
Maske realisiert, welche mit der Form Formula der Suchansicht automatisch zur Anzeige benutzt wird.
Durch die Verwendung von URL-Parametern wird zugleich der Effekt erreicht, daß die
Seite mehrfach von der Suchmaschine erfaßt wird, womit die angestrebte Funktionalität
gewährleistet wird.
5.5 Verifikation des entwickelten Konzeptes
Zum Abschluß dieses Kapitels muß nun noch das entwickelte Konzept anhand eines
praktischen Tests auf seine Richtigkeit und Praxistauglichkeit hin untersucht werden.
Dazu wird mit der internen Suchmaschine dbsearch auf Basis des implementierten Prototyps ein sogenannter Proof of Concept durchgeführt. Die Vorgehensweise und die
Testumgebung werden im folgenden Abschnitt beschrieben, daran anschließend werden
dann die Ergebnisse des Tests präsentiert. Dabei wird an dieser Stelle nur auf die
Merkmale und Ergebnisse des letzten und entscheidenden Testlaufs eingegangen. Die
Probleme und Erkenntnisse aus den ersten Versuchen sind ebenso den Protokollen in
Anhang 9.4.1 zu entnehmen wie die verwendete Konfiguration des Spiders.
5.5.1 Testumgebung und Vorgehensweise
Ziel des Proof of Concepts ist die Bestätigung des in dieser Arbeit entwickelten Lösungskonzepts. Dazu wird auf Basis des Prototypen eine Datenbank mit mehreren Dokumenten und Seiten erstellt, die dann von der internen Suchmaschine Verity (vgl. Ab-
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
73
schnitt 2.5) durchsucht wird. Aufgrund einiger technischer Eigenschaften von Verity25
sind jedoch zuvor einige Anpassungen am Prototyp notwendig. Da Verity den NoFollow-Parameter des Robots-Tags nicht versteht (siehe auch Tabelle 9 auf Seite 63),
werden alle weiterführenden Links aus den Dokumenten entfernt, um das NoFollow zu
simulieren. Zudem müssen die Navigationsframes entfernt werden, so daß das Frameset
nur noch aus dem Inhaltsframe besteht. Die in Abschnitt 5.3 beschriebene Methode, den
Spider über den NoFrame-Tag auf die Suchseite zu verweisen, wird dadurch jedoch
nicht tangiert. Im Gegensatz dazu funktioniert der ebenfalls in Abschnitt 5.3 implementierte Next-Link nicht zusammen mit Verity, da der Spider aufgrund der in Abschnitt
3.2.2 beschriebenen Probleme mit kategorisierten Ansichten so konfiguriert ist, daß
sämtliche URLs nach dem Begriff ?OpenView abgeschnitten werden. Daher wird die
Suchansicht ohne die entsprechenden Parameter aufgerufen, so daß alle darin enthaltenen Links angezeigt werden. Da die Anzahl der Links kleiner ist als die in der Serverkonfiguration eingestellte Maximalanzahl (vgl. Abschnitt 3.2.3), entstehen keine Probleme.
Um die Suchmaschine mit möglichst allen im Lösungskonzept abgedeckten Problembereichen zu konfrontieren, werden in der Datenbank eine Anzahl Dokumente und Seiten
von unterschiedlichem Typ und mit verschiedenem Inhalt benutzt. Diese sind im einzelnen:
-
Sechs normale Dokumente mit lexikonähnlichem Inhalt. Auf diese Weise soll die
korrekte Einordnung der Seiten durch den Indexer getestet werden.
-
Ein Dokument mit RichText-Inhalt, um zu beobachten, ob die Suchmaschine mit
dem von Domino generierten HTML-Code zurechtkommt.
-
Ein Dokument mit einer Sektion.
-
Ein Dokument, welches aus einer zusätzlichen Testdatenbank heraus referenziert
wird. Dazu wird eine weitere Datenbank auf Basis des Prototyps auf dem Server angelegt. Die referenzierte Webseite (Keyword-Test) sollte dementsprechend zweimal
im Index der Suchmaschine erscheinen, jedoch mit unterschiedlichen Schlüsselwörtern versehen.
25
Diese Abweichungen im Vergleich zu Webspidern soll in der nächsten Version von Verity behoben
werden.
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
-
74
Je ein Dokument und eine Seite mit unterschiedlichen Dateianhängen im PDFFormat (PDF = Portable Document Format). Da Verity auch PDF-Dateien durchsuchen kann, sollte auch diese Datei indiziert werden.
-
Eine Seite mit Pass Thru HTML und mit Dateianhang im HTML-Format.
-
Die Startseite bzw. den Inhaltsframe der Startseite.
-
Ein Dokument, für das der Meta-Tag Robots auf NoIndex gesetzt wurde. Dieses
Dokument sollte indiziert werden und somit auch nicht in den Trefferlisten auftauchen.
-
Ein Link auf eine HTML-Seite im entsprechenden Verzeichnis des Domino-Servers.
Dazu wird eine einfache HTML-Datei in das entsprechende Verzeichnis des Domino-Servers kopiert.
Die vom Spider bei jedem Durchlauf generierte Logdatei sowie eine Trefferliste, die aus
allen in diesem Test indizierten Webseiten besteht, stellen die Testergebnisse dar, die im
anschließenden Abschnitt analysiert werden.
5.5.2 Analyse der Testergebnisse
Nach Abschluß des Tests gilt es nun die Ergebnisse zu analysieren. Dabei wird kontrolliert, ob Verity die im vorangegangenen Abschnitt beschriebenen Dokumente und Seiten der Datenbank auch wie erwartet verarbeitet hat und wo eventuell Fehler aufgetreten
sind. Als Grundlage dazu dient zunächst die bereits erwähnte Logdatei. Wie in Abb. 24
zu sehen ist, zeichnet der Spider darin jede besuchte URL auf und protokolliert deren
weitere Verarbeitung (die gesamte Logdatei ist in Anhang 9.4.3 zu finden). Dieser Eintrag besteht im Normalfall aus einer Inserting-Anweisung, die URL wird an den Indexer
weitergegeben. Der in Abb. 24 gezeigte Fehler ist der einzige, der bei diesem Testlauf
aufgetreten ist. Es handelt sich hierbei um die URL, mit der die Sektion im entsprechenden Dokument expandiert wird. Aufgrund des darin enthaltenen Begriffes EXPAND
wird diese URL, wie im vorigen Abschnitt dargelegt, vom Verity-Spider ignoriert.
Verbose 11/24 11:39:35 (ind010003) Submission enqueued: <http://10.70.5.203/proofofc.nsf/search>.
Progress 11/24 11:39:35 (ind031000) Inserting <http://10.70.5.203/proofofc.nsf/search>.
Verbose 11/24 11:39:39 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/BB385CE48592116CC12567E6005AA686?OpenDocument>.
Progress 11/24 11:39:39 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/BB385CE48592116CC12567E6005AA686?OpenDocument>.
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
75
Verbose 11/24 11:39:43 (ind010004) Skipping key
<http://10.70.5.203/ProofofC.nsf/Search/ffec85358a6d65b6c12567ee004d6a2d?OpenDocument&Expand
Section=1> because of VdkVgwKey.
Abb. 24: Auszug aus der Logdatei des Verity-Spiders
Zählt man alle im vorigen Abschnitt aufgezählten Datenbankinhalte zusammen, erhält
man neunzehn Webseiten, von denen aufgrund des Robots-Tags jedoch nur achtzehn
indiziert werden sollten. Allerdings hat der Spider, wie der Logdatei in Anhang 9.4.3 zu
entnehmen ist, insgesamt zweiundzwanzig URLs abgearbeitet. Die fünf zusätzlichen
URLs lassen sich aber wie folgt erklären:
1. Die URL, die auf die zu expandierende Sektion verweist.
2. Da der Meta-Tag Robots bei Verity erst vom Indexer interpretiert wird (vgl. Verity-Konfiguration in Anhang 9.4.1), hat der Spider die nicht zu indizierende Seite
vorerst an den Indexer weitergegeben.
3. Aus demselben Grund wird auch die URL der Suchansicht selbst an den Indexer
weitergegeben.
4. Die Startseite wurde von dem Spider doppelt weitergegeben, da er sie über zwei
unterschiedliche URLs erreicht hat: Zum einen, wie erwartet, über den Link in der
Suchansicht und zum anderen direkt beim Einstieg in die Suche, da der Robots-Tag
fälschlicher Weise noch auf NoFollow gesetzt war (vgl. S. 73).
Bis auf die doppelte Erfassung der Startseite, welche auf einem trivialen Fehler bei der
Testvorbereitung beruht, läßt sich festhalten, daß der Spider sich wie geplant verhalten
hat. Im nächsten Schritt werden nun die im Index enthaltenen Seiten untersucht.
Wählt man als Suchanfrage den Datenbanknamen innerhalb der URL, erhält man eine
Trefferliste mit allen indizierten Webseiten. Abb. 25 auf nachfolgender Seite zeigt davon nur einen Ausschnitt, die komplette Liste ist in Anhang 9.4.2 enthalten. Wichtig
dabei sind vor allem die darin angezeigten Informationen: die URL und der Titel der
Webseite, die Beschreibung und die Schlüsselwörter, die aus den entsprechenden Mettags der Webseiten entnommen werden, sowie das Last-Modified Date. Anhand dieser Werte lassen sich folgende Erkenntnisse/Resultate ableiten:
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
76
Die Seite, für die der Meta-Tag Robots aud NoIndex gesetzt ist, wurde korrekterweise
nicht indiziert. Die Tatsache, daß trotzdem eine Webseite mehr als erwartet indiziert
wurde, beruht auf der oben bereits beschriebenen Doppelt-Erfassung der Startseite.
Die referenzierte Webseite wurde, wie im Konzept vorgesehen, zweimal indiziert, wobei jeweils unterschiedliche Schlüsselwörter aufgenommen wurden. Somit ist gezeigt,
daß mit der beschriebenen Trennung von Inhalt und Meta-Informationen die Erfassung
einer Seite in verschiedenem Kontext gewährleistet wird.
Auch das mit Hilfe des Meta-Tags HTTP-EQUIV auf den 29.09.1999 gesetzte LastModified Date wurde von dem Indexer richtig übernommen. Lediglich bei den Dateianhängen und der HTML-Datei, auf die diesbezüglich kein Einfluß genommen wird, weichen die Werte davon ab. Erfreulich dabei ist, daß der Domino-Server für diese Elemente das korrekte Datum ihrer Erstellung verwendet hat. Dafür hat der Domino-Server
bei der Seite mit Pass Thru HTML den von Hand gesetzten Wert - analog zu den Ausführungen in Abschnitt 3.2.1 - mit dem aktuellen Datum überschrieben. Entsprechend
wurde auch kein Last Modified Datum für die Seite übergeben, bei der dieses nicht
von Hand programmiert wurde.
Abb. 25: Auszug aus der Trefferliste von Verity
Lösungskonzept zur Integration von Suchmaschinen in NetFicient
77
Das in diesem Kapitel entwickelte Lösungskonzept konnte also als korrekt bestätigt
werden. Dabei ist jedoch zu bedenken, daß aufgrund der teilweisen Inkompatibilität
von Verity nicht alle Aspekte in dem Proof of Concept berücksichtigt werden konnten.
Setzt man aber die vollständige Unterstützung der verwendeten Standards voraus, was
bei den anderen in dieser Arbeit betrachteten Suchmaschinen der Fall ist, sind auch die
Ansätze, die hier nicht verifizeirt werden konnten, als gesichert anzusehen.
Ausblick
78
6 Ausblick
Die bei der Durchführung des Proof of Concept aufgetretenen Problem haben ebenso
wie die vorgenommene Problemanalyse gezeigt, wie wichtig die Unterstützung der
Standards von Seiten der Suchmaschinen ist. Gerade in diesem Bereich ist aber in Zukunft davon auszugehen, daß die Suchmaschinen sich stetig weiterentwickeln und somit
immer mehr Standards unterstützen werden. Ein gutes Beispiel hierfür stellt die interne
Suchmaschine der Deutschen Bank AG dar, die, wie in Abschnitt 5.5.1 beschrieben, in
der nächsten Version unter anderem den Meta-Tag Robots vollständig verstehen wird.
Problematisch ist allerdings, daß im gleichen Maße, wie die Suchmaschinen weitere
Standards unterstützen, durch die intensive Forschung und Entwicklung im Bereich der
Internettechnologien immer wieder neue Standards geschaffen werden, so daß die
Suchmaschinenbetreiber diesbezüglich immer ein wenig dem Entwicklungsprozeß hinterherlaufen werden.
Neben neuen Problemen können innovative Technologien aber auch eine Chance für die
Unterstützung von Suchmaschinen darstellen. Ein solcher Ansatz wäre XML (Extended
Manipulation Language). Mit dieser Erweiterung des HTML-Standards wäre es möglich, die anzuzeigenden Informationen direkt aus den Notes-Elementen zu lesen (vgl.
Lotus Development Corporation 1999a) und über einen normalen Webserver wie z. B.
Apache zu publizieren. Mit dieser Vorgehensweise könnten somit die in Kapitel 3 beschriebenen Probleme umgangen werden, die direkt mit dem Domino-Server zusammenhängen.
Des weiteren wäre es sinnvoll, die bestehenden Standards für Suchmaschinen zu erweitern. Gerade im Bereich der Sicherheit reichen die beiden in Abschnitt 4.3 beschriebenen Methoden nicht aus, da sie zu unflexibel sind. Wünschenswert wäre z. B., über eine
Erweiterung des HTML-Standards zu erreichen, daß für jeden Link einzeln angegeben
werden kann, ob der Spider diesen verfolgen soll oder nicht.
Auch aus der Sicht des Informationssuchenden sind in der Zukunft einige neue Entwicklungen zu erwarten. Vor allem bei dem Suchinterface ist ein Trend hin zu sogenannten Portalen zu beobachten. Wie der Name schon andeutet, sollen Portale den Einstieg zu den gewünschten Informationen gewährleisten. Daher bieten sie über die Suche
im Internet hinaus jedem Benutzer die Möglichkeit, seine eigene Informationsübersicht
zusammenzustellen. Dabei kann er sich aus beliebigen Bereichen die jeweils aktuellen
Ausblick
79
Informationen zusammentragen lassen, z. B. die aktuellen Börsenkurse, Wetterinformationen oder die neuesten Sportergebnisse. Die Betreiber solcher Portale wollen auf diese
Weise erreichen, daß ihre Portal von den Benutzern als Einstiegsseite zum WWW genutzt werden. Dieses Prinzip läßt sich auch auf das Intranet im untersuchten Unternehmen übertragen, um so jedem Mitarbeiter die für ihn wichtigen Informationen schnell
bereitzustellen.
Zusammenfassung
80
7 Zusammenfassung
In der vorliegenden Arbeit wird ein Konzept zur Integration von Suchmaschinen in die
Corporate Knowledge Management Plattform NetFicient der Deutschen Bank AG entwickelt. Der Schwerpunkt liegt dabei auf der Erfassung der mit NetFicient publizierten
Webseiten durch den Spider und deren korrekte Einordnung in den Index der Suchmaschinen. Dazu werden zunächst die Vorgehensweise und Architektur von Suchmaschinen detailliert dargestellt und die damit zusammenhängenden Technologien beschrieben
sowie die im Kontext dieser Arbeit relevanten Begriffe definiert, um so eine terminologische Basis zu schaffen.
Im zweiten Schritt wird die gegebene Problematik einer umfassenden Analyse unterzogen. Für die dabei beobachteten Schwierigkeiten konnten vor allem zwei Hauptursachen
identifiziert werden: Zum einen unterstützen nicht alle Suchmaschinen die im WWW
üblichen Standards und Technologien. Speziell Framesets und Java stellen die Suchmaschinen dabei vor große Probleme. Zum anderen unterscheidet sich der Domino-Server
trotz seiner erweiterten Webintegration von „normalen“ Webservern wie z. B. Apache.
Gerade bei der Webdarstellung von dynamischen Notes-Elementen wie Ansichten oder
Gliederungen sind Inkompatibilitäten mit Suchmaschinen zu beobachten. Die Ergebnisse dieser Problemanalyse stellen den Ausgangspunkt für die zu entwickelnden Lösungsansätze dar, sollen aber auch die Entwickler von NetFicient für die Problematik sensibilisieren.
Als nächstes werden Lösungsansätze für die analysierten Probleme evaluiert. Dabei
werden Vor- und Nachteile von Standardlösungen diskutiert und ihre Eignung für NetFicient bewertet. Darüber hinaus werden diese weiterentwickelt und auch neue Konzepte zur Lösung der Probleme erarbeitet, um die von NetFicient gegebenen speziellen
Anforderungen erfüllen zu können. Zudem wird auf existierende Zielkonflikte und nicht
oder nur mit unverhältnismäßigem Aufwand zu lösende Bereiche hingewiesen. Zusätzlich wird in der Form von Anforderungen ein Konzept für ein leistungsfähiges Suchinterface dargelegt, um auch die Sicht des Informationssuchenden zu verdeutlichen, der
im Rahmen des von NetFicient angezielten Knowledge Managements eine wichtige
Rolle spielt.
Auf Basis dieser Ergebnisse wird dann anhand eines Prototyps ein umfassendes Konzept zur Unterstützung von Suchmaschinen in NetFicient entwickelt. Die grundlegende
Zusammenfassung
81
Idee dabei ist, den Weg des Spiders mit Hilfe von speziell konzipierten Suchseiten so zu
kontrollieren, daß er alle Webseiten in einer für ihn verarbeitbaren Form erfassen kann.
Zudem werden zur besseren Einordnung und zur Erzielung eines besseren Rankings der
Webseiten die entsprechenden Meta-Informationen im HTTP-Header und HTML-Head
dahingehend manipuliert. Die Unterstützung der von NetFicient geforderten Multiframefunktionalität kann aus dargelegten Gründen jedoch nicht im vollen Umfang gewährleistet werden. Zur Verifikation der konzipierten Lösung wird der entwickelte
Prototyp einem abschließenden Test mit der internen Suchmaschine der Deutschen
Bank AG unterzogen, in dem sich die Richtigkeit des Konzeptes bestätigte.
Als Resümee bleibt zu sagen, daß mit Hilfe des hier entwickelten Konzeptes ein Großteil der gegebenen Probleme gelöst oder umgangen werden kann. Für nicht zu lösende
Bereiche werden die Gründe und Schwierigkeiten ausführlich diskutiert und in einem
Ausblick Entwicklungen und Standards vorgestellt, die eine Lösung dieser Probleme in
Aussicht stellen.
Literaturverzeichnis
8 Literaturverzeichnis
Altavista 1999:
Altavista: Advanced Search Help, http://www.altavista.com, 1999.
Axt/Hertel/Wagner 1999:
Axt, Heilo; Hertel, Matthias; Wagner, Martin: Lotus Domino & Notes 5 Kompendium, Markt&Technik, München, 1999.
Berners-Lee 1994:
Berners-Lee, Tim: Universal Resource Identifiers in WWW: A Unifying Syntax for
the Expression of Names an Adresses of Objects on the Network as used in the
World Wide Web, RFC-1630, CERN, Schweiz, 1994.
Berners-Lee et al. 1994:
Berners, Lee, Tim; Masinter Larry; McCahill, Mark: Uniform Resource Locators
(URL), RFC-1738, CERN, Xerox Corporation, University of Minnesota, Mineapolis,
1994.
Borggraefe 1999:
Borggraefe, Stefan: Reiche Ernte - Hierarchische Suchindizes mit Harvest. In iX
3/1999, S. 126ff.
Burch 1999:
Burch, Barbara: Domino R5 Technical Overview, http://www.notes.net/today.nsf, Irsi Today, Iris Associates, April 1999.
Casselberry 1997:
Casselberry, Rick: Das perfekte Intranet: Die richtige Plattform auswählen; firmeninterne Web-Seiten gestalten; mit HTML-Editoren arbeiten, Markt&Technik, München, 1997.
Collins et al. 1999:
Collins, Fiona; Morrison, David; Nielsen S. P.; Serpola, Samir; Strobl, Reinhold:
Lotus Domino Release 5: A Developer’s Handbook, First Edition, IBM Corporation
International Technical Support Organisation (ITSO), Cambridge, Massachusetts,
USA, 1999.
Comer 1988:
Comer, Douglas: Internetworking with TCP/IP: Principles, Protocols an Architecture, Prentice Hall, Englewood Cliffs, New Jersey, 1988.
Daibenzeiher et al. 1997:
Daibenzeiher, T.; Koch, O.; Kowalski, T.: Lotus Notes & Domino 4.6: Der Einstieg
ins Information Networking, C&L Computer und Literaturverlag, Vaterstetten, 1997.
Dennig et al. 1997:
Dennig, Jens; Gutperlet, Klaus; Rosenow, Eike G.: Lotus Domino & Notes 4.5,
Markt&Technik, München, 1997.
Deutsche Bank AG 1999:
Deutsche Bank AG, Transaction Services, Methods and Procedures, db-search –
Webmaster Guide, Internal Paper, Frankfurt am Main, 1999.
Deutsche Bank AG 1999a:
Easynet: Netficient Teamroom Database, Anforderungen R2, 1999.
82
Literaturverzeichnis
Deutsche Bank AG 1999b:
GCC Bank Dokumentation: NetFicient – Ausblick für das Jahr 2000, White Paper,
1999.
Deutsches Institut für Normung 1996:
Deutsches Institut für Normung: DIN EN 29241: Ergonomische Anforderungen für
Bürotätigkeiten mit Bildschirmgeräten-Teil10: Grundsätze der Dialoggestaltung,
Entwurf, Beuth Verlag, Berlin, 1996.
Dierker/Sander 1998:
Dierker, Markus; Sander, Martin: Lotus Nores 4.6 und Domino: Integration von
Groupware und Internet, Addison-Wesley, Bonn u. a., 1998.
Fielding et al. 1997:
Fielding, et al.: Hypertext Transfer Protocol – HTTP/1.1, RFC-2068, MIT, 1997.
Fielding et al. 1999:
Fielding et al.: Hypertext Transfer Protocol – HTTP/1.1, RFC-2616, MIT, 1997.
Florio 1999:
Florio, Susan: Domino R5 Domain Search, http://www.note.net/today.nsf , Iris Today, Iris Associates, März 1999.
Florio 1999a:
Florio, Susan: The History of Notes and Domino, http://www.notes.net/history.nsf,
Iris Today, Iris Associates, April 1999.
Hajji 1998:
Hajji, Farid: Perl: Einführung, Anwendungen, Referenz, Addison Wesley, Bonn,
1998.
Knut/Bager 1997:
Knut, Detlef; Bager, Joe: Datenfischer – Metasuchwerkzeuge erleichtern die Recherche im Web. In c't 2/1997, S.170-175.
Keil-Slawik 1996:
Keil-Slawik, Reinhard: Von der Feuertafel zum Kampfroboter – Die Entwicklungsgeschichte des Computers, Paderborn 1996.
Keil-Slawik 1997:
Keil-Slawik, Reinhard: Grundlagen der Systemgestaltung, Vorlesungsunterlagen,
Paderborn, 1997.
Lawrence/Giles 1998:
Lawrence, Steve; Giles, C. Lee: Searching the World Wide Web. In Science, Vol.
280 (1998), S. 98-100.
Lotus Development Corporation 1998:
Lotus Development Corporation: Domino Extended Search, White Paper, Cambridge, Massachusetts, 1998.
Lotus Development Corporation 1999:
Lotus Development Corporation: Domino Designer 5 Help, Datenbank, Cambridge,
Massachusetts, 1999.
Lotus Development Corporation 1999a:
Lotus Development Corporation: The Domino Application Server – Platform for
XML, White Paper, Cambridge, Massachusetts, 1999.
83
Literaturverzeichnis
Lotus Development Corporation 1999b:
Lotus Development Corporation:Lotus Domino Designer R5 – The Power to Build
Secur Web Applications that Extend the Enterprise – Appilcation Development with
Domino Designer, Documentation, Cambridge, Massachusetts, 1999.
Luckhardt 1998:
Luckhardt, Norbert: Vielspurig - Was die Reise auf der Datenautobahn bringt. In c't
2/1998, S.86-89.
Mann, 1999:
Mann, Raimund: Domino Designer R5, Anwendungsentwicklung mit Lotus Notes,
C&L Computer und Literaturverlag, Vaterstetten, 1999.
Maurer 1996:
Maurer, Rainer: HTML und CGI-Programmierung: Dynamische WWW-Seiten erstellen, dpunkt, Heidelberg, 1996.
Münz/Nefzger 1998:
Münz, Stefan; Nefzger, Wolfgang: HTML 4.0 Handbuch, Professional Series, Franzis‘ Verlag, Poing, 1998.
Nastansky 1993:
Nastansky, Ludwig: Nach 20 Jahren CSCW-Forschung: Durchbruch in der Praxis bei
Groupware-Anwendungen in Client-Server Architekturen. In Nastansky, Ludwig:
Workgroup Computing, S+W Steuer und Wirtschaftsverlag, Hamburg, 1993, S. 120.
Nastansky et al. 1994:
Nastansky, L.; Fischer, J.; Herold, W.; Dangelmeier, W.; Wolff, R.: Bausteine der
Wirtschaftsinformatik: Grundlagen, Anwendungen, PC-Praxis, S+W Steuer- und
Wirtschaftsverlag, Hamburg 1994.
Ott/Nastansky 1997:
Ott, Markus; Nastansky, Ludwig: Kommunikationsmanagement zwischen Teams –
Paperless Office am Beispiel GroupOffice. In: Kommunikationsmanagement in verteilten Unternehmen – Fünf Jahre Wirtschaftsinformatik an der Universität-GH Paderborn, Dangelmaier, W.; Fischer J.; Herold, W.; Nastansky,L.; Suhl, L.; Wolff, R.
(Hrsg.), VDI Verlag, Reihe 10, Nr. 478, 1997, S. 21-44.
Ramm 1998:
Ramm, Frederik: Recherchieren und Publizieren im World Wide Web, 2. Auflage,
Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden 1996.
Sander-Beuermann 1996:
Sander-Beuermann, Wolfgang: Meta-Ebene – Mehrere Suchmaschinen gleichzeitig
abfragen. In iX 9/1996, S. 146ff.
Sander-Beuermann 1998:
Sander-Beuermann, Wolfgang: Schatzsucher - Die Internet-Suchmaschinen der Zukunft. In c't 13/1998, S. 178-184.
Smolnik 1999:
Smolnik, Stefan: Strategische Nutzung von Groupware- und I*Net-Technologien im
IT-Umfeld einer internationalen Großbank - Vergleich von Technologien, Dokumentation und Erstellung eines Best Practice Guide zur I*Net-Programmierung, Diplomarbeit, Paderborn, 1999.
84
Literaturverzeichnis
Sonnenreich/Macinta 1998:
Sonnenreich, Wes; Macinta, Tim: Web Developer.com – Guide to Search Engines,
Wiley Computer Publishing, New York usw. 1998.
Sullivan 1999:
Sullivan, Danny: Search Engine Watch – The Major Search Engines,
http://www.searchenginewatch.com/facts/major.html, März 1999.
Sullivan 1999a:
Sullivan, Danny: Search Engine Watch – How Search Engines work,
http://www.searchenginewatch.com/webmasters/work.html, März 1999.
Sullivan 1999b:
Sullivan, Danny: Search Engine Watch – Search Engine Design Tips,
http://www.searchenginewatch.com/webmasters/tips.html, März 1999.
Sullivan 1999c:
Sullivan, Danny: Search Engine Watch – Search Engine Features Chart,
http://www.searchenginewatch.com/webmasters/features.html, März 1999.
Tanenbaum 1989:
Tanenbaum, Andrew S.: Computer Networks, Second Edition, Prentice Hall, Englewood Cliffs, New Jersey, 1989.
Wong 1997:
Wong, Clinton: Web Client Programming with Perl, O’Reilly & Associates, Inc.,
1997.
85
Anhang
86
9 Anhang
9.1 Zusätzliche Informationen zum Thema Suchmaschinen
9.1.1 Liste der Suchmaschinen im WWW
Die folgenden Liste gibt einen Überblick der im World Wide Web zur Verfügung stehenden Suchmaschinen. Dabei wird kein Anspruch auf Vollständigkeit erhoben, sondern es soll vielmehr die Vielzahl und Vielfältigkeit der existierenden Suchmaschinen
verdeutlicht werden.
Quelle:
http://dir.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/Searching_th
e_Web/Search_Engines/
•
Aesir Custom Search - Customize your favorite search engine with output filters.
•
Ahoy! - The Homepage Finder
•
Airport Search Engine - ASE database contains airport- codes and a list of links
to airport pages on the web.
•
ALIWEB - Australia mirror of the ALIWEB database at Nexor.
•
Alku - provides links to Finnish web-sites as well as a brief glossary and guide
on the internet. In Finnish.
•
AltaVista - web and newsgroup search engine.
•
AltaVista Australia - mirror site providing Australian, New Zealand, and Pacific
Rim users with faster access.
•
AltaVista Canada
•
Ananzi - search engine dedicated to the South African domain.
•
Anzwers
•
Aqueous - dedicated to sites that have water related content.
Anhang
87
•
Area 52 - Macintosh, Amiga, OS/2 searchs a specialty.
•
Arkansas Direct - search engine serving the state.
•
Astalavista - daily updated search engine monitoring hundreds sites with hack &
crack stuff.
•
AusIndex
•
Aviation Search Engine from Totavia
•
BabyOIL - resource discovery system - Simple interface to some of the most
popular Internet resources: WWW, Libraries, Software, People, Tech Report,
Online documents
•
Bigstuff
•
Biochemistry Easy Search Tool (BEST) - indexes educational sites with biological content useful to biochemists and other researchers in the life sciences.
•
BizAds Business Locator - search engine dedicated to business listings. Come
add your business for increased visibility or use our lightening fast business locator.
•
Business Seek
•
Cinemachine - brought to you by Addicted to Noise.
•
Claymont.com - C
•
Clever Project - publications and ongoing work at IBM Almaden Research
Center to develop algorithms and systems for solving the problem of information overload.
•
Community-based Navigation - We are testing an enhanced version of Mosaic
that supports fast Likert scale rating and automatically pools item-ratings in a
community server that can recommend and evaluate URLs.
•
Company Site Locator - The tool for searching for companies' websites when
you don't know the exact URL address.
•
CompuServe@
•
Crafts Search - search engine dedicated to crafts.
Anhang
•
88
CurryGuide - meta search engine allowing searches within the UK, Europe, and
worldwide.
•
Direct Hit - ranks search results according to what other people have selected as
the most relevant and popular sites for your search request.
•
Discovery Channel Online Search Engine
•
DIY Search - search engine dedicated to the DIY music, e-zine and arts community.
•
EC Search - specializing in electronic commerce.
•
EgoSurf - search tool finds web pages that include your name, or any name you
provide.
•
El Faro - buscador robótico o "araña" que recorre el web en busca de contenido
en el idioma castellano y lo agrega a una base de datos, dentro de la cual el usuario puede realizar búsquedas.
•
Electric Monk - allows users to perform natural language web searches in plain
English.
•
EuroFerret - index of European web sites provided by Muscat Ltd.
•
Euroseek
•
excite - is a global media Co. offering consumers and advertisers comprehensive
Internet navigation services with extensive personalization capabilities. Excite,
Inc.'s services include the Excite and WebCrawler brands.
•
Fast Search
•
Fido the Shopping Doggie
•
Fiji Search Engine
•
Filez - search page with an index of over 60 million files and all the popular
corporate and shareware sites.
•
Fish4It - from Urban Desires; limits results to just one "damn near perfect"
URL. Discover the other fish in cyberspace.
•
G-Spot - Philipine search engine.
Anhang
89
•
GeoIndex - search tool for geo-environmental professionals.
•
Global Online Directory - search engine with unique search facilities and free
classified ads.
•
Globe Page - Asia search service in English, Chinese GB, and Big 5 encoding.
•
Google! - uses text-matching techniques to find pages that are both important
and relevant to your search.
•
GoTo.com@
•
Heuréka - search engine for the Hungarian Webspace.
•
HotBot
•
iAtlas - focus searches by industry categories, geographic location, site popularity, and other specialty filters.
•
Ibeau - search and navigational directory of sites featuring Asian celebrities.
•
ICQ iT!
•
In 2 Ireland - search resource with meta search and a multi submit engine.
•
Inference Find - the intelligent massively fast parallel web search.
•
Infohiway - Point-n-go access to the Infohiway. GeoSurfer reveals the web geographically, Plus... FTP, Gopherspace and more.
•
InfoJump - article search engine that indexes electronic periodicals and online
versions of print publications.
•
Informant Server, The - personal search agent; will send email when your favorite urls are updated.
•
InfoTiger Search Engine - Intelligent search - COOL ranking!
•
InfoZona - state-specific searchable database of links.
•
Irena - Web Connections Finder - glean from a target page of this Web server all
relevant hypertext links and their annotations. Irena is is especially useful for locating links to resources referenced in long, complex and densly written HTML
documents.
•
Italian Spider
Anhang
90
•
James Kirk Search Engine - looks specifically for Star Trek sites.
•
keyword.com
•
Law Enforcement Links Directory & Police Search Engine and Directory - categories include operational support, crime statistics, information resources, and
administrative support.
•
LinkMaster
•
Links2Go - surf the web sideways.
•
Lokace - francophone search engine.
•
LuXPoint - internet directory and search for Luxembourg.
•
Lycos - develops and provides online guides to locate and filter information on
the Internet. Products enable users to accurately identify and select information
of interest to them.
•
Magic the Gathering Search Engine - find the cards that would go well in your
deck.
•
MasterSite
•
MathSearch - search a collection of mathematical Web material
•
Matilda - waltz the web.
•
Maxisearch - with local, national and international news.
•
Mister Driver - search engine for device drivers.
•
Mojoe
•
Money$earch - geared towards small business owners and on-line investors in
the financial markets. All sites are reviewed and described on-line.
•
MOSHIx2 - Japanese and English search engine. Also has a browseable directory of sites.
•
MRO-Explorer - industrial search engine to locate distributors, manufacturers,
and related subjects.
•
MSN Internet Search
Anhang
91
•
Mug-O-Milk - search by asking a question or entering keywords.
•
MusicSearch - music search engine with over 5,000 links and growing.
•
NationalDirectory
•
Netscape Search - combines results from the Netcenter, Open Directory, and the
Web.
•
Netword - a word or short phrase that provides free access to an Internet destination. People & companies are creating Networds so you can find their information easily.
•
News Hunt - links to free newspaper archives and a searchable database of searchable newspapers.
•
Nordic Web Index - free web searching particular to the Nordic countries. The
NWI has Danish, Icelandic, Finnish, Norwegian, and Swedish service points.
•
Northern Light@
•
Oingo - offering a meaning-based search service.
•
OneKey
•
Open Text Web Index
•
PhilanthropySearch.com - serves the non-profit and philanthropic sector.
•
PlanetClick - searchable and browseable directory of websites prioritized by user
ratings and reviews.
•
PlanetSearch
•
Poke! - search assistant that uses javascript and frames. It is always with you, an
alt + tab away.
•
Pollinia: Network Orchid Stuff - search engine that focuses on orchid-related
web sites.
•
Pregnancy and Parenting Search Engine - a search engine devoted to pregnancy
and parenting related web sites. Categories include a range of topics relating to
pregnancy, parenting, and family issues.
Anhang
•
92
Public Safety Search Engine - features various public safety only web sites in
several fields like; law enforcement, fire, ems and health.
•
QuestFinder - offers a list of categories.
•
Radar - international search engine. In English and Spanish.
•
Scour.Net - guide to multimedia on the Internet. Use it to find audio, video,
images and animation.
•
Scrub The Web
•
Search Argos - search for web sites and documents that cover the ancient world.
•
Search By Media - search the Web for sites, audio, images, and video.
•
Search King - engine that relies on web surfing for quality searching results. Searchers vote on sites, assuring relevant internet results.
•
Search NZ
•
Search.bg - search engine dedicated to Bulgarian companies and internet resources.
•
Search.NL - Search Dutch cyberspace. Unique fuzzy searching eliminates the
need for correct spelling of search queries.
•
Searching Satanism - looks specifically for satanic listings.
•
SearchMil.com - search engine indexing the .mil domain.
•
Searchopolis
•
Searchport - promotes websites by linking.
•
SemioMap - discovery search tool that uncovers relationships among Internet
and Intranet documents.
•
Sesna - Ukrainian Search - search engine for Ukrainian sites.
•
Simmany - Korean search engine.
•
SimpleSearch.com - search engine targeted for the novice computer user. Features easy to read results.
•
Sitexplorer - in English, German, Italian, and Spanish.
Anhang
•
93
Snoopie - Over 5 million files have been indexed for download at over 450 ftp
sites World Wide. A search can be completed as fast as 10 milliseconds.
•
Sourcebank - specializes in sites for software developers.
•
Spider's Apprentice, The
- a public
service site that offers help on searching the Web. We also analyze and rate the
major search engines.
•
Sportsdogs.com - sports oriented search engine.
•
StreamSearch.com - specialized global search engine for audio and video on the
web.
•
Super Snooper - for kids and adults who prefer not to be presented with obscenity, hatred, drug-promotion or bigotry on the internet.
•
Surfer's Edge - searchable and browsable index of Singapore and Singapore related web sites.
•
TechnoFind - search facility for Singaporean Web sites.
•
TheLinks - includes major search engines, plus 800 numbers, zip codes, usp,
yellow pages and medical databases.
•
Thunderstone - an index of sites, not pages.
•
Travel-Finder Spider - demonstration contains information collected on travel
related resources and information.
•
Ugabula - buscador: search Spanish and Latin sites.
Anhang
94
•
UKMax
•
United States of America Web Resource
•
WebDirect! - add, modify or delete websites and/or Yellow Page indexes, keywords, and display search results the way you want to.
•
Webindex - internet search engine for Greece.
•
Websurfer
•
WebTop.com - uses probability theory to rank keywords and suggest additional
related terms.
•
WestMichigan.com - local search engine.
•
What-U-Seek
•
whoizzy
•
World Access Internet Navigator
•
Worldwide Embassies and Consulates Search Engine - searchable database for
addresses, telephone numbers, emails, and websites of world embassies and consulates.
•
WWWomen Search Directory - comprehensive search engine. Includes resources for arts, business, computers, internet, education, feminism, health, lesbians,
magazines, shopping, fashion, sports, and more.
•
Yam Web Navigator@
•
Yep - surf engine based on quality and popularity.
•
Zebra - search South Africa.
•
ZenSearch
Copyright © 2000 Yahoo! Inc. All Rights Reserved. - Company Information
Anhang
95
9.1.2 Spider Spotting Chart
In der folgenden Tabelle werden für die in dieser Arbeit betrachteten Suchmaschinen
jeweils der Hostname sowie die Agentennamen, unter dem die Spider sich gegenüber
den Webservern identifizieren, aufgelistet. Mit Hilfe dieser Informationen ist es den
Betreibern von Websites möglich, den anfragenden Webclient als Suchmaschine zu
erkennen und so eventuell spezielle Seiten an den Spider zurückzugeben (vgl. Abschnitt
4.1.5).
Suchmaschine
Agent Names
Host Names
AltaVista
Scooter/2.0 G.R.A.B. X2.0
scooter.pa-x.dec.com
(normal)
Scooter/1.0 [email protected]
scooter*.av.pa-x.dec.com
AltaVista
Scooter/1.0
add-url.altavista.digital.com
(instant)
ww2.altavista.digital.com
Euroseek
Arachnoidea
*.euroseek.com
Excite
ArchitextSpider
crawl*.atext.com
ArchtextSpider
crimpshrine.atext.com
BackRub/2.1
*.stanford.edu
(mega spider)
Excite
(fresh spider)
Google
[email protected]
http://google.stanford.edu
Inktomi
Slurp/2.0 ([email protected])
(u.a. hotbot)
http://www.inktomi.com/slurp.html
Infoseek
InfoSeek Sidewinder/0.9
(normal)
Infoseek
(instant)
*inktomi.com
*.infoseek.com
204.162.98.90
Mozilla/3.01 (Win95;I)
*.infoseek.com
204.162.98.90
Anhang
Suchmaschine
Lycos
96
Agent Names
Lycos_Spider_(T-Rex)
(regular)
Lycos
Host Names
lycosidae.lycos.com
*.pgh.lycos.com
Lycos_Spider_(T-Rex)
*.sjc.lycos.com
Northern Light
Gulliver/1.2
taz.northernlight.com
WebCrawler
siehe Excite
siehe Excite
(Add URL spider)
Tabelle 10: Spider Spotting Chart
Anhang
97
9.2 HTTP-Header Informationen des Domino-Servers
In Abschnitt 3.2.1 wird im Rahmen der Problemanalyse untersucht, welche Werte für
die beiden HTTP-Header Last-Modified und Expires von dem Domino-Server in
Abhängigkeit von den verschiedenen Notes-Elementen und deren Webdarstellung zurückgegeben werden. Dabei wird eine einfache Notes-Datenbank, die alle zu suchenden
Elemente enthält, auf einen Domino-Server für den Webzugriff zur Verfügung gestellt.
Auf diese Weise können mit dem Netzwerkutility NetCat die einzelnen Notes-Elemente
vom Domino-Server angefordert und die zurückgegebenen HTTP-Header des DominoServers untersucht werden. Die Ergebnisse dieses Tests werden in Tabelle 3 auf Seite
40 zusammengefaßt. An dieser Stelle werden nun die HTTP-Header aufgeführt, auf
deren Basis die Ergebnisse für die Problemanalyse ermittelt werden.
Notes-Element
Vom Domino-Server zurückgelieferter HTTP-Header
(Darstellung)
HTTP/1.1 200 OK
Server: Lotus-Domino/Release
(normal)
Date: Thu, 07 Oct 1999 12:05:01 GMT
Connection: close
Content-Type: text/html; charset=US-ASCII
Content-Length: 554
HTTP/1.1 200 OK
Seite
Server: Lotus-Domino/Release
(Pass Thru HTML) Date: Thu, 07 Oct 1999 12:04:16 GMT
Connection: close
Content-Type: text/html; charset=US-ASCII
Content-Length: 462
Last-Modified: Thu, 07 Oct 1999 11:50:38 GMT
Expires: Thu, 07 Oct 1999 11:50:38 GMT
HTTP/1.1 200 OK
Dokument
Server: Lotus-Domino/Release
(normal)
Date: Thu, 07 Oct 1999 12:46:32 GMT
Connection: close
Content-Type: text/html; charset=US-ASCII
Content-Length: 619
HTTP/1.1 200 OK
Dokument
Server: Lotus-Domino/Release
(Pass Thru HTML) Date: Thu, 07 Oct 1999 12:51:35 GMT
Connection: close
Content-Type: text/html; charset=US-ASCII
Content-Length: 559
Last-Modified: Thu, 07 Oct 1999 12:08:13 GMT
Expires: Thu, 07 Oct 1999 12:08:13 GMT
HTTP/1.1 200 OK
Ansicht
Server: Lotus-Domino/Release
(normal)
Date: Thu, 07 Oct 1999 12:09:01 GMT
Seite
Anhang
98
Connection: close
Content-Type: text/html; charset=US-ASCII
Content-Length: 3099
Notes-Element
Vom Domino-Server zurückgelieferter HTTP-Header
(Darstellung)
HTTP/1.1 200 OK
Server: Lotus-Domino/Release
(Pass Thru HTML) Date: Thu, 07 Oct 1999 12:08:43 GMT
Connection: close
Content-Type: text/html; charset=US-ASCII
Content-Length: 1038
Ansicht
Ansicht
(Applet)
HTTP/1.1 200 OK
Server: Lotus-Domino/Release
Date: Thu, 07 Oct 1999 12:05:49 GMT
Connection: close
Content-Type: text/html; charset=US-ASCII
Content-Length: 1112
Tabelle 11: Liste der HTTP-Header in Abhängigkeit der Notes-Elemente
Anhang
99
9.3 Dokumentation des entwickelten Prototyps
Die hier vorliegende Dokumentation bezieht sich auf den im Kapitel 5 entwickelten
Prototyp. Die für den Proof of Concept durchgeführten Änderungen werden hier nicht
berücksichtigt, da in Abschnitt 5.5.1 bereits ausführlich darauf eingegangen wurde.
Mit Hilfe von Seiten wird ein Frameset generiert, daß der in Abschnitt 3.1.2 gegebenen
Definition entspricht. Dazu wird eine Seite („Start“) mit Pass Thru HTML benutzt, in
der das Frameset generiert wird. Zusätzlich wird im HTML-Bereich NoFrame der Link
auf die Suchseite eingefügt. Damit der Spider diesen verfolgen kann, wird der Meta-Tag
Robots für diese Seite lediglich auf NoIndex gesetzt. Da für die Seiten in den jeweiligen
Frames („NavFrame“, „TopFrame“, „Startseite“) dieser Tag auf None gesetzt ist, stellt
der Link auf die Suchseite den einzigen Weg für den Spider dar. Um zumindest eine
einfache Navigation zu ermöglichen, wurde in die Seite für den Navigationsframe eine
Ansicht mit Links auf alle Dokumenten („Nav“) eingebettet, während die Seite für den
Topframe die Image Map der aktuellen PowerPublishing-Version von NetFicient enthält.
Zur Konfiguration der Datenbank wird ein Dokument auf Basis der Maske „Setup“ generiert. Hier werden die spezifischen Meta-Informationen der Datenbank gespeichert.
Dazu werden in den entsprechenden Feldern die Schlüsselwörter sowie die Links auf
die jeweiligen Navigationsframes eingetragen.
Zum Erstellen von Webseiten dient die Maske „New“. Neben einigen Standardfeldern
wie Titel, Autor, Datum und Body enthält diese Maske weitere Felder, die zur Eingabe
von suchmaschinen-relevanten Informationen dienen:
-
Description
Kurze Beschreibung des Seiteninhalts zur Generierung der MetaTags Description und Summary. Dieses Feld ist als Mußfeld deklariert. Zudem wird der eingegebene Text automatisch auf die für
Suchmaschinen gebräuchlichen 255 Zeichen reduziert.
-
Keywords
Dropdown-Feld zur Eingabe der Schlüsselwörter, die im Meta-Tag
Keywords gesetzt werden. Die zur Auswahl stehenden Schlüssel-
wörter werden dabei über die @DbColumn-Anweisung erstellt, um
Konformität bezüglich der verwendeten Schlüsselwörter zu gewährleisten.
Anhang
-
Relevanz
100
Über dieses Feld wird die Information für den internen Meta-Tag
Relevance abgefragt. Der Benutzer kann dabei aus den vorgegebenen
Werten niedrig, mittel, hoch und sehr hoch wählen.
-
Index
Mit Hilfe dieser Checkbox kann der Benutzer angeben, ob diese Seite
indiziert werden soll. Dazu wird der Meta-Tag Robots gemäß diesem
Feldwert gesetzt.
In der Maskeneigenschaft HTML Head Content werden dann mittels der Feldwerte folgende Meta-Tags generiert: Robots, Description, Summary, Relevance,
Last_Modified, Author.
Wird eine Webseite aus einer anderen Datenbank referenziert, wird in der Datenbank,
die die Webseite enthält, ein spezielles Dokument („reference“) angelegt, in dem der
Name der referenzierenden Datenbank sowie die Notes-DocID in den entsprechenden
Feldern gespeichert wird. Um eine solche Referenzierung vorzunehmen, wird ein neues
Link-Dokument erzeugt, welches die entsprechende URL enthält.
Zu den drei beschriebenen Dokumententypen enthält die Datenbank die entsprechenden
Ansichten, die zum Zugriff auf die Dokumente, Referenzen und Links im Notes-Client
gedacht sind. Da sie darüber hinaus keine besonderen Funktionen aufweisen, müssen sie
an dieser Stelle auch nicht weiter erläutert werden.
Die für die Suchmaschinen bestimmte Suchansicht („search“) enthält entsprechend alle
Dokumente, die auf den Masken „New“, „reference“ und „link“ basieren. In der einzigen Spalte der Ansicht werden HTML-Links auf die Dokumente generiert. Für die Referenzdokumente wird zusätzlich der Name der refernzierenden Datenbank als Parameter übergeben. Um Probleme mit Suchmaschinen zu vermeiden, wird Ansicht auf Pass
Thru HTML gesetzt. Zusätzlich wird die Ansicht in eine Schablone eingebettet, die den
in Abschnitt 5.3 beschriebenen Next-Link enthält.
Zur Anzeige der Webseiten für die Suchmaschinen wird nicht die Maske „New“, sondern eine spezielle Maske („4search“) über die Form Formula Eigenschaft der Suchansicht benutzt. Diese Maske ist im Prinzip genauso aufgebaut wie die Maske „New“,
enthält aber einige zusätzliche Funktionen, die ausführlich in Kapitel 5 beschrieben
werden.
Anhang
101
9.4 Protokollierung des Proof of Concepts
9.4.1 Protokoll vom 30.09.1999
Datum:
30. September 1999, 10.00-16.00
Anwesende der Deutschen Bank AG: Arne Priewe, Jochen Kehr
Nach der Installation der Notes-Datenbanken und HTML-Dateien auf dem DominoServer wurde durch Herrn Kehr die Konfiguration des Verity-Spiders vorgenommen.
(siehe Abb. 26).
Abb. 26: Konfiguration der Verity-Suchmaschine
Für den Proof of Concept sind dabei folgende Einträge interessant:
-
Start-URL: Adresse für den Startpunkt des Spiders. In diesem Falle die IP-Adresse
des Domino-Servers (10.70.5.203) und der Name der Testdatenbank (proofofc.nsf).
-
Pretty Name of the Web-Server: Bezeichnung zur Identifikation des Servers in Verity.
Anhang
-
102
Web Server Software: Mehrere Auswahlmöglichkeiten wie z. B. Domino, Apache
etc., die wichtig für einige automatische Einstellungen von Verity sind. Wird hier
ein "normaler" Webserver gewählt, nimmt Verity zunächst eine Vollindizierung aller Seiten des Webservers vor. Bei späteren Durchläufen werden lediglich veränderte Seiten vom Spider weitergegeben. Im Falle eines Domino-Servers wird bei jedem Durchlauf ein neuer Index erzeugt. Für diesen Test wurde Verity nachträglich
allerdings so konfiguriert, daß lediglich ein Update vorgenommen wird, um das
Last-Modified Datum im HTTP-Header zu testen.
Erster Spiderdurchlauf:
Wie schon am Durchlauf der Logdatei ersichtlich ist, die bei jedem Spiderdurchlauf
erzeugt wird, brach der Spider aus der Datenbank aus und begann sämtliche Datenbanken im Root-Verzeichnis des Domino-Servers zu indizieren. Ursache hierfür ist, daß der
Spider für den Meta-Tag Robots den Parameter None nicht unterstützt. Das liegt daran, daß bei Verity der Spider diesen Meta-Tag vollständig ignoriert und erst der Indexer
kontrolliert, ob er diese Seite indizieren darf. In der nächsten Release von Verity soll
dieses Problem laut Herrn Kehr allerdings behoben werden.
Aufgrund dieser Problematik wurde der erste Testlauf abgebrochen und die Links aus
der Startseite auskommentiert.
Zweiter Testlauf:
Zusätzlich zu den oben genannten Änderungen wurden für diesen Durchlauf noch die
Exclude-Regeln von Verity verändert. Da die Datenbank eine saubere Lösung für Sektionen und kategorisierte Ansichten anbietet, wurden die Werte "Expand" und "Openview&Start=" aus der Exclude-Liste entfernt. Doch auch bei diesem Testlauf begann
der Spider andere Datenbanken zu durchsuchen.
Ursache: Da die Software so konfiguriert wurde (siehe oben), daß bei wiederholten
Durchläufen ein Update durchgeführt wird, geht der Spider nicht von der angegebenen
Startseite aus, sondern arbeitet automatisch alle bereits im Index befindlichen URLs ab.
Daher wurde Verity für einen wiederholten Testlauf angewiesen, eine komplette Neuindizierung vorzunehmen.
Dritter Testlauf:
Anhang
103
Dieser Test verlief auf den ersten Blick positiv. Die Liste der gefundenen Seiten sieht
wie folgt aus:
Abb. 27: Proof of Concept – Trefferliste vom 30.09.1999, Teil 1/2
Anhang
104
Abb. 28: Proof of Concept – Trefferliste vom 30.09.1999, Teil 2/2
Allerdings konnten anhand der Suchergebnisse folgende Fehler identifiziert werden, für
die es zum Teil keine unmittelbare Erklärung gab.
-
Keyword-Test wurde nur einmal indiziert.
-
Index-Test wurde indiziert.
-
About.html und die HTML-Page wurden nicht gefunden.
Lediglich für die Indizierung der Seite Index-Test konnte auf Anhieb eine Erklärung
gefunden werden, da der Robots-Tag auf dieser Seite noch immer auf None gesetzt
war. Leider konnten aus terminlichen Gründen keine weiteren Testläufe vorgenommen
werden, um die aufgetretenen Fehler näher zu untersuchen.
Fazit
Aufgrund der aufgetretenen Fehler bzw. unerklärbaren Phänomene ist eine eingehende
Analyse und ein anschließender weiterer Test erforderlich.
In dieser Analyse konnte die Ursache der Fehler ermittelt werden. Die Links in der
Trefferliste zeigen, daß der Spider nie in der Suchansicht gewesen ist. Auch beim drit-
Anhang
105
ten Suchlauf ist, wahrscheinlich aufgrund einer Fehlkonfiguration, kein neuer Index
angelegt worden, sondern es wurden die Ergebnisse aus dem ersten bzw. zweiten Testlauf benutzt.
Des weiteren haben Tests ergeben, daß bei der Rückgabe des reinen HTTP-Headers der
Meta-Tag HTTP-EQUIV von Domino ignoriert wird (siehe dazu auch Abschnitt 3.2.1).
9.4.2 Protokoll vom 24.11.1999
Datum:
24. November 1999, 10.00-12.00 Uhr
Anwesende der Deutschen Bank AG: Arne Priewe, Jochen Kehr
Für die wiederholten Tests wird Verity zunächst wie beim letzten Termin konfiguriert,
jedoch wird diesmal ein komplett neuer Index angelegt. Auch wird auf allen entsprechenden Seiten und Dokumenenten des Prototyps der Robots-Tag von None auf NoIndex gesetzt.
Aber auch diesmal brach der Spider aus dem Suchbaum aus. Anhand der Logdatei war
schnell ersichtlich, daß der Spider die beim letzten Versuch auskommentierten Links
auf der Startseite verfolgt hat. Darauf hin wurden diese komplett von der Seite entfernt,
und nach Löschung des erstellten Index ein neuer Suchlauf gestartet. Diesmal ergaben
sowohl die Logdatei als auch die Trefferliste der Suchmaschine die erwarteten Ergebnisse (vgl. die Abbildungen auf den folgenden Seiten und Abschnitt 9.4.3).
Anhang
106
Abb. 29: Proof of Concept – Trefferliste vom 24.11.1999, Teil 1/2
Anhang
107
Abb. 30: Proof of Concept – Trefferliste vom 24.11.1999, Teil 1/2
Anhang
108
9.4.3 Logdatei des Verity-Spiders
vspider - Verity, Inc. Version 3.6 (_rs6k41, Sep 23 1998)
Info
11/24 11:39:26 (ind012005) Vspider persistent storage file
</SEARCH/data/inbox/coll_80/indrwdb.dat> opened successfully.
ERROR
11/24 11:39:26 (ind001311) Couldn't lookup host <10.70.5.203> by address [1].
Info
11/24 11:39:26 (ind005005) Licensed for file walking.
Info
11/24 11:39:26 (ind005006) Licensed for local host spidering.
Info
11/24 11:39:26 (ind005007) Licensed for local domain spidering.
Info
11/24 11:39:26 (ind005008) Licensed for remote spidering.
Info
11/24 11:39:27 (ind012202) Analyzing vspider persistent storage --- This may take minutes if you
have a large collection.
Verbose 11/24 11:39:28 (ind010003) Submission enqueued: <http://10.70.5.203/proofofc.nsf/start>.
Progress 11/24 11:39:29 (ind031000) Inserting <http://10.70.5.203/proofofc.nsf/start>.
Verbose 11/24 11:39:31 (ind010003) Submission enqueued:
<http://10.70.5.203/proofofc.nsf/StartPage>.
Progress 11/24 11:39:31 (ind031000) Inserting <http://10.70.5.203/proofofc.nsf/StartPage>.
Verbose 11/24 11:39:35 (ind010003) Submission enqueued: <http://10.70.5.203/proofofc.nsf/search>.
Progress 11/24 11:39:35 (ind031000) Inserting <http://10.70.5.203/proofofc.nsf/search>.
Verbose 11/24 11:39:39 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/BB385CE48592116CC12567E6005AA686?OpenDocument>.
Progress 11/24 11:39:39 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/BB385CE48592116CC12567E6005AA686?OpenDocument>.
Verbose 11/24 11:39:43 (ind010004) Skipping key
<http://10.70.5.203/ProofofC.nsf/Search/ffec85358a6d65b6c12567ee004d6a2d?OpenDocument&Expand
Section=1> because of VdkVgwKey.
Verbose 11/24 11:39:43 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/FFEC85358A6D65B6C12567EE004D6A2D?OpenDocument>.
Progress 11/24 11:39:44 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/FFEC85358A6D65B6C12567EE004D6A2D?OpenDocument>.
Verbose 11/24 11:39:47 (ind010003) Submission enqueued: <http://10.70.5.203/about.html>.
Progress 11/24 11:39:47 (ind031000) Inserting <http://10.70.5.203/about.html>.
Verbose 11/24 11:39:51 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/BB385CE48592116CC12567E6005AA686?OpenDocument&da
tabase=Test.nsf>.
Progress 11/24 11:39:51 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/BB385CE48592116CC12567E6005AA686?OpenDocument&da
tabase=Test.nsf>.
Verbose 11/24 11:39:55 (ind010003) Submission enqueued:
<http://10.70.5.203/proofofc.nsf/HTMLPage?OpenPage>.
Progress 11/24 11:39:55 (ind031000) Inserting
<http://10.70.5.203/proofofc.nsf/HTMLPage?OpenPage>.
Verbose 11/24 11:39:59 (ind010003) Submission enqueued:
<http://10.70.5.203/proofofc.nsf/AttachmentPage?OpenPage>.
Progress 11/24 11:40:00 (ind031000) Inserting
<http://10.70.5.203/proofofc.nsf/AttachmentPage?OpenPage>.
Anhang
109
Verbose 11/24 11:40:03 (ind010003) Submission enqueued:
<http://10.70.5.203/proofofc.nsf/StartPage?OpenPage>.
Progress 11/24 11:40:04 (ind031000) Inserting <http://10.70.5.203/proofofc.nsf/StartPage?OpenPage>.
Verbose 11/24 11:40:07 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/93FF9F39F452D8E2C12567FB00811466?OpenDocument>.
Progress 11/24 11:40:08 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/93FF9F39F452D8E2C12567FB00811466?OpenDocument>.
Verbose 11/24 11:40:11 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/CCD783745ED3C516C12567FB00813760?OpenDocument>.
Progress 11/24 11:40:12 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/CCD783745ED3C516C12567FB00813760?OpenDocument>.
Verbose 11/24 11:40:15 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/CF32B172D7A807DAC12567FB00816886?OpenDocument>.
Progress 11/24 11:40:15 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/CF32B172D7A807DAC12567FB00816886?OpenDocument>.
Verbose 11/24 11:40:19 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/7855DA0624D025CDC12567FB00819E00?OpenDocument>.
Progress 11/24 11:40:20 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/7855DA0624D025CDC12567FB00819E00?OpenDocument>.
Verbose 11/24 11:40:23 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/7FD6CED444CF6E1EC12567FB0081BF48?OpenDocument>.
Progress 11/24 11:40:24 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/7FD6CED444CF6E1EC12567FB0081BF48?OpenDocument>.
Verbose 11/24 11:40:27 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/8BA52E230EABF965C12567FB0081D0FA?OpenDocument>.
Progress 11/24 11:40:28 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/8BA52E230EABF965C12567FB0081D0FA?OpenDocument>.
Verbose 11/24 11:40:32 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/B21353083FB891ADC12567FB0081EF97?OpenDocument>.
Progress 11/24 11:40:32 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/B21353083FB891ADC12567FB0081EF97?OpenDocument>.
Verbose 11/24 11:40:36 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/BF8939C78BB04D3DC12567FB00820207?OpenDocument>.
Progress 11/24 11:40:36 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/BF8939C78BB04D3DC12567FB00820207?OpenDocument>.
Verbose 11/24 11:40:40 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/Search/8235767E6EFFBB1CC12567FB00821DDF?OpenDocument>.
Progress 11/24 11:40:40 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/Search/8235767E6EFFBB1CC12567FB00821DDF?OpenDocument>.
Verbose 11/24 11:40:43 (ind010003) Submission enqueued:
<http://10.70.5.203/proofofc.nsf/HTMLPage/$file/about.html>.
Progress 11/24 11:40:44 (ind031000) Inserting
<http://10.70.5.203/proofofc.nsf/HTMLPage/$file/about.html>.
Verbose 11/24 11:40:48 (ind010003) Submission enqueued:
<http://10.70.5.203/proofofc.nsf/d63f97457116a3a1c12567fb0079e691/$FILE/1-Introduction.PDF>.
Progress 11/24 11:40:48 (ind031000) Inserting
<http://10.70.5.203/proofofc.nsf/d63f97457116a3a1c12567fb0079e691/$FILE/1-Introduction.PDF>.
Anhang
110
Verbose 11/24 11:40:52 (ind010003) Submission enqueued:
<http://10.70.5.203/ProofofC.nsf/d31337db51a63fc1c12567f2007f98e4/93ff9f39f452d8e2c12567fb0081
1466/$FILE/webguide.pdf>.
Progress 11/24 11:40:53 (ind031000) Inserting
<http://10.70.5.203/ProofofC.nsf/d31337db51a63fc1c12567f2007f98e4/93ff9f39f452d8e2c12567fb0081
1466/$FILE/webguide.pdf>.
Progress 11/24 11:40:55 (ind010014) Vspider task summary: 22 documents submitted, 0 keys skipped, 0
keys failed.
Verbose 11/24 11:40:56 (ind002103) Inserting 10 keys from BIF
</SEARCH/data/inbox/coll_80/temp/ecb00001.bif> to VDK.
Verbose 11/24 11:40:57 (ind002103) Inserting 12 keys from BIF
</SEARCH/data/inbox/coll_80/temp/ecb00007.bif> to VDK.
Verbose 11/24 11:41:02 (ind002118) Vdk Collection: 10 keys processed.
Progress 11/24 11:41:02 (ind002115) Optimizing VDK collection </SEARCH/data/inbox/coll_80>.
Warn
11/24 11:41:03 (ind002002) VDK: Warn E2-0526 (Document Index): Document 12
(http://10.70.5.203/ProofofC.nsf/d31337db51a63fc1c12567f2007f98e4/93ff9f39f452d8e2c12567fb00811
466/$FILE/webguide.pdf): Sentence 1 in paragraph 0 has more than 255 words - splitting sentence..
Verbose 11/24 11:41:04 (ind002118) Vdk Collection: 12 keys processed.
Progress 11/24 11:41:04 (ind002115) Optimizing VDK collection </SEARCH/data/inbox/coll_80>.
vspider done