Sepsali Iva Příbramská a Martin Vojnar.
Poslední změny 15.11.2001.
-
[A] Z39.50 protokol (obecně)
-
[B] Z39.50 protokol (Aleph500.14.2)
-
[C] Příklady vlastních definic
Z39.50 je protokol pro komunikaci mezi různými knihovními systémy nebo mezi nekompatibilními verzemi jednoho systému.
Z39.50 pracuje ve stavovém režimu, na architektuře klient-server.
Knihovna může využívat Z39.50 typicky ke dvěma úkonům:
-
prostřednictvím svého Z39.50 serveru nabízí záznamy
ze svých bází k prohledávání (případně ke sdílené katalogizaci) cizím
Z39.50 klientům
-
prostřednictvím svého OPACu mohou knihovníci prohledávat vzdálené
katalogy jiných knihoven, vyhledávat v nich a/nebo stahovat záznamy -
jejich OPAC potom hraje roli Z39.50 klienta
Samozřejmě si lze při testování představit, že
knihovník svým OPACem (=Z39.50 klientem) pracuje nad svým Z39.50
serverem. Paralelní cestou se tak dotazuje svého systému.
Samotný protokol Z39.50 je příliš obecný, proto se
objevila v druhé polovině 90. let jeho zpřesnění, která popisují
nastavení a konfiguraci základních parametrů pro Z39.50. Souborům
takových pravidel se říká "Z39.50 profil". Základní minimum představuje
mezinárodní Bath profil, jednotlivá konzorcia a země si obvykle
stanovila podrobnější profily, která podporují více možností při
vyhledávání a sjednocují některé prvky (znaková sada aj.).
Další informace o Z39.50 lze najít na stránkách Z39.50 agentury, kterou hostuje Kongresová knihovna, viz
http://lcweb.loc.gov/z3950/agency/
.
Pro testování se hodí vyzkoušet i jiného Z39.50
klienta než vlastní OPAC, doporučuji klienta Icone 2 vyvinutého v rámci
evropského projektu ONE-2, ke stažení z hlavní stránky projektu
http://www.one-2.org/
(pro přidání vlastní databáze k prohledávání je potřeba po instalaci
programu upravit soubor database.xml, typicky C:\Program
Files\Icone2\database.xml). Na stránce najdete i řadu užitečných odkazů
k dalším pramenům.
Níže je uvedný stručný popis implementace
protokolu Z39.50 v Aleph 500 verze 14.2. Tato architektura je v něčem
společná, v něčem odlišná od nižších verzí.
Z39.50 server vyžaduje speciální licence. Umožní současnou práci maximálně tolika klientům, kolik jich je stanoveno v souboru
$alephe_tab/license
. Ověřit současné zatížení a maximální možnost lze přes util Y-11.
Z39.50 server je implementovaný ve verzi 3, na
úrovni služeb "1" plně kompatibilní s Bath profilem. (o úrovních služeb
a funkčních oblastech viz např. Z39.50 profil ONE-2, ke stažení z
http://www.portia.dk/pubs/one2/Profiles/ProfileV3R2/ONE-2ProfileV3R2.pdf
)
Ze služeb podporuje Init, Search, Present, Scan, Sort, Access-Control, Close.
Ve vývoji jsou Extended Services - Database Update a Holdings.
Při formulování dotazů používá obrácenou polskou notaci a sadu atributů Bib-1, která pro každý dotaz specifikuje:
-
typ indexu (např. autoři)
-
operand (např. rovná se)
-
pozice (např. pole, podpole, ...)
-
struktura (fráze, slova, datum, normalizované jméno, ...)
-
úplnost (hledá se celé pole, podpole, ...)
-
rozšíření (ano - pravostranné, ne, ...)
Jednotlivé komponenty Z39.50 v Alephu:
-
Z39.50 server, odpovídá na požadavky cizích Z39.50 klientů
-
Z39.50 brána, zprostředkuje dotaz OPACu na vzdálený Z39.50 server
-
OPAC, tj. Z39.50 klient, ze kterého spouštíte dotaz a ve kterém si prohlížíte výsledky
-
VIR01, pracovní databáze na serveru, kde se dočasně ukládají záznamy
-
EXT02, pracovní databáze na serveru, kde je uloženo nastavení pro OPAC (tabulky)
Funkčnost a nastavení bází na Z39.50 serveru lze
otestovat spolehlivě pomocí Yaz klienta. ExLibris jej dostatečně
popisuje v dokumentaci.
Funkčnost a nastavení bází na Z39.50 bráně lze
otestovat spolehlivě pomocí z39_gate klienta. ExLibris jej dostatečně
popisuje v dokumentaci.
Dále následuje přehled vlastního nastavení
(zejména pro propojení mezi 14.2 a 12.2 NKC01 na sigma.nkp.cz - funkce
OPAC a přetahování záznamů do Katalogizace).
Předpoklad: máme k dispozici licence pro Z39.50 server.
Příklady jsou uváděné pro server omega.nkp.cz a bázi NKC09. Ve vašich definicích použijte odpovídající nastavení.
$alephe_tab/server_ip_allowed
-
povolení IP vzdálených klientů
-
pokud je instalovan firewall, pak je třeba doplnit i IP adresu serveru (zkušenost z 12.2)
P A 195.113.132.8x
$alephe_tab/z39_server/z39_server.conf
-
definice PC serveru a možnost logování pracovních záznamů do speciálních logových souborů v $TMPDIR
hostname omega.nkp.cz:6505
marclog aleph-marc.log
$alephe_tab/z39_server/z39_server_base
-
definice znakové konverze pro každou z nabízených bází a formátu bibliografického záznamu
NKC09 WIN1250_TO_UTF UTF_TO_WIN1250 USMARC
$alephe_tab/z39_server z39_server_NKC09.conf
-
definice a naplnění pravidel vyhledávání podle Bath profilu a případně existujícího národního profilu
-
typicky definice atributů indexů slov, rejstříků a pravidel třídění
########################################
# Aleph Z39.50 base profile
########################################
#
#base record format
# The word section is for search/scan in the word register.
#w Aleph Use-value
word wrd 1016
word wtl 4
word wau 1
# The phrase section is for search/scan in the phrase register.
#p Aleph Use-value
phrase au 1
phrase cp 2
phrase au 1003
#sort Aleph-code Use-value Aleph-name
sort 02 1 Author
Oprávnění k používání Z39.50 serveru pro danou bázi lze nastavit dvojím způsobem:
-
individuálně - každý vzdálený klient se hlásí přes
své jméno a heslo, která jsou registrována v evidenci interních
uživatelů Alephu (klient Administrace systému), tento uživatel má pro
danou bázi povolenou větev Z39.50
-
globálně - existuje obecný uživatel Z39 s heslem Z39, který má pro
danou bázi výše uvedená oprávnění, Z39.50 klient nemusí uvádět své
jméno ani heslo
Brána pracuje ve dvou krocích:
-
komunikace OPAC - brána:
brána převezme dotaz od klienta a podle nastavení v adresáři
$alephe_root/gate převede obecné parametry z EXT02 do parametrů
platných pro danou databázi
-
komunikace brána - vzdálený Z39.50 server:
brána zašle dotaz a zpracuje výsledky podle nastavení v adresáři $alephe_tab/z39_gate
$alephe_root/gate/ z39-nkc.conf
###########################################################
#NKP
###########################################################
local-base Z39-NKC
target-base Z39-NKC
local-base-name National Library of the CR
local-base-short-name NKC
access-method Z39
response-record-type USMARC
response-record-create
response-record-fix
response-record-char-conv ANSEL_TO_UTF
request-find-char-conv UTF_TO_ANSEL
request-scan-char-conv UTF_TO_ANSEL
response-scan-char-conv ANSEL_TO_UTF
z39-server-record USMARC
sort Y
holding-method OPAC
###########################################################
## INPUT TRANSFORMATION
###########################################################
# Find from screen
find WAU u=WAU r=7P([/<P_3
find WTL u=WTL r=7P([/<P_2P.,:;!"P_8P5P
find WSH u=WSH r=7P([/<P_2P.,:;!"P
find WRD u=WRD r=7P([/<P_2P.,:;!"P
# Find from scan list
find AU u=WAU r=1_7P([/<P_2P.,:;!"-P_8P7P s=a
find TL u=WTL r=1_7P([/<P_2P.,:;!"-P_8P7P s=a
find SH u=WSH r=1_7P([/<P_2P.,:;!"-P_8P7P s=a
# Scan from screen
scan AU u=AU r=7P([/<P
scan TL u=TL r=7P([/<P_2P.,:;!"-P
scan SH u=SH r=7P([/<P_2P.,:;!"-P
# Find from scan list
find AU u=WAU r=1_7P([/<P_2P.,:;!"-P_8P7P s=a
find TL u=WTL r=1_7P([/<P_2P.,:;!"-P_8P7P s=a
find SH u=WSH r=1_7P([/<P_2P.,:;!"-P_8P7P s=a
$alephe_tab/z39_gate/ z39_gate.conf
-
aktivace vzdáleného Z39.50 serveru pro bránu
include z39_gate_Z39-NKC.conf
$alephe_tab/z39_gate/ z39_gate_Z39-NKC.conf
-
nastavení Z39.50 databáze podle údajů, které
provozovatel Z39.50 serveru poskytl (minimálně název serveru, port a
název databáze)
-
pokud server podporuje Bath profil, nastavení hlavních atributů pro Bib-1 lze zkopírovat
###########################################################
# NKC01 Aleph Library
###########################################################
target Z39-NKC
auth Z39/Z39
hostname sigma.nkp.cz:9909
database NKC01
timeout 20
recordtype USMARC
find WRD t=l,r,b
scan AU u=1 c=2
sort 01 u=30
###########################################################
Báze v OPACu
-
definice vzdálené báze pro modul OPAC, upravuje se soubor sear\tab\sear.ini
NK Praha (Z39) Z39-NKC EXT02
Společná nastavení (Alephcom)
-
definice báze EXT02 na serveru
EXT02 EXT02 sigma.nkp.cz:6505
Báze v katalogizaci (pro stažení balíčku)
-
definice báze s nastavením pro modul Katalogizace, upravuje se soubor catalog\tab\per_lib.ini
EXT02
Zkontrolovat, zda je v pořádku importovaná tabulka z52. Util G-2.
Je dobré každý den o půlnoci knihovnu VIR01 pročistit. Viz příklad v $alephe_tab/job_list.
-
v $data_tab a v $data_root/pc_tab/catalog
adresářích knihovny EXT02 je třeba vytvořit soubory .cze (pro začátek
stačí se stejným obsahem, jako .eng s minimálními úpravami, později
upravit podle potřeb knihovny)
-
pokud chcete vynechat obsah $data_root/pc_tab/catalog pro EXT02, lze sdílet adresář pomocí path_convert (druhý řádek)
-
zkompilovat knihovnický balíček přes util M-7
-
připojit se alespoň jednou OPACem k EXT02 a stáhnout si tabulky pro katalogizaci
$alephe_tab/tab_base
Z39-NKC NKC01 12.2 (Z39) EXT02 EXT02
$alephe_tab/path_convert
-
pro zpřístupnění stažených záznamů do katalogizace
$ext01_dev/ext01/pc_tab/catalog $usm01_dev/usm01/pc_tab/catalog
$ext02_dev/ext02/pc_tab/catalog $nkc01_dev/nkc01/pc_tab/catalog