• Non ci sono risultati.

CONStanza è un servizio di onsistenza a essibi- le ome servizio web

N/A
N/A
Protected

Academic year: 2021

Condividi "CONStanza è un servizio di onsistenza a essibi- le ome servizio web"

Copied!
10
0
0

Testo completo

(1)

Servizi Web

Nel apitolopre edente èstato illustrato omesiapossibile reare interfa e

web attraverso le JSP. CONStanza è un servizio di onsistenza a essibi-

le ome servizio web. In questo apitolo saranno mostrate le aratteristi-

he propriedei web servi es, soermando iin parti olaresulle proprietà he

permettono l'interoperabilità,queste aratteristi he infattisono state utiliz-

zate nello sviluppo dell'interfa ia web, in parti olare nella realizzazione di

JavaBeans ingrado di invo are i servizi remotidi CONStanza.

6.1 Caratteristi he dei servizi web

Unserviziowebèun'appli azionebasatasuproto olliestandardgiàesistenti,

legati adInternet, ome HTTP, XML, SOAP, WSDL e UDDI.

Può essere denito ome un'interfa ia posizionata tra il odi e dell'ap-

pli azione he oreil servizio el'appli azione liente (gura6.1).

Figura 6.1: Livello diastrazione introdotto daiservizi web [20℄

Attraverso questa interfa ia (des ritta utilizzando il linguaggio WSDL)

i lienti possonointeragire on ilservizio web stesso,attivando leoperazioni

(2)

des rittenell'interfa iamediantemessaggiXML.Ilproto olloutilizzatoper

lo s ambio di tali messaggi è SOAP e la omuni azione sulla rete avviene

nella maggiorparte dei asi utilizzando HTTP.

Un servizio Web quindi agis e introdu endo un'astrazione he separa la

piattaformasu ui si basa l'appli azione ed i dettagli del linguaggiodi pro-

grammazioneutilizzato,dalmodoin uil'appli azionevieneinvo ata. Infatti

propriograzieall'astrazioneintrodotta,sipuòadesempioa edereadunser-

vizio web sviluppato in C++, attraverso un lient Java, ( ome mostreremo

su essivamente, illustrandolosviluppodell'interfa iawebperCONStanza)

ovi eversa, oppureèpossibilea edere adunservizio web he sitrovasuun

sistemaUnix utilizzando una ma hina on sistemaoperativo Windows.

L'interoperabilità è quindi uno dei maggiori bene i portati dall'imple-

mentazione dei servizi web, permettendo una fa ile integrazione tra l'ap-

pli azione he svolge il servizio web e l'appli ativo liente he ne permette

l'utilizzo.

6.2 Ar hitettura dei servizi web

In gura6.2 viene mostratal'ar hitettura deiservizi Web.

Figura6.2: Ar hitettura servizi web [20℄

Il servi e provider pubbli auna des rizione delserviziooerto attraverso

ilservi e registry. Il servi e onsumer utilizzandoil servi e registry er aun

servizio he soddisisuoi bisogni. Unavoltatrovatoutilizzeràlades rizione

(3)

6.2.1 Operazioni

Per utilizzare un servizio web servono le seguenti operazioni ome mostrato

ingura 6.2:

Publish: Con questa operazione viene pubbli ata una des rizione del servizioweb, inmodo he possa esserere uperatada hihabisognodi

utilizzareilservizio.

Find: Èl'operazione on uisi er ailserviziodi uisihabisogno,lari- er apuòavvenireinterrogandoiregistrideiservizi,oppureri er ando

lades rizione direttamentedalservi e provider.

Bind: Attraverso questa operazione il servi e onsumer ri hiama oav-

via un'interazione on il servizio, utilizzando le regole presenti nella

des rizione delservizio.

6.2.2 Ruoli nell'ar hitettura dei servizi web

Servi e provider: È la piattaforma he realizza ed ospita il servizio, tramitel'operazione dipublishilservizio viene pubbli izzato,inquan-

to le sue aratteristi he vengono memorizzate nel servi e registry, un

registroa essibilepubbli amente. Ilservi e providerquindi rimanein

attesa diun liente he ri hieda il servizio oerto.

Servi e onsumer: È l'appli azione he tramite l'operazione di nd interagis e on il servi e registry per ottenere il servizio più adatto

aipropri obiettivi. Unavoltaindividuatosi ollega alservi e provider

orrispondente (bind) e inizia a fruire delparti olare servizio. Questo

ruolo può essere svolto da un browser gestito da una persona, oppure

daun appli ativosenza user interfa e, ome un altro servizio web.

Servi e registry o broker: È il registro su ui i servi e provider pub-

bli ano le des rizioni dei servizi oerti, e su ui i servi e onsumer

eettuano leri er he, inmododatrovareiservizi di uihannobisogno

e leinformazioniper ollegarsialservizio web.

6.3 Lo sta k dei servizi web

L'ar hitetturadeiserviziwebèimplementatautilizzandounos hemaalivelli,

in ui i livelli superiori sono ostruiti sulle funzionalità fornite dai livelli

(4)

Figura6.3: Sta k deiservizi web [20℄

6.3.1 Livello dis overy

Illivellodis overyfornis eilme anismo hepermetteal lientediottenerela

des rizionedeiservizioertidaiproviders. Ilme anismomaggiormenteuti-

lizzatoè l'Universal Des ription, Dis overy and Integration (UDDI),

attraverso il quale vengono indi izzati i servizi web, denendo un registro

su ui poter eettuare delle ri er he, in ui sono presenti i servizi e le loro

des rizioni, in modo da permettere all'utente di s oprire i servizi di ui ha

bisogno.

6.3.2 Livello des ription

Quando un servizio web è implementato, deve denire quali proto ollisup-

porta per i livelli network, transport e pa kaging. Queste aratteristi he

devono essere des ritte emesse adisposizionedel liente, inmodo he possa

ontattareed utilizzare ilservizio.

Lostandardutilizzatopereettuarequestades rizioneèilWebServi e

Des ription Language (WSDL).

6.3.3 Livello pa kaging

L'insieme di dati delle appli azioni he viaggiano in rete sul livello di tra-

sporto, devono essere impa hettati in un formato tale da essere apiti da

tutti equindi permettere una omuni azionetra i lientie i servizi web.

La base dei formati di pa kaging è il linguaggio XML. Il proto ollo,

(5)

6.3.4 Livello transport

Il livello transport ha il ompitodi trasportare l'insieme dei dati attraverso

larete, in ludeproto olli ome TCP, HTTP,FTP, e ..

6.3.5 Livello network

illivellonetwork presente nellosta k deiservizi web oin ide on l'omonimo

livello del modello TCP/IP, quindi fornis e le basi per la omuni azione,

l'indirizzamentoe lefunzionalitàdi routing.

6.3.6 Standard e Proto olli utilizzati dai servizi web

Ognilivellopersvolgerelepropriefunzionalitàutilizzadeterminatistandard

standard e proto olli, in gura 6.4 viene data una visione ompleta degli

standard e dei proto olliutilizzatineivari livellidello sta k.

Figura 6.4: Standard eProto olliutilizzatinello sta k deiservizi web

6.4 XML

XMLstapereXtensibleMarkupLanguage, èstatoprogettatoperlarappre-

sentazionedei dati, è un linguaggiodieti hettatura omel'HTML, però si

(6)

6.4.1 Prin ipali dierenze tra XML e HTML

XML non ha tag predeniti, quindi per utilizzarlosi devono denire i propritag.

XML èstato progettato per trasportare dati.

XML non èun sostitutoper l'HTML.

XML è fatto per des rivere le informazioni, HTML è fatto per visua- lizzareinformazioni.

6.4.2 Prin ipali aratteristi he

XML di per non è altro he un insieme standard di regole sintatti he per

modellare la struttura di do umenti e dati. Questo insieme di regole, dette

più propriamente spe i he, denis ono le modalità se ondo ui è possibile

rearsiun propriolinguaggiodimarkup, spe i operiltipo diinformazione

hevienetrattata. Èun linguaggiofa ilmenteanalizzabile,estendibileeauto

des rittivo,inoltre èindipendente dalinguaggiepiattaforme utilizzatenelle

appli azioni.

Per tuttequeste aratteristi he èutilizzatonello s ambiodimessaggitra

servizi web eutentidei servizi.

Los ambiodimessaggiXML ostituis e labasedelSOAP,un messaggio

XML può ontenerequalsiasi osa: una query per un motoredi ri er a,una

ri hiesta diprezzo per una mer epresentein magazzino, la listadei voli di-

sponiliperunadeterminatatrattaaerea,oppurequalsiasialtrainformazione

he è rilevanteperuna parti olare appli azione.

6.5 SOAP

SOAP (SimpleObje t A ess Proto ol) è il proto olloalla base delle omu-

ni azionineiservizi web. Il proto ollo denis e:

laspe i adellastrutturadeimessaggiutilizzati,inmododapermette- reuna omuni azioneindipendentedalproto ollodireteedalmodello

diprogrammazione

un insieme di regole he permette la traduzione di insiemi di dati in

una rappresentazione XML

le onvenzioniperrappresentarele hiamateapro edureremote(RPC)

(7)

6.5.1 S ambio di messaggi SOAP

Nell'ambito dei servizi web, SOAP è il proto ollo he permette lo s am-

bio dei dati. Infatti il liente ed il servizio web si s ambiano dei messaggi

XML.SOAPfornis ele onvenzioni hepermettonodide odi areimessaggi

s ambiati,in parti olare:

Il tipodi informazioni he vengono s ambiate

ome queste informazionivengono espresse utilizzandoXML

ome eettuarel'invio delle informazioni.

Figura 6.5: S ambiodi messaggiSOAP [21℄

SOAP può essere implementato su altri proto olli di rete, ome HTTP,

SMTP,FTPealtri. Comemostratonellagura6.5ipassiprin ipali on ui

avviene los ambiodi messaggitraservizio web e liente sono:

1. Il liente he ha bisogno delservizio, rea un messaggioSOAP. Attra-

versoquestomessaggiosieettualari hiestadiinvo areilservizioweb

fornito dalservi e provider. Il lient SOAP interagis e on illivellodi

rete sottostantepereettuare l'inviodel massaggiosulla rete.

2. L'infrastruttura direte invia ilmessaggio alserver SOAP presente sul

servi e provider, il server SOAP una volta ri evuto il messaggio, lo

(8)

3. Il servizio web elabora il messaggio diri hiesta e in base a questo for-

nis e una risposta. La risposta è a sua volta un messaggioSOAP he

viene inviato alri hiedente delservizio attraverso larete.

4. Il messaggio di risposta viene ri evuto dal ri hiedente del servizio,

arrivandono all'appli azione he aveva eettuatola ri hiesta.

6.5.2 Il messaggio SOAP

Figura 6.6: Struttura delmessaggioSOAP

IlmessaggioSOAP(vedig6.6) onsisteinuninvolu ro(envelope) onte-

nente un'intestazione (header)opzionale ed un orpo (body). Nell'intestazio-

ne sono presenti le informazioni relativeal messaggio stesso (meta informa-

zioni),infattiin lude le impostazioniperl'inviodelmessaggio, informazioni

riguardanti l'autenti azione o l'autorizzazione e relative al ontesto in ui

avviene lo s ambio dei messaggi. Il orpo è il messaggiovero e proprio he

viene spedito e deve essere elaborato.

6.6 WSDL

Il Web Servi e Des ription Language (WSDL) è lo standard utilizzato per

spe i are la des rizione di un servizio web. Il servizio web usando WSDL

può des rivere qualiservizi oree omeil ri hiedente può utilizzarli.

(9)

WSDL fornis e un appro io strutturatoperla denizione delle inter- fa edei serviziweb, questorendepiùfa ileimplementareemantenere

iservizi.

WSDL rende più fa ile utilizzare i servizi web, ridu endo la quan-

tità di odi e (e i possibili errori) he un'appli azione liente deve

implementare

Rende fa ile modi are il servizio web, onsentendo alle appli azio- niSOAP lienti di ontinuare a funzionare, infattiWSDL permettedi

trovaredinami amentetutteleinformazioniriguardantiilservizioweb,

quindi i ambiamentiverrano presi in onsiderazione inmaniera auto-

mati aattraverso lades rizioneWSDL,inquesto modoleappli azioni

lientinon dovranno subiregrosse modi he ognivolta he avvieneun

ambiamento.

Lades rizione WSDL nellamaggiorpartedei asi non deveessere reata

manualmente,infattiesistonoinnumerevoliappli ativietool he lagenerano

dinami amentepartendo da un servizio web esistente.

Inoltre attraverso lades rizione WSDL numerositoole appli azioniper-

mettono la reazione dinami a di lient stub e server stub quest'ultimi

hiamati an he skeleton.

Figura6.7: Generazione automati a distub e skeleton[22℄

(10)

6.6.1 Client Stub

S endendo maggiormente nel dettaglio rispetto a quanto des ritto in gu-

ra 6.5, tra il odi e del liente he ri hiede il servizio e il lient SOAP è

presente un lient stub ( ome mostrato in gura 6.7). Questo ri eve le ri-

hiesteprovenientidal lienteele onverte inri hiesteditipoSOAP, he poi

sarannoinviate sulla rete.

Inoltre ri eve le risposte SOAP provenienti dalla rete e le onverte nella

formaadatta al lientri hiedente.

6.6.2 Server Stub

Tra il servizio web ed il server SOAP è presente uno skeleton o server stub

(vedi gura 6.7), questo ri eve le ri hieste SOAP provenienti dal lientstub

ele onverte inmodo he siano nella formaadatta per ilservizio web.

Inoltre onverte le risposte del servizio web in messaggi SOAP he ven-

gono inviatial lient stub.

6.7 Il servizio web CONStanza

An he il servizio di onsistenza CONStanza è a essibile ome servizio web,

quindi presenta tutte le aratteristi he he sono state illustrate in questo

apitolo. Nei apitoli su essivi verrà mostrato ome sia possibile ottenere

la des rizione WSDL dei servizi remoti oerti, utilizzando il tool gSOAP

on ui CONStanza è stato sviluppato. Poi sarà mostrato ome reare in

manieraautomati a i lientstub attraverso lades rizione WSDL ed un tool

dell'appli ativoAxis. Innei lientstubsarannoutilizzatidaiJavaBeans he

sono allabase dell'interfa iaweb epermettono di ri hiederei servizi oerti

daCONStanza.

Riferimenti

Documenti correlati

b) l’Allegato B alla presente determinazione, che costituisce parte integrante e sostanziale della stessa, concernente “Disciplinare di svolgimento della procedura di

Per selezionare un comune o lo stato si dovrà procedere facendo clic con il tasto sinistro del mouse sulla voce interessata, il sistema riporterà la voce selezionata nella casella..

 la terza consisterebbe nella delega ad un soggetto terzo, ad esempio una società finanziaria regionale, di tutte le fasi del processo di pianificazione, programmazione e

di aver svolto, alla data del 01.01.2018, l’attività di educatore per dieci anni, anche non continuativi, come di seguito indicato:. Datore di lavoro Tipologia

Informazioni, comunicazioni e servizi a supporto del turista, delle strutture ricettive, dei tour operator e delle Associazioni turistiche per la promozione e la valorizzazione

Il dono a Vittorio Amedeo era composto sia da porcellane realizzate per l’occasione, sia – fatto eccezionale che ne indica la natura particolar- mente intima – da

peculiarità proprie di ogni bambino e di ogni famiglia. Ha finalità di formazione, socializzazione e di cura dei bambini nella prospettiva del loro

La Struttura Semplice “Prevenzione e Controllo Infezioni Correlate all’Assistenza (ICA)” è collocata in Staff al Direttore Sanitario e le funzioni svolte in via