characteristics of the web service offerings language (wsol) presenter: vladimir tosic (work with k....
TRANSCRIPT
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/
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
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
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
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
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
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
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)
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
WebService
• Functionality• Access methods• Location
• Various constraints• Management statements• Multiple classes of service for one Web Service
WSDLdocument
WSOL document
WSDL vs. 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
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
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 ...
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
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
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
WSOL Language Features
Defined using XML SchemaCompatible with WSDL 1.1
WSOL constructs: constraint statement constraint group (CG) constraint group template (CGT) service offering
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
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>
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
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>
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
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>
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
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>
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
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>
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
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>
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
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
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>
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
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
Example: Management Third Parties
ConsumerWS
AccountingParty QoS
ConstraintEvaluation
Party
MeteringParty Supplier
WS
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
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
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)
Summary of Benefits of WSOL ...
Expressive power
Reduced run-time overhead
Orientation towards management applications
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
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
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
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
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)…