Characteristics of the Web Service Offerings Language (WSOL)

45
Characteristics of the Web Service Offerings Language (WSOL) Presenter: Vladimir Tosic (work with K. Patel, B. Pagurek) Network Management & Artificial Intelligence Lab Department of Systems & Computer Engineering Carleton University, Ottawa, Canada [email protected] http://www.sce.carleton.ca/netmanage/

description

Characteristics of the Web Service Offerings Language (WSOL). Presenter: Vladimir Tosic (work with K. Patel, B. Pagurek) Network Management & Artificial Intelligence Lab Department of Systems & Computer Engineering Carleton University, Ottawa, Canada [email protected] - PowerPoint PPT Presentation

Transcript of Characteristics of the Web Service Offerings Language (WSOL)

Page 1: Characteristics of the Web Service Offerings Language (WSOL)

Characteristics of the Web Service Offerings Language (WSOL)

Presenter: Vladimir Tosic (work with K. Patel, B. Pagurek)

Network Management & Artificial Intelligence Lab Department of Systems & Computer

EngineeringCarleton University, Ottawa, Canada

[email protected]://www.sce.carleton.ca/netmanage/

Page 2: Characteristics of the Web Service Offerings Language (WSOL)

Outline

Definition of terminologyProblem definition

Classes of service and service offeringsWSOL language constructs and examplesApplications and tools

Related work and summary of WSOL benefitsFuture work

Page 3: Characteristics of the Web Service Offerings Language (WSOL)

WSOL: Definition of Terminology

=> Definition of terminologyProblem definition

Classes of service and service offeringsWSOL language constructs and examplesApplications and tools

Related work and summary of WSOL benefitsFuture work

Page 4: Characteristics of the Web Service Offerings Language (WSOL)

Definition of a Web Service (WS)

A unit (component) of business, application, or system functionality

Using XML (Extensible Markup Language) messaging, description, and discovery

Software-based and/or hardware-based

Goal: Internet-wide A2A and B2B integration of heterogeneous systems

Page 5: Characteristics of the Web Service Offerings Language (WSOL)

Some StandardTechnologies for Web Services

XML (Extensible Markup Language) - data representation

SOAP (a.k.a. XML Protocol) - message format

WSDL (Web Services Description Language) - language for description of Web Services

UDDI (Universal Description, Discovery, and Integration) - discovery of Web Services

Page 6: Characteristics of the Web Service Offerings Language (WSOL)

Other Terms Used in This Presentation

Web Service composition (a.k.a. orchestration, choreography, flow, network)

Consumer (a.k.a. requester) Web Service

Supplier (a.k.a. provider) Web ServiceConsumer

WSSupplier

WSAnother

WS

Page 7: Characteristics of the Web Service Offerings Language (WSOL)

WSOL: Problem Definition ...

Definition of terminology=> Problem definition

Classes of service and service offeringsWSOL language constructs and examplesApplications and tools

Related work and summary of WSOL benefits

Future work

Page 8: Characteristics of the Web Service Offerings Language (WSOL)

The Need for More Comprehensive Description of WS

WSDL does not formally describe: constraints (functional, QoS - Quality of

Service, access rights) service level agreements (SLAs) and other

contracts between Web Services multiple classes of service for one Web

Service

=> Our solution: WSOL (Web Service Offerings Language)

Page 9: Characteristics of the Web Service Offerings Language (WSOL)

WSOL - Further Goals

Usable for monitoring and management Both for Web Service Management (WSM) and

Web Service Composition Management (WSCM)

Reusable specifications

Reduction of run-time overhead The “simple consumer” assumption

Fully compatible with WSDL

Page 10: Characteristics of the Web Service Offerings Language (WSOL)

WebService

• Functionality• Access methods• Location

• Various constraints• Management statements• Multiple classes of service for one Web Service

WSDLdocument

WSOL document

WSDL vs. WSOL

Page 11: Characteristics of the Web Service Offerings Language (WSOL)

WSOL: Classes of Service & Service Offerings ...

Definition of terminologyProblem definition

=> Classes of service and service offeringsWSOL language constructs and examplesApplications and tools

Related work and summary of WSOL benefitsFuture work

Page 12: Characteristics of the Web Service Offerings Language (WSOL)

Classes of Service for One Web Service

Discrete variations of service and QoS

Same functionality (WSDL description)Differ in constraints, prices, and/or

other management issues

For different consumer Web ServicesWith different utilization of the

underlying resources

Page 13: Characteristics of the Web Service Offerings Language (WSOL)

Example: buyStock WSClasses of Service

buyStock Web Service

class of service 1 class of service 2 …Usage privilegesQuality, verbosity, and/or formatting of resultsGuaranteed response time / Rate and priority of

notificationPayment models (pay-per-use, subscription)Prices and/or penalties for broken guaranteesEntities involved in monitoring and management ...

Page 14: Characteristics of the Web Service Offerings Language (WSOL)

Classes of Service vs. Potential Alternatives

Alternatives: customized SLAs, user profiles, parameterization, separate ports, …

Not a complete replacement for alternativesAn additional and complementary mechanism

Main advantages: relatively low overhead and limited complexity of required management

Page 15: Characteristics of the Web Service Offerings Language (WSOL)

Definition of a Service Offering

A formal specification of a class of service for a Web Service (“component-level”)

Contains formal specification of various constraints and management statements

A simple contract and SLA between Web Services

One Web Service can offer multiple service offerings

Page 16: Characteristics of the Web Service Offerings Language (WSOL)

WSOL: Language Constructs ...

Definition of terminologyProblem definition

Classes of service and service offerings=> WSOL language constructs and examplesApplications and tools

Related work and summary of WSOL benefitsFuture work

Page 17: Characteristics of the Web Service Offerings Language (WSOL)

WSOL Language Features

Defined using XML SchemaCompatible with WSDL 1.1

WSOL constructs: constraint statement constraint group (CG) constraint group template (CGT) service offering

Page 18: Characteristics of the Web Service Offerings Language (WSOL)

ConstraintA condition to be evaluated

Boolean expression Evaluation: with operation invocations or

periodicSupported categories of constraints:

Functional constraints (pre-, post-, and future-conditions)

QoS (a.k.a. non- or extra-functional) constraints - using external ontologies of QoS metrics

Simple access rights Generic <constraint> construct

Page 19: Characteristics of the Web Service Offerings Language (WSOL)

Example WSOL Constraint

<wsol:constraint name="C3" xsi:type= "preConditionSchema:preCondition" service="buyStock:buyStockService" portOrPortType="buyStock:buyStockServicePort" operation="buyStock:buySingleStockOperation">

<expressionSchema:booleanExpression> …

</expressionSchema:booleanExpression>

</wsol:constraint>

Page 20: Characteristics of the Web Service Offerings Language (WSOL)

Expressions in WSOLBoolean expressionsComparisonsArithmetic expressionsArray expressions - quantifiers ForAll &

ExistsString expressions (limited)Date/time and duration expressions (limited)“External” operation calls

SOAP calls to other Web Services Internal calls within constraint evaluators

Page 21: Characteristics of the Web Service Offerings Language (WSOL)

Example WSOL Expression

<expressionSchema:booleanExpression>

<expressionSchema:arithmeticExpression> <expressionSchema:arithmeticVariable

avName="buyStock:buySingleStockRequest.quantity"/> </expressionSchema:arithmeticExpression>

<expressionSchema:arithmeticComparator type=">"/>

<expressionSchema:arithmeticExpression> <expressionSchema:arithmeticConstant>

<expressionSchema:integerConstant value="0"/> </expressionSchema:arithmeticConstant>

</expressionSchema:arithmeticExpression>

</expressionSchema:booleanExpression>

Page 22: Characteristics of the Web Service Offerings Language (WSOL)

StatementInformation, other than constraint, about

the service offeringPrice/penalty statements

Subscription, pay-per-use, or combinationsManagement responsibility statements

Supplier, consumer, 3rd partiesInclusion statementsInstantiations of constraint group templatesDeclarations of external operation calls

Page 23: Characteristics of the Web Service Offerings Language (WSOL)

Example WSOL Price Statement

<wsol:price name="Price1" service="…" portOrPortType="…" operation="…">

<wsol:numberWithUnitConstant><wsol:value>3</wsol:value><wsol:unit

type="currencyOntology:milliDollar"/></wsol:numberWithUnitConstant>

</wsol:price>

Page 24: Characteristics of the Web Service Offerings Language (WSOL)

Constraint Group (CG)

A named set of constraints, statements, and/or nested CGs

Potential unit of reusability and management responsibility

Single inheritance (a.k.a. extension) of CGs

Page 25: Characteristics of the Web Service Offerings Language (WSOL)

Example WSOL CG

<wsol:CG name="CG7" service="…" portOrPortType= "…" operation="...">

<wsol:CG name="CG8" service="…" portOrPortType= "…" operation="...“>

… </wsol:CG>

<wsol:constraint name="C7“ …>...</wsol:constraint>

<wsol:include constructName="C3" resService="buyStock:buyStockService" resPortOrPortType= "buyStock:buyStockServicePort" resOperation="buyStock:buySingleStockOperation" resName="NewC3"/>

</wsol:CG>

Page 26: Characteristics of the Web Service Offerings Language (WSOL)

Constraint Group Template (CGT)

A parameterized CG Begins with declaration of abstract parameters Parameters can be used in contained

expressions

Single inheritance of CGTsA CGT must be defined outside definitions of

other CGTs, CGs, and service offering

Instantiation of a CGT with concrete parameters => a CG

Page 27: Characteristics of the Web Service Offerings Language (WSOL)

Example WSOL CGT

<wsol:CGT name="CGT2" service="…" portOrPortType= "…" operation="...">

<wsol:parameter name=“maxResTime" dataType="wsol:numberWithUnit" unit="QoSMeasOntology:millisecond"/>

<wsol:constraint name = "QoScons2" …><expressionSchema:booleanExpression> <expressionSchema:arithmeticExpression> <expressionSchema:QoSmetric metricType="QoSMetricOntology:ResponseTime“ service="…" portOrPortType= "…" operation="...“ measuredBy="WSOL_INTERNAL"/>

</expressionSchema:arithmeticExpression> <expressionSchema:arithmeticComparator type = "&lt;"/> <expressionSchema:arithmeticExpression> <expressionSchema:arithmeticVariable avName="tns:CGT2.maxResTime"/> </expressionSchema:arithmeticExpression></expressionSchema:booleanExpression>

</wsol:constraint>

</wsol:CGT>

Page 28: Characteristics of the Web Service Offerings Language (WSOL)

Syntax of a Service Offering

Similar to a CG: constraints, statements, CGs

Single inheritance of service offerings

No nesting of service offerings! Use CGs instead

Single accounting party

Page 29: Characteristics of the Web Service Offerings Language (WSOL)

Example WSOL Service Offering<wsol:serviceOffering name="SO1" service=

"buyStock:buyStockService" accountingParty="WSOL-SUPPLIERWS">

… <wsol:instantiate CGTName="CGT2" resService="..."

resPortOrPortType="..." resOperation="..." resCGName="CG5">

<wsol:parmValue name=“maxResTime"> <wsol:numberWithUnitConstant>

<wsol:value>30</wsol:value> <wsol:unit type="QoSMeasOntology:millisecond"/> </wsol:numberWithUnitConstant></wsol:parmValue>

</wsol:instantiate></wsol:serviceOffering>

Page 30: Characteristics of the Web Service Offerings Language (WSOL)

Example: buyStock Web Service

buyStock Web Service

buyStockPortType buySingleStockOperation buySingleStockRequest symbol quantity buySingleStockResponse totalStockBuyingCost … buyStockBindingbuyStockPort

buyStock.wsdl ServiceOffering1

accounting party: supplier Constraint1: preCondition scope: buyStockOperation quantity > 0 Constraint2: QoSConstraint scope: buyStockOperation ResponseTime < 0.5 s Price: 0.5 $ServiceOffering2 …

buyStock.wsol

Page 31: Characteristics of the Web Service Offerings Language (WSOL)

WSOL Support for Reuse of Specifications

To model similar, but somewhat different, classes of service

Supported reuse mechanisms: Inclusion statements Specialization of scope (for inclusion,

instantiation) Grouping: CGs, CGTs, and service offerings Nesting of CGs Single inheritance (a.k.a. extension): CGs, CGTs,

and service offerings Templates: CGTs

Page 32: Characteristics of the Web Service Offerings Language (WSOL)

Dynamic Relationships Between Service Offerings

Dynamic = Run-time

For easier selection and negotiation of service offerings

For dynamic adaptation of Web Service compositions

Specified outside service offeringsSyntax: <SO1, S, SO2>

Page 33: Characteristics of the Web Service Offerings Language (WSOL)

WSOL: Applications and Tools ...

Definition of terminologyProblem definition

Classes of service and service offeringsWSOL language constructs and examples=> Applications and tools

Related work and summary of WSOL benefits

Future work

Page 34: Characteristics of the Web Service Offerings Language (WSOL)

Applications of WSOLWeb Service management: monitoring,

metering, accounting, and control Contracts and SLAs between Web Services

Dynamic and autonomous adaptation and management of Web Service compositions To further increase agility, flexibility, adaptability

Dynamic selection and negotiation of Web Services and classes of service

Page 35: Characteristics of the Web Service Offerings Language (WSOL)

Example: Management Third Parties

ConsumerWS

AccountingParty QoS

ConstraintEvaluation

Party

MeteringParty Supplier

WS

Page 36: Characteristics of the Web Service Offerings Language (WSOL)

Prototype WSOL Tools

WSOL parser with syntax checks and some semantic checks

Future work: Automatic generation of Java constraint-

checking code from WSOL and WSDLUsing composition filters and/or other aspect-

oriented (AO) approaches?

Java API for generation of WSOL files

Page 37: Characteristics of the Web Service Offerings Language (WSOL)

WSOL: Related Work & Summary of WSOL Benefits ...

Definition of terminologyProblem definition

Classes of service and service offeringsWSOL language constructs and examplesApplications and tools

=> Related work & summary of WSOL benefits

Future work

Page 38: Characteristics of the Web Service Offerings Language (WSOL)

Some Related Work

Differentiated servicesFormal specification of various constraints

Specification of SLAs for Web Services: WSLA (Web Service Level Agreements) - IBM WSML (… Management ...) - HP

WSEL (… Endpoint …) - IBM (no detail yet)DAML-S - the Semantic Web communityOGSA (Open Grid Services Architecture)

Page 39: Characteristics of the Web Service Offerings Language (WSOL)

Summary of Benefits of WSOL ...

Expressive power

Reduced run-time overhead

Orientation towards management applications

Page 40: Characteristics of the Web Service Offerings Language (WSOL)

Summary of Benefits of WSOL: Expressive Power

Formal specification of various categories of constraints and management statements

Multiple classes of service per Web Service

Mechanisms for reuse of specificationsDescription of both static and dynamic

relationships between service offerings

Extensibility through external ontologies of QoS metrics and measurement units

Page 41: Characteristics of the Web Service Offerings Language (WSOL)

Summary of Benefits of WSOL: Reduced Run-time Overhead

Classes of service

One language for various constraints

Metering and monitoring of WSOL specifications can be done by 3rd parties SOAP intermediaries or probes

Reasoning about WSOL service offerings can be outsourced to specialized Web Services

Page 42: Characteristics of the Web Service Offerings Language (WSOL)

Summary of Benefits of WSOL: Management Applications

Simple contracts and SLAs that can be monitored, metered, and controlled

Manipulation of service offerings useful in both Web Service Management (WSM) and Web Service Composition Management (WSCM)

Development of tools in progress

Page 43: Characteristics of the Web Service Offerings Language (WSOL)

WSOL: Related Work & Summary of WSOL Benefits ...

Problem definition

Classes of service for one Web Service and definition of a service offering

WSOL language features and examplesApplications and tools

Related work and summary of WSOL benefits

=> Future work

Page 44: Characteristics of the Web Service Offerings Language (WSOL)

Future WorkImproved toolsImproved syntax

Research of Web Service Composition Management (WSCM) applications of WSOL

Compatibility with WSDL 1.2Compatibility with BPEL4WS (Business Process

Execution Language for Web Services)…

Page 45: Characteristics of the Web Service Offerings Language (WSOL)

Questions, please ...