Upload
martha
View
47
Download
0
Embed Size (px)
DESCRIPTION
allegro Expertentreffen, 9. – 11. Juni 2005. Universitätsbibliothek Braunschweig. allegro meets Internet Avanti und Z39.50 Martin Butkus . http://www.allegro-c.de/. allegro Expertentreffen, 9. – 11. Juni 2005. Universitätsbibliothek Braunschweig. - PowerPoint PPT Presentation
Citation preview
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro meets Internet
Avanti und Z39.50
Martin Butkus<[email protected]>
allegro Expertentreffen, 9. – 11. Juni 2005
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
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
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
InternetInternet
phpac Apache/PHP
HTTP
Web-Server
allegro Klassenbibliothek
TCP/IP, FLEX
Datenbank-Server
Web-Online-Katalog mit allegro
allegro DB*.ALD, .ADX, ...
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
Z39.50 mit allegro
InternetInternet
Z39.50
Z39.50-Server
allegro Klassenbibliothek
TCP/IP, Flex
Datenbank-Server
„Übersetzung“Z39.50 <-> avanti
allegro DB*.ALD, .ADX, ...
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
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
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
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-FirewallPort 4949 freigeben (ggf.)
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
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/
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
Funktionstest
Start Ausführen „cmd“ OK
C:\> telnet
telnet> set localechotelnet> open localhost 4949
find per shakesp?list internal@ DB=avdemo ID=opac/OPACAVANTI:EOJ
Ergebnis: Zahlenreihe, gefolgt von „AVANTI:EOR“
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
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
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
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 sendenfputs($sock, $q);flush();
$ans = "";
# antwort lesenwhile (!feof($sock) and ($l = fgets($sock))) { $ans .= $l; if (substr($l,0,10) == "AVANTI:EOR") break;}
# antwort ausgebenprint $ans;
# socket schliessenfclose($sock);
?> </body></html>
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
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).
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
Z39.50 Server für Allegro
Historie:
1996 – 1998 Entwicklung des ersten Z39.50-Serversauf 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)
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
Z3950 Server: Funktionsprinzip
DBNAME.dict
USE Attribut ->
Avanti-Suchterm
Z39.50 Client
Z39.50 Client
Query
Suchbegriff
Attribute (BIB-1)
avantiavanti
ResponseParameter-Dateien
z-mab2.aprz-usmarc.aprsutrs.apr
z-unimarc.apr
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
Z3950 Server: Beispiel für eine DICT-Datei
### nicht trunkiert
1 = PER "%s" # Name-personal4 = TIT "%s" # Title1016 = ( PER "%s" ) or ( TIT "%s" ) # Any1017 = ( PER "%s" ) or ( TIT "%s" ) # Server-Choice
### rechtstrunkiert
t1 = PER "%s?" # Name-personalt4 = TIT "%s?" # Titlet1016 = ( PER "%s?" ) or ( TIT "%s?" ) # Anyt1017 = ( PER "%s?" ) or ( TIT "%s?" ) # Server-Choice
siehe auch Beispiel-Datei etc/z3950.dict-dist
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
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
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
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 &
Universitätsbibliothek Braunschweig
http://www.allegro-c.de/
allegro Expertentreffen, 9. – 11. Juni 2005
Informationen im WWW
Avanti Server http://www.allegro-c.de/doku/avanti
Z39.50 Schnittstelle http://www.allegro-c.de/z3950/
Ansprechpartner: B,Eversberg <[email protected]>
Vielen Dank für Ihre Aufmerksamkeit!