WORKSHOP
Il cielo è blu sopra le nuvole?
Scelte, progetti, orientamenti delle istituzioni ITALE in epoca di crisi
Virtual e Reports:
le recenti esperienze di
CINECA-Roma (Caspur) e CINECA-Milano (Cilea)
Immagine sede
evento
Silvia Simonetti (Cineca - Roma)
Zeno Tajoli (Cineca - Milano)
Roma
Polo bibliotecario parlamentare
16 novembre 2012
Roma, il Polo bibliotecario parlamentare nell’insula domenicana
16/11/2012
Il cielo è blu sopra le nuvole?
1
 Utilizzo Server virtuale
 Aleph(luglio 2011)
 SFX (novembre 2011 - marzo 2012)
 Utilizzo di server virtuale per un Opac di backup
 Status degli ordini via web
 Report




Controlli sulle licenze
Riepiloghi sull’uso del server
I periodici nelle sottobiblioteche
Prestiti e prenotazioni
 Una p-cir-04 con il dato ‘telefono’
 Tips per System Librarians
16/11/2012
Il cielo è blu sopra le nuvole?
2
Perchè virtualizzare?
 Ottimizzazione delle risorse esistenti:
 raggruppamento in pool delle risorse d'infrastruttura comuni ed eliminazione del
vecchio modello di corrispondenza univoca tra applicazioni e server “una sola
applicazione su ciascun server”
 Diminuzione della complessità dell’infrastruttura:
 riduzione numero di server, unità di storage, desktop e dispositivi di rete con
conseguente semplificazione della gestione
 Riduzione dei costi:
 diminuisce l’ esigenza di spazio, di alimentazione e di raffreddamento, grazie alla
riduzione di server e delle relative risorse hardware
16/11/2012
Il cielo è blu sopra le nuvole?
3
Perchè virtualizzare?
 Aumento della business continuity:
 esecuzione di backup sicuri e migrazione di interi ambienti virtuali senza interruzioni
operative ottenendo così una sensibile riduzione dei downtime pianificati e ripristino
immediato in caso di imprevisti (utile in caso di installazione Service-pack).
 Flessibilità operativa:
 grazie ad un cluster virtuale composto da più macchine fisiche, si può migrare una
VM da una macchina fisica all'altra, sia per bilanciare i carichi di lavoro, sia in caso
di malfunzionamenti, ripristinando in tempi brevissimi la funzionalità.
16/11/2012
Il cielo è blu sopra le nuvole?
4
Perchè virtualizzare?
 Facilità di gestione sistemistica (schermata riassuntiva vmware per una VM)
16/11/2012
Il cielo è blu sopra le nuvole?
5
 Utilizzo di server virtuale per un Opac di backup
 export dati da aleph (p_ret_01, p_print_03, ALL)
 indicizzazione tramite Zebra su altro server virtuale
 interrogazione web tramite php/yaz
16/11/2012
Il cielo è blu sopra le nuvole?
6
$id[]= yaz_connect("@:9999/aleph");
yaz_syntax($id[0], "usmarc");
yaz_search($id[0], "rpn", $richiesta);
yaz_wait();
$hits= yaz_hits($id[0]);
$richiesta= str_replace("@and", "", $richiesta);
$richiesta= str_replace("\"", "", $richiesta);
$richiesta= str_replace("@attr 1=4", "| <span class=criterio>Titolo: </span>", $richiesta);
$richiesta=str_replace("@attr 1=1003", "<span class=criterio>Autore: </span>", $richiesta);
$richiesta=str_replace("@attr 1=1018", "| <span class=criterio>Editore: </span>", $richiesta);
$richiesta=str_replace("@attr 1=31", "| <span class=criterio>Anno: </span>", $richiesta);
$richiesta=str_replace("@attr usmarc 1=2659", "| <span class=criterio>Biblioteca: </span>", $richiesta);
$richiesta=str_replace("@attr usmarc 1=1016", "| <span class=criterio>Collocazione: </span>", $richiesta
16/11/2012
Il cielo è blu sopra le nuvole?
7
 Report status degli ordini via web
 Cron-job per estrazione SQL sulle tabelle Z68, Z30, Z13
 interrogazione web tramite cgi
30 18 * * 1,2,3,4,5 /exlibris/aleph/script/ORDINI/estrae.sh > /exlibris/aleph/script/ORDINI/estrae.log
estrae.sh
#!/bin/csh
source /exlibris/aleph/a20_1/alephm/.cshrc
sqlplus user/pw @/exlibris/aleph/script/ORDINI/stampa.sql;
cd /exlibris/aleph/script/ORDINI/;
./reset.pl ordini.txt;
./confronto.pl;
16/11/2012
Il cielo è blu sopra le nuvole?
8
SPOOL /exlibris/aleph/script/ORDINI/ordini.txt
SELECT z13u.z13u_rec_key || '_' ||
RTRIM(substr(z13u.z13u_USER_DEFINED_4,1,160)) || '_' ||
RTRIM(z30.z30_material) || '_' ||
LTRIM(z30.z30_call_no) || '_' ||
RTRIM(z30.z30_collection) || '_' ||
RTRIM(z68.z68_order_group) || '_' ||
RTRIM(z30.z30_sub_library) || '_' ||
RTRIM(z68.z68_target_text) || '_' ||
RTRIM(z68.z68_order_status) || '_' ||
substr(Z68_OPEN_DATE,1,4) || '_' ||
substr(Z68_OPEN_DATE,5,2)
FROM cab01.z13u, z103, z30, z68
WHERE substr(z68.z68_rec_key,1,9)= substr(z30.z30_rec_key,1,9) and
RTRIM(Z68_ORDER_NUMBER)=RTRIM(Z30_ORDER_NUMBER) and
z30.z30_material != 'ISSUE' and z13u.z13u_rec_key= z103.z103_lkr_doc_number and z103.z103_lkr_library =‘XXX01' and
substr(z30.z30_rec_key,1,9)= substr(z103.z103_rec_key,6,9) and Z68_OPEN_DATE > '20100101'
ORDER BY z30.z30_call_no, z13u.z13u_USER_DEFINED_4;
SPOOL OFF
16/11/2012
Il cielo è blu sopra le nuvole?
9
16/11/2012
Il cielo è blu sopra le nuvole?
10
Vari tipi di Report:
 Script shell: programmi che utilizzano utilities UNIX(grep, awk ..),
creano dei file di report che possono essere inviati per posta
elettronica, sono schedulati con l’utility cron
 Script perl: programmi che interrogano via SQL il DB ADM estraggono
dati e generano dei report formattati secondo le diverse esigenze
 Script perl: che elaborano file estratti dal DB BIB in formato MARC 21
tramite p_print_03 e generano dei report utili per diverse esigenze
16/11/2012
Il cielo è blu sopra le nuvole?
11

Controllo licenze script shell (pc_server.log e www_server.log)
 Giornaliero  invio e-mail in caso di limiti ecceduti
16/11/2012
Il cielo è blu sopra le nuvole?
12

Controllo licenze script shell (pc_server.log e www_server.log)
 Annuale (file incrementale per valutazione annuale su utilizzo licenze)
#!/bin/sh
pcfiles=echo"ls /exlibris/aleph/a20_1/log/pc_server_6991*"
echo "$pcfiles"
date '+%d-%m-%y'>pc.log
for i in $pcfiles
do
echo $i >> /exlibris/aleph/script/CONTROLLI/pc.log
grep "data block \|License limit exceeded" $i > /exlibris/aleph/script/CONTROLLI/pctmp
while read inputline
do
if echo "$inputline" |grep -q 'License limit exceeded'; then
echo "$precedente - $inputline" >> /exlibris/aleph/script/CONTROLLI/erroritmp
echo "$inputline"
precedente=$inputline
else
echo 'no'
precedente=$inputline
fi
echo "$precedente"
done < /exlibris/aleph/script/CONTROLLI/pctmp
rm /exlibris/aleph/script/CONTROLLI/pctmp
done
[email protected](a20_1) CAB01> more errori_limite_gui | awk '{print $1}' | sort -u
2012-01-09
2012-01-11
2012-01-16
2012-02-14
2012-02-27
2012-03-07
2012-03-12
2012-03-19
2012-03-26
2012-05-21
2012-06-14
2012-09-17
2012-10-02
2012-10-03
2012-10-10
2012-10-16
2012-10-17
2012-10-22
2012-10-23
if [ -f /exlibris/aleph/script/CONTROLLI/erroritmp ]
2012-10-24
then
2012-10-30
#data=date '+%d%m%y'
2012-10-31
cut -f "1,2,11,12,13,16" -d" " /exlibris/aleph/script/CONTROLLI/erroritmp
2012-11-05
>/exlibris/aleph/script/CONTROLLI/errori_gui
2012-11-12
cat /exlibris/aleph/script/CONTROLLI/errori_gui /exlibris/aleph/script/CONTROLLI/errori_limite_gui|sort -u >
/exlibris/aleph/script/CONTROLLI/errori_limite_gui_1
mv /exlibris/aleph/script/CONTROLLI/errori_limite_gui_1
/exlibris/aleph/script/CONTROLLI/errori_limite_gui
rm /exlibris/aleph/script/CONTROLLI/errori_gui
rm /exlibris/aleph/script/CONTROLLI/erroritmp
fi
exit 0
16/11/2012
Il cielo è blu sopra le nuvole?
13
Report quotidiani riepilogativi sull’utilizzo del server:
•
overnight-check
Job eseguiti con util E (jobd.log )
Job eseguiti da crontab (anagrafica, estrazione ordini ….)
Check dei file di log aleph (scratch, server log …. )
•
analyze_pc_server_log
http://www.exlibrisgroup.org/display/AlephCC/Aleph+pc_server+Log+Analyzer
16/11/2012
Il cielo è blu sopra le nuvole?
14
Output overnight_chk 
16/11/2012
Il cielo è blu sopra le nuvole?
15
analyze_pc_server_log 
16
Output
analyze_pc_server_log
17
 I periodici nelle sottobiblioteche
 I catalogatori inseriscono nei records bibliografici il fatto che il periodico sia
in una sottobiblioteca e non usano la qualifica ‘ISSUE’ nei dati di copia.
 Usano il tag 958 $a (codice sottobiblioteca)
 Si estraggono i dati in formato MARC con le p-ret-01 e p-print-03
 Si legge il file con uno script perl che crea un report
 Il report viene inviato via mail
 Il tutto governato da cron
16/11/2012
Il cielo è blu sopra le nuvole?
18
if ((substr($ldr,5,3) eq 'nas') and (length($tipo)< 1)){
my $presenza_subs = 0;
foreach my $campo (@arr958){
my $dato = $campo->subfield('a');
if (length($dato)>1){
$dato = substr($dato,0,3);
if (length($dato)>1){
$presenza_subs++;
$dato =~ s/\://g; #tolgo i ‘:’
$dato =~ s/\s//g; #tolgo spazio, a capo e tabs
my $i = $subs_presenti{$dato};
if ($i<1){
$subs_presenti{$dato} = 1;
}else{
$i++; $subs_presenti{$dato}= $i;
};
} } }
if ($presenza_subs > 0){$contatore_serials_globale++}
18/12/2015
Con il server fra le nuvole
19
 Prestiti e prenotazioni
 Sono report che danno informazioni sulla circolazione
 Girano via cron ma anche a mano, passando parametri
 Script shell che comandano script perl
a) Numero prenotazioni nell’anno divise per sottobiblioteca
b) Quanti prestiti di tipo ‘xx’ ci sono stati nell’anno divisi per sottobiblioteca
c) Gli status dei prestiti in corso in una sottobiblioteca [iterato per ogni sottobib.]
d) Numero utenti per tipologia in una sottobiblioteca [iterato per ogni sottobib.]
16/11/2012
Il cielo è blu sopra le nuvole?
20
 Numero prenotazioni nell’anno divise per sottobiblioteca
SELECT count(z35_rec_key), z35_sub_library
FROM z35
WHERE z35_event_date like ‘YYYY%' and
(z35_event_type = '71‘or
z35_event_type = '72' or
z35_event_type = '73' or
z35_event_type = '74')
GROUP BY z35_sub_library;
16/11/2012
Il cielo è blu sopra le nuvole?
21
 Quanti prestiti di tipo ‘xx’ ci sono stati nell’anno divisi per
sottobiblioteca
SELECT z36h_sub_library, count(z36h_rec_key)
FROM z36h
WHERE z36h_item_status = ‘XX' and
z36h_loan_date BETWEEN ‘YYYY0101' and ‘YYYY1231'
GROUP BY z36h_sub_library
 Gli status dei prestiti in corso in una sottobiblioteca
SELECT z36_status, count(z36_rec_key)
FROM z36
WHERE z36_sub_library = ‘XXXXX ' and
GROUP BY z36_status
16/11/2012
Il cielo è blu sopra le nuvole?
22
 Numero utenti per tipologia in una sottobiblioteca
SELECT z305_bor_status, count(z305_rec_key)
FROM z305
WHERE z305_rec_key like '%XXXXX ‘
GROUP BY by z305_bor_status;
 Lo script fa un ciclo che lavora una alla volta tutte le
sottobiblioteche
 Lo script esplicita poi nel report i codici di z305_bor_status
16/11/2012
Il cielo è blu sopra le nuvole?
23
Una p-cir-04 con il dato ‘telefono’
 Con p-cir-04 si prendono i prestiti in ritardo per i solleciti
 Si vuole poter telefonare l’utente
 La tabella z304 (gli indirizzi) non fa parte dei dati estratti in p-cir-04
 E’ un tabella multipla
 Decisione:
 Si fa un custom service
 Si useranno i telefoni presenti nell’indirizzo ‘01’ [residenza permanente]
16/11/2012
Il cielo è blu sopra le nuvole?
24
16/11/2012
Il cielo è blu sopra le nuvole?
25
 Il servizio viene gestito con questi files:
 $alephe_root/pc_b_ita/p-cir-04uvr.xml, il form di richiesta
 $alephe_root/pc_b_ita/menu-circ.xml, il menu di selezione
 $aleph_dev/pc_b_help_ita/ p-cir-04uvr.html, l’HTML per l’help
 $aleph_proc/p_cir_04uvr, la procedura shell che gestisce il ricevimento dei
parametri e l’integrazione con la GUI e i log
 $aleph_proc/p_cir_04_uvr.pl, perl che chiama il DB e crea il file xml dei
risultati
 $uvr50_dev/uvr50/form_ita/loan-report-03.xsl, il template XSL per la stampa
16/11/2012
Il cielo è blu sopra le nuvole?
26
18/12/2015
Con il server fra le nuvole
27
 La documentazione al riguardo disponibile:
 La presentazione ‘How_to_make_custom-services.ppt’ sul Doc Center
 I custom services presenti su EL Commons > CodeShare tra cui:
 Replacement of Aleph SDI e-mails and enhancement of RSS
 SUNY - Aleph Custom Services (ver 18)
 Custom service to sort and filter item reports
 I SI relativi ai custom services che si trovano nella KB
16/11/2012
Il cielo è blu sopra le nuvole?
28
 Tips per System Librarians: La struttura di uno scripts shell
#!/bin/csh
source /exlibris/aleph/.cshrc
source /exlibris/aleph/a20_1/alephm/.cshrc
source /exlibris/aleph/u20_1/alephe/aleph_start
source $aleph_proc/def_local_env
set user = aleph
setenv LOGNAME aleph
<La tua lavorazione>
16/11/2012
Il cielo è blu sopra le nuvole?
29
 Tips per System Librarians: I mdouli perl utili
 Si lavora con perl 5.8.x (del S.O. o installato con Aleph500)
 Perché perl?
 DBI [connessione ad Oracle]
 Unicode::Lite [mantenere l’UTF-8 in ogni situazione]
 Convert::Translit [su aleph 16.x, per le traduzioni ad UTF-8]
 Getopt::Long [il passaggio di parametri]
16/11/2012
Il cielo è blu sopra le nuvole?
30
 Tips per System Librarians: Per estrarre da Oracle
 Leggere la documentazione Oracle dal Doc Portal
 Esplora I dati con Oracle SQL Developer
 Configura l’ oracle environment negli scripts (un parte):






$ENV{ORACLE_OWNER} = "oracle";
$ENV{ORACLE_VERSION} = "11";
$ENV{ORACLE_SID} = "aleph20";
$ENV{ORACLE_BASE} = "/exlibris/app/oracle";
$ENV{ORACLE_HOME} = "/exlibris/app/oracle/product/11";
$ENV{ORACLE_CONF} = "/exlibris/aleph/ora_aleph
 Usa ‘printenv’ per trovare come configurare
16/11/2012
Il cielo è blu sopra le nuvole?
31
 Tips per System Librarians: Creare file Excel






Formato SYmbolic LinK (SYLK)
http://en.wikipedia.org/wiki/SYmbolic_LinK_(SYLK)
http://wiki.tcl.tk/9800
http://netghost.narod.ru/gff/graphics/summary/micsylk.htm
E’ praticamente testo puro, veloce e semplificato
Permette:
 Formattare valori
 Formattare date
 Nomi colonne in grassetto
 Funziona su Excel e Calc (LibreOffice)
 Selezionato 10 anni fa
 Ora meglio l’Open Document Format (XML)
16/11/2012
Il cielo è blu sopra le nuvole?
32
GRAZIE!
[email protected]
[email protected]
Roma, il Polo bibliotecario parlamentare nell’insula domenicana
16/11/2012
Il cielo è blu sopra le nuvole?
33
Scarica

SIMONETTI_WORKSHOP_ver2