Fortified Web Services Contracts for Trusted Components Proof of Concept
Fortified Web Services Contracts for Trusted Components - Proof of Concept2 10/2006 Contents Outline POC Goals Travel Agent Use Case POC Architecture POC Sequence Flow Basic Level Contracts Flow Behavioral Level Contracts Flow Synchronization Level Contracts Flow QoS Level Contracts Flow Conclusions
Fortified Web Services Contracts for Trusted Components - Proof of Concept3 10/2006 POC Goals Build a working application using Web services and the WS-Contract language Show improvement over regular Web services solution
Fortified Web Services Contracts for Trusted Components - Proof of Concept4 10/2006 Travel Agent Use Case A company (travel agent) wants to offer the ability to book complete vacation packages: plane/train/bus tickets, hotels, car rental, excursions, etc Service providers (airlines, bus companies, hotel chains, etc) are providing Web services to query their offerings and perform reservations Credit card companies are providing services to guarantee payments made by consumers
Fortified Web Services Contracts for Trusted Components - Proof of Concept5 10/2006 Travel Agent Use Case Travel Agent Service Customer Other players Discovery Service Coordination Service SLA Service
Fortified Web Services Contracts for Trusted Components - Proof of Concept6 10/2006 Architecture Customer Travel Agent Interact according to Contract Contract Content Service Contract Management Service Contract Level Service WSD CON + SOAP Contract Runtime Service Behavioral Contract Request Handler Sync. Contract Request Handler QoS Contract Request Handler Behavioral Contract Reply Handler Sync. Contract Reply Handler QoS Contract Reply Handler
Fortified Web Services Contracts for Trusted Components - Proof of Concept7 10/2006 Ticket Booking Client
Fortified Web Services Contracts for Trusted Components - Proof of Concept8 10/2006 Basic Level Sequence Flow Customer Travel Agent Contract Content Service Contract Management Service Contract Level Service WSD CON + 2. Interact according to WSD 1. Agree on WSD WSD SOAP
Fortified Web Services Contracts for Trusted Components - Proof of Concept9 10/2006 Behavioral Level Sequence Flow Customer Travel Agent Contract Content Service Contract Management Service Contract Level Service WSD CON + SOAP Contract Runtime Service Behavioral Contract Request Handler Sync. Contract Request Handler QoS Contract Request Handler Behavioral Contract Reply Handler Sync. Contract Reply Handler QoS Contract Reply Handler IsLegalRequest(SOAPMessage) 2. Check Request Against Behavioral Contract 1. Send SOAP Request True NumberOfSeats < 10 OK NumberOfSeats = 2
Fortified Web Services Contracts for Trusted Components - Proof of Concept10 10/2006 Ticket Booking Client Result
Fortified Web Services Contracts for Trusted Components - Proof of Concept11 10/2006 Ticket Booking Client
Fortified Web Services Contracts for Trusted Components - Proof of Concept12 10/2006 Behavioral Level Sequence Flow Customer Travel Agent Contract Content Service Contract Management Service Contract Level Service WSD CON + SOAP Contract Runtime Service Behavioral Contract Request Handler Sync. Contract Request Handler QoS Contract Request Handler Behavioral Contract Reply Handler Sync. Contract Reply Handler QoS Contract Reply Handler IsLegalRequest(SOAPMessage) 2. Check Request Against Behavioral Contract 1. Send SOAP Request False NumberOfSeats < 10 ERR Behavioral Contract Broken NumberOfSeats = 20
Fortified Web Services Contracts for Trusted Components - Proof of Concept13 10/2006 Ticket Booking Client
Fortified Web Services Contracts for Trusted Components - Proof of Concept14 10/2006 Synchronization Level Sequence Flow Customer Travel Agent Contract Content Service Contract Management Service Contract Level Service WSD CON + SOAP Contract Runtime Service Behavioral Contract Request Handler Sync. Contract Request Handler QoS Contract Request Handler Behavioral Contract Reply Handler Sync. Contract Reply Handler QoS Contract Reply Handler IsLegalRequest(SOAPMessage) 2. Check Request Against Synchronization Contract 1. Send SOAP Request True Atomic: ConcurrentUsers == 0 OK
Fortified Web Services Contracts for Trusted Components - Proof of Concept15 10/2006 Ticket Booking Client Result Two Concurrent Clients
Fortified Web Services Contracts for Trusted Components - Proof of Concept16 10/2006 Synchronization Level Sequence Flow Customer Travel Agent Contract Content Service Contract Management Service Contract Level Service WSD CON + SOAP Contract Runtime Service Behavioral Contract Request Handler Sync. Contract Request Handler QoS Contract Request Handler Behavioral Contract Reply Handler Sync. Contract Reply Handler QoS Contract Reply Handler IsLegalRequest(SOAPMessage) 2. Check Request Against Synchronization Contract 1. Send SOAP Request False Atomic: ConcurrentUsers == 0 ERR Synchronization Contract Broken
Fortified Web Services Contracts for Trusted Components - Proof of Concept17 10/2006 Ticket Booking Client
Fortified Web Services Contracts for Trusted Components - Proof of Concept18 10/2006 QoS Level Sequence Flow Customer Travel Agent Contract Content Service Contract Management Service Contract Level Service WSD CON + SOAP Contract Runtime Service Behavioral Contract Request Handler Sync. Contract Request Handler QoS Contract Request Handler Behavioral Contract Reply Handler Sync. Contract Reply Handler QoS Contract Reply Handler IsLegalRequest(SOAPMessage) 2. Check Request Against QoS Contract 1. Send SOAP Request True ResponseTime < 200 OK
Fortified Web Services Contracts for Trusted Components - Proof of Concept19 10/2006 QoS Level Sequence Flow Customer Travel Agent Contract Content Service Contract Management Service Contract Level Service WSD CON + SOAP Contract Runtime Service Behavioral Contract Request Handler Sync. Contract Request Handler QoS Contract Request Handler Behavioral Contract Reply Handler Sync. Contract Reply Handler QoS Contract Reply Handler IsLegalRequest(SOAPMessage) 2. Check Request Against QoS Contract 1. Send SOAP Request False ResponseTime < 200 ERR QoS Contract Broken
Fortified Web Services Contracts for Trusted Components - Proof of Concept20 10/2006 Ticket Booking Client
Fortified Web Services Contracts for Trusted Components - Proof of Concept21 10/2006 Conclusions