Title: Characteristics of the Web Service Offerings Language (WSOL)
1Characteristics 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
- vladimir_at_sce.carleton.ca
- http//www.sce.carleton.ca/netmanage/
2Outline
- Definition of terminology
- Problem definition
- Classes of service and service offerings
- WSOL language constructs and examples
- Applications and tools
- Related work and summary of WSOL benefits
- Future work
3WSOL Definition of Terminology
- gt Definition of terminology
- Problem definition
- Classes of service and service offerings
- WSOL language constructs and examples
- Applications and tools
- Related work and summary of WSOL benefits
- Future work
4Definition 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
5Some 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
6Other 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 Service
Supplier WS
Another WS
Consumer WS
7 WSOL Problem Definition ...
- Definition of terminology
- gt Problem definition
- Classes of service and service offerings
- WSOL language constructs and examples
- Applications and tools
- Related work and summary of WSOL benefits
- Future work
8 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
- gt Our solution WSOL (Web Service Offerings
Language)
9WSOL - 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
10WSDL vs. WSOL
Web Service
WSDL document
WSOL document
- Various constraints
- Management
- statements
- Multiple classes of
- service for one
- Web Service
- Functionality
- Access
- methods
- Location
11WSOL Classes of Service Service Offerings ...
- Definition of terminology
- Problem definition
- gt Classes of service and service offerings
- WSOL language constructs and examples
- Applications and tools
- Related work and summary of WSOL benefits
- Future work
12Classes 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 Services
- With different utilization of the underlying
resources
13Example buyStock WSClasses of Service
buyStock Web Service
class of service 1
class of service 2
- Usage privileges
- Quality, verbosity, and/or formatting of results
- Guaranteed response time / Rate and priority of
notification - Payment models (pay-per-use, subscription)
- Prices and/or penalties for broken guarantees
- Entities involved in monitoring and management
- ...
14Classes of Service vs. Potential Alternatives
- Alternatives customized SLAs, user profiles,
parameterization, separate ports, - Not a complete replacement for alternatives
- An additional and complementary mechanism
- Main advantages relatively low overhead and
limited complexity of required management
15Definition 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
16WSOL Language Constructs ...
- Definition of terminology
- Problem definition
- Classes of service and service offerings
- gt WSOL language constructs and examples
- Applications and tools
- Related work and summary of WSOL benefits
- Future work
17WSOL Language Features
- Defined using XML Schema
- Compatible with WSDL 1.1
- WSOL constructs
- constraint
- statement
- constraint group (CG)
- constraint group template (CGT)
- service offering
18Constraint
- A condition to be evaluated
- Boolean expression
- Evaluation with operation invocations or
periodic - Supported 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 ltconstraintgt construct
19Example WSOL Constraint
- ltwsolconstraint name"C3" xsitype
"preConditionSchemapreCondition"
service"buyStockbuyStockService"
portOrPortType"buyStockbuyStockServicePort"
operation"buyStockbuySingleStockOperation"gt - ltexpressionSchemabooleanExpressiongt
-
- lt/expressionSchemabooleanExpressiongt
- lt/wsolconstraintgt
20Expressions in WSOL
- Boolean expressions
- Comparisons
- Arithmetic expressions
- Array expressions - quantifiers ForAll Exists
- String expressions (limited)
- Date/time and duration expressions (limited)
- External operation calls
- SOAP calls to other Web Services
- Internal calls within constraint evaluators
21Example WSOL Expression
- ltexpressionSchemabooleanExpressiongt
- ltexpressionSchemaarithmeticExpressiongt
- ltexpressionSchemaarithmeticVariable
avName"buyStockbuySingleStockRequest.quantity"/gt
- lt/expressionSchemaarithmeticExpressiongt
- ltexpressionSchemaarithmeticComparator
type"gt"/gt - ltexpressionSchemaarithmeticExpressiongt
- ltexpressionSchemaarithmeticConstantgt
- ltexpressionSchemaintegerConstant value"0"/gt
- lt/expressionSchemaarithmeticConstantgt
- lt/expressionSchemaarithmeticExpressiongt
- lt/expressionSchemabooleanExpressiongt
22Statement
- Information, other than constraint, about the
service offering - Price/penalty statements
- Subscription, pay-per-use, or combinations
- Management responsibility statements
- Supplier, consumer, 3rd parties
- Inclusion statements
- Instantiations of constraint group templates
- Declarations of external operation calls
23Example WSOL Price Statement
- ltwsolprice name"Price1" service""
portOrPortType"" operation""gt - ltwsolnumberWithUnitConstantgt
- ltwsolvaluegt3lt/wsolvaluegt
- ltwsolunit type"currencyOntologymilliDollar"/gt
- lt/wsolnumberWithUnitConstantgt
- lt/wsolpricegt
24Constraint 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
25Example WSOL CG
- ltwsolCG name"CG7" service"" portOrPortType
"" operation"..."gt - ltwsolCG name"CG8" service"" portOrPortType
"" operation"...gt -
- lt/wsolCGgt
- ltwsolconstraint name"C7 gt...lt/wsolconstrain
tgt - ltwsolinclude constructName"C3"
resService"buyStockbuyStockService"
resPortOrPortType "buyStockbuyStockServicePort"
resOperation"buyStockbuySingleStockOperation"
resName"NewC3"/gt - lt/wsolCGgt
26Constraint Group Template (CGT)
- A parameterized CG
- Begins with declaration of abstract parameters
- Parameters can be used in contained expressions
- Single inheritance of CGTs
- A CGT must be defined outside definitions of
other CGTs, CGs, and service offering - Instantiation of a CGT with concrete parameters
gt a CG
27Example WSOL CGT
- ltwsolCGT name"CGT2" service"" portOrPortType
"" operation"..."gt - ltwsolparameter namemaxResTime"
dataType"wsolnumberWithUnit" unit"QoSMeasOntolo
gymillisecond"/gt - ltwsolconstraint name "QoScons2" gt
- ltexpressionSchemabooleanExpressiongt
- ltexpressionSchemaarithmeticExpressiongt
- ltexpressionSchemaQoSmetric
metricType"QoSMetricOntologyResponseTime
service"" portOrPortType "" operation"...
measuredBy"WSOL_INTERNAL"/gt - lt/expressionSchemaarithmeticExpressiongt
- ltexpressionSchemaarithmeticComparator type
"lt"/gt - ltexpressionSchemaarithmeticExpressiongt
- ltexpressionSchemaarithmeticVariable
avName"tnsCGT2.maxResTime"/gt - lt/expressionSchemaarithmeticExpressiongt
- lt/expressionSchemabooleanExpressiongt
- lt/wsolconstraintgt
- lt/wsolCGTgt
28Syntax 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
29Example WSOL Service Offering
- ltwsolserviceOffering name"SO1" service
"buyStockbuyStockService" accountingParty"WSOL-S
UPPLIERWS"gt -
- ltwsolinstantiate CGTName"CGT2"
resService"..." resPortOrPortType"..."
resOperation"..." resCGName"CG5"gt - ltwsolparmValue namemaxResTime"gt
- ltwsolnumberWithUnitConstantgt
- ltwsolvaluegt30lt/wsolvaluegt
- ltwsolunit type"QoSMeasOntologymillisecond"
/gt - lt/wsolnumberWithUnitConstantgt
- lt/wsolparmValuegt
- lt/wsolinstantiategt
- lt/wsolserviceOfferinggt
30Example buyStock Web Service
buyStock Web Service
buyStock.wsdl
buyStock.wsol
ServiceOffering1 accounting party supplier
Constraint1 preCondition scope
buyStockOperation quantity gt 0 Constraint2
QoSConstraint scope buyStockOperation
ResponseTime lt 0.5 s Price 0.5
ServiceOffering2
buyStockPortType buySingleStockOperation
buySingleStockRequest symbol
quantity buySingleStockResponse
totalStockBuyingCost buyStockBinding buySt
ockPort
31WSOL 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
32Dynamic 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 offerings
- Syntax ltSO1, S, SO2gt
33WSOL Applications and Tools ...
- Definition of terminology
- Problem definition
- Classes of service and service offerings
- WSOL language constructs and examples
- gt Applications and tools
- Related work and summary of WSOL benefits
- Future work
34Applications of WSOL
- Web 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
35Example Management Third Parties
Supplier WS
Consumer WS
Accounting Party
Metering Party
QoS Constraint Evaluation Party
36Prototype WSOL Tools
- WSOL parser with syntax checks and some semantic
checks - Future work
- Automatic generation of Java constraint-checking
code from WSOL and WSDL - Using composition filters and/or other
aspect-oriented (AO) approaches? - Java API for generation of WSOL files
37 WSOL Related Work Summary of WSOL Benefits
...
- Definition of terminology
- Problem definition
- Classes of service and service offerings
- WSOL language constructs and examples
- Applications and tools
- gt Related work summary of WSOL benefits
- Future work
38Some Related Work
- Differentiated services
- Formal 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 community
- OGSA (Open Grid Services Architecture)
39Summary of Benefits of WSOL ...
- Expressive power
- Reduced run-time overhead
- Orientation towards management applications
40Summary 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 specifications
- Description of both static and dynamic
relationships between service offerings - Extensibility through external ontologies of QoS
metrics and measurement units
41Summary 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
42Summary 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
43 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 examples
- Applications and tools
- Related work and summary of WSOL benefits
- gt Future work
44Future Work
- Improved tools
- Improved syntax
- Research of Web Service Composition Management
(WSCM) applications of WSOL - Compatibility with WSDL 1.2
- Compatibility with BPEL4WS (Business Process
Execution Language for Web Services)
45 Questions, please ...