200 likes | 366 Views
UNIVERSITA’ POLITECNICA DELLE MARCHE. facoltà DI INGEGNERIA. CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA. PROGETTO DI UN MIDDLEWARE IN “RUBY ON RAILS” PER LA TELEREFERTAZIONE MEDICA: REALIZZAZIONE LATO sERVER. Relatore : Prof. Aldo Franco Dragoni
E N D
UNIVERSITA’ POLITECNICA DELLE MARCHE facoltàDI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA PROGETTO DI UN MIDDLEWARE IN “RUBY ON RAILS” PER LA TELEREFERTAZIONE MEDICA: REALIZZAZIONE LATO sERVER Relatore: Prof. Aldo Franco Dragoni Correlatore: Prof. Paolo Puliti Candidato: Romagnoli Luca
Ruby on Rails Ambito • Telerefertazione • “Possibilità per un medico ,nell'ambito della diagnostica clinica, di • effettuare la diagnosi su un paziente che non è fisicamente nello stesso posto del medico, attraverso la trasmissione a distanza di dati prodotti da strumenti diagnostici.”
Realizzazione di un sistema che offre un servizio di telerefertazione medica Obiettivi • accessibile da persone dotate sia di browser recenti che meno recenti, sia da navigatori dotati di connessioni veloci che da utenti con collegamenti lenti • utilizzando strumenti open source
Open source • Vantaggi open source: • Ha un basso TCO • Non lega al fornitore • Innovazione e potenziale per l'evoluzione sono generalmente agevolati • Maggiore flessibilità • Maggiore efficienza
Ruby on Rails • è un framework open source per applicazioni web scritto in Ruby la cui architettura è fortemente ispirata al paradigma Model-View-Controller (MVC). Architettura MVC
Ruby on Rails • La progettazione di Rails è stata governata da due concetti chiave: • DRY (Don’t repeatYourself): le definizioni devono essere poste una volta soltanto • convention-over-configuration: il programmatore ha bisogno di metter mano alla configurazione soltanto per ciò che differisce dalle convenzioni
Ruby e Java • Somiglianze • E’ un linguaggio interpretato • è un linguaggio OO (ObjectOriented) • Dispone di un GarbageCollector per la gestione della memoria • è portabile ed è utilizzabile con i principali sistemi operativi • dispone di uno strumento di documentazione del sorgente (RDoc) molto simile a JavaDoc
Ruby e Java • Differenze • Il codice non necessita di compilazione • E’ dynamicallytyped • non sono presenti primitive • non sono presenti interfacce • non è possibile fare overloading dei metodi
Ruby e Java • Vantaggi di Java • Comunità con dimensioni molto maggiori • Facilità nel trovare componenti di terze parti, frameworks e servizi • E’ maturo • Offre molta scelta • Più indicato per sviluppare progetti con particolari caratteristiche • Può gestire situazioni complicate • TwoPhaseCommit • Oggetti distribuiti
Ruby e Java • Perché Ruby? • Meno codice • programmi più brevi riducano i costi di mantenimento in maniera proporzionale • Maggiore leggibilità • Minor tempo per la configurazione PRODUTTIVITA’
Ruby e Java • Maggiore leggibilità • Es. Cicli • 10.times { ... } RUBY • for (int i=0; i<10; i++) { ... } JAVA • Es. vincoli sui modelli: • classUser < ActiveRecord::Base • has_many :events • has_many :messages ,:dependent =>:destroy • validates_uniqueness_of :username • validates_presence_of :name, :surname,:password,:username • validates_length_of :username, • :minimum=>6, • :too_short=>"please enter at least %d character for username" • ...
Ruby e Java Passi necessari per l’utilizzo di un framework:
Produttività • Uno dei fattori più importanti nello sviluppo di un software • Con una maggiore produttività, si ha più tempo per concentrarsi sul miglioramento delle caratteristiche, delle performance, e sulla qualità. • Costi con una maggiore produttività • Numero minore di sviluppatori per progetto. • Si spende meno fatica sulla comunicazione per piccoli progetti. • Costi di managment minori per progetto
Miro on Rails • Il Sistema Sanitario si stia avviando verso nuove frontiere di riorganizzazione e di convergenza delle informazioni.
Miro on rails • Caratteristiche di una cartella clinica: • contiene tutte le informazioni relative al paziente • presentata allo stesso modo sia per il dottore che per il requester • possibilità per il requester di effettuare operazioni di inserimento e modifica dei dati • fornisce con una certa rapidità le informazioni desiderate
Miro on Rails • Informazioni Cartella clinica: • Profilo • Anamnesi • Allergie • Informazioni generali sulla famiglia • Patologie familiari • Patologie • Problemi fisiologici • Problemi clinici
Miro on Rails • Problemi clinici • rappresentano anche il vero punto di scambio tra requester e doctor • Ciclo di vita: • Possibilità di aggiungere uno o più allegati relativi a esami di laboratorio effettuati per tale problema Refertato Chiuso Aperto Richiesta altra opinione
Miro on Rails • L’intero progetto è accessibile da “http://193.205.130.163/miro/”
Conclusioni • Obiettivi raggiunti • L’architettura che è stata realizzata è in grado di fornire un valido supporto anche per altri servizi tipici di applicazioni di telemedicina come la consultazione della cartella clinica on-line. • Servizio accessibile anche da browser meno recenti e da connessioni lente • Sviluppi futuri • possibilità per il requester di lavorare off-line • meccanismo di firma digitale con smart card per i dottori