Download - Tesi-Todone
Progetto e realizzazione di una infrastruttura modulare per
acquisizione ed archiviazione remota di documenti
LAUREANDOGiancarlo Todone
CORRELATORE Ing. Giorgio Davanzo
RELATOREProf. Alberto Bartoli
Anno Accademico 2008/2009
Premessa: GEC
Programma di contabilità creato e mantenuto da MIDA4
Sviluppato in Visual Basic 6 È un software già stabile e diffuso
GEC: due versioni
normale: Esegue in un ambiente Windows Accede eventualmente alla rete solo per
recuperare aggiornamenti e informazioni di licenza
GEC: due versioni
ASP: Esegue su un server remoto ed è accessibile solo
tramite Internet L'utente utilizza un software di remote desktop per
poter interagire col programma
Internet
Problema (requisiti)
Aggiungere funzionalità di archiviazione elettronica a GEC senza modificare “troppo” il codice sorgente di GEC senza introdurre problemi di manutenibilità permettendo di mantenere la retrocompatibilità senza introdurre differenze di utilizzo tra le
configurazioni (normale / ASP)
Archiviazione?
Funzionalità desiderate: Acquisire documenti cartacei Corredarli di informazioni aggiuntive Inviarli ad un servizio (remoto) di archiviazione
La soluzione proposta: architettura
Syn
cUtil
s
Syn
cUtil
s
GE
C_S
can
Plug in Plug in
Plug in manager
dotNetTwain
GEC
Architettura: configurazione normale
Syn
cUtil
s
Syn
cUtil
s
GE
C_S
can
Plug in
GEC
Plug in
Plug in manager
dotNetTwain
Architettura: configurazione ASP
Syn
cUtil
s
Syn
cUtil
s
GE
C_S
can
Plug in
GEC
Plug in
Plug in manager
dotNetTwain
Internet
Il calcolatore dell'utente deve poter accettare le richieste che GEC invia, sia da locale che da remoto: Firewall? NAT/NAPT?
Comunicazioni: difficoltàS
yncU
tils
GE
C_S
can
Syn
cUtil
s
Syn
cUtil
s
GE
C_S
can
GEC
Plu
g in
È una libreria che astrae il mezzo di comunicazione e di sincronizzazione tra GEC e GEC_Scan
È stata sviluppata appositamente per risolvere le difficoltà di comunicazione
Utilizza un file system condiviso per scambiare dati
SyncUtilsS
yncU
tils
Syn
cUtil
s
GE
C_S
can
GEC
GE
C_S
can
Plu
g in
GEC
Syn
cUtil
sS
yncU
tils
SyncUtils
Accesso Esclusivo tramite file di lock
Syn
cUtil
s
Syn
cUtil
s
Syn
cUtil
s
LOCK FILELOCK FILE LOCK FILELOCK FILE
GE
C_S
can
Plu
g in
Scambio informazioni di esecuzione tramite file XML
SyncUtilsS
yncU
tils
Syn
cUtil
s
Syn
cUtil
s
LOCK FILELOCK FILEDATADATA LOCK FILELOCK FILE
GE
C_S
can
Plu
g in
GEC_Scan
È un programma che esegue sul calcolatore dell'utente
Permette di acquisire immagini da uno scanner ed organizzarle in documenti
GE
C_S
can
Plu
g in
Syn
cUtil
s
GEC_Scan
La finestra principale resta nascosta finchè non arriva una richiesta da GEC (tramite SyncUtils)
GE
C_S
can
Plu
g in
Syn
cUtil
s
L'interfaccia con lo scanner viene gestita tramite TWAIN
Per utilizzare TWAIN è stato creato un wrapper : dotNetTwain
GEC_ScanG
EC
_Sca
n
GE
C_S
can
Plu
g in
Syn
cUtil
s
dotNetTwain
GEC_Scan
Alla pressione del tasto “Memorizza”, GEC_Scan esegue dei plug in
GE
C_S
can
GE
C_S
can Plug in
Plug in
Plu
g in
Syn
cUtil
s
Plug in: codice eseguibile che può essere sviluppato e distribuito separatamente dal programma principale
Sviluppato un plug in manager per permettere l'estendibilità di GEC_Scan tramite plug-in
Plug in
Plug in
Plug in
GE
C_S
can
Plu
g in
GE
C_S
can
Syn
cUtil
s
Plug in manager
Plug in
GEC_Scan accede al servizio di archiviazione attraverso una interfaccia uniforme
Ogni plug in implementa l'interfaccia per un determinato servizio
Plug in
Plug in
GE
C_S
can
Syn
cUtil
sP
lug
in
Plug in
È stata sviluppata una libreria che presenta i servizi di archiviazione remota in modo simile ad un file system
Ciò semplifica la struttura interna dei plug in Le sue funzionalità di base sono:
Enumerazione del contenuto di una cartella Creazione di una cartella Upload di un file Download di un file Eliminazione di un file o una cartella
GE
C_S
can
Syn
cUtil
sP
lug
in
Sharepoint
Server per la suite Office Permette la redazione collaborativa di
documenti Esporta dei servizi sotto forma di web
service SOAP
GE
C_S
can
Syn
cUtil
sP
lug
in
Sharepoint
È organizzato in siti
Ogni sito può contenere delle liste
Ogni lista può contenere degli oggetti: File
Cartelle
Appuntamenti
Il web service Lists.asmx permette la gestione degli oggetti in una lista
Alcune operazioni vengono svolte tramite CAML (un linguaggio di query basato su XML)
GE
C_S
can
Syn
cUtil
sP
lug
in
Google Documents
Servizi gestiti da Google (nessun bisogno di installazione o manutenzione)
Utilizza il protocollo Atom Publishing Protocol
GE
C_S
can
Syn
cUtil
sP
lug
in
Google Documents
Ogni tipologia di servizio fa capo ad un feed
Richieste e risposte fanno uso esteso delle intestazioni http
L'utilizzo avviene ad alto livello grazie alle implementazioni delle Google Data API
L'ultima release è la 3.0 È stata usata l'ultima release stabile: 2.0
GE
C_S
can
Syn
cUtil
sP
lug
in
Tester
Domande?