Telerefertazione medica su TCP/IP: Progetto e Realizzazione degli opportuni Web-Service

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Telerefertazione medica su TCP/IP: Progetto e Realizzazione degli opportuni Web-Service"

Transcript

1 UNIVERSITÀ POLITECNICA DELLE MARCHE FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell Automazione Telerefertazione medica su TCP/IP: Progetto e Realizzazione degli opportuni Web-Service Tesi di laurea di: D ALBERTO STEFANO Relatore: PROF. ING. ALDO FRANCO DRAGONI Correlatori PROF. PAOLO PULITI PROF. GUIDO TASCINI Anno Accademico 2006/2007

2 Capitolo 1. Struttura del progetto Scopo e contenuto del documento... pag. 3 Descrizione del progetto applicativo pag. 3 Modello organizzativo... pag Glossario dei termini pag. 7 Capitolo 2. Il Web service Introduzione al Web service pag. 8 Cosa sono i Web services e come funzionano pag. 10 XML Schema... pag. 11 UDDI pag. 13 WSDL.. pag. 13 SOAP pag. 15 Perché creare un Web Service pag Apache Axis pag. 18 Capitolo 3. Preparazione dell ambiente di sviluppo 3.1 Lato Server... pag Fase di deploy.. pag. 36 Capitolo 4. La comunicazione Client-Server 4.1 Servizi offerti lato server.. pag Axis Attachment... pag. 57 Capitolo 5. Struttura del database Specifica delle operazioni pag. 60 Specifiche di progetto.. pag. 61 Progettazione concettuale della base di dati. pag. 68 Un primo schema scheletro.. pag. 68 1

3 Sviluppo delle componenti dello scheletro (inside-out)... pag Traduzione verso il modello relazionale.. pag Codifica SQL... pag. 78 Capitolo 6. Configurazione Server di sviluppo 6.1 Ambiente di sviluppo.... pag Installazione Java sul Server... pag Installazione TOMCAT su Server.. pag Installazione Oracle Database 10g XE..... pag Installazione e configurazione di Apache pag. 92 Capitolo 7. Problematiche e miglioramenti 7.1 Il server Linux..... pag Interoperabilità ed evoluzioni future pag Possibili sviluppi futuri..... pag. 98 Capitolo 8. Pubblicazione 8.1 Il firewall di Linux... pag Il comando iptables pag

4 1. Struttura del progetto 1.1 Scopo e contenuto del documento Scopo del presente documento è definire le specifiche per l impostazione lato client e lato server sia a livello concettuale che fisico dell applicativo JTELEMED. 1.2 Descrizione del Progetto Applicativo Per Telemedicina si intende l erogazione di servizi sanitari, laddove la distanza rappresenti un fattore critico da parte di professionisti nell assistenza sanitaria che utilizzino tecnologie dell informazione e della comunicazione per lo scambio di informazioni rilevanti, per la diagnosi, il trattamento e la prev.enzione delle patologie e per l educazione continuativa degli operatori sanitari, nell interesse del miglioramento della salute e delle comunità assistite. Figura 1 Telemedicina La Telemedicina utilizza le tecnologie della telecomunicazione per erogare assistenza sanitaria specialistica, spesso a notevoli distanze, con la possibilità di contenere i costi delle prestazioni. Questo avviene in special modo quando l Assistenza Sanitaria è rivolta ad aree isolate o comunque dove non sia disponibile direttamente la prestazione specialistica del medico. L introduzione della telemedicina permette : diagnosi e cure più rapide; minor numero di spostamenti sia del personale medico che dei pazienti; riduzione dei costi per personale, compreso quello di emergenza; comunicazioni più veloci; 3

5 Capitolo 1 Struttura del progetto aggiornamento più semplice e rapido delle informazioni riguardanti diagnosi e metodi di cura; miglior sostegno allo staff medico per la formazione sia teorica che pratica. Nell ottica di capillarizzare l offerta sanitaria, può essere importante pensare ad una struttura informatica che renda indipendenti le due fasi tipiche della diagnostica: l esecuzione dell esame la sua refertazione. Mentre è possibile pensare di localizzare alcuni macchinari (di basso costo) anche nei poliambulatorii più piccoli o distanti, può risultare sconveniente portare in questi poliambulatorii personale di alta specializzazione. Il termine Telemedicina si presta a svariate definizioni, non sempre univoche in letteratura, che spesso focalizzano l attenzione solo su alcuni aspetti della materia. Si tratta sostanzialmente della trasmissione in tempo reale di informazioni a carattere scientifico tra medico e cittadino o tra addetti ai lavori, attraverso sistemi di comunicazione di tipo telematico/informatico. La definizione più esaustiva del termine è senz altro quella concordata a livello CEE da una Commissione di esperti, che ha redatto un documento sulle prospettive di sviluppo della telemedicina in Europa (Advanced Informatics in Medicine - AIM 1990) con l obiettivo di migliorare la qualità dei servizi sanitari, facilitare la formazione professionale di medici e infermieri ed ottimizzare il trasferimento qualificato di dati ed esperienze tra i vari Paesi europei. Secondo la Commissione Europea, organizzatrice tra l altro dell EHTO (European Health Telematics Observatory Osservatorio delle applicazioni mediche della telematica), la telemedicina è "l integrazione, monitoraggio e gestione dei pazienti, nonché l educazione dei pazienti e del personale, usando sistemi che consentano un pronto accesso alla consulenza di esperti ed alle informazioni del paziente, indipendentemente da dove il paziente o le informazioni risiedano". 4

6 Capitolo 1 Struttura del progetto 1.3 Modello organizzativo Figura 2 Organizzativo Modello L applicativo JTELEMED consta di tre entità: RICHIEDENTE REFERTANTE (o EROGANTE) REPOSITORY Il RICHIEDENTE è caratterizzato dall insieme delle strutture che producono i dati digitali di un esame clinico e che si interfacciano nel nostro sistema come dei client di laboratorio: sono quelli che attivano il processo di refertazione e attendono i risultati. Una prerogativa importante di tutto il nostro applicativo è il mantenimento della privacy. Per questo motivo i richiedenti non saranno mai individuati attraverso dati anagrafici personali ma attraverso un identificativo univoco. Il REFERTANTE è, invece, l insieme di coloro che forniscono il servizio di refertazione, una clinica specializzata, un semplice medico o una equipe di medici accreditati. Il cuore del sistema è rappresentato dal REPOSITORY CENTRALE, che altro non è che un server relazionale, cioè un server che gestisce un DataBase. 5

7 Capitolo 1 Struttura del progetto L effettuazione di un esame presso un laboratorio e la conseguente archiviazione del dato in forma digitale genera ciò che viene chiamato evento. L evento non è il dato clinico vero e proprio ma rappresenta una sorta di meta-dato clinico del dato digitale generato dai laboratori. E composto da una serie di informazioni che riguardano il dato digitale prodotto dall evento come ad esempio: l unità che ha erogato la prestazione, la data e l ora dell esame, la struttura che l ha prodotto, il dottore richiedente ed il codice dell impegnativa, lo stato della fase di refertazione, e, cosa molto importante il link che consente di scaricare il dato. Ogni evento quindi viene immagazzinato all interno di un apposito raccoglitore, definito appunto repository. Qualsiasi esame che può essere memorizzato in forma digitale può essere associato ad un evento. Chiarito il funzionamento dell applicativo, non rimane altro che definire un meccanismo di comunicazione tra il Repository e i suoi utilizzatori. Come già detto in precedenza il repository centrale non è altro che un server relazionale ovvero un server che gestisce un database; in realtà il suo funzionamento è ben più ampio in quanto, oltre ad interfacciarsi con la base di dati, esso fornisce servizi accessibili con un semplicissimo browser sia lato richiedente che lato refertante: esso realizza cioè un architettura web service. Nel prossimo capitolo vedremo nel dettaglio la sua realizzazione. 6

8 Capitolo 1 Struttura del progetto 1.4 Glossario dei termini Termine Descrizione Sinonimi Collegamenti JTelemed E l applicativo che si vuole realizzare al fine di fornire un servizio di telemedicina a distanza Telemedicina Uso di strumenti telematici per effettuare esami clinici a distanza Esame clinico Indagine specialistica a scopo diagnostico di un organismo vivente o di un organo. Diagnosi Individuazione del quadro morboso di un paziente in base alla valutazione dei sintomi, all anamnesi e alle analisi strumentali e di laboratorio Cura Insieme dei rimedi usati per guarire da una malattia Richiedente Strutture accreditate che producono i dati digitali di un esame clinico e che si interfacciano nel nostro sistema. Refertante Colui che fornisce il servizio di refertazione Refertazione Il risultato fornito dal refertante derivante da una diagnosi Laboratori Locali dotati di apposite apparecchiature per ricerche cliniche Evento Effettuazione di un esame presso un laboratorio e conseguente archiviazione del dato in forma digitale Repository Server relazionale, ovvero un server che gestisce un DataBase. Applicativo Sistema telematico di assistenza medica Esame, Analisi, Ricerca, Indagine Valutazione, Opinione, Accertamento Terapia, Trattamento Utente, Client di laboratorio, Utente richiedente Clinica, Laboratorio, Medico, Utente Erogante, Utente Refertante Diagnosi Clinica Esito, Risultato Server Telemedicina JTelemed Telemedicina Refertante, Refertazione Refertante, Refertazione Esame clinico Laboratorio Diagnosi, Cura Refertante Richiedente, Refertante, Repository Richiedente, Refertante, Evento 7

9 2. Il Web service 2.1 Introduzione al Web service Il paradigma del Service Oriented Computing è visto come una rivoluzione nella comunità informatica e i Web Service una sua realizzazione. La possibilità di vedere il Web come un grande sistema informativo in cui sono forniti innumerevoli servizi offre agli utenti finali un potentissimo strumento che va al di là del mero scambio di informazioni che al momento rappresenta il Web. I servizi web, meglio noti come web services, sono diventanti uno degli argomenti più attuali nel panorama dello sviluppo in ambiente Internet. Posti al centro delle più recenti strategie di aziende del calibro di IBM, Microsoft e Sun, vengono spesso descritti come una vera e propria rivoluzione nel mondo del web ed in particolare per tutto quanto attiene allo sviluppo di applicazioni distribuite ed all'integrazione di applicazioni. Secondo la definizione data dal World Wide Web Consortium (W3C) un Web Service (servizio web) è un sistema software progettato per supportare l'interoperabilità tra diversi elaboratori su di una medesima rete; caratteristica fondamentale di un Web Service è quella di offrire un'interfaccia software (descritta in un formato automaticamente elaborabile quale, ad esempio, il Web Services Description Language) utilizzando la quale altri sistemi possono interagire con il Web Service stesso attivando le operazioni descritte nell'interfaccia tramite appositi "messaggi" inclusi in una "busta" SOAP: tali messaggi sono, solitamente, trasportati tramite il protocollo HTTP e formattati secondo lo standard XML. Focalizzando l attenzione sul concetto di servizio è ovvio immaginare, anche alla luce di quanto detto finora, come gli attori in causa siano necessariamente il fornitore e il richiedente. Questo tipo di paradigma è il medesimo che si riscontra nella tipica interazione di tipo client-server. Attraverso la SOA (Service Oriented Architecture) questa interazione viene arricchita con un ulteriore attore detto Service Directory o Service Broker che, come mostrato in figura 1, si inserisce all interno della comunicazione tra fornitore e fruitore del servizio. 8

10 Capitolo 2 Il Web Service Figura 3 Service Oriented Architecture Service Provider Chi realizza e mette a disposizione un servizio. Tramite l operazione di publish il servizio viene pubblicizzato, in quanto le caratteristiche del servizio realizzato vengono memorizzate all interno di un registry accessibile pubblicamente. Il Service Provider rimane, quindi, in attesa che un utente richieda tale servizio. Service Directory o Service Broker Questo componente si occupa della gestione del registry, permettendo, a chi ha necessità, di ricercare un servizio sulla base delle caratteristiche con le quali è stato definito e memorizzato. Naturalmente, il Service Directory può seguire politiche di controllo degli accessi sulle interrogazioni in modo da limitare la visibilità sui servizi inseriti. Nel presente lavoro il registry, viene considerato parzialmente accessibile. Service Requestor Rappresenta un potenziale utente che richiede un servizio. A tale scopo, tramite la primitiva di find l utente interagisce con il Service Directory per ottenere il servizio più adatto ai propri obiettivi. Una volta individuato si collega al Service Provider corrispondente (bind) e inizia a fruire del particolare servizio (use). 9

11 Capitolo 2 Il Web Service Partendo da questa considerazione si può dire che una architettura per e-service è un istanza di una SOA dove il mezzo di comunicazione è di tipo elettronico, mentre una architettura per Web Service è un istanza di una SOA dove il mezzo di comunicazione considerato è il Web. Figura 4 Pila Protocollare dei Web Service 2.2 Cosa sono i Web services e come funzionano Un Web service è un componente applicativo. Possiamo definirlo come un sistema software in grado di mettersi al servizio di un applicazione comunicando su di una medesima rete tramite il protocollo HTTP. Un Web service consente quindi alle applicazioni che vi si collegano di usufruire delle funzioni che mette a disposizione. Esso comunica tramite protocolli e standard definiti "aperti" e quindi sempre a disposizione degli sviluppatori ed ha una caratteristica molto particolare ed utile al suo scopo: è autocontenuto ed auto-descrittivo, cioè è in grado di farci sapere che funzioni mette a disposizione (senza bisogno di conoscerle a priori) e ci permette inoltre di capire come vanno utilizzate. Il protocollo HTTP si occupa di mettere in comunicazione il servizio web con l'applicazione che intende usufruire delle sue funzioni. Oltre ad HTTP però, i servizi web utilizzano molti altri standard web, tutti basati su XML, tra cui: 10

12 Capitolo 2 Il Web Service XML Schema UDDI (Universal Description, Discovery and Integration) WSDL (Web Services Description Language) SOAP (Simple Object Access Protocol) È importante sottolineare che XML può essere utilizzato correttamente tra piattaforme differenti (Linux, Windows, Mac) e differenti linguaggi di programmazione. XML è inoltre in grado di esprimere messaggi e funzioni anche molto complesse e garantisce che tutti i dati scambiati possano essere utilizzati ad entrambi i capi della connessione. Si può quindi dire che i Web service sono basati su XML ed HTTP e che possono essere utilizzati su ogni piattaforma e con ogni tipo di software XML Schema Abbiamo detto che un Web service è auto-descrittivo. Con XML Schema cominceremo a capire come fa un servizio web a disporre di questa caratteristica. XML Schema serve per definire qual è la costruzione legale di un documento XML, come fanno per esempio i DTD con le pagine web. Vediamo una lista delle principali funzioni di XML Schema: Definire gli elementi (tag) che possono apparire in un documento Definire gli attributi che possono apparire in un elemento Definire quali elementi devono essere inseriri in altri elementi (child) Definire il numero degli elementi child Definire quando un elemento deve essere vuoto o può contenere testo, elementi, oppure entrambi Definire il tipo per ogni elemento e per gli attributi (intero, stringa, ecc, ma anche tipi personalizzati) Definire i valori di default o fissi per elementi ed attributi Ecco un esempio di XML Schema in grado di descriverlo: 11

13 Capitolo 2 Il Web Service <?xml version="1.0"?> <!-- iniziamo lo schema --> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.xxxx.it/guida_ai_webservice" xmlns="http://www.xxxx.it/guida_ai_webservice" elementformdefault="qualified"> <!-- definiamo l'elemento libro --> <xs:element name="libro"> <xs:complextype> <xs:all> <!-- definiamo i vari elementi child di libro --> <xs:element name="titolo" type="xs:string" /> <xs:element name="autore" type="xs:string" /> <xs:element name="numerodipagine" type="xs:integer" /> </xs:all> </xs:complextype> </xs:element> </xs:schema> Per ora concentriamoci sul primo elemento: schema. Questo è l'elemento che racchiude tutti i tipi di dato che andiamo a descrivere. Il tag <schema> può avere diversi attributi. xmlns:xs="..." stabilisce che gli elementi che iniziano con 'xs' provengono dal namespace targetnamespace="..." definisce a quale namespace appartengono gli elementi definiti con questo schema. xmlns="..." definisce il namespace di default (quello applicato se non ne escplicitiamo uno) elementfromdefault="qualified" indica che ogni elemento usato nel documento XML che utilizzerà questo schema dovrà essere qualificato. Una volta aperto il tag <schema> bisogna inserire al suo interno tutti gli elementi che vogliamo definire per il nostro documento. Esistono sostanzialmente due tipi di elementi: gli elementi semplici non possono contenere altri elementi e avere attributi. Possono contenere solo testo. 12

14 Capitolo 2 Il Web Service gli elementi complessi possono contenere testo, altri elementi e attributi in qualsiasi combinazione UDDI L'UDDI (acronimo di Universal Description Discovery and Integration) è un registry (ovvero una base dati ordinata ed indicizzata), basato su XML ed indipendente dalla piattaforma hardware, che permette alle aziende la pubblicazione dei propri dati e dei servizi offerti su internet. L UDDI permette quindi la scoperta e l'interrogazione dei servizi offerti sul web, delle aziende che li offrono e della maniera per usufruirne. Una "registrazione" UDDI consiste, infatti, di tre diverse componenti: Pagine bianche (White Pages): indirizzo, contatti (dell'azienda che offre uno o più servizi) e identificativi; Pagine gialle (Yellow Pages): categorizzazione dei servizi basata su tassonomie standardizzate; Pagine verdi (Green Pages): informazioni (tecniche) dei servizi fornite dall'azienda L'UDDI è uno degli standard alla base del funzionamento dei Web Service: è stato progettato per essere interrogato da messaggi in SOAP e per fornire il collegamento ai documenti WSDL che descrivono i vincoli protocollari ed i formati dei messaggi necessari per l'interazione con i Web Service elencati nella propria directory WSDL Il WSDL serve a specificare dove si trovano i servizi e le operazioni esposte dal servizio web. Cominciamo subito a vedere come un documento WSDL definisce un Web service. All'interno del documento esistono quattro elementi principali: <types> <message> 13

15 Capitolo 2 Il Web Service <porttype> <binding> > <definitions> <types> <!-- definizione dei tipi di dato utilizzati... --> </types> <message> <!-- definizione di uno dei messaggi impiegati dal web service per comunicare con l'applicazione client -- </message> <!-- naturalmente può esistere più di un elemento message all'interno del documento --> <porttype> <!-- definisce una "porta" e le operazioni che possono essere eseguite dal web service. Definisce inoltre i messaggi coinvolti nelle operazioni elencate --> </porttype> <binding> <!-- definisce il formato del messaggio ed i dettagli di protocollo per ogni porta --> </binding> </definitions> I types, message e porttype sono elementi del messaggio WSDL all interno di definitions e sono usati per definire le operazioni: <types> è usato per definire i tipi base necessari allo scambio dell informazione. <message> è usato per definire il messaggio spedito e ricevuto ed utilizza i tipi definiti in types. <porttypes> è usato per definire il funzionamento delle porte allocate dal servizio come i messaggi da utilizzare in input e output. Gli elementi binding e service sono usati per definire il protocollo associato all operazione: <binding> è usato per definire il protocollo da utilizzare per comunicare con la porta su cui è allocata l operazione (HTTP, SOAP, ). <service> è usato per definire una porta come URL attraverso la quale si trova il servizio. 14

16 Capitolo 2 Il Web Service Il WSDL inoltre definisce quattro tipi di operazioni attraverso il tag <operations>: One-way: è una chiamata asincrona al servizio. Request-responce: chiamata sincrona al servizio. Sollicit-responce: invia una risposta dopo un sollecito. Notification: ricevere una notifica SOAP E utile sapere che tutte le informazioni che vengono definite da WSDL, è grazie a SOAP (Simple Object Access Protocol) se vengono scambiate tra il Web service è l'applicazione che vi accede. Questo protocollo fornisce una via per comunicare tra applicazioni eseguite su sistemi operativi diversi, con diverse tecnologie e linguaggi di programmazione, tramite HTTP ed XML. Un messaggio SOAP è un documento XML che contiene i seguenti elementi: Envelope, identifica il documento come un messaggio SOAP; Un elemento Header opzionale, contenete informazioni specifiche per l'applicazione, che non sarà approfondito in questa sede ma che permette di definire alcuni messaggi, anche con diversi destinatari nel caso il messaggio dovesse attraversare più punti di arrivo; Body è un elemento indispensabile che contiene le informazioni scambiate dalle richieste/risposte; Fault è un elemento opzionale che fornisce informazioni riguardo ad eventuali errori manifestati durante la lettura del messaggio. Le regole principali per realizzare un messaggio SOAP sono le seguenti: Deve essere ovviamente codificato con XML Deve utilizzare il SOAP Evenelope namespace (http://www.w3.org/2001/12/soapenvelope) Deve utilizzare il SOAP Encoding namespace (http://www.w3.org/2001/12/soapencoding) 15

17 Capitolo 2 Il Web Service Non deve contenere il collegamento ad un DTD e non deve contenere istruzioni per processare XML Lo "scheletro" di un messaggio SOAP: <?xml version="1.0"?> <soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope (http://www.w3.org/2001/12/soap-envelope)" soap:encodingstyle="http://www.w3.org/2001/12/soap-encoding"> <soap:header>... </soap:header> <soap:body>... <soap:fault>... </soap:fault> </soap:body> </soap:envelope> All'interno dell'elemento Envelope abbiamo definito i namespace soap evelope ed encoding che come abbiamo visto sono richiesti per questo tipo di documento. Se non vengono definiti o si definiscono diversamente le applicazioni coinvolte nella comunicazione potrebbero generare un errore o scartare il messaggio. 16

18 Capitolo 2 Il Web Service 2.3 Perché creare un Web Service La ragione principale per la creazione e l'utilizzo di Web Service è il "disaccoppiamento" che l'interfaccia standard esposta dal Web Service rende possibile fra il sistema utente ed il Web Service stesso: modifiche ad una o all'altra delle applicazioni possono essere attuate in maniera "trasparente" all'interfaccia tra i due sistemi; tale flessibilità consente la creazione di sistemi software complessi costituiti da componenti svincolati l'uno dall'altro e consente una forte riusabilità di codice ed applicazioni già sviluppate. I Web service hanno inoltre guadagnato consensi visto che, come protocollo di trasporto, possono utilizzare HTTP "over" TCP sulla porta 80; tale porta è, normalmente, una delle poche (se non l'unica) lasciata "aperta" dai sistemi firewall al traffico di entrata ed uscita dall'esterno verso i sistemi aziendali e ciò in quanto su tale porta transita il traffico HTTP dei web browser: ciò consente l'utilizzo dei Web Service senza modifiche sulle configurazioni di sicurezza dell'azienda (un aspetto che se da un lato è positivo solleva preoccupazioni concernenti la sicurezza). Un'ultima ragione che ha favorito l'adozione ed il proliferare dei Web Service è la mancanza, prima dello sviluppo di SOAP, di interfacce realmente funzionali per l'utilizzo di funzionalità distribuite in rete: EDI, RPC, ed altri tipi di API (Application Programming Interface) erano e rimangono meno conosciute e di facile utilizzo che non l'architettura dei Web Service. 17

19 Capitolo 2 Il Web Service 2.4 Apache Axis Axis è il motore opensource più famoso per la creazione di Web Services in Java. Axis è un progetto dell'apache Software Fondation e deriva da SOAP4J, un progetto regalato dall'ibm ad Apache. Brevemente, si tratta di un API di programmazione e deployment di Web services che permette di lavorare ad un livello di astrazione elevato, evitando così di dover maneggiare direttamente l envelope SOAP. Con Axis è possibile, dunque, implementare Web services e anche sviluppare client di servizi di terzi. Per semplicità, negli esempi che tratteremo viene esposto solo l aspetto di funzionalità RPC e non quello relativo ai vari approcci di messaging supportati da Axis. Ciò è comunque in linea con la maggior parte della casistica Web services che si basa su meccanismi request/response a dispetto del modello asincrono. Axis 1.4 disponibile all URL è composto da: una web application che si occupa di gestire l'ambiente di esecuzione dei servizi (routing, istance pooling, serializzazione e deserializzazione dei messaggi SOAP, ecc...); una API composta da classi di utilità per la scrittura di servizi web e da classi necessarie al funzionamento della web application e dei tool; una serie di tool, tra cui WSDL2Java per generare scheletri lato server e stub lato client dei servizi web a partire dalla descrizione WSDL; Java2WSDL per generare la descrizione come servizio web di una classe Java; diversi tool per l'amministrazione e la gestione dei servizi installati; un TCP monitor stand-alone ed un SOAP monitor integrato nella web application per controllare la forma dei messaggi scambiati tra i servizi nelle fasi di debug e test. 18

20 Capitolo 2 Il Web Service Tra le caratteristiche più interessanti di Axis c'è la possibilità di creare web service in maniera immediata a partire da classi Java molto semplici con estensione.jws (Java Web Service). Axis può essere quindi utilizzato in una serie di scenari anche molto diversi tra loro, ad esempio può servire per: la creazione di applicazioni client di servizi web già esistenti per i quali è disponibile il WSDL: utilizzando WSDL2Java si possono creare in maniera automatica gli stub per l'accesso a servizi esistenti implementati con qualsiasi piattaforma. Le applicazioni client che utilizzano gli stub non necessitano di ambienti di esecuzione particolari ma soltanto della presenza della libreria axis.jar nel proprio classpath; la comunicazione via JAX-RPC tra processi Java: le API di Axis implementano una versione di JAX-RPC, rendendo possibile lo sviluppo di applicazioni distribuite Java con protocollo di trasporto SOAP; la creazione di servizi web a partire da classi Java: Axis offre diversi meccanismi per l'implementazione dei servizi. Quello più semplice e completamente trasparente per il programmatore è JWS, ma sono disponibili anche modelli di servizi più complicati dove è possibile personalizzare, ad esempio, le modalità di serializzazione dei messaggi, la struttura dei package ed il formato dei parametri, senza mai occuparsi della descrizione WSDL o del formato SOAP dei messaggi, grazie all'integrazione tra l'ambiente di esecuzione e Java2WSDL; l'implementazione di servizi web a partire da descrizioni WSDL: il tool WSDL2Java è particolarmente utile quando, come nel caso di Zlatan, si parte dalla descrizione dei servizi per la realizzazione di un sistema piuttosto che dalla loro implementazione. I problemi principali di Axis riguardano lo stretto legame con il web application container Tomcat (anche se è possibile con qualche sforzo installare l'ambiente in altri server, come fatto con SJSAS8 in Zlatan) e la conformità soltanto parziale alle specifiche del WS-I. Riassumendo possiamo dire che Axis non è che un SOAP engine: questo significa che è un framework che si concentra unicamente sulle problematiche della creazione di client e server e per la gestione di messaggi SOAP; in pratica consiste in un insieme di tool per la 19

21 Capitolo 2 Il Web Service generazione automatica di classi e in una libreria che incapsula in classi Java l accesso alle tecnologie connesse ai Web Services. L architettura generale di Axis appare nella seguente figura nei suoi componenti principali: Fig. 5 - Architettura generale di Axis. Il requestor è un client che effettua una richiesta su alcuni dei protocolli supportati da Axis. Generalmente è usato HTTP. Il requestor può essere una desktop application, una web application, o un altro web service. Il motore Axis agisce agevolando la comunicazione tra client e web service maneggiando la traduzione ad e da web service standard. Axis permette allo sviluppatore di definire una serie di handlers, allacciati alla richiesta o alla risposta. Questi handlers sono simili a filtri servlet; ogni handler svolge uno specifico compito adando avanti fino al prossimo handler in linea. 20

22 3. Preparazione dell ambiente di sviluppo 3.1 Lato Server Innanzitutto occorre istallare la JDK, la JRE e l Application Server JAKARTA TOMCAT con la stessa procedura vista a livello client. Come IDE di sviluppo è stato scelto Eclipse: la versione a cui faremo riferimento è la WTP 1.5 AllInOne. Tale sigla sta per Web Tools Project, e contiene, fra l'altro, Eclipse 3.2. In questa versione ci sono già molte funzionalità rivolte al web, come suggerisce il nome. L'installazione è semplicissima, anzi, non necessita neanche di una installazione. Una volta scaricato il file compresso è sufficiente scompattarlo ed Eclipse è già pronto. Al termine dell'estrazione, nella directory "eclipse" (sotto la cartella di destinazione da noi scelta) troviamo tutti i file e le directory coinvolte. È interessante notare come il processo di installazione sia totalmente non invasivo a livello di sistema: in Windows, ad esempio, non vengono inserite chiavi nel registry, non vengono installate dll o file di sistema all'interno delle cartelle /Windows/System32. L'unica accortezza che bisogna avere, prima di utilizzare Eclipse, è quella di avere installato una java virtual machine (ad esempio scaricando il Java SE Development Kit sul sito Sun) che Eclipse stesso possa utilizzare per compilare ed eseguire le applicazioni. L'unica accortezza che bisogna avere, prima di utilizzare Eclipse, è quella di avere installato una java virtual machine (ad esempio scaricando il Java SE Development Kit sul sito Sun) che Eclipse stesso possa utilizzare per compilare ed eseguire le applicazioni. La prima volta che avviamo Eclipse viene chiesta la directory dove salvare i nostri progetti. Fig. 6 - Selezionare un workspace 21

23 Capitolo 3 Preparazione dell ambiente di sviluppo Attraverso la check box in basso alla finestra di dialogo sarà, quindi, possibile scegliere se utilizzare la medesima directory per tutti i progetti evitando di sceglierla di volta in volta. Una volta ultimata la selezione del workspace, verrà visualizzata una schermata di benvenuto. Fig. 7 Schermata di benvenuto di Eclipse Il passo successivo prevede l istallazione di APACHE AXIS che consiste nei due seguenti passi: Fig. 8 - Cartella scompattata di Axis. 22

24 Capitolo 3 Preparazione dell ambiente di sviluppo 1) Scompattare Axis, prendere la cartella lib e copiarla all'interno della installazione di Eclipse. 2) Prendere la cartella axis dentro webapps e incollarla sull'omonima cartella di Tomcat. A questo punto abbiamo tutti gli strumenti necessari per creare il nostro Web Service, ma prima di iniziare vediamo la disposizione delle varie librerie: per un corretto funzionamento dell applicativo lato server sono necessarie le seguenti librerie nella directory della JDK (nel nostro caso versione 1.5) C:\Programmi\Java\jdk1.5.0\jre\lib\ext.: dnsns.jar localedata.jar sunjce_provider.jar sunpkcs11.ja le librerie necessarie sotto C:\TOMCAT554\common\lib sono: activation.jar commons-el.jar jasper-compiler jdt.jar jasper-compiler.jar jasper-runtime.jar jsp-api.jar mail.jar naming-factory-dbcp.jar naming-factory.jar naming-resources.jar ojdbc14.jar servlet-api.jar 23

25 Capitolo 3 Preparazione dell ambiente di sviluppo le librerie necessarie sotto C:\TOMCAT554\ webapps\axis\web-inf\lib sono: activation.jar jaxrpc.jar axis-ant.jar log4j jar axis.jar mail.jar commons-discovery- saaj.jar 0.2.jar wsdl4j jar commons-logging jar Chiarite le posizioni delle varie librerie cominciamo a costruire il nostro web service a partire dalla IDE di sviluppo Eclipse: Innanzitutto selezionare dalla toolbar la voce File->New->Project (figura 1). Nella successiva finestra indicare il tipo di progetto che si vuole realizzare,nel nostro caso un Dinamic Web Project (figura 2). 24

26 Capitolo 3 Preparazione dell ambiente di sviluppo Figura 9 Creazione del Web Service Il primo step per la costruzione di un web service è rappresentato dalla scelta del tipo di progetto tra quelli che eclipse mette a disposizione. 25

27 Capitolo 3 Preparazione dell ambiente di sviluppo Figura 10 Creazione di un Web service Non è difficile riconoscere quale sia effettivamente il tipo di progetto da selezionare per la creazione di un web service: aprire la directory Web e selezionare la voce Dynamic Web Project 26

28 Capitolo 3 Preparazione dell ambiente di sviluppo Successivamente verrà chiesto di dare un nome al nuovo progetto e di lavorare con delle impostazioni. Per il nostro scopo è possibile utilizzare le impostazioni di default e una volta completata la procedura l interfaccia di eclipse appare nel seguente modo: Figura 11 - L interfaccia di Eclipse Come ultimo passo non rimane altro che testare il prototipo di applicazione costruito; per fare ciò basta lanciare l applicazione stessa all interno di Eclipse attraverso il comando Run. Poiché abbiamo però costruito una web application, occorre definire il server su cui far girare il progetto: Eclipse a questo scopo ci permette di impostare una sorta di server interno che si appoggia all Application Server istallato sulla macchina di sviluppo, nel nostro caso JAKARTA TOMCAT. Vediamo brevemente come funziona il tutto. Con il tasto destro del mouse ciccare sull icona del progetto che appare nella Resource Navigator view e scegliere Run As -> Run On Server (figura 12). 27

29 Capitolo 3 Figura 12 Impostare il server di Eclipse (1) Preparazione dell ambiente di sviluppo Successivamente selezionare dall elenco messo a disposizione il server desiderato, nel nostro caso Apache Tomcat v.5.5 (figura 5). Anche in questo caso è possibile modificare delle impostazioni, ma non è controindicativo utilizzare quelle di default. Concludendo tale procedimento guidato l istallazione del nostro server interno è completata e l applicazione è pronta per essere utilizzata (figura 13). Figura 13 - Impostare il server di Eclipse (2). E necessario selezionare dall elenco di figura lo stesso Application Server che si è istallato sulla macchina di lavoro. Come sempre facciamo riferimento al nostro caso che utilizza un Tomcat versione

30 Capitolo 3 Preparazione dell ambiente di sviluppo Figura 14 Impostare il server di Eclipse (3) Come ulteriore verifica della funzionalità del server possiamo utilizzare la Console: Figura 15 La Console di Eclipse Come vedremo più avanti Eclipse ci mette inoltre a disposizione un ulteriore strumento di controllo in fase di utilizzo dei servizi, il TCP/IP Monitor. 29

31 Capitolo 3 Preparazione dell ambiente di sviluppo Ora tutto il nostro sistema è funzionante, ma prima di ultimare il lavoro occorre fare un piccolo passo indietro. Conclusa la fase di editing con la creazione delle classi che implementano i servizi occorre costruire il descrittore dei servizi, il WSDL. Ricordiamo che il WSDL serve a specificare dove si trovano i servizi e le operazioni esposte dal servizio web. L Eclipse mette a disposizione un meccanismo rapido ed efficiente per la creazione automatica di tale descrittore che fisicamente non è altro che un file xml. Cliccare con il tasto destro del mouse sulla classe nella quale sono definiti i servizi che il nostro progetto vuole realizzare. Selezionando la voce Web Service -> Create Web Service (figura 16) si apre una finestra di impostazioni (figura 17): spuntare le due voci Publish the Web service e Monitor the Web service; inoltre se è necessario il TCP/IP Monitor spostare la barra (1) completamente in alto. Successivamente apparirà un ulteriore finestra nella quale è possibile selezionare Figura 16 Creazione del Web service (1) tutti i servizi da inserire nel wsdl e scegliere il cosiddetto Style and use impostandolo a RPC/Encoded. 30

32 Capitolo 3 Preparazione dell ambiente di sviluppo Questa caratteristica rappresenta la scelta del formato di un messaggio SOAP. Le possibili scelte di SOAP: Body di un messaggio SOAP sono: - document: il SOAP Body del documento contiene una o più "parts" che dal punto di vista di XML sono childnodes di SOAP:Body. Non ci sono particolari regole sulla struttura di questi nodi figli. - RPC: il SOAP:Body contiene un elemento il cui nome corrisponde al nome della procedura remota da invocare e un elemento per ogni parametro da fornire alla procedura. La serializzazione del SOAP: Body prevede: - encoded: le regole di serializzazione sono dettate dalla sezione 5 della specifica SOAP literal: i dati sono serializzati nel rispetto di una specifica XML che ad oggi è XML Schema Definition 1.0, domani potrebbe essere altro. In.NET tutto questo si trasforma nell'utilizzare, come decorazione dei nostri WebMethod, uno dei due seguenti attributi: - SoapRpcMethod: il SOAP:Body sarà RPC/encoded. - SoapDocumentMethod: SOAP:Body in formato document. Se la proprietà Use vale SoapBindingUse.Literal il body sarà document/literal, se invece Use vale SoapBindingUse.Encoded avremo un body document/encoded. Se la proprietà ParameterStyle vale SoapParameterStyle.Bare avremo i parametri inviati tra i SOAP Node posizionati direttamente all'interno del SOAP:Body. Se invece la proprietà ParameterStyle vale SoapParameterStyle.Wrapped i parametri saranno inviati tra i due SOAP node, racchiusi all'interno di un solo elemento, figlio di SOAP:Body. Il default di ASP.NET è Literal, Wrapped. 31

33 Capitolo 3 Preparazione dell ambiente di sviluppo Barra (1). Spostare la barra completamente in alto per avere il TCP/IP Monitor Opzioni da selezionare Figura 17 Impostare il server di Eclipse (2) Risultato di tutta questa procedura è un file.wsdl di cui riportiamo un piccolo frammento: INTESTAZIONE <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace="http://services.jtelemed.it" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://services.jtelemed.it" xmlns:intf="http://services.jtelemed.it" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <!--WSDL created by Apache Axis version: 1.3 Built on Oct 05, 2005 (05:23:37 EDT)--> 32

34 Capitolo 3 Preparazione dell ambiente di sviluppo DEFINIZIONE DEI METODI <wsdl:message name="openeventresponse"> <wsdl:part name="openeventreturn" type="xsd:int"/> </wsdl:message> <wsdl:message name="userinforesponse"> <wsdl:part name="userinforeturn" type="xsd:string"/> </wsdl:message> <wsdl:message name="listeventsresponse"> <wsdl:part name="listeventsreturn" type="xsd:string"/> </wsdl:message> PORT TYPE <wsdl:porttype name="wsrepository"> <wsdl:operation name="echo" parameterorder="value"> <wsdl:input message="impl:echorequest" name="echorequest"/> <wsdl:output message="impl:echoresponse" name="echoresponse"/> </wsdl:operation> <wsdl:operation name="userinfo" parameterorder="utn_cn username password"> <wsdl:input message="impl:userinforequest" name="userinforequest"/> <wsdl:output message="impl:userinforesponse" name="userinforesponse"/> </wsdl:operation> 33

35 Capitolo 3 Preparazione dell ambiente di sviluppo BINDING wsdl:binding name="wsrepositorysoapbinding" type="impl:wsrepository"> wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> wsdl:operation name="echo"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="echorequest"> <wsdlsoap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.jtelemed.it" use="encoded"/> </wsdl:input> <wsdl:output name="echoresponse"> <wsdlsoap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.jtelemed.it" use="encoded"/> </wsdl:output> wsdl:operation> <wsdl:service name="wsrepositoryservice"> SERVIZI <wsdl:port binding="impl:wsrepositorysoapbinding" name="wsrepository"> <wsdlsoap:address location="http://localhost:8080/jtelemed/services/wsrepository"/> </wsdl:port> </wsdl:service> Infine per testare l effettivo funzionamento del nostro web service occorre creare un client che si interfacci con i servizi messi a disposizione. Anche in questo caso l Eclipse ha una via veloce ed efficiente: riprendendo lo schema di figura 5, basta selezionare Generate Sample JSPs. 34

36 Capitolo 3 Preparazione dell ambiente di sviluppo Nel Resource Navigator view di Eclipse apparirà una nuova directory: Lanciando l applicazione sul server appare una Directory Listing For samplewsrepository dove WSRepository, per noi, è la classe con la quale abbiamo costruito il Web service. La lista è composta da quatto link ai file.jsp evidenziati in figura. Selezionando TestClient.jsp si accede alla fase di testing dei servizi. Figura 18 Creazione del client di test 35

37 Capitolo 3 Preparazione dell ambiente di sviluppo 3.2 Fase di deploy Lo schema proposto dalla Sun Microsystem in quanto a Web Applications propone un modello descrittivo dell'alberatura del progetto in modo da separare e descrivere meglio tutta l'applicazione. Questo approccio ha, come sappiamo, gli indubbi vantaggi della standardizzazione. Da una parte consente a chi produce i tool di sviluppo e gli application server di rendersi compatibili (e magari certificati da Sun) con le nuove specifiche, dall'altra permette a chi sviluppa applicazioni Web di sapere che la struttura dell'applicazione deve essere fatta in un certo modo e che un qualunque application server, se certificato, tratterà l'applicazione allo stesso modo, garantendo quindi la portabilità assoluta. Il nodo centrale della standardizzazione, come sappiamo, è dato da una definizione precisa dell'alberatura dell'applicazione. Come sappiamo la root della Web Application dovrà contenere le pagine HTML o JSP. In alcuni casi le pagine JSP possono essere anche nella cartella JSP, in "css" ci sono i fogli di stile, in "js" i file contenenti codice Javascript e dentro "WEB-INF" c'è una determinata alberatura. In particolare a partire dalla cartella "classes" vengono espansi i package Java dell'applicazione, in "conf" ci sono i file deputati alla configurazione applicativa, in "lib" tutte le librerie esterne sotto forma di JAR o ZIP, in "tld" eventuali tag libraries, in "log" i log dell'applicazione. Supponiamo di aver creato la nostra applicazione utilizzando questo schema, ad un certo punto sarà necessario effettuare il deploy su una macchina differente da quella di sviluppo. La macchine di sviluppo, soprattutto se si utilizzano ambienti di sviluppo molto sofisticati, sono configurate diversamente da quelle di test, pertanto il passaggio da un ambiente all'altro potrebbe non essere indolore. Deploy - modo tradizionale Per eseguire il deploy di questa Web Application in modo tradizionale, se si utilizza Tomcat come application server, è necessario copiare l'alberatura così com'è sul file system della macchina server ed editare il file 36

38 Capitolo 3 Preparazione dell ambiente di sviluppo TOMCAT_HOME\conf\server.xml aggiungendovi la sezione relativa al nuovo context da creare per poter utilizzare la nuova Web Application attraverso HTTP. La sezione che ci serve è di questo genere: <ContextManager> <Context path="/nomeapplicazione" docbase="c:\nomeapplicazione" crosscontext="true" debug="0" reloadable="true" trusted="false" > </Context> </ContextManager> Sarà nostra cura inoltre modificare il CLASSPATH di sistema in modo da includere tutte le librerie esterne che debbano essere utilizzate dalle componenti della nostra applicazione. Questo metodo funziona indipendentemente da come sia organizzata la Web Applicaton. Al termine potremo raggiungere la nostra applicazione attraverso l'url: Cosa accade però in fase di manutenzione? In altre parole, cosa succede quando dobbiamo riportare in ambiente di test delle modifiche che coinvolgono alcune parti della Web Application? Ci sono solitamente due alternative: si sovrascrive l'intera alberatura con la versione aggiornata si sovrascrivono selettivamente soltanto i file modificati In ogni caso gli interventi da effettuare manualmente sono molti e la procedura non troppo semplice, soprattutto se siamo di fronte ad applicazioni con un certo grado di complessità. 37

39 Capitolo 3 Preparazione dell ambiente di sviluppo Deploy - il file WAR La specifica proposta da Sun non si limita a descrivere l'alberatura per la costruzione dell'applicazione, ma ci consente anche di avere un buon sistema per effettuare il deploy dell'applicazione utilizzando un singolo file, il file WAR. Un file WAR, come sappiamo, viene generato attraverso il tool jar.exe contenuto nel JDK ed è pertanto un semplice file JAR rinominato. Il fatto che sia un WAR e non un JAR, indipendentemente dal contenuto, gli permette di essere automaticamente riconosciuto come una vera e propria Web Application completa e dotata di vita propria, in questo modo l'application server sarà in grado di autoconfigurarsi sapendo che il WAR contiene esattamente quel tipo di struttura. Per effettuare il deploy su Tomcat di un file WAR è sufficiente crearlo, dopo essersi posizionati all'interno della cartella contenente l applicazione, attraverso il comando: jar cvf nomeapplicazione.war. Dopo aver ottenuto il file nomeapplicazione.war l'operazione di deploy si limita allo spostamento del file WAR all'interno della cartella webapps di Tomcat. Subito dopo il restart dell'application Server potremo vedere la nostra applicazione utilizzando il solito url: Quando l'application Server parte, si scompatta automaticamente il file WAR e si crea il context per poter raggiungere l'applicazione via http. Utilizzando questo metodo di deploy la manutenzione si riduce ai tre passi seguenti: creazione del nuovo file WAR copia del nuovo WAR sulla macchina di test eliminazione della vecchia alberatura estratta dal WAR precedente Eclipse mette a disposizione un comando per la crazione del file WAR senza dover andare a ricorrere al prompt dei comandi: 38

40 Capitolo 3 Preparazione dell ambiente di sviluppo Figura 19 - Creazione del WAR file. Cliccare con il tasto destro del mouse sull icona del progetto e selezionare la voce Export->WAR file. Successivamente verrà richiesta la path di destinazione del file e il nostro WAR è pronto per il deploy. Ora occorre spostare il file WAR appena creato all'interno della cartella webapps di Tomcat. A tal proposito possiamo utilizzare due alternative: Spostare fisicamente il file nella macchina di sviluppo Utilizzare il manager del tomcat Indirizzo del server Path del WAR file Fig Tomcat Application Manager 39

Web Service SOAP e WSDL. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com

Web Service SOAP e WSDL. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com Web Service SOAP e WSDL Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com SOAP Originariamente: Simple Object Access Protocol E poi evoluto in un Framework per lo scambio di messaggi in XML 2

Dettagli

Telerefertazione medica su TCP/IP: progetto e realizzazione degli opportuni Web-Service

Telerefertazione medica su TCP/IP: progetto e realizzazione degli opportuni Web-Service UNIVERSITÀ POLITECNICA DELLE MARCHE FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell Automazione Telerefertazione medica su TCP/IP: progetto e realizzazione degli opportuni Web-Service

Dettagli

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL Pag. 1 di 17 Progetto SIRPE De-materializzazione personalizzati CIL per la cooperazione Versione 1.0 INDICE Pag. 2 di 17 1 INTRODUZIONE 4 1.1 Scopo del documento 4 1.2 Riferimenti 4 2 GENERALITÀ 4 2.1

Dettagli

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Sommario Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Introduzione.................................................................................. 1 SOAP........................................................................................

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

INF-1: Specifiche Tecniche di Interfaccia

INF-1: Specifiche Tecniche di Interfaccia INF-1: Specifiche tecniche di Interfaccia INF-1: Specifiche Tecniche di Interfaccia Versione 1.1 Nome doc.: INF-1 Specifiche Interfaccia v1.0.doc Edizione: 1.0 Data emissione: 12/1/2007 INDICE Modifiche

Dettagli

Appendice D. D. Web Services

Appendice D. D. Web Services D. D.1 : cosa sono I cosiddetti sono diventati uno degli argomenti più attuali nel panorama dello sviluppo in ambiente Internet. Posti al centro delle più recenti strategie di aziende del calibro di IBM,

Dettagli

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART Regione Toscana Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART Stato del documento Definitiva Versione del documento 1.8 Data 29/05/13 Documento Acronimo del documento Specifiche

Dettagli

Web Services Servizio Telematico Dogane

Web Services Servizio Telematico Dogane Web Services Servizio Telematico Dogane MANUALE PER L'UTENTE Pagina 1 di 21 Indice 1 Introduzione... 3 2 Test funzionale dei web services... 6 3 Creazione del client... 10 3.1 Soluzioni Open Source...

Dettagli

Introduzione ai Web Services Alberto Polzonetti

Introduzione ai Web Services Alberto Polzonetti PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Dettagli

Laboratorio di RETI DI CALCOLATORI

Laboratorio di RETI DI CALCOLATORI Laboratorio di RETI DI CALCOLATORI A.A. 2009-2010 I WEB SERVICES Carlo Mastroianni Laboratorio di Reti di Calcolatori - Orario lunedì, 11:30-13:30, aula 40B mercoledì, 10:00-11:30, laboratorio settimo

Dettagli

Java Web Services. Uso di Eclipse e Apache Axis

Java Web Services. Uso di Eclipse e Apache Axis Java Web Services Uso di Eclipse e Apache Axis 1 Gli strumenti utili per iniziare Axis (Web Service tool) Eclipse (IDE di sviluppo) Tomcat (servlet/jsp container) N.B. Eclipse e Tomcat possono essere sostituiti

Dettagli

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi Applicazioni web Parte 6 Java Alberto Ferrari 1 Sommario Introduzione alle API ed esempi Tomcat Server per applicazioni web Alberto Ferrari 2 Alberto Ferrari 1 Java: da applet a servlet In origine Java

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario di Sistemi Distribuiti: RPC su SOAP Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO

Dettagli

Service Oriented Architectures (SOA)

Service Oriented Architectures (SOA) Facoltà di Ingegneria dell Informazione Laurea Specialistica in Ingegneria Informatica Facoltà di Ingegneria dei Sistemi Laurea Magistrale in Ingegneria Biomedica Dipartimento di Elettronica e Informazione

Dettagli

DEL SENDER GUIDA INTEGRATIVA ALL INSTALLAZIONE. Versione N.1.0. Data 11/05/2009. Sender - Guida integrativa alla installazione

DEL SENDER GUIDA INTEGRATIVA ALL INSTALLAZIONE. Versione N.1.0. Data 11/05/2009. Sender - Guida integrativa alla installazione GUIDA INTEGRATIVA ALL INSTALLAZIONE DEL SENDER Versione N.1.0 Data 11/05/2009 Versione 1.0, Data emissione 11/05/2009 Pag. 1 di 15 Revisione Capitolo Modifica Data 1.0 Prima Emissione 11/05/2009 Versione

Dettagli

Programmazione server-side: Java Servlet

Programmazione server-side: Java Servlet Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos

Dettagli

Primi passi con Apache Tomcat. L application server dell Apache group

Primi passi con Apache Tomcat. L application server dell Apache group Primi passi con Apache Tomcat L application server dell Apache group 2 J2EE Direttive Sun Microsystem Che cos è un application server EJB Maggiori application server open source 3 Tomcat Open Source e

Dettagli

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop i Tutorial di configurazione e programmazione di OpenSPCoop ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Introduzione 1 2 Ambiente di sviluppo 1 3 Presentazione degli scenari di esempio 2 4 Comunicazione

Dettagli

TUTORIAL IBM RATIONAL PERFORMANCE TESTER 8.2.1

TUTORIAL IBM RATIONAL PERFORMANCE TESTER 8.2.1 TUTORIAL IBM RATIONAL PERFORMANCE TESTER 8.2.1 Versione documento : 0.1 Data : 23/10/2012 Autore : Pietro Cornelio Software usato per la redazione del documento : LibreOffice 3.5.4.2 Pag. 1/23 INTRODUZIONE

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop i Tutorial di configurazione e programmazione di OpenSPCoop ii Copyright 2005-2008 Link.it s.r.l. iii COLLABORATORI TITOLO : Tutorial di configurazione e programmazione di OpenSPCoop AZIONE NOME DATA FIRMA

Dettagli

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Enterprise Edi.on Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Web Services Web Services: SOAP vs. RESTful 2 diversi.pi di Web Services I Web Services SOAP sono quelli classici Si basano

Dettagli

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi

Dettagli

Tutorial web Application

Tutorial web Application Tutorial web Application Installazione della JDK: Java viene distribuito con la jdk e il jre acronimi di Java Development Kit e Java Runtime Environment rispettivamente. La jdk è l'ambiente di sviluppo

Dettagli

Client e Server comunicano tramite il protocollo SOAP.

Client e Server comunicano tramite il protocollo SOAP. In questo tutorial implementeremo un semplice SOAP web service in PHP che un client Java richiamerà. In questo modo mostreremo l'interoperabilità fra linguaggi diversi che SOAP permette di avere. La struttura

Dettagli

Progettazione: Tecnologie e ambienti di sviluppo

Progettazione: Tecnologie e ambienti di sviluppo Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie

Dettagli

Approfondimento. Web Services

Approfondimento. Web Services Approfondimento Web Services Esame di Programmazione per il Web Fedele Ladisa INDICE Capitolo 1. Introduzione 1.1 Introduzione ai Web Services 1.2 Architettura dei Web Services 1.3 Stack protocollare di

Dettagli

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa.

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa. Introduzione alla tecnologia JMX 1 Viene analizzata l architettura sottostante le Java Managment Extensions (JMX) mostrandone un utilizzo applicativo e analizzando altri possibili scenari d uso di Ivan

Dettagli

fornitore di servizi utente all interazione tra utenti e sistemi

fornitore di servizi utente all interazione tra utenti e sistemi WEB SERVICES Successo del Web Negli anni passati il Web ha avuto un enorme successo principalmente per due motivi: Semplicità: Ubiquità Per un fornitore di servizi è semplice raggiungere un numero molto

Dettagli

Ministero del Lavoro e delle Politiche Sociali

Ministero del Lavoro e delle Politiche Sociali Ministero del Lavoro e delle Politiche Sociali Prospetto Informativo on-line Standard tecnici del sistema informativo per l invio telematico del Prospetto Informativo Documento: UNIPI.StandardTecnici Revisione

Dettagli

Un introduzione ai Web service

Un introduzione ai Web service Un introduzione ai Web service Valeria Cardellini Università di Roma Tor Vergata Definizione di Web service Definizione fornita del W3C http://www.w3.org/tr/ws-arch/ A Web service is a software system

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1 Gli XML Web Service Prof. Mauro Giacomini Medica 2008/2009 1 Definizioni i i i Componente.NET che risponde a richieste HTTP formattate tramite la sintassi SOAP. Gestori HTTP che intercettano richieste

Dettagli

Architettura Tecnica i. Architettura Tecnica

Architettura Tecnica i. Architettura Tecnica i Architettura Tecnica ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Scopo del documento 1 1.1 Abbreviazioni..................................................... 1 2 Overview 1 2.1 La PdD........................................................

Dettagli

NAL DI STAGING. Versione 1.0

NAL DI STAGING. Versione 1.0 NAL DI STAGING Versione 1.0 14/10/2008 Indice dei Contenuti 1. Introduzione... 3 2. Installazione NAL di staging... 3 VMWare Server... 3 Preistallazione su server linux... 6 Preinstallazione su server

Dettagli

BIMPublisher Manuale Tecnico

BIMPublisher Manuale Tecnico Manuale Tecnico Sommario 1 Cos è BIMPublisher...3 2 BIM Services Console...4 3 Installazione e prima configurazione...5 3.1 Configurazione...5 3.2 File di amministrazione...7 3.3 Database...7 3.4 Altre

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B2 - Database in rete Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual

Dettagli

Classificazione dei Web Services

Classificazione dei Web Services Web Services Programmazione in ambienti distribuiti Anno 2004-2005 Claudio Zunino Classificazione dei Web Services Interattiva il client è umano ed utilizza tipicamente un web browser Sviluppati usando

Dettagli

Web Service. Massimo Martinelli Massimo.Martinelli@isti.cnr.it

Web Service. Massimo Martinelli Massimo.Martinelli@isti.cnr.it 29/05/2010, Area Ricerca CNR, Pisa Web Service Introduzione Massimo Martinelli Massimo.Martinelli@isti.cnr.it Consiglio Nazionale delle Ricerche - CNR Istituto di Scienza e Tecnologie della Informazione

Dettagli

Introduzione al linguaggio Java: Servlet e JSP

Introduzione al linguaggio Java: Servlet e JSP Introduzione al linguaggio Java: Servlet e JSP Corso di Gestione della Conoscenza d Impresa A. A. 2006/2007 Dipartimento di Informatica Università degli Studi di Bari 1 Servlet e JSP: il contesto Un applicazione

Dettagli

Web Services Dogane LINEE GUIDA

Web Services Dogane LINEE GUIDA Web Services Dogane LINEE GUIDA Pagina 1 di 17 Indice Indice... 2 1. INTRODUZIONE... 3 2. TEST FUNZIONALI SUI WEB SERVICES... 8 3. SICUREZZA... 14 4. FIRMA... 14 5. TRASFORMAZIONE CERTIFICATO DI FIRMA...

Dettagli

Sommario. Introduzione... xvii. 1 Che cosa sono i servizi Web?... 1

Sommario. Introduzione... xvii. 1 Che cosa sono i servizi Web?... 1 Sommario Introduzione................................................... xvii Benvenuti!......................................................... xvii Questo libro fa al caso vostro?..........................................

Dettagli

Service Oriented Architecture and Web Services

Service Oriented Architecture and Web Services Service Oriented Architecture and Web Services Note per il corso di Ingegneria del Software Università di Camerino Dipartimento di Matematica ed Informatica Andrea Polini 11 gennaio 2007 Queste note sono

Dettagli

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB.

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Web Server TOMCAT Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie

Dettagli

Il Web-Service SDMX dell ISTAT

Il Web-Service SDMX dell ISTAT Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 26/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Esempio d uso... 5 2.1 Riferimento

Dettagli

SERVICE BROWSER. Versione 1.0

SERVICE BROWSER. Versione 1.0 SERVICE BROWSER Versione 1.0 25/09/2008 Indice dei Contenuti 1. Scopo del documento... 3 2. Introduzione... 3 3. Accordi di Servizio... 4 4. Servizi... 5 5. Servizio: Schede Erogatori... 8 6. Servizio:

Dettagli

Gestione XML della Porta di Dominio OpenSPCoop

Gestione XML della Porta di Dominio OpenSPCoop i Gestione XML della Porta di Dominio ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Hello World! 2 3 Configurazione XML della Porta di Dominio 5 3.1 Soggetto SPCoop...................................................

Dettagli

Web services. 25/01/10 Web services

Web services. 25/01/10 Web services Web services Tecnologia per il computing distribuito standard W3C non dissimile da RMI, CORBA, EJB... Relazione con il Web Websites for humans, Web Services for software :-) un Web service ha un indirizzo

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

Progetto di Laboratorio di Reti: chat-0.1

Progetto di Laboratorio di Reti: chat-0.1 Progetto di Laboratorio di Reti: chat-0.1 Federico Fortini 13 aprile 2006 1 Descrizione dei requisiti Sviluppare un servizio di messaggistica (chat) su connessione cifrata con SSL. La chat deve avere una

Dettagli

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org 1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org Prefazione. Da Hello World a Hello World Wide Web. Hello World è la prima frase stampata a video dal primo programma di esempio scritto

Dettagli

SOAP e Web Services. SOAP: introduzione

SOAP e Web Services. SOAP: introduzione SOAP e Web Services 1 SOAP: introduzione Attualmente le applicazioni distribuite rappresentano una grossa parte della produzione software. Inoltre lo sviluppo di Internet e delle Intranet rende utile creare

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Service Oriented Architectures e Web Services Corso di Applicazioni Telematiche A.A. 20010-11 Prof. Simon Pietro Romano Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos è un Web Service?

Dettagli

Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E.

Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E. Il Web, HTML e Java Corso di Laurea in Ingegneria Informatica Progetto S.C.E.L.T.E. Università di Bologna Facoltà di Ingegneria Bologna, 08/02/2010 Outline Da applicazioni concentrate a distribuite Modello

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

CORSO WEB SERVER, DBMS E SERVER FTP

CORSO WEB SERVER, DBMS E SERVER FTP CORSO WEB SERVER, DBMS E SERVER FTP DISPENSA LEZIONE 1 Autore D. Mondello Transazione di dati in una richiesta di sito web Quando viene effettuata la richiesta di un sito Internet su un browser, tramite

Dettagli

Enterprise @pplication Integration Software S.r.l.

Enterprise @pplication Integration Software S.r.l. SAP rel.1.0 : SAP State: Final Date: 03-27-200 Enterprise @pplication Integration Software S.r.l. Sede legale: Via Cola di Rienzo 212-00192 Rome - Italy Tel. +39.06.6864226 Sede operativa: viale Regina

Dettagli

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni White paper Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni Panoramica Questo documento analizza il supporto alla programmabilità nell'infrastruttura ACI (Application Centric

Dettagli

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Salerno Formazione, società operante nel settore della didattica, della formazione professionale e certificata

Dettagli

Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services

Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services Consiglio Nazionale delle Ricerche Istituto di Calcolo e Reti ad Alte Prestazioni Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services I. Marra M. Ciampi RT-ICAR-NA-06-04

Dettagli

Introduzione a Service Oriented Architecture e Web Service

Introduzione a Service Oriented Architecture e Web Service Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Introduzione a Service Oriented Architecture e Web Service Corso di Sistemi Distribuiti e Cloud Computing

Dettagli

maildocpro Manuale Installazione

maildocpro Manuale Installazione maildocpro Manuale Installazione versione 3.4 maildocpro Manuale Installazione - Versione 3.4 1 Indice Indice... 2 Creazione database... 3 Database: MAILDOCPRO... 3 Database: SILOGONWEB... 5 Configurazione

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Informazioni sul copyright 2004 Copyright Hewlett-Packard Development Company, L.P. Sono vietati la riproduzione, l'adattamento e la

Dettagli

Software per la gestione di musei di arte contemporanea1

Software per la gestione di musei di arte contemporanea1 Software per la gestione di musei di arte contemporanea1 Identificativo del progetto: CA Nome documento: System Design(SD) Identificativo del documento: 6 CA_SD_E1_R1 Data del documento: 21/05/2012 Prima

Dettagli

Corso Online. We Train Italy info@wetrainitaly.it

Corso Online. We Train Italy info@wetrainitaly.it Corso Online Programmatore Java New Edition We Train Italy info@wetrainitaly.it Programma Generale del Corso Programmatore Java New Edition 1. Introduzione al corso Java da 0 al web Presentazione del corso

Dettagli

Server-side Programming: Java servlets Parte II

Server-side Programming: Java servlets Parte II Corso di Laurea Specialistica in Ingegneria Informatica Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Corso di Reti di Applicazioni Telematiche a.a. 2009-2010 Server-side Programming:

Dettagli

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop i Guida alla programmazione e integrazione di servizi in OpenSPCoop ii Copyright 2005-2008 Link.it s.r.l. iii COLLABORATORI TITOLO : Guida alla programmazione e integrazione di servizi in OpenSPCoop AZIONE

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

Web Services Security

Web Services Security Web Services Security Introduzione ai Web Services Davide Marrone Sommario Cosa sono i web services Architettura dei web services XML-RPC SOAP (Simple Object Access Protocol) WSDL (Web Services Description

Dettagli

Programmazione in ambiente

Programmazione in ambiente Università Politecnica delle Marche Dipartimento di Ingegneria dell Informazione Programmazione in ambiente Android Laura Montanini - laura.montanini@univpm.it Corso di Tecnologie per le TLC 2013-2014

Dettagli

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144 Mobilità di Codice Abbiamo già visto come un dato host possa trasmettere un oggetto (serializzabile) ad un altro host. Quest ultimo potrà eseguire l oggetto pur non possedendo il bytecode della classe

Dettagli

Web Service Architecture

Web Service Architecture Giuseppe Della Penna Università degli Studi di L Aquila dellapenna@di.univaq.it http://dellapenna.univaq.it Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta Nous Informatica

Dettagli

APPENDICE A Servlet e Java Server Page

APPENDICE A Servlet e Java Server Page APPENDICE A Servlet e Java Server Page A.1 Cosa è una Servlet e come funziona Una servlet è un particolare tipo di applicazione Java, in grado di essere eseguita all'interno di un web server e di estenderne

Dettagli

Definizione di Web service (2) Un introduzione ai Web service. Caratteristiche dei Web service. Valeria Cardellini Università di Roma Tor Vergata

Definizione di Web service (2) Un introduzione ai Web service. Caratteristiche dei Web service. Valeria Cardellini Università di Roma Tor Vergata Definizione di Web service Definizione fornita del W3C http://www.w3.org/tr/ws-arch/ Un introduzione ai Web service Valeria Cardellini Università di Roma Tor Vergata A Web service is a software system

Dettagli

ZTL Firenze Inserimento Automatico

ZTL Firenze Inserimento Automatico ZTL Firenze Inserimento Automatico Introduzione In seguito alla variazione dell ordinanza del giugno 2011 che regola la modalità di rilascio dei permessi portale per le categorie abilitate, non è più possibile

Dettagli

REGIONE BASILICATA UFFICIO S. I. R. Standard Tecnologici dei Sistemi Informativi

REGIONE BASILICATA UFFICIO S. I. R. Standard Tecnologici dei Sistemi Informativi UFFICIO S. I. R. Standard Tecnologici dei Sistemi Informativi Autori: Dott.ssa Domenica Nardelli (P.O.C. Area Applicativa Ufficio SIR) Data di creazione: 03 Ottobre 2005 Ultimo aggiornamento: 03 Ottobre

Dettagli

2009. STR S.p.A. u.s. Tutti i diritti riservati

2009. STR S.p.A. u.s. Tutti i diritti riservati 2009. STR S.p.A. u.s. Tutti i diritti riservati Sommario COME INSTALLARE STR VISION CPM... 3 Concetti base dell installazione Azienda... 4 Avvio installazione... 4 Scelta del tipo Installazione... 5 INSTALLAZIONE

Dettagli

Spring WS Sviluppare WebService in Java

Spring WS Sviluppare WebService in Java Spring WS Sviluppare WebService in Java 1.1 Introduzione Nell ambito della programmazione Java è particolarmente utile avere una certa familiarità con i WebService e la tecnologia che li supporta. In particolare

Dettagli

Tecniche Multimediali

Tecniche Multimediali Chiedersi se un computer possa pensare non è più interessante del chiedersi se un sottomarino possa nuotare Edsger Dijkstra (The threats to computing science) Tecniche Multimediali Corso di Laurea in «Informatica»

Dettagli

Application Server per sviluppare applicazioni Java Enterprise

Application Server per sviluppare applicazioni Java Enterprise Application Server per sviluppare applicazioni Java Enterprise Con il termine Application Server si fa riferimento ad un contenitore, composto da diversi moduli, che offre alle applicazioni Web un ambiente

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2015 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 I protocolli di

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2014 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 Prerequisiti per

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2014 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 I protocolli di

Dettagli

L Iniziativa egovernment.net per l Italia

L Iniziativa egovernment.net per l Italia L Iniziativa egovernment.net per l Italia Porte di Dominio per la Cooperazione Applicativa Allegato 1 Porta di Dominio.NET Versione 1.0, Aprile 2002 Soluzioni per l Interoperabilità e la Cooperazione Applicativa

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA Elaborato di Tecnologie del Software per Internet JMSWEB 2 SISTEMA PER LO SCAMBIO DI MESSAGGI TRA APPLICAZIONI

Dettagli

SDK-CART. Versione 1.1

SDK-CART. Versione 1.1 SDK-CART Versione 1.1 20/04/2008 Indice dei Contenuti 1 INTRODUZIONE...2 2 L USO DEL COMPONENTE DI INTEGRAZIONE DELLA PORTA DI DOMINIO... 2 2.1 Modalità d'uso trasparente dei Servizi...3 2.2 Uso del Servizio

Dettagli

Web Service per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica

Web Service per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica Web Service per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica Versione: 3 Data: 16/10/2014 Autore: InfoCamere 1. Introduzione al documento...3 1.1 Modifiche al documento...

Dettagli

Manuale SDK di OpenSPCoop2 i. Manuale SDK di OpenSPCoop2

Manuale SDK di OpenSPCoop2 i. Manuale SDK di OpenSPCoop2 i Manuale SDK di OpenSPCoop2 ii Copyright 2005-2013 Link.it srl iii Indice 1 Introduzione 1 2 La Personalizzazione del Protocollo di Cooperazione 1 3 Il Software Development Kit 2 3.1 Gestione dei payload.................................................

Dettagli

Seminario di Sistemi Distribuiti RPC su SOAP

Seminario di Sistemi Distribuiti RPC su SOAP Seminario di Sistemi Distribuiti RPC su SOAP Massimiliano Vivian [777775] Massimiliano Vivian 1 Introduzione La comunicazione delle informazioni è l elemento fondamentale per lo sviluppo dei sistemi. SOAP

Dettagli

DOCFINDERWEB SERVICE E CLIENT

DOCFINDERWEB SERVICE E CLIENT DOCFINDERWEB SERVICE E CLIENT Specifiche tecniche di interfacciamento al Web Service esposto da DocPortal Versione : 1 Data : 10/03/2014 Redatto da: Approvato da: RICCARDO ROMAGNOLI CLAUDIO CAPRARA Categoria:

Dettagli

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3,

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, Emergency healthcare process automation using workflow technology and web services M. Poulymenopoulou, F. Malamateniou, G. Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, 195 207 Processo

Dettagli

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni Tomcat & Servlet Programmazione in Ambienti Distribuiti V 1.2 Marco Torchiano 2005 Contenuti Tomcat Applicazioni Web Struttura Sviluppo Deployment Servlet JSP Uso delle sessioni 1 Tomcat Tomcat è un contenitore

Dettagli

Specifiche tecniche per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica

Specifiche tecniche per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica Specifiche tecniche per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica 1/20 1.1 Modifiche Documento Descrizione Modifica Edizione Data Prima emissione 1 28/07/2008 1.2

Dettagli