17
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

  • 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

Page 1: Universitätsbibliothek Braunschweig

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

Page 2: Universitätsbibliothek Braunschweig

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

Page 3: Universitätsbibliothek Braunschweig

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, ...

Page 4: Universitätsbibliothek Braunschweig

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, ...

Page 5: Universitätsbibliothek Braunschweig

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

Page 6: Universitätsbibliothek Braunschweig

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.)

Page 7: Universitätsbibliothek Braunschweig

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/

Page 8: Universitätsbibliothek Braunschweig

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“

Page 9: Universitätsbibliothek Braunschweig

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

Page 10: Universitätsbibliothek Braunschweig

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>

Page 11: Universitätsbibliothek Braunschweig

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).

Page 12: Universitätsbibliothek Braunschweig

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)

Page 13: Universitätsbibliothek Braunschweig

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

Page 14: Universitätsbibliothek Braunschweig

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

Page 15: Universitätsbibliothek Braunschweig

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

Page 16: Universitätsbibliothek Braunschweig

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 &

Page 17: Universitätsbibliothek Braunschweig

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!