fortified web services contracts for trusted components proof of concept

21
Fortified Web Services Contracts for Trusted Components Proof of Concept

Post on 20-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Fortified Web Services Contracts for Trusted Components

Proof of Concept

Fortified Web Services Contracts for Trusted Components - Proof of Concept 210/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 Concept 310/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 Concept 410/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 Concept 510/2006

Travel Agent Use Case

Travel Agent Service Customer Other players

Discovery ServiceCoordination ServiceSLA Service

Fortified Web Services Contracts for Trusted Components - Proof of Concept 610/2006

Architecture

CustomerTravelAgent

Interact according toContract

ContractContentService

Contract Management Service

ContractLevel

Service

WSDCON +

SOAP

Contract Runtime Service

Behavioral ContractRequest Handler

Sync. ContractRequest Handler

QoS ContractRequest Handler

Behavioral ContractReply Handler

Sync. Contract Reply Handler

QoS Contract Reply Handler

Fortified Web Services Contracts for Trusted Components - Proof of Concept 710/2006

Ticket Booking Client

Fortified Web Services Contracts for Trusted Components - Proof of Concept 810/2006

Basic Level Sequence Flow

CustomerTravelAgent

ContractContentService

Contract Management Service

ContractLevel

Service

WSDCON +

2 .Interact according toWSD

1 .Agree on WSD

WSD

SOAP

Fortified Web Services Contracts for Trusted Components - Proof of Concept 910/2006

Behavioral Level Sequence Flow

CustomerTravelAgent

ContractContentService

Contract Management Service

ContractLevel

Service

WSDCON +

SOAP

Contract Runtime Service

Behavioral ContractRequest Handler

Sync. ContractRequest Handler

QoS ContractRequest Handler

Behavioral ContractReply 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 Concept 1010/2006

Ticket Booking Client Result

Fortified Web Services Contracts for Trusted Components - Proof of Concept 1110/2006

Ticket Booking Client

Fortified Web Services Contracts for Trusted Components - Proof of Concept 1210/2006

Behavioral Level Sequence Flow

CustomerTravelAgent

ContractContentService

Contract Management Service

ContractLevel

Service

WSDCON +

SOAP

Contract Runtime Service

Behavioral ContractRequest Handler

Sync. ContractRequest Handler

QoS ContractRequest Handler

Behavioral ContractReply 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 Concept 1310/2006

Ticket Booking Client

Fortified Web Services Contracts for Trusted Components - Proof of Concept 1410/2006

Synchronization Level Sequence Flow

CustomerTravelAgent

ContractContentService

Contract Management Service

ContractLevel

Service

WSDCON +

SOAP

Contract Runtime Service

Behavioral ContractRequest Handler

Sync. ContractRequest Handler

QoS ContractRequest Handler

Behavioral ContractReply 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 Concept 1510/2006

Ticket Booking Client Result

Two Concurrent

Clients

Fortified Web Services Contracts for Trusted Components - Proof of Concept 1610/2006

Synchronization Level Sequence Flow

CustomerTravelAgent

ContractContentService

Contract Management Service

ContractLevel

Service

WSDCON +

SOAP

Contract Runtime Service

Behavioral ContractRequest Handler

Sync. ContractRequest Handler

QoS ContractRequest Handler

Behavioral ContractReply 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 Concept 1710/2006

Ticket Booking Client

Fortified Web Services Contracts for Trusted Components - Proof of Concept 1810/2006

QoS Level Sequence Flow

CustomerTravelAgent

ContractContentService

Contract Management Service

ContractLevel

Service

WSDCON +

SOAP

Contract Runtime Service

Behavioral ContractRequest Handler

Sync. ContractRequest Handler

QoS ContractRequest Handler

Behavioral ContractReply 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 Concept 1910/2006

QoS Level Sequence Flow

CustomerTravelAgent

ContractContentService

Contract Management Service

ContractLevel

Service

WSDCON +

SOAP

Contract Runtime Service

Behavioral ContractRequest Handler

Sync. ContractRequest Handler

QoS ContractRequest Handler

Behavioral ContractReply 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 Concept 2010/2006

Ticket Booking Client

Fortified Web Services Contracts for Trusted Components - Proof of Concept 2110/2006

Conclusions