UNIVERSITA’ POLITECNICA DELLE MARCHE

Post on 23-Feb-2016

55 views 0 download

description

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 - PowerPoint PPT Presentation

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