Title: COW Contract Oriented Web
1COW Contract Oriented Web
- Presentazione della proposta per un progetto
STREP nel Framework 7
2SOA
- Larchitettura Service Oriented è un modo di
disegnare sistemi che consente - Economia
- Reimpiego
- AdattabilitÃ
- Recupero ed integrazione di software preesistente
3Service
- I servizi (service) sono componenti
riutilizzabili che rappresentano attività legate
per lo più agli affari - Identificazione del cliente
- Identificazione di un conto bancario
- Convalida di una carta di credito
- Verifica del credito
- Calcolo degli interessi
- Cambio valute
- Ordine di acquisto di prodotti
- Prenotazione di hotel o viaggi
- I servizi possono essere
- Distribuiti tra organizzazioni differenti
- Riorganizzazione di vecchie procedure in nuovi
processi
4W3C WEB service
A Web service is a software system identified by
a URI Uniform Resource Identifier, whose public
interfaces and bindings are defined and described
using XML. Its definition can be discovered by
other software systems. These systems may then
interact with the Web service in a manner
prescribed by its definition, using XML based
messages conveyed by Internet protocols.
5WEB Service
- Secondo la definizione del W3C, sono sistemi
software progettati per supportare
linteroperatività tra elaboratori su di una
stessa rete - Caratteristica dei servizi WEB è luso del
protocollo HTTP
6Cosè uninfrastruttura di WEB Services
Application B
Data Set 1
Format B
Message
queue
Down
Program
Load
Program
Down
File
Extract
Load
program
File
Program
Extract program
Application B
Data Set 1
Screen
Format B
Application A
scrape
Load
Application C
program
DB replication
Message
Extract
Load
queue
program
program
Down
Load
Program
Program
Program
Down
Extract
Program
Program
Transaction
Program
File
Load
program
file
File
Program
Program
Data Set 1
Program
Data Set 1
Format A
Extract program
Message
Format C
queue
Screen
Application A
scrape
Load
Application C
program
DB replication
Extract
Load program
program
Program
Program
Program
Program
Transaction
file
Program
Program
Data Set 1
Data Set 1
Format A
Format C
Message
queue
Application B
Data Set 1
Format B
Message
queue
Down
Program
Load
Down
Extract
Program
File
Load
program
File
Program
Extract program
Screen
Application A
scrape
Load
Application C
DB replication
program
Application B
Extract
Load
Data Set 1
program
program
Format B
Program
Program
Program
Program
Transaction
Message
file
queue
Program
Program
Data Set 1
Down
Data Set 1
Format A
Format C
Program
Load
Message
Program
Down
Extract
queue
File
Load
program
File
Program
Extract program
Screen
Load
Application A
Application C
scrape
DB replication
program
Application B
Data Set 1
Extract
Load
program
program
Format B
Program
Program
Program
Program
Transaction
file
Message
Program
Program
Data Set 1
queue
Data Set 1
Format A
Down
Message
Format C
Program
Load
queue
Down
Extract
Program
File
Load
program
File
Program
Extract program
Screen
Application A
Load
Application C
scrape
program
DB replication
Extract
Load
program
program
Program
Program
Program
Program
Transaction
file
Program
Program
Data Set 1
Data Set 1
Format A
Message
Format C
queue
7Standard
- La fruizione di un servizio da parte di un client
si articola in tre fasi - Descrizione e pubblicazione del servizio da parte
del server presso un intermediario (registry) - Ricerca di un servizio da parte del client
(service discovery) - Fruizione del servizio (interaction)
8Standard
Universal Description Discovery and Integration
Web Services Description Language
Simple Object Access Protocol
9Standard
- UDDI è 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 - WSDL è un linguaggio basato su XML usato per la
creazione di "documenti" descrittivi delle
modalità di interfacciamento ed utilizzo del Web
Service - SOAP è un protocollo leggero per lo scambio di
messaggi tra componenti software. - Tutti gli standard si basano su XML, utilizzato
tanto per la descrizione e pubblicazione di un
servizio, quanto nella fase di interazione con
lhost.
10Limitazioni
- Lo standard WSDL risulta troppo povero per la
descrizione dellinteroperatività tra sistemi
eterogenei, essendo centrato esclusivamente su
aspetti di connettività . - Le sue estensioni (WSCI e BEPL) descrivono troppo
nei dettagli il processo di interazione per
consentire lidentificazione automatica di un
servizio - Non vi è la possibilità di esprimere vincoli
essenziali per la corretta interazione col
client, come la temporizzazione
11Limitazioni
- La descrizione di un servizio è in buona parte in
plain English ciò che rende problematico - La verifica automatica delladeguatezza del
servizio rispetto alla sua descrizione - La ricerca e la valutazione automatica a run-time
di un servizio in funzione delle esigenze del
client
12Contratti
13Contratti
- Un contratto è la descrizione di un servizio in
cui sono indicati almeno - Tipo dei dati da scambiare
- Capacità , ossia astrazioni di metodi di
elaborazione - Protocollo di interazione
- ma anche
- diritti e doveri delle parti
14Proprietà dei contratti
- Conformità (conformance) se una implementazione
di un servizio corrisponde ad un contratto - Soddisfazione (compliance) la garanzia per un
client di completare senza errore linterazione
con il servizio - Compatibilità (compatibility) equivalenza, anche
parziale, tra contratti
15Contratti come tipi
- Il concetto chiave per la descrizione di
comportamenti attraverso il web è quello di porta - Un contratto può vedersi come disciplina nelluso
di una porta - Questa è una proprietà del processo di
interazione su quella porta, non lintero
processo è dunque un tipo
16Obiettivi della proposta
- Formalizzazione del concetto di contratto
utilizzando calcoli dei processi e tipi - Confronto con gli standard e traduzione della
formalizzazione utilizzando XML - Caratterizzazione della relazione di compliance
rispetto a servizi conformi ai contratti - Sviluppo di algoritmi di verifica di conformitÃ
basati su tecniche di type checking - Definizione di criteri di compatibilità tra
contratti e di algoritmi per ricerca e verifica
17Il consorzio
- Istituzioni accademiche
- Italia Università di Torino, Bologna, Venezia
- Francia Université Danis Diderot Paris 7
- Regno Unito London Queen Mary, University of
Southempton - Portogallo Università di Lisbona
- Serbia Università di Novi Sad
18Il consorzio
- Imprese medio-piccole (SME)
- Regno Unito Pi4
- Canada Espirity
- Serbia Panos
19Collegamenti
- W3C alcune istituzioni, SME o singoli
ricercatori sono già coinvolti nelle attività di
questo organismo - Sarebbe della massima importanza vedere accolti
(anche parzialmente) i risultati della ricerca
nellambito di standard emergenti
20Il ruolo delle SME
- Selezionare e proporre casi concreti o tipologie
di applicazioni basate su Web Service di nuova
concezione - Contribuire alla individuazione delle
caratteristiche rilevanti che un contratto deve
possedere - Utilizzare i casi proposti come banco di prova
per le soluzioni teoriche e tecniche elaborate
nellambito del progetto.
21Lelaborazione della proposta
- Occorre innanzitutto articolare il piano di
lavoro in Work Packages (WP), definendo obiettivi
e metodi di lavoro - I WP devono essere corredati dellindicazione dei
prodotti dellattività (deliverables) - Determinare le tappe ed i momenti di decisione
sulle attività (milestones) - Occorre pianificare le attività rispetto ai WP e
fissarne i tempi nellarco di tre anni.
22Scadenze
- Il 3 Maggio in forma preliminare, se si concorre
per un finanziamento FET-Open (il tema della
ricerca è libero) - L8 Maggio se si opta per la Call (il tema è
indicato da organismi UE)