170 likes | 360 Views
allegro Expertentreffen, 9. – 11. Juni 2005. Universitätsbibliothek Braunschweig. allegro meets Internet Avanti und Z39.50 Martin Butkus <mb@biblio.tu-bs.de>. http://www.allegro-c.de/. allegro Expertentreffen, 9. – 11. Juni 2005. Universitätsbibliothek Braunschweig.
E N D
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig allegro meets Internet Avanti und Z39.50 Martin Butkus <mb@biblio.tu-bs.de> http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Avanti - allegro meets Internet • Datenbank-Server für allegro-Datenbanken • Online-Katalog¹ (WWW) • Z39.50-Schnittstelle² • Für Programmierer: Einfacher Zugriff auf allegro-DB aus eigenen Programmen / Skripten • Abfragesprache: FLEX ; Netzprotokoll: TCP/IP • ¹ Zusatzsoftware “phpac” benötigt (o.a.) • ² Zusatzsoftware “z3950” benötigt http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Web-Online-Katalog mit allegro Internet avanti allegroKlassenbibliothek HTTP TCP/IP, FLEX allegro DB*.ALD, .ADX, ... phpac Apache/PHP Web-Server Datenbank-Server http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Z39.50 mit allegro Internet avanti allegroKlassenbibliothek Z39.50 TCP/IP, Flex z3950 allegro DB*.ALD, .ADX, ... „Übersetzung“Z39.50 <-> avanti Z39.50-Server Datenbank-Server http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Avanti 2 – was ist neu? • Ziele: Stabil, robust, konsolidierte Code-Basis • Aufteilung • Frontend (avanti)- Netzwerk-Code (neu) • Backend (avanti-cl): - Datenbank-Abfrage • Lauffähig als Daemon (Unix) oder Systemdienst (Win NT/2000/XP) • Debugging-Funktionen für die Entwicklung mit avanti • Web-Frontend für die Administration von avanti http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Installation (Windows) • Download: ftp.allegro-c.de / aktuelle-version / avanti • Installationsprogramm starten • Achtung: Installationspfad darf keine Leerzeichen enthalten • Systemsteuerung Verwaltung Dienste • Dienst „avanti“ starten • Start-Typ auf „automatisch“ stellen (falls gewünscht) • Win XP SP2 • Systemsteuerung Windows-Firewall • Port 4949 freigeben (ggf.) http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Installation (Linux) • Download: ftp.allegro-c.de / avanti / linux • Benutzer „avanti“ anlegen (z.B. per „YAST“) • Einloggen als Benutzer „avanti“ ! • TAR-Archiv entpacken$ tar xvzf avanti-,,,-linux.tar.gz • Starten:$ avanti-,,,/bin/avanti -daemon • Automatischer Neustart bei Reboot: Startup-Skript erstellen, siehe /etc/init.d, /etc/rc[0-9].d/ http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Funktionstest Start Ausführen „cmd“ OK C:\> telnet telnet> set localecho telnet> open localhost 4949 find per shakesp? list internal @ DB=avdemo ID=opac/OPAC AVANTI:EOJ Ergebnis: Zahlenreihe, gefolgt von „AVANTI:EOR“ http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Web-Frontend • Installieren von Apache + PHP (XAMPP) http://www.xampp.org Startmenü xampp basic start • Installieren des Web-Frontends Startmenü xampp httpdoc folder • Verzeichnis „avadmin“ anlegen • Dateien aus <avanti_dir>/shared/avanti/avadmin kopieren • Datei „conf.php“ anpassen • Aufruf: http://localhost/avadmin/login.php http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Programmierbeispiel: Datenbank-Abfrage in PHP <html><body> <?php # avanti request bauen $q = "find per shakesp?\n"; $q .= "list internal\n"; $q .= "@ DB=demo ID=opac/OPAC\n"; $q .= "AVANTI:EOJ"; # socket oeffnen $sock = fsockopen("localhost", 4949); # an avanti-Server senden fputs($sock, $q); flush(); $ans = ""; # antwort lesen while (!feof($sock) and ($l = fgets($sock))) { $ans .= $l; if (substr($l,0,10) == "AVANTI:EOR") break; } # antwort ausgeben print $ans; # socket schliessen fclose($sock); ?> </body></html> http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Z39.50 – was ist das ? • Netzwerk-Protokoll zur Datenbank-Abfrage • ISO-Norm ; herstellerunabhängig ; verbreitet (im bibl. Bereich) • Nützliche Sonderfunktionen, z.B. Suche mit „Attributen“ für Trunkierung, Einschränkung auf bestimmte Register, usw. Probleme: • Sehr komplexes Protokoll • Schwierig zu implementieren • Viele Funktionen optional oft nicht implementiert Nachfolger: SRW/SRU (noch nicht weit genug verbreitet). http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Z39.50 Server für Allegro Historie: 1996 – 1998 Entwicklung des ersten Z39.50-Servers auf Basis DBV-OSI Funktionsbibliothek 2003 – 2005 Neuentwicklung auf Basis YAZ Funktionsbibliothek Ziele bei der Neuentwicklung: • Ablösung der obsoleten DBV-OSI Bibliothek • Erweiterte Konfigurationsmöglichkeiten • Zukunftssicherheit (SRW/SRU) http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Z3950 Server: Funktionsprinzip DBNAME.dict USE Attribut ->Avanti-Suchterm • Query • Suchbegriff • Attribute (BIB-1) Z39.50 Client avanti z3950 Response Parameter-Dateien z-mab2.apr z-usmarc.apr sutrs.apr z-unimarc.apr http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Z3950 Server: Beispiel für eine DICT-Datei ### nicht trunkiert 1 = PER "%s" # Name-personal 4 = TIT "%s" # Title 1016 = ( PER "%s" ) or ( TIT "%s" ) # Any 1017 = ( PER "%s" ) or ( TIT "%s" ) # Server-Choice ### rechtstrunkiert t1 = PER "%s?" # Name-personal t4 = TIT "%s?" # Title t1016 = ( PER "%s?" ) or ( TIT "%s?" ) # Any t1017 = ( PER "%s?" ) or ( TIT "%s?" ) # Server-Choice siehe auch Beispiel-Datei etc/z3950.dict-dist http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Installation (1/2) • Avanti-Server installieren und testen • Datenbanken per Avanti exportieren • Download: ftp.allegro-c.de / aktuelle-version / z3950 • Installationsprogramm starten • Anpassen: etc/z3950.cfg etc/<db>.dict • Parameterdateien kopieren shared/z3950 Allegro-Datenbankverzeichnis http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Installation (2/2) Startmenü z3950 Als Dienst installieren Systemsteuerung Verwaltung Dienst • Dienst „z3950“ starten • Start-Typ auf „automatisch“ stellen (falls gewünscht) Windows XP SP2: Systemsteuerung Windows-Firewall Port 9999 freigeben Linux / Solaris: • Z3950 läuft als Benutzer „nobody“ • Start-Kommando: $ nohup bin/z3950 & http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005 Universitätsbibliothek Braunschweig Informationen im WWW Avanti Server http://www.allegro-c.de/doku/avanti Z39.50 Schnittstelle http://www.allegro-c.de/z3950/ Ansprechpartner: B,Eversberg <ev@biblio.tu-bs.de> Vielen Dank für Ihre Aufmerksamkeit! http://www.allegro-c.de/