![Page 1: Characteristics of the Web Service Offerings Language (WSOL)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/1.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/2.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/3.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/4.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/5.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/6.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/7.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/8.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/9.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/10.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/11.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/12.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/13.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/14.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/15.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/16.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/17.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/18.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/19.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/20.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/21.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/22.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/23.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/24.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/25.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/26.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/27.jpg)
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 = "<"/> <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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/28.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/29.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/30.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/31.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/32.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/33.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/34.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/35.jpg)
Example: Management Third Parties
ConsumerWS
AccountingParty QoS
ConstraintEvaluation
Party
MeteringParty Supplier
WS
![Page 36: Characteristics of the Web Service Offerings Language (WSOL)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/36.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/37.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/38.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/39.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/40.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/41.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/42.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/43.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/44.jpg)
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)](https://reader035.vdocuments.us/reader035/viewer/2022062722/56813ac5550346895da2d6bc/html5/thumbnails/45.jpg)
Questions, please ...