advertisement

Tesi sistema di tipi jolie

50 %
50 %
advertisement
Information about Tesi sistema di tipi jolie

Published on December 19, 2008

Author: elviscio

Source: slideshare.net

Description

implementazione sistema di tipi (strutture di messaggi xml) e controllo conformità in JOLIE, un nuovo linguaggio open source per realizzare applicazioni distribuite nella rete
advertisement

ALMA MATER STUDIORUM - UNIVERSITA' DI BOLOGNA - SEDE DI CESENA FACOLTA' DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA SPECIALISTICA IN SCIENZE DELL'INFORMAZIONE IMPLEMENTAZIONE DI UN SISTEMA DI TIPI PER JOLIE Relatore Chiar.mo Prof. Zavattaro Gianluigi Correlatori Dr. Guidi Claudio Dott. Montesi Fabrizio Controrelatore Chiar.mo Prof. Maniezzo Vittorio Presentata da Ciotti Elvis

Sommario presentazione JOLIE - panoramica - creazione messaggi e invio SISTEMA DI TIPI PER JOLIE - dichiarazione tipi e controlli di conformità - esportazione tipi XML Schema DEMO - applicazione distribuita JOLIE con sistema di tipi CONCLUSIONI

JOLIE - panoramica - creazione messaggi e invio

SISTEMA DI TIPI PER JOLIE - dichiarazione tipi e controlli di conformità - esportazione tipi XML Schema

DEMO - applicazione distribuita JOLIE con sistema di tipi

CONCLUSIONI

Orchestrazione Web Services Web service: sistema software Pubblicazione interfaccia servizi: WSDL e UDDI Scambio di messaggi: HTTP e SOAP (XML) Comunicazione nella rete tra sistemi eterogenei Composizione: coreografia e orchestrazione WS-BPEL B C

Orchestrazione

Web service: sistema software

Pubblicazione interfaccia servizi: WSDL e UDDI

Scambio di messaggi: HTTP e SOAP (XML)

Comunicazione nella rete tra sistemi eterogenei

Composizione: coreografia e orchestrazione

Linguaggio di programmazione Orchestrazione di servizi web Alternativa a WS-BPEL Basato su calcolo formale SOCK (primitive per descrizione meccanismi SOC) Sintassi linguaggio in stile C/Java Interprete rende operativi i servizi Java Orchestration Language Interpreter Engine Alcune caratteristiche Progetto europeo SENSORIA, Università di Bologna http://jolie.sourceforge.net/

Linguaggio di programmazione

Orchestrazione di servizi web

Alternativa a WS-BPEL

Basato su calcolo formale SOCK (primitive per descrizione meccanismi SOC)

Sintassi linguaggio in stile C/Java

Interprete rende operativi i servizi

Primitive di comunicazione B NOTIFICATION ONE WAY <xml …> …. </xml> <xml …> …. </xml> A RETE SOLICIT RESPONSE REQUEST RESPONSE C <xml …> …. </xml> <xml …> …. </xml> D RETE <xml …> FAULT </xml> <xml …> FAULT </xml> <xml …> …. </xml> <xml …> …. </xml> Operatori di composizione Sequenza Parallelo Scelta non deterministica sugli input

Operatori di composizione

Sequenza

Parallelo

Scelta non deterministica sugli input

ordine .cliente = “Mario Rossi”; ordine .articoli.prodotto[0] = “a128”; ordine .articoli.prodotto[0].qta = 1; ordine .articoli.prodotto[1] = “b131”; ordine .articoli.prodotto[1].qta = 3; Strutture dati ordine > <cliente> Mario Rossi </cliente> <articoli> <prodotto> a128 <qta> 1 </qta> </prodotto> <prodotto> b131 <qta> 3 </qta> </prodotto> </articoli> </ ordine > Rappresentazione XML Codice JOLIE

ordine .cliente = “Mario Rossi”; ordine .articoli.prodotto[0] = “a128”; ordine .articoli.prodotto[0].qta = 1; ordine .articoli.prodotto[1] = “b131”; ordine .articoli.prodotto[1].qta = 3; Strutture dati ordine > <cliente> Mario Rossi </cliente> <articoli> <prodotto> a128 <qta> 1 </qta> </prodotto> <prodotto> b131 <qta> 3 </qta> </prodotto> </articoli> </ ordine > Rappresentazione XML Codice JOLIE

ordine .cliente = “Mario Rossi”; ordine .articoli.prodotto[0] = “a128”; ordine .articoli.prodotto[0].qta = 1; ordine .articoli.prodotto[1] = “b131”; ordine .articoli.prodotto[1].qta = 3; Strutture dati ordine > <cliente> Mario Rossi </cliente> <articoli> <prodotto> a128 <qta> 1 </qta> </prodotto> <prodotto> b131 <qta> 3 </qta> </prodotto> </articoli> </ ordine > Rappresentazione XML Codice JOLIE

ordine .cliente = “Mario Rossi”; ordine .articoli.prodotto[0] = “a128”; ordine .articoli.prodotto[0].qta = 1; ordine .articoli.prodotto[1] = “b131”; ordine .articoli.prodotto[1].qta = 3; Strutture dati ordine > <cliente> Mario Rossi </cliente> <articoli> <prodotto> a128 <qta> 1 </qta> </prodotto> <prodotto> b131 <qta> 3 </qta> </prodotto> </articoli> </ ordine > Rappresentazione XML Codice JOLIE

ordine .cliente = “Mario Rossi”; ordine .articoli.prodotto[0] = “a128”; ordine .articoli.prodotto[0].qta = 1; ordine .articoli.prodotto[1] = “b131”; ordine .articoli.prodotto[1].qta = 3; Strutture dati ordine > <cliente> Mario Rossi </cliente> <articoli> <prodotto> a128 <qta> 1 </qta> </prodotto> <prodotto> b131 <qta> 3 </qta> </prodotto> </articoli> </ ordine > Rappresentazione XML Codice JOLIE invio con notification inviaOrdine @ ServizioOrdini ( ordine )

In questa tesi… Introduzione sistema di tipi per JOLIE - Sintassi per la definizione dei tipi - Controllo di conformità messaggio / tipo - Associazione tipi alle operazioni - Controlli inseriti in ingresso e uscita nelle operazioni Estensione generatore WSDL con tipi XML Schema “Strumento per la generazione di documenti WSDL che descrivono servizi JOLIE” Tesi di Laurea di Malagoli Davide - a.a. 07/08 Relatore: prof Gorrieri Roberto, Correlatori: Dr, Guidi Claudio, Dott. Montesi Fabrizio

Introduzione sistema di tipi per JOLIE - Sintassi per la definizione dei tipi - Controllo di conformità messaggio / tipo - Associazione tipi alle operazioni - Controlli inseriti in ingresso e uscita nelle operazioni

Estensione generatore WSDL con tipi XML Schema “Strumento per la generazione di documenti WSDL che descrivono servizi JOLIE” Tesi di Laurea di Malagoli Davide - a.a. 07/08 Relatore: prof Gorrieri Roberto, Correlatori: Dr, Guidi Claudio, Dott. Montesi Fabrizio

Introduzione sistema di tipi 1) Sintassi per la definizione dei tipi dei messaggi TYPE_DECLARATION NATIVE_YPE SUB_TYPE_LIST_N TYPE_LIST_N SUBTYPE CARDINALITY type id: NATIVE_YPE SUB_TYPE_LIST_N void | string | int | double | any | undefined { SUBTYPE TYPE_LIST_N } | { ? } | Є , SUBTYPE TYPE_LIST_N | Є .id CARDINALITY : NATIVE_YPE SUB_TYPE_LIST_N | .id CARDINALITY : idTypeDeclared [ NUMBER , NUMBER ] | [ NUMBER , *] | * | ? | Є

Introduzione sistema di tipi Esempio di dichiarazioni di tipo del messaggio “ordine” type ORDINE_TYPE : void { .cliente: string .articoli: void { .prodotto[1,*]: string { .qta: int } } .altre_info: any {?} } < ordine > <cliente> Mario Rossi </cliente> <articoli> <prodotto> a128 <qta> 1 </qta> </prodotto> <prodotto> b131 <qta> 3 </qta> </prodotto> </articoli> </ ordine >

Introduzione sistema di tipi Esempio di dichiarazioni di tipo del messaggio “ordine” type ORDINE_TYPE : void { .cliente: string .articoli: void { .prodotto[1,*]: string { .qta: int } } .altre_info: any {?} } < ordine > <cliente> Mario Rossi </cliente> <articoli> <prodotto> a128 <qta> 1 </qta> </prodotto> <prodotto> b131 <qta> 3 </qta> </prodotto> </articoli> </ ordine >

Introduzione sistema di tipi Esempio di dichiarazioni di tipo del messaggio “ordine” type ORDINE_TYPE : void { .cliente: string .articoli: void { .prodotto[1,*]: string { .qta: int } } .altre_info: any {?} } < ordine > <cliente> Mario Rossi </cliente> <articoli> <prodotto> a128 <qta> 1 </qta> </prodotto> <prodotto> b131 <qta> 3 </qta> </prodotto> </articoli> </ ordine >

Introduzione sistema di tipi 2) Algoritmo di controllo conformità messaggio al tipo dichiarato < ordine > 20081218A12 <cliente> Mario Rossi </cliente> <articoli> <prodotto> a128 <qta> 1 </qta> </prodotto> <prodotto> b131 ??? </prodotto> <data>2008/12/18</data> </articoli> </ ordine > type ORDINE_TYPE : void { .cliente: string .articoli: void { .prodotto[1,*]: string { .qta: int } } .altre_info: any {?} }

Introduzione sistema di tipi 3) Associazione tipi alle operazioni outputPort OrdiniServicePort { Location: “http://xyz:2002” Protocol: soap OneWay: inviaOrdine RequestResponse: opRR throws fault1 fault2 } ( ORDINE_TYPE ) ( TIPO1 )( TIPO2 ) ( TIPO3 ) ( TIPO4 )

Introduzione sistema di tipi 4) Controlli nelle operazioni a tempo di esecuzione A B NOTIFICATION ONE WAY RETE <ordine> … </ordine> <ordine> … </ordine> ricezione effettiva solo se il messaggio è conforme al tipo locale Invio effettivo solo se il messaggio è conforme al tipo locale TypeMismatch

Introduzione sistema di tipi 3) Controlli nelle operazioni a tempo di esecuzione A B SOLICIT RESPONSE REQUEST RESPONSE RETE Invio effettivo solo se il messaggio è conforme al tipo locale Ricezione effettiva solo se il messaggio è conforme al tipo locale Ricezione effettiva solo se il messaggio è conforme al tipo locale Se il messaggio creato non è conforme al tipo locale: invio fault <xml …> <soap…> … </soap> <xml …> <soap…> … </soap> <xml …> <soap…> … </soap> <xml …> <soap…> … </soap> TypeMismatch IOFault TypeMismatch Received TypeMismatch

SCANNER PARSER CONTROLLORE SEMANTICO OOIT BUILDER Introduzione sistema di tipi Modifiche apportate all’architettura JOLIE Codice JOLIE servizio AMBIENTE DI ESECUZIONE GESTORE DELLA COMUNICAZIONE OOIT … op1 opN … … - TIPI - ASSOCIAZIONI TIPI-OPERAZIONI

SCANNER PARSER CONTROLLORE SEMANTICO OOIT BUILDER Introduzione sistema di tipi Modifiche apportate all’architettura JOLIE Codice JOLIE servizio AMBIENTE DI ESECUZIONE GESTORE DELLA COMUNICAZIONE OOIT … op1 opN … … - ESISTENZA TIPI - CARDINALITA’

SCANNER PARSER CONTROLLORE SEMANTICO OOIT BUILDER Introduzione sistema di tipi Modifiche apportate all’architettura JOLIE Codice JOLIE servizio AMBIENTE DI ESECUZIONE GESTORE DELLA COMUNICAZIONE OOIT … op1 opN … … OGGETTI DICHIARAZIONI TIPO INSERITI NELLE OPERAZIONI

SCANNER PARSER CONTROLLORE SEMANTICO OOIT BUILDER Introduzione sistema di tipi Modifiche apportate all’architettura JOLIE Codice JOLIE servizio AMBIENTE DI ESECUZIONE GESTORE DELLA COMUNICAZIONE OOIT … op1 opN … … COMPONENTE CONTROLLO CONFORMITA’ CONTROLLI IN/OUT OPERAZIONI

Introduzione sistema di tipi Demo: gestore sessioni esami DATABASE CORSI E VOTI DATABASE ACCOUNTS GESTORE SESSIONI D’ESAME PROFESSORE 1 PROFESSORE N Autenticazione Creazione sessione (esame, studente) Domande Proposta voto Autenticazione Partecipazione sessione (esame, studente) Risposte a domande Accettazione voto STUDENTE 1 STUDENTE M … … sessione sessione … sessione sessione …

Autenticazione

Creazione sessione (esame, studente)

Domande

Proposta voto

Autenticazione

Partecipazione sessione (esame, studente)

Risposte a domande

Accettazione voto

Esportazione WSDL <wsdl:definitions ..> <wsdl:types> … </wsdl:types> <wsdl:message…> … <wsdl:message…> <wsdl:portType …> <wsdl:operation…> … </wsdl:operation…> <wsdl:input … /> <wsdl:output … /> </wsdl:portType …> outpuPort outPort { Location:… Protocol: soap{ .schema=“file.xsd” ... } OneWay: op1 } … TRASFORMATORE JOLIE -> WSDL DICHIARAZIONI XML Schema ESTERNE Codice JOLIE del servizio Documento WSDL

Esportazione WSDL <wsdl:definitions ..> <wsdl:types> … </wsdl:types> <wsdl:message…> … <wsdl:message…> <wsdl:portType …> <wsdl:operation…> … </wsdl:operation…> <wsdl:input … /> <wsdl:output … /> </wsdl:portType …> outpuPort outPort { Location:… Protocol: soap{ .schema=“file.xsd” ... } OneWay: op1 } … TRASFORMATORE JOLIE -> WSDL DICHIARAZIONI XML Schema ESTERNE Codice JOLIE del servizio Documento WSDL ESPORTAZIONE TIPI -> XSD type TIPO1 {...} outpuPort outPort { Location: ... Protocol: soap OneWay: op1( TIPO1 ) } …

Conclusioni Sistema di tipi: considerazioni Messaggi strutturalmente corretti: diminuzione anomalie di funzionamento Visualizzazione dettagliata errori di conformità: strumento di debug Dichiarazione tipi molto flessibile: qualsiasi contenuto per sottostruttura del tipo Sviluppi futuri Supporto per altri tipi derivati e costrutti XSD Sviluppo linguaggio di coreografia complementare a JOLIE con supporto tipi Con questa tesi si è introdotto un sistema di tipi per JOLIE che permette la dichiarazione dei tipi dei messaggi ed effettua dei controlli in ingresso e uscita dalle operazioni, in modo che le operazioni inviino e ricevano messaggi conformi ai relativi tipi dichiarati. E’ stato anche modificato lo strumento per la creazione di documenti WSDL descriventi servizi JOLIE, inserendo l’esportazione dei tipi dichiarati in formato XSD nelle relative operazioni.

Sistema di tipi: considerazioni

Messaggi strutturalmente corretti: diminuzione anomalie di funzionamento

Visualizzazione dettagliata errori di conformità: strumento di debug

Dichiarazione tipi molto flessibile: qualsiasi contenuto per sottostruttura del tipo

Sviluppi futuri

Supporto per altri tipi derivati e costrutti XSD

Sviluppo linguaggio di coreografia complementare a JOLIE con supporto tipi

Domande ? Grazie dell’attenzione

Domande ?

Add a comment

Related pages

Tesi: sistema di tipi per JOLIE | EC 83 Blog

posto qua il materiale usato nella tesi, più che altro per non perderlo, e nel caso interessasse a qualcuno. Presentazione Implementazione sistema di tipi ...
Read more

IMPLEMENTAZIONE DI UN SISTEMA DI TIPI PER JOLIE

IMPLEMENTAZIONE DI UN SISTEMA DI TIPI PER JOLIE on ... Implementazione di un sistema di pianificazione della produzione MPS per la gestione e il ...
Read more

tesi_laurea tipi - Biblioteca Angelo Monteverdi

Diversi tipi di tesi. I due elementi fondamentali di una tesi di laurea sono:. un oggetto di studio, più o meno definito e in ogni caso sempre ...
Read more

Diverse tipologie di sistemi sanitari - Tesionline - il ...

My Master Tesi Link Tesi verified Aiuto Tesi Forum Tesi Premi di laurea Tesi on demand Laurea Job ... I principali attori di un sistema ...
Read more

I testi e la loro classificazione - Hosting gratis con php ...

I tipi di testo ... il destinatario della bontà di una tesi. Anche altri tipi di testo hanno una ... e riconducendolo ad un sistema concettuale ...
Read more

Come (non) si scrive la tesi - Dipartimento di Matematica ...

Vengono poi descritti i vari tipi di motori di ricerca disponibili (paragrafo 2.3) ... o "In questa tesi si è implementato un sistema che ...
Read more

Ricerca tesine per "tipi di sistema monetario"

Leggi gli appunti su tipi di sistema monetario qui. Gli appunti dalle medie, alle superiori e l'università sul motore di ricerca appunti di Skuola.net.
Read more

UNIVERSITÀ DEGLI STUDI DI PADOVA - Benvenuti su Padua ...

UNIVERSITÀ DEGLI STUDI DI PADOVA ... TESI DI LAUREA IN MEDICINA VETERINARIA ... sistema di controllo dell‟anestesia standardizzato deve essere ...
Read more

Altre tesi consultate da chi ha acquistato il diritto alla ...

Il Sistema di valutazione della performance delle AA. PP. La riforma ''Brunetta'' L'etica della cura: le tesi di J. Tronto e M. Nussbaum a confronto;
Read more