20
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 INFORMATICA FACOLTÀ DI INGEGNERIA Relatore: Prof. Aldo Franco Dragoni Correlatore: Prof. Paolo Puliti

UNIVERSITA’ POLITECNICA DELLE MARCHE

  • Upload
    xannon

  • View
    55

  • Download
    0

Embed Size (px)

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

Citation preview

Page 1: 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

Page 2: UNIVERSITA’ POLITECNICA DELLE MARCHE

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.”

Page 3: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 4: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 5: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 6: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 7: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 8: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 9: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 10: UNIVERSITA’ POLITECNICA DELLE MARCHE

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’

Page 11: UNIVERSITA’ POLITECNICA DELLE MARCHE

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" ...

Page 12: UNIVERSITA’ POLITECNICA DELLE MARCHE

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:

Page 13: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 14: UNIVERSITA’ POLITECNICA DELLE MARCHE

14

Miro on Rails

Ancona, 04/12/2008

Il Sistema Sanitario si stia avviando verso nuove frontiere di riorganizzazione e di convergenza delle informazioni.

Page 15: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 16: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 17: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 18: UNIVERSITA’ POLITECNICA DELLE MARCHE

18Ancona, 04/12/2008

L’intero progetto è accessibile da “http://193.205.130.163/miro/”

Miro on Rails

Page 19: UNIVERSITA’ POLITECNICA DELLE MARCHE

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

Page 20: UNIVERSITA’ POLITECNICA DELLE MARCHE

Grazie