Client-Guide Release 1.1 Dipl.-Inf. Stefan Freitag (Universität Leipzig) Stand: 01.08.2008 Inhalt 0. Zusammenfassung .............................................................................................................................. 3 1. Installation des Clients........................................................................................................................ 4 2. Einstellungen der Filemaker-Datenbank ............................................................................................ 5 3. Konfiguration des Clients.................................................................................................................... 7 4. Starten des Clients .............................................................................................................................. 8 5. Technische Informationen .................................................................................................................. 9 5.1 Zuweisung von Feldern aus der Datenbank ................................................................................. 9 5.1.1 Einstellen der Suchschärfe ....................................................................................................... 10 5.2 Die Properties-Datei .................................................................................................................... 10 5.3 Datenanbindung zwischen Client und Portal ............................................................................. 10 5.4 Datenbankzugriffe ...................................................................................................................... 11 2 0. Zusammenfassung Dieses Programm wurde für die Anbindung einer Filemaker-Datenbank an das MyCoRe-System entwickelt. Über den mitgelieferten JDBC-Treiber der Filemaker-Datenbank werden die Daten über Standard-SQL-Befehle abgerufen. Eine TCP/IP-Verbindung realisiert den Datenaustausch mit der entfernten MyCoRe-Anwendung "Papyrusportal". Dieses Programm kann ausschließlich lesend auf die Datenbank zugreifen. Es werden keine Modifikationen, Updates, Löschungen oder anderweitige datenmanipulierende Zugriffe auf die Datensätze unterstützt oder ausgeführt. 3 1. Installation des Clients Das Clientprogramm benötigt für den Betrieb eine Java Virtual Machine (JVM). Bei den meisten Computersystemen ist eine JVM bereits vorinstalliert. Sie können dies über den Befehl „java version“ in der Kommandokonsole überprüfen. Sollte hier keine Version gefunden werden, so können Sie das Java-Paket aus dem Internet manuell nachinstallieren (http://java.sun.com). Das Clientprogramm selbst kann bequem per Doppelklick auf die entsprechende JAR-Datei installiert werden (client-Sammlungsname-install.jar). Danach erfolgt eine teilautomatisierte interaktive Installation. Hier haben Sie die Möglichkeit einen Installationspfad zu wählen und Entscheidungen über die Installationsauswahl zu treffen (Core Kern, erforderlich; Source Quellcode, nicht erforderlich). Hinweis: In den bereits absolvierten Tests hat es mit der Software keinerlei Probleme gegeben, ein Risiko für einen Datenverlust kann ausgeschlossen werden. Trotzdem sollten Sie vor Inbetriebnahme des Clients eine Sicherheitskopie ihrer Datenbank(en) anfertigen. 4 2. Einstellungen der Filemaker-Datenbank Damit eine Kommunikation zwischen Client und Datenbank stattfinden kann, müssen Einstellungen im Filemaker-Programm getroffen werden. Abbildung 1: Menüauswahl für das JDBC-Sharing Abbildung 1 zeigt den Auswahlpunkt „ODBC/JDBC“ im Menü „Datei“. Die Filemaker-Datenbank besitzt die Möglichkeit, Informationen aus einer Datenbank über eine Schnittstelle anzubieten. Diese Option muss allerdings vorher aktiviert werden. Öffnen Sie dazu die Datenbank(en) und rufen Sie das ODBC/JDBC-Menü aus dem Sharing-Bereich auf. Hier finden Sie zunächst die geöffneten Datenbanken im linken Fenster. Wählen Sie nun die Datenbanken aus und stellen Sie den Schalter „ODBC/JDBC-Sharing“ auf „Ein“ (siehe Abbildung 2). 5 Abbildung 2: Sharing-Fenster (ohne geöffnete Datenbank) Für den Betrieb sind zusätzlich die Tabellennamen der Datenbanken relevant (siehe Punkt 3: Konfiguration des Clients). Abbildung 3: Datenbankverwaltung Um den Tabellennamen zu identifizieren rufen Sie das Menü „Datei“ mit dem Unterpunkt „Verwalten“ auf. Wählen Sie dort den Eintrag „Datenbank“. Sie erhalten dann ein ähnliches Fenster wie in Abbildung 3 zu sehen ist. Im Reiter „Felder“ erscheint oben im Pulldown-Menü der Tabellenname. Er wird zwingend für die Konfiguration des Clients benötigt. 6 3. Konfiguration des Clients Die Client-Programme für die jeweiligen Sammlungen sind bereits vorkonfiguriert. Einzig die Angaben für den Benutzernamen, das Passwort und der Datenbank-Tabellenname sind nachzutragen. Nach dem ersten Start des Clients erscheint dafür ein Popup-Fenster mit einer kurzen Beschreibung. Hier lautet die Abfolge: „username“, „password“ und „database“. Für die Sammlung in Heidelberg folgt zudem noch die Abfrage für „database2“ und „database3“. Abbildung 4: Das Popup-Fenster erwartet den Benutzernamen. Neben den genannten Einstellungen existiert eine Konfiguration für die Feldnamen innerhalb der Datenbanken. Dies ist bei der Auslieferung bereits fest eingerichtet. Sollte es eine inhaltstechnische Änderung an der Datenbankstruktur geben, so kann hier eine Korrektur durchgeführt werden. Eine detailierte Feldnamenauflistung findet sich unter Punkt 5: Technische Informationen. In der Konfiguration existieren zwei „Joker“-Feldnamen, die momentan keine Belegung besitzen. Sollte im Laufe des Projektes die Notwendigkeit einer zusätzlichen Feldinhaltsausgabe auftreten, so kann mittels eines Jokers die Ausgabe und Abfrage realisiert werden. 7 4. Starten des Clients Im Installationsverzeichnis des Clientprogramms findet sich ein Unterordner „bin“. Über die dortige Datei „clientstart.jar“ kann via Doppelklick der Client aktiviert werden. Achten Sie bitte darauf, dass die Filemaker-Datenbank(en) vor dem Start des Clients arbeiten. Andernfalls informiert Sie das Clientprogramm mit einer Popup-Warnung über die fehlende Datenquelle. Sobald die Datenbank(en) gestartet sind, nimmt der Client dann seine Arbeit wieder auf. Beachten Sie bitte auch, dass der Client manuell nach einem Neustart des Computers gestartet werden muss. Selbstverständlich besteht die Möglichkeit die „clientstart.jar“ automatisiert aufrufen zu lassen. Von der Installation her ist dies aber nicht vorgesehen. Für einen korrekten Betrieb des Clients werden vier offene Ports zum Internet benötigt. In Punkt 5: Technische Informationen finden Sie die genauen Portnummern. Die Arbeit des Clients können Sie mit Hilfe einer integrierten Monitoring-Anwendung kontrollieren. Nach dem erfolgreichen Start des Clientprogramms kann der Monitor über einen Browser und der Adresse http://localhost:55556 erreicht werden. Sollte hier keine Seite verfügbar sein lässt dies auf eine Fehlfunktion des Clients schließen. Hinweis: Bevor Sie den Client starten, stellen Sie bitte sicher, dass keine weitere Instanz des Programms aktiv ist. Andernfalls kommt es zu einem Programmabsturz des Clients! 8 5. Technische Informationen 5.1 Zuweisung von Feldern aus der Datenbank Das Papyrusportal erfasst 13 Feldern für die Anzeige von gefundenen Datensätzen. Dazu zählt: - Inventarnummer Sammlung Sprache Textart Titel Datierung Herkunft-Gau Herkunft-Ort Material Inhalt Publikationsnummer Statischer Link Weitere Links (suchbar) (suchbar; kein Feld, wird vom Portal vorgegeben) (suchbar) (suchbar) (suchbar) (suchbar) (suchbar) (suchbar) (suchbar) (suchbar) Um über den Client an die Daten zu gelangen, wird über die JDBC-Schnittstelle eine SQL-Verbindung aufgebaut. Jedes Datenfeld besitzt eine spezielle Identifikationsnummer, über die dann die Feldinhalte zugreifbar sind. Dabei kann diese ID von Sammlung zu Sammlung unterschiedlich sein, abhängig von dem strukturellen Aufbau der Datenbank. Eine Zuordnung zwischen Feldname und Identifikationsnummer befindet sich in der „config_sammlung.xml“-Datei („sammlung“ steht für die jeweilige Institution), die sich im „config“Ordner befindet. Diese stellt sich wie folgt dar: <?xml version="1.0" encoding="UTF-8"?> <configuration> <dating params/> <language params/> <inventory_number>value</inventory_number> <collection>value</collection> <type_of_text>value</type_of_text> <title>value</title> <provenance_place>value</provenance_place> <provenance_area>value</provenance_area> <material>value</material> <content>value</content> <publication>value</publication> <joker1>value</joker1> <joker2>value</joker2> 9 <sharpness>value</sharpness> </configuration> 5.1.1 Einstellen der Suchschärfe In der Datei „config_sammlung.xml“ befindet sich neben den Einträgen für die Suchfelder auch ein Eintrag für die Genauigkeit der Datumssuche. Das Schlüsselwort „sharpness“ definiert die Toleranz, die bei der Suche nach einer Datierung hinzugefügt werden soll. Die Portalbetreiber haben eine NullToleranz festgelegt; jede Suche befindet sich damit in exakt den eingegebenen Grenzen. Eine Änderung des voreingestellten Wertes bewirkt eine Grenzverschiebung um die angegebene Zahl in Jahren. Die Einstellung „<sharpness>10</sharpness>“ modifiziert beispielsweise die Suchgrenzen um jeweils 10 Jahre. Das heißt 10 Jahre vor dem eingegebenen Start-Datum und 10 Jahre nach dem eingegebenen End-Datum. 5.2 Die Properties-Datei Im „config“-Ordner befindet sich neben der Konfigurationsdatei „config-sammlung.xml“ auch die „properties.xml“-Datei. Diese enthält alle relevanten Informationen über die Datenbankanbindung. Im Einzelnen sind das der Benutzername, das Passwort und der/die Datenbankname(n). <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>Propertylist for database used by client.</comment> <entry key="password">password</entry> <entry key="database3"/> <entry key="database2"/> <entry key="database">UB_Sammlung</entry> <entry key="username">username</entry> </properties> 5.3 Datenanbindung zwischen Client und Portal Die Kommunikation zwischen dem Portalserver in Leipzig und den angeschlossenen Clients erfolgt über das Hypertext Transfer Protocol (HTTP) und das Transmission Control Protocol / Internet Protocol (TCP/IP). Für einen reibungslosen Betrieb benötigt das Clientprogramm vier offene Ports auf diesen Protokollen: Port 55554 55555 55556 55557 10 Nutzung Datensatzbereitstellung (HTTP) Portal-Datenbank-Zugang (TCP/IP) Monitoring (HTTP) Debug-Schnittstelle (TCP/IP) Normalerweise sollten diese Ports standardmäßig offen sein. Durch den Einsatz von Firewalls oder durch die Rechenzentren kann es aber sein, dass kein Zugriff möglich ist. Bitte wenden Sie sich in diesem Fall an das Rechenzentrum ihrer Institution und/oder prüfen Sie die Einstellung ihrer Firewall. 5.4 Datenbankzugriffe Filemaker benötigt für eine Datenbereitstellung über JDBC-Schnittstelle einen Benutzernamen und ein Passwort für eine Datenbank, die über den Tabellennamen definiert wird. Diese Informationen werden beim ersten Start des Clients von Ihnen abgefragt und in der Datei „properties.xml“ im „config“-Ordner gespeichert. Sollte eine nachträgliche Änderung vorzunehmen sein, dann löschen Sie bitte die Datei komplett, oder modifizieren Sie die dort befindlichen Einträge. Beachten Sie bitte, dass das Datenbank-Passwort im Klartext in der Datei gespeichert ist. Dies erfolgt aus technischen Gründen. Die Betreiber des Papyrusportals oder der Entwickler des Clientprogrammes haben jedoch keinerlei Kenntnis oder Möglichkeit, dieses Passwort auszulesen. Der Zugriff auf die Datensätze erfolgt im Client über die Structured Query Language (SQL). Die Suchanfragen werden in Echtzeit mit den Datensätzen abgeglichen. Bei dem Programmstart des Clientprogrammes wird eine Inventarliste erzeugt, die eine Zuordnung zwischen Inventarnummer und Datensatzidentifikationsnummer enthält. Hierüber werden später die Anfragen für die Trefferlisten vom Portal beantwortet. In Abhängigkeit der Anzahl der Datensätze und der Rechnerperformance kann die Erstellung der Liste einige Sekunden bis Minuten beanspruchen. Die Clients können ausschließlich lesend auf die Datensätze zugreifen. Es sind keine Methoden für manipulative Interaktionen mit den Daten integriert. 11