IL RUOLO DELLA GENETICA DiSVA – Università Politecnica delle Marche (Ancona) 1.
UNIVERSITA’ POLITECNICA DELLE MARCHE
description
Transcript of UNIVERSITA’ POLITECNICA DELLE MARCHE
PROGETTO DI UN MIDDLEWARE IN “RUBY ON RAILS” PER LA TELEREFERTAZIONE MEDICA:
REALIZZAZIONE LATO SERVER
UNIVERSITA’ POLITECNICA DELLE MARCHE
Candidato: Romagnoli Luca
CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICAFACOLTÀ DI INGEGNERIA
Relatore: Prof. Aldo Franco Dragoni
Correlatore: Prof. Paolo Puliti
Ambito
2Ancona, 04/12/2008
Ruby on Rails
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.”
3
Obiettivi
Ancona, 04/12/2008
Realizzazione di un sistema che offre un servizio di telerefertazione medica
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
4
Open source
Ancona, 04/12/2008
Vantaggi open source: Ha un basso TCO Non lega al fornitore
Innovazione e potenziale per l'evoluzione sono generalmente agevolati
Maggiore flessibilità Maggiore efficienza
5
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
Ancona, 04/12/2008
6
Ruby on Rails
Ancona, 04/12/2008
La progettazione di Rails è stata governata da due concetti chiave: DRY (Don’t repeat Yourself): 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
7
Ruby e Java
Ancona, 04/12/2008
Somiglianze1. E’ un linguaggio interpretato2. è un linguaggio OO (Object Oriented) 3. Dispone di un Garbage Collector per la gestione della memoria 4. è portabile ed è utilizzabile con i principali sistemi operativi 5. dispone di uno strumento di documentazione del sorgente (RDoc)
molto simile a JavaDoc
Ruby e Java
8Ancona, 04/12/2008
Differenze1. Il codice non necessita di compilazione2. E’ dynamically typed3. non sono presenti primitive 4. non sono presenti interfacce5. non è possibile fare overloading dei metodi
Ruby e Java
9Ancona, 04/12/2008
Vantaggi di Java1. Comunità con dimensioni molto maggiori2. Facilità nel trovare componenti di terze parti,
frameworks e servizi3. E’ maturo4. Offre molta scelta5. Più indicato per sviluppare progetti con particolari
caratteristiche6. Può gestire situazioni complicate
1. Two Phase Commit2. Oggetti distribuiti
Ruby e Java
10Ancona, 04/12/2008
Perché Ruby?1. Meno codice
• programmi più brevi riducano i costi di mantenimento in maniera proporzionale
2. Maggiore leggibilità3. Minor tempo per la configurazione
PRODUTTIVITA’
Ruby e Java
11Ancona, 04/12/2008
Maggiore leggibilità• Es. Cicli
10.times { ... } RUBYfor (int i=0; i<10; i++) { ... } JAVA
• Es. vincoli sui modelli:class User < 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
12Ancona, 04/12/2008
Task Ruby JavaInstallare un framework • gem install framework • Identificare tutte le
dipendenze• Installare ogni dipendenza • Installare il framework
Configurarlo • Configurazione minima• Installare le librerie necessarie con gem• Eseguire l'applicazione
• Aggiungere le librerie necessarie al progetto• Settare le variabili come classpath• Configurare con XML• Compilare e eseguire l'applicazione
Passi necessari per l’utilizzo di un framework:
Produttività
13Ancona, 04/12/2008
1. Uno dei fattori più importanti nello sviluppo di un software
2. Con una maggiore produttività, si ha più tempo per concentrarsi sul miglioramento delle caratteristiche, delle performance, e sulla qualità.
3. Costi con una maggiore produttività1. Numero minore di sviluppatori per progetto.2. Si spende meno fatica sulla comunicazione per piccoli
progetti.3. Costi di managment minori per progetto
14
Miro on Rails
Ancona, 04/12/2008
Il Sistema Sanitario si stia avviando verso nuove frontiere di riorganizzazione e di convergenza delle informazioni.
15
Miro on rails
Ancona, 04/12/2008
Caratteristiche di una cartella clinica:1. contiene tutte le informazioni relative al
paziente2. presentata allo stesso modo sia per il dottore
che per il requester3. possibilità per il requester di effettuare
operazioni di inserimento e modifica dei dati4. fornisce con una certa rapidità le informazioni
desiderate
16
Miro on Rails
Ancona, 04/12/2008
Informazioni Cartella clinica: Profilo Anamnesi
Allergie Informazioni generali sulla famiglia Patologie familiari Patologie Problemi fisiologici
Problemi clinici
17
Miro on Rails
Ancona, 04/12/2008
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
Aperto Chiuso
Refertato
Richiesta altra
opinione
18Ancona, 04/12/2008
L’intero progetto è accessibile da “http://193.205.130.163/miro/”
Miro on Rails
19
Conclusioni
Ancona, 04/12/2008
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
Grazie