4 TECHNISCHES KONZEPT


4.1 SYSTEMARCHITEKTUR

Die Applikation basiert auf einer Standard 3-Schichten Architektur:

PRÄSENTATIONSSCHICHT
HTML-Präsentation des persönlichen Suchresultates. Die Suchbegriffe werden als GET-Parameter an die Webapplikation übergeben. Unmittelbar darauf wird der von der MAGISCHEN BIBLIOTHEK gefundene Titel dargestellt. Die Buchstaben der Suchbegriffe werden innerhalb des Titels zur besseren Lesbarkeit hervorgehoben.
Die Präsentation aller Suchresultate der MAGISCHEN BIBLIOTHEK erfolgt mittels Leuchtdioden-Laufschriften über eine RS845-Schnittstelle. Hier werden die Suchresultate der MAGISCHEN BIBLIOTHEK für alle Suchanfragen der Konstanzer Bibliothek sichtbar.

SYSTEMKONTROLLE
Der Programmfluss wird durch das Applikationsframework jPublish mittels Action-Klassen gesteuert. Auf dieser Ebene wird der Workflow einer Suchanfrage gesteuert.

DATENMODELL
In Java geschriebenes Objektorientiertes Datenmodell.
Kern bildet die Repräsentation eines Buches und der Buchmanager, welcher für das Suchen des Buches zuständig ist. Hier befindet sich der Suchalgorithmus der MAGISCHEN BIBLIOTHEK.

DATENHALTUNG
Kapselung der Buchtiteldatenbank durch die Verwendung einer Datenbankabstraktionsschicht (Object-Relational Mapping).
Die Buchtitel werden in einer Relationalen Datenbank gehalten.


4.2 USE CASES

USE CASE 1
Verwertung aller Suchanfragen für den TITELLAUF.
Über die Titelstichwortsuche versucht eine Person ein Buch zu finden. Nach dem Übertragen der Suchanfrage erhält die Person eine Liste der Bücher oder direkt das gefundene Buch.
Die Person fährt ohne etwas von dem TITELLAUF oder der MAGISCHEN BIBLIOTHEK zu wissen weiter in ihrem Arbeitsablauf. Im Hinergrund jedoch wird die Suchanfrage der Person an die MAGISCHE BIBLIOTHEK weitergegeben. Der von der MAGISCHEN BIBLIOTHEK gefundene Titel manifestiert sich auf den LED-Panels der Installation TITELLAUF.

USE CASE 2
Anzeige des persönlichen Suchresultates der MAGISCHEN BIBLIOTHEK.
Über die Titelstichwortsuche versucht eine Person ein Buch zu finden. Nach dem Übertragen der Suchanfrage erhält die Person eine Liste der Bücher oder direkt das gefundene Buch. Auf der selben Seite ist der Link zur MAGISCHEN BIBLIOTHEK integriert.
Die Person wählt den Link der MAGISCHEN BIBLIOTHEK an. Mit dem Link werden ihre Suchstichworte an die MAGISCHE BIBLIOTHEK weitergegeben. Es erscheint ein Fenster mit dem Titel, welcher die MAGISCHE BIBLIOTHEK für diese Suchstichworte gefunden hat. Die Person schliesst das Fenster der MAGISCHEN BIBLIOTHEK und fährt in ihrem Arbeitsfluss weiter. Im Hintergrund wird der von der MAGISCHEN BIBLIOTHEK gefundene Titel auf der Installation TITELLAUF angezeigt.


4.3 SYSTEMSCHNITTSTELLEN

SYSTEMSCHNITTSTELLEN USE CASE 1
Über jede Suchanfrage führt das Bibliothekssystem der Universität Konstanz ein Journal. Das Bibliothekssystem stellt diese Anfragen fortlaufend der MAGISCHEN BIBLIOTHEK zur Verfügung. Dies kann über ein asynchroner HTTP/HTTPS oder SSH basierter Service in einem Pull- oder Push-Verfahen geschehen. Asynchron bedeutet in diesem Zusammenhang, dass das Bibliothekssystem nicht darauf wartet, irgendwelche Daten von der MAGISCHEN BIBLIOTHEK zu erhalten, sondern sofort mit ihrer Arbeit weiterfährt. In einem Pull-Verfahren fragt ein regelmässiger Prozess der MAGISCHEN BIBLIOTHEK das Bibliothekssystem der Universität nach neuen Suchstichworten ab. Beim Push-Verfahren teilt das Bibliothekssystem der Universität solche neuen Suchstichworte dem System der MAGISCHEN BIBLIOTHEK aus eigener Initiative mit.
Beide Varianten sind gut umsetzbar - favorisiert ist ein Push-Verfahren. In beiden Fällen ist die Koppelung des Bibliothekssystems mit der MAGISCHEN BIBLIOTHEK minimal. Ein Systemausfall oder ein Problem auf Seiten der MAGISCHEN BIBLIOTHEK hat keinen Einfluss auf Funktionen der Bibliothek der Universität.


System-Schema:


SYSTEMSCHNITTSTELLEN USE CASE 2
Die Suche nach einem Titel in der MAGISCHEN BIBLIOTHEK wird über eine URL ausgelöst. Mit dem Parameter ‚magicword’ der URL werden die Suchbegriffe übertragen. Beispiel:

http://www.titellauf.net/magicLibrary/titel.html?magicword=Bild

Diese URL muss auf der Suchresultatsseite des Bibliothekssystems der Universität eingebettet werden. Diese Seite wird dynamisch vom Skript allegro.pl generiert, welches ein Bestandteil des acwww25-Webinterfaces ist. Für die Einbettung des Links kommen zwei Varianten in Frage:
Variante 1: Der Link wird im Seitenheader des allegro.pl-Skriptes integriert. Dies ist jedoch ein statisches Stück HTML-Code. Der Link muss daher auf dem Browser des Benutzers mittels JavaScript aus der Seite die relevanten Suchbegriffe herauslesen und zusammensetzen. Dies ist mit modernen Browsern möglich, da für diese Lösung spezielle JavaScript-Funktionen notwendig sind (ab Internet Explorer 5, Netscape 7, Mozilla).
Variante 2: Der Link wird im Skript allegro.pl direkt integriert. Dieses Skript generiert den dynamischen Teil der Bibliotheksseite, das heisst die Liste der gefundenen Bücher oder das Buch selbst. In diesem Skript sind die Suchbegriffe direkt verfügbar. Es ist somit sehr einfach möglich, die oben beschriebene URL dynamisch mit den Suchbegriffen zu generieren. Diese Lösung funktioniert auch mit älteren Browserversionen, da auf dem Browser kein JavaScript ausgeführt werden muss.
In beiden Fällen sind die beiden Systeme, das der Universität Konstanz und das der MAGISCHEN BIBLIOTHEK vollkommen entkoppelt. Erst durch das manuelle Benutzen des Links wird der Kontext des Benutzers auf die MAGISCHE BIBLIOTHEK übertragen. Die Einbettung des Links mit der Variante 1) sowie der Variante 2) sind einmalige Eingriffe in das Bibliothekssystem der Universität. Sie haben keine Auswirkung auf die Performanz des Bibliothekssystems.

 

Die folgenden rot markierten Seiten enthalten unseren Link:

 

4.4 SOFTWARE

SUCHALGORITHMUS
Um in der Datenbank der MAGISCHEN BIBLIOTHEK nach einem Titel zu suchen, werden die Suchbegriffe der Suchanfrage so modifiziert, dass zwischen jedem Buchstaben eines Begriffes ein %-Zeichen eingeschoben wird. Dieses %-Zeichen wird von der Datenbank als beliebig viele beliebige Zeichen interpretiert. Somit findet die Datenbank alle Titel, in denen diese Buchstaben in der richtigen Reihenfolge auftreten, dazwischen aber beliebige Zeichenfolgen stehen. Beispiel:

Suchbegriff: ‚sammeln’
Modifizierter Suchbegriff: ‚%s%a%m%m%e%l%n%’
Gefundener Titel: Magisch angezogen. Mode – Medien – Markenwelten.

Werden von der Datenbank mehrere Buchtitel gefunden, so wird zufällig aus dieser Menge ein Titel herausgesucht. Ein mehrmaliges Suchen in der MAGISCHEN BIBLIOTHEK nach dem selben Suchbegriff bringt also immer wieder neue Titel zum Vorschein.
Bei der Verwendung von mehreren Suchbegriffen kann es vorkommen, dass kein Titel in der MAGISCHEN BIBLIOTHEK gefunden wird. Der Algorithmus versucht dann solange die Liste der Suchbegriffe zu verkürzen, bis ein Treffer erzielt ist.
Kann kein Titel gefunden werden, so wird dies dem Benutzer des Netzbeitrages mitgeteilt. In der Installation TITELLAUF wird eine solche erfolglose Suche ignoriert, das heisst, es wird nichts angezeigt.

DATENBANK
Das Datenbankschema besteht im Wesentlichen aus der Tabelle 'book':

CREATE TABLE book (
book_id bigint(20) NOT NULL default '0',
title char(255) default NULL,
PRIMARY KEY (book_id),
KEY title (title),
FULLTEXT KEY title2 (title)
) TYPE=MyISAM;

Die Tabelle besteht lediglich aus den Buchtiteln und einer System-Identifikationsnummer. Alle anderen Informationen, welche in der Bibliotheksdatenbank der Universität zusätzlich gespeichert sind, werden in der MAGISCHEN BIBLIOTHEK nicht verwendet. Zusätzlich verfügt die Tabelle über zwei Indizes, einem normalen Textindex und einem Volltextindex. Diese Indexe sind notwendig, um verschiedene Suchalgorithmen auf ihre Effizienz untersuchen zu können. Die Länge des Titels ist auf 255 Zeichen fix festgelegt, um die Geschwindigkeit der Datenbank zu erhöhen.

Für den Betrieb der MAGISCHEN BIBLIOTHEK muss diese Datenbank in einem einmaligen Prozess mit den Original-Buchtiteln der Konstanzer Bibliothek gefüllt werden. Dafür müssen die Buchtitel aus dem Ursprungssystem exportiert, aufbereitet und anschliessend in das Zielsystem importiert werden. Neue Buchtitel könnten nachträglich ebenfalls in die MAGISCHE BIBLIOTHEK übernommen werden. Für den Kunstbeitrag ist dies jedoch nicht fortlaufend notwendig. Es genügt ein Up-dating nach vielleicht zwei Jahren.

Die Datenbank der Bibliothek Konstanz umfasst ca. 1.5 Millionen Buchtitel. Unserer Prototyp-Implementation ist mit einem fikitven Buchbestand von ca. 900'000 Titeln getestet. Obwohl noch keine Optimierungen an der Datenbank und dem Programmcode vorgenommen wurden, sind die Suchzeiten des Systems sehr befriedigend. Wir gehen daher davon aus, dass unser System der Datenmenge des Konstanzer Buchbestandes gewachsen ist.

FREMDSOFTWARE UND LIZENZEN
Das System wurde in Java 1.4.1 entwickelt und basiert auf der Java 2 Enterprise Edition-Spezifikation (J2EE). Die Installation verwendet ausschliesslich Open-Source-Software:

Tomcat (Applikationsserver)
JPublish (Applikationsframework)
Hibernate (Datenbankabstraktionslayer)
MySQL (Datenbankserver)
Linux (Betriebssystem)

Die Verwendung von Open-Source-Software erlaubt die Kosten für die Entwicklung und den Betrieb sehr gering zu halten, da keinerlei Lizenzkosten anfallen. Der Einsatz von Linux als Betriebssystem, unterstützt zudem die Sicherheit des Systems optimal, da für dieses System diverse Sicherheitstools wie eine Firewall ebenfalls unter einer kostenlosen Lizenz verfügbar sind, und das System als sehr stabil und sicher gilt.


4.5 HARDWARE UND INSTALLATION

COMPUTERHARDWARE
Die Anforderungen der MAGISCHEN BIBLIOTHEK an den Computer sind sehr moderat. Jeder handelsübliche PC verfügt über genügend Rechenkapazität, um die Suchanfragen durchführen zu können. Optimale Ergebnisse werden erzielt durch den Einsatz von genügend Arbeitsspeicher (1 GB).


Netzwerk-Schema:

 

LED-PANELS
Die LED-Panels werden von der Firma UNITRON eloctronics AG (Niederbuchsitten/BE, SCHWEIZ) nach Mass gefertigt. Die fünf Panels werden über eine RS485-Schnittstelle miteinander verbunden und als ein grosser mehrzeiliger Panel konfiguriert. Das Fliessen des Textes von einem Panel zum nächsten wird somit von der Hardware selbst erledigt und muss nicht programmiert werden.
Die Steuerung der Panels erfolgt über die Parallel-Port-Schnittstelle des Computers. Zu diesem Zweck stellt die Firma UNITRON das verwendete Protokoll der LED-Panels zur Verfügung.

INSTALLATION DER HARDWARE
Die LED-Laufschriften haben folgende Abmessung: 600 cm Länge x 24 cm Höhe x 8,5 cm Tiefe. Die Anordnung der Leuchdioden erlaubt einzeilige Schriften. Die Farbe ist rot, mit einem Helligkeitsparameter von ca 800 mcd.
Die LED-Panels müssen mit Schrauben an der Wand fest montiert werden. Jeder Panel muss an das 220Volt-Stromnetz angeschlossen werden. Die Panels untereinander sind über RS485 Kabel miteinander verbunden.
Mittels eines RS485- zu RS232-Konverters (Standard Parallel-Port) werden die LED-Panels an den Computer angeschlossen. Der Computer steht idealerweise in der Nähe der installierten Panels. Über die RS485-Leitung können bei Bedarf jedoch auch grössere Distanzen überwunden werden.
Der Computer muss vor dem Zugriff unberechtigter Personen geschützt sein. Während des Betriebs muss kein Bildschirm angeschlossen sein. Die Wartung erfolgt über das Netzwerk.

Die Kommunikation zwischen dem Bibliothekssystem und dem Computer der MAGISCHEN BIBLIOTHEK erfolgt über TCP/IP. Der Computer benötigt dazu einen Zugang zum Netzwerk der Universität und eine fixe IP-Adresse.

PROTOTYP
Es wurde ein Prototyp entwickelt, welcher die HTML-Repräsentation der MAGISCHEN BIBLIOTHEK vollumfänglich abdeckt. Die Datenbank enthält zu diesem Zweck 900’000 künstlich generierte Titel aus zufällig gewählten Wörtern eines deutschen Wörterbuches. Für die Demonstration der MAGISCHEN BIBLIOTHEK wird die Bibliothekssuche der Universität Konstanz auf unserem Server simuliert. Auch wenn mit dieser Simulation keine sinnvollen Sätze zusammengestellt wurden, kann doch ein realitätsnaher Eindruck der späteren Installation vermittelt werden.

Der Prototyp kann unter http://www.titellauf.net/magicLibrary/ getestet werden.