ottawa ieee-cs seminar - july 10, 2003 1 web service offerings language (wsol): characteristics,...
TRANSCRIPT
1
Ottawa IEEE-CS Seminar - July 10, 2003
Web Service Offerings Language (WSOL): Characteristics, Applications, and Tools
Presenters: Kruti Patel, M.A.Sc.Vladimir Tosic, Ph.D. candidate
(work with Professor Bernard Pagurek)Department of Systems & Computer
EngineeringCarleton University, Ottawa, Canada
[email protected]@sce.carleton.ca
http://www.sce.carleton.ca/~vladimir/WSOLpublications.html
2
Ottawa IEEE-CS Seminar - July 10, 2003
Outline
=> Definition of terminologyProblem that WSOL addressesClasses of service and service offeringsWSOL language constructs and examplesThe Premier WSOL parserManagement applications and toolsRelated work and summary of WSOL benefitsFuture work
3
Ottawa IEEE-CS Seminar - July 10, 2003
Definition of Terminology
Web Service (WS) - software application Identified by URIs Using XML messaging, description, and
discovery
Web Service composition (orchestration, choreography, flow, network)
Consumer(Requester)
WS
Provider(Supplier)
WS
AnotherWS
4
Ottawa IEEE-CS Seminar - July 10, 2003
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
5
Ottawa IEEE-CS Seminar - July 10, 2003
WSM and WSCM
Web Service Management (WSM) Management of Web Services from the same
domain of responsibility Measurement and calculation of QoS metrics,
evaluation of conditions, accounting and billing, control of the behavior of the Web Service
WS Composition Management (WSCM) Management of how Web Services co-operate Which WS co-operate in a composition What contracts (e.g., SLAs) are used
6
Ottawa IEEE-CS Seminar - July 10, 2003
Outline => Problem Definition ...
Definition of terminology
=> Problem that WSOL addressesClasses of service and service offeringsWSOL language constructs and examplesThe Premier WSOL parserManagement applications and toolsRelated work and summary of WSOL
benefitsFuture work
7
Ottawa IEEE-CS Seminar - July 10, 2003
The Need for More Comprehensive Description of WS
WSDL does not formally describe important management information: classes of service, SLAs, other contracts relationships between classes of service different types of constraint (e.g., QoS) other management statements
(prices/penalties, management parties), policies
=> Our solution: WSOL (Web Service Offerings Language)
8
Ottawa IEEE-CS Seminar - July 10, 2003
WSOL - Further Goals
Usability for WSM and WSCM
Lower run-time overhead The “simple consumer” assumption
Reusable specifications
Compatible with WSDL 1.1Defined using XML Schema
9
Ottawa IEEE-CS Seminar - July 10, 2003
WebService
• Functionality(interfaces)• Access methods(bindings)• Location
• Multiple classes of service for one Web Service• Various constraints• Management statements
WSDLdocument
WSOL document
WSOL Complements WSDL
10
Ottawa IEEE-CS Seminar - July 10, 2003
Outline => Classes of Service & Service Offerings ...
Definition of terminologyProblem that WSOL addresses
=> Classes of service and service offeringsWSOL language constructs and examplesThe Premier WSOL parserManagement applications and toolsRelated work and summary of WSOL
benefitsFuture work
11
Ottawa IEEE-CS Seminar - July 10, 2003
Classes of Service for One Web Service
Discrete variations of service and QoSSame functionality (WSDL description),
but differ in constraints, prices, and/or other management issues For different consumer Web Services With different utilization of the underlying
resources
Service Offering (SO) - a formal WSOL specification of a class of service for a Web Service
12
Ottawa IEEE-CS Seminar - July 10, 2003
Possible Differences between Classes of Service
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 ...
13
Ottawa IEEE-CS Seminar - July 10, 2003
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
14
Ottawa IEEE-CS Seminar - July 10, 2003
Outline => Language Constructs ...
Definition of terminologyProblem that WSOL addressesClasses of service and service offerings
=> WSOL language constructs and examplesThe Premier WSOL parserManagement applications and toolsRelated work and summary of WSOL benefitsFuture work
15
Ottawa IEEE-CS Seminar - July 10, 2003
Overview of WSOL Language Constructs
Service Offering (SO) - class of service constraints (functional, QoS, access rights)
expressions (Boolean, arithmetic, …)
statements (prices/penalties, management responsibility)
reusability constructs (extension, constraint groups, inclusion, instantiation of constraint group templates, …)
Service Offerings Dynamic Relationships (SODRs) - can change during run-time
16
Ottawa IEEE-CS Seminar - July 10, 2003
ConstraintA condition to be evaluated before/after
operation invocations or periodically Contains a Boolean expression
Supported categories of constraints: Functional (pre-, post-, and future-conditions) QoS (non- or extra-functional) and periodic
QoS - using external ontologies of QoS metrics Simple access rights Generic <constraint> construct
17
Ottawa IEEE-CS Seminar - July 10, 2003
Expressions in WSOLBoolean expressionsComparisonsArithmetic expressionsArray expressions - quantifiers ForAll &
ExistsString expressions (limited)Date/time and duration expressions
(limited)Operation calls to other Web Services or
libraries within constraint evaluators
18
Ottawa IEEE-CS Seminar - July 10, 2003
Statement
Information, other than constraint, about the service offering
Supported categories of statements: Price/penalty statements (subscription, pay-
per-use, or combinations) Management responsibility statements
(provider, consumer, 3rd parties) Service offering validity period Generic <statement> construct
19
Ottawa IEEE-CS Seminar - July 10, 2003
WSOL Reusability Constructs
Service offering (SO) Constraint group (CG) Constraint group template (CGT) Extension (single inheritance) Inclusion Applicability domain Declaration of an operation call
Declaration of a used QoS metric
20
Ottawa IEEE-CS Seminar - July 10, 2003
Constraint Group (CG)
A named set of constraints, statements, reusability constructs, and/or nested CGs Boolean ‘AND’ operation always applied
between constraints, statements Single inheritance (extension) of CGs
possible
Different groupings possible (e.g., aspects)Unit of reusability and management
responsibility
21
Ottawa IEEE-CS Seminar - July 10, 2003
Constraint Group Template (CGT)
A parameterized constraint group (CG) Begins with declaration of abstract parameters Parameters can be used in contained expressions
Single inheritance (extension) of CGTs possible
Can be instantiated multiple times with different concrete parameter values
The result of an instantiation is a new CG
22
Ottawa IEEE-CS Seminar - July 10, 2003
Service Offering (SO)
Syntax similarities with constraint groups (CGs) Constraints, statements, reusability constructs Single inheritance of service offerings
But, also syntax differences with CGs No nesting of service offerings! Single accounting party
Can be used for many different consumersThe same service offering can be provided by
many Web Services
23
Ottawa IEEE-CS Seminar - July 10, 2003
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>
24
Ottawa IEEE-CS Seminar - July 10, 2003
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
25
Ottawa IEEE-CS Seminar - July 10, 2003
Service Offerings Dynamic Relationship (SODR)
Another WSOL language constructSpecified outside service offeringsSyntax: <SO1, S, SO2> - if SO1 is used, and
S are not met, SO2 is appropriate replacement
Useful for easier selection and negotiation of service offerings
Useful for dynamic adaptation of Web Service compositions
26
Ottawa IEEE-CS Seminar - July 10, 2003
Outline => The Premier WSOL Parser ...
Definition of terminologyProblem that WSOL addressesClasses of service and service offeringsWSOL language constructs and examples
=> The Premier WSOL parserManagement applications and toolsRelated work and summary of WSOL
benefitsFuture work
27
Ottawa IEEE-CS Seminar - July 10, 2003
The “Premier” WSOL ParserDeveloped in JavaApache Xerces2 Java XML Parser re-usedFeatures:
Implements WSOL language constructs Validates WSOL documents (service offerings
and SODRs) & WSOL-related documents (WSDL & Ontology)
Detects various syntax and semantic errors Reports all the detected errors
Location of each error (file name, line number, etc.)Cause of each error
28
Ottawa IEEE-CS Seminar - July 10, 2003
Working of the Premier WSOL Parser
input
WSOL Parser
WSOL-related Documents
WSOL Documents
input
Detects and reports syntax & semantic errors
DOM trees for WSOL &
WSOL-related documents
output
Detects and reports syntax & semantic errors
Multiple Symbol Tables
Stores and retrieves data for semantic analysis
29
Ottawa IEEE-CS Seminar - July 10, 2003
WSOL Parser Example - DOM Tree
30
Ottawa IEEE-CS Seminar - July 10, 2003
Premier WSOL Parser Example - Detected Syntax Error
31
Ottawa IEEE-CS Seminar - July 10, 2003
Outline => Management Applications and Tools ...
Definition of terminologyProblem that WSOL addressesClasses of service and service offeringsWSOL language constructs and examplesThe Premier WSOL parser
=> Management applications and toolsRelated work and summary of WSOL
benefitsFuture work
32
Ottawa IEEE-CS Seminar - July 10, 2003
Applications of WSOLWeb Service management: monitoring,
measurement, evaluation, accounting, control Using WSOL service offerings as simple contracts
Dynamic adaptation and management of Web Service compositions Using manipulation of WSOL service offerings
Dynamic selection and negotiation of Web Services and classes of service
33
Ottawa IEEE-CS Seminar - July 10, 2003
WSOL Support for Management Functional Areas
QoS constraints - performance mgmt.Price/penalty statements - accounting
managementFunctional constraints - fault managementManagement responsibility statements -
configuration management (part.)Access rights - security management (part.)=> Service offerings - a lightweight
alternative to SLAs and other contracts
34
Ottawa IEEE-CS Seminar - July 10, 2003
Management Parties: Example
ConsumerWS
AccountingParty
QoSConstraintEvaluation
Party
MeteringParty Provider
WS
35
Ottawa IEEE-CS Seminar - July 10, 2003
Web Service Offerings Infrastructure (WSOI)
Infrastructure for WSOL-related WSM For measurement and calculation of QoS metrics For evaluation of constraints For accounting and billing
Based on open-source Apache Axis SOAP engine Additional modules and data structures
Infrastructure for WSOL-related WSCM Will be discussed in forthcoming slides
36
Ottawa IEEE-CS Seminar - July 10, 2003
Dynamic Adaptation Using Manipulation of WSOL SOs
Switching between service offerings Provider- or consumer-initiated
Deactivation and reactivation of SOs With accommodation of affected consumers
Deletion of deactivated SOs Creation of new SOs (same WSDL files)
Provider decides when it is possible and allowed
Deactivation, reactivation, deletion, and creation of SODRs
37
Ottawa IEEE-CS Seminar - July 10, 2003
WSOL Support for Manipulation of Service Offerings
Service offerings dynamic relationships (SODRs) - for switching, deactivation, and reactivation of service offerings
Reusability constructs (static relationships between service offerings) - for creation of service offerings, partially for the other mechanisms Examples: extension, inclusion, constraint group
template instantiation
38
Ottawa IEEE-CS Seminar - July 10, 2003
WSOI Support for Manipulation of Service Offerings
Special data structures Implementation of algorithms and
protocols for the manipulation of SOsSpecial port types with management
operations for: exchange of management information, manipulation of service offerings, manipulation of SODRs, providing information about available SOs, comparisons of service offerings, …
39
Ottawa IEEE-CS Seminar - July 10, 2003
Manipulation of Service Offerings vs. Alternatives
Alternatives: re-negotiation of SLAs, switching of Web Services, re-composition of Web Services, …
Comparisons of delays and memory overhead using analyses and experiments
SO1FA1
SN1
SO2SN2a)
SO1
SO2
FA1
SN1
b)
40
Ottawa IEEE-CS Seminar - July 10, 2003
Benefits of Manipulation of Service Offerings
Simpler, faster, and incurs less overhead than re-negotiation of SLAs and switching or re-composition of Web Services
Provides additional flexibilityEnhances robustness of WS
compositions
Not a complete replacement for alternatives Can be used as a lightweight complement
to other dynamic adaptation mechanisms
41
Ottawa IEEE-CS Seminar - July 10, 2003
Outline => Related Work & Summary of WSOL Benefits ...
Definition of terminologyProblem that WSOL addressesClasses of service and service offeringsWSOL language constructs and examplesThe Premier WSOL parserManagement applications and tools
=> Related work & summary of WSOL benefits
Future work
42
Ottawa IEEE-CS Seminar - July 10, 2003
Some Related Work
Differentiated services (e.g., in telecom)Formal specification of various constraints
Specification of SLAs for Web Services: WSLA (Web Service Level Agreements) - IBM WSML (… Management ...) - HP
WS-Policy - IBM/Microsoft/BEA/SAPDAML-S - the Semantic Web communityOGSA (Open Grid Services Architecture)
43
Ottawa IEEE-CS Seminar - July 10, 2003
Summary of Benefits of WSOL ...
Expressive power
Features with lower run-time overhead
Support for management applications
44
Ottawa IEEE-CS Seminar - July 10, 2003
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 using XML Schema mechanisms and external ontologies
45
Ottawa IEEE-CS Seminar - July 10, 2003
Lower Run-time Overhead
Classes of service
One language for multiple types of constraint and management statements
Support for management third parties
Periodic and occasional evaluation of constraints
46
Ottawa IEEE-CS Seminar - July 10, 2003
Support for Management Applications
Formal specification of various constraints and management statements
Specification of management third parties and the specific accounting party
Reusability constructs determine static relationships between service offerings
Special notation for dynamic relationships between service offerings
47
Ottawa IEEE-CS Seminar - July 10, 2003
Outline => Future Work ...
Definition of terminologyProblem that WSOL addressesClasses of service and service offeringsWSOL language features and examplesThe Premier WSOL parserManagement applications and toolsRelated work and summary of WSOL
benefits
=> Future work
48
Ottawa IEEE-CS Seminar - July 10, 2003
Future Work
Minor improvements of WSOL Full prototype implementation of the Web
Service Offerings Infrastructure (WSOI) Further experiments with the manipulation
of service offerings and alternatives Full implementation of a prototype WSOL
compilerIntegration of WSOL with UDDI and
BPEL4WS…
49
Ottawa IEEE-CS Seminar - July 10, 2003
Questions, please ...
For further information: [email protected]
[email protected]/~vladimir/
WSOLpublications.html