CRIS-INAF: a fruitful cooperation among IT specialists

Ervin Konomi
INAF (Istituto Nazionale di Astrofisica), Italy
[email protected]
Current Research Information System
Obiettivo
Advisory Committe
 Dati generali/descrizione strutture
 Attività/risultati del personale
 Progetti di ricerca
 Dati finanziari
 Aggiungere/modificare i propri output scientifico/tecnologici
 Selezionare e visualizzare i propri output scientifico/tecnologici
e i progetti di ricerca a cui partecipa
 Stampare/scaricare ordinate per tipo e/o anno usando
formati personalizzabili l'elenco (o una parte) dei propri
output scientifico/tecnologici
 Assenza di duplicati
 Authority di modifica
 IIS: Interne Information
Services
Server Database
Server applicativo/web
ODBC
DB_CRIS
ASP: Active Server Page
CRIS
Application
( ASP)
Server Machine
Http
INTERNET
Server Database
Server applicativo/web
ODBC
DB_CRIS
Server Machine
CRIS
Application
( PHP)
Http
Server Machine
INTERNET
 Relazionale
 Normalizzata
 Download automatico delle pubblicazioni da ADS
(Astrophysics Data System)
 Download automatico dei dati anagrafico/giuridici da
AstroDip
 Autenticazione utenti attraverso IDEM
 XAMPP
 NetBeans
 MySQL Migration Toolkit
 Distribuzione Apachefriends che contiene in un unico
package tutto il necessario per lo sviluppo di applicazioni
web in PHP e PERL.
 Acronimo:
X-Cross-Platform
A-Apache
M-MySQL
P-PHP
P-Perl
 GPL
 www.apachefriends.org
 Apache
 MySQL
 PHP
 PERL
 phpMyAdmin
 Mercury Mail Transport System
 FileZilla FTP Server
 Ambiente preconfigurato e pronto all’uso
 Integrated Development Environment
 Componenti
 Editor per il codice sorgente
 Compilatore e/o interprete
 Tool di building automatico
 Debugger
 Eseguibile su qualsiasi SO in cui è installata una JVM
 Supporta Java, C/C++ , Ruby, PHP, Fortran etc..
 Activex Data Objects DataBase è una libreria scritta in PHP
che emula gli oggetti ADO di Microsoft per l’iterazione con
il DBMS.
 PHP (Versione >=4.0.5)
 Perché ADODB?
 Database abstraction library
 Portable SQL
 Fornisce un livello di astrazione per la base dati cioè, un
filtro unico che si interpone tra il DBMS ed il PHP. Supporta
MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle,
MS SQL, Foxpro, Access, LDAP, Sybase ..
PHP
ADODB per PHP
….
• Cosa implica la migrazione da un
DBMS MySQL ad un ORACLE a
livello di codice dell’applicazione?
 MySQL
ORACLE
$db = mysql_connect("localhost", "root", "");
mysql_select_db("MyDb", $db); oci_execute
oci_connect $rs = mysql_query("SELECT Cognome, Nome FROM Personale");
while ($fields = mysql_fetch_row($rs)) {
echo $fields[0] . " " . $fields[1] . "<br>\n";
}
oci_fetch_row
 ADODB
oci8
$db = &NewADOConnection("mysql");
$db->Connect("localhost", "root", "", "MyDB");
$rs = $db->Execute("SELECT Cognome, Nome FROM Personale");
while (!$rs->EOF) {
echo $rs->fields["Cognome "] . " " . $rs->fields["Nome "] . "<br>\n";
$rs->MoveNext();
}
 Query: estrarre le prime 10 righe dalla tabella personale
DBMS
SQL Syntax
DB2
select * from personale fetch first 10 rows only
MS SQL Server
select top 10 * from personale
MySQL/PostgreSQL
select * from personale limit 10
Oracle
select * from personale where rownum <=10
 Selectlimit()
DB2
Selectlimit('select * from personale', 10)
MS SQL Server
MySQL/PostgreSQL
Oracle
 Tool open source che provvede alla migrazione della
base dati da vari DBMS relazionali a MySQL.
….
Migration Toolkit
 Access, Oracle, MS SQL Server,
Sybase, MySQL
 Windows, Linux, Mac OS X
 Requisiti:
 MySQL (versione >=5.0)
 Java Runtime Environment
(versione>=5.0 update 8)
 Store procedures, viste e triggers
richiedono un intervento manuale
durante il processo di migrazione
 Interfaccia grafica
 Progetti