1 / 45

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 Engineering Carleton University, Ottawa, Canada vladimir@sce.carleton.ca

kera
Download Presentation

Characteristics of the Web Service Offerings Language (WSOL)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 vladimir@sce.carleton.ca http://www.sce.carleton.ca/netmanage/

  2. Outline • 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

  3. WSOL: Definition of Terminology • => 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

  4. 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

  5. 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

  6. 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 Service Supplier WS Another WS Consumer WS

  7. WSOL: Problem Definition ... • 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

  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 • => Our solution: WSOL (Web Service Offerings Language)

  9. 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

  10. WSDL vs. WSOL Web Service WSDL document WSOL document • Various constraints • Management • statements • Multiple classes of • service for one • Web Service • Functionality • Access • methods • Location

  11. WSOL: Classes of Service & Service Offerings ... • 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

  12. 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 Services • With different utilization of the underlying resources

  13. Example: buyStock WSClasses of Service buyStock Web Service • 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 • ... class of service 1 class of service 2 …

  14. Classes 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

  15. 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

  16. WSOL: Language Constructs ... • 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

  17. WSOL Language Features • Defined using XML Schema • Compatible with WSDL 1.1 • WSOL constructs: • constraint • statement • constraint group (CG) • constraint group template (CGT) • service offering

  18. Constraint • 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 <constraint> construct

  19. Example WSOL Constraint <wsol:constraintname="C3" xsi:type= "preConditionSchema:preCondition" service="buyStock:buyStockService" portOrPortType="buyStock:buyStockServicePort" operation="buyStock:buySingleStockOperation"> <expressionSchema:booleanExpression> … </expressionSchema:booleanExpression> </wsol:constraint>

  20. Expressions 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

  21. Example WSOL Expression <expressionSchema:booleanExpression> <expressionSchema:arithmeticExpression> <expressionSchema:arithmeticVariableavName="buyStock:buySingleStockRequest.quantity"/> </expressionSchema:arithmeticExpression> <expressionSchema:arithmeticComparatortype=">"/> <expressionSchema:arithmeticExpression> <expressionSchema:arithmeticConstant> <expressionSchema:integerConstantvalue="0"/> </expressionSchema:arithmeticConstant> </expressionSchema:arithmeticExpression> </expressionSchema:booleanExpression>

  22. Statement • 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

  23. Example WSOL Price Statement <wsol:pricename="Price1" service="…" portOrPortType="…" operation="…"> <wsol:numberWithUnitConstant> <wsol:value>3</wsol:value> <wsol:unittype="currencyOntology:milliDollar"/> </wsol:numberWithUnitConstant> </wsol:price>

  24. 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

  25. Example WSOL CG <wsol:CGname="CG7" service="…" portOrPortType= "…" operation="..."> <wsol:CG name="CG8" service="…" portOrPortType= "…" operation="...“> … </wsol:CG> <wsol:constraint name="C7“ …>...</wsol:constraint> <wsol:includeconstructName="C3" resService="buyStock:buyStockService" resPortOrPortType= "buyStock:buyStockServicePort" resOperation="buyStock:buySingleStockOperation" resName="NewC3"/> </wsol:CG>

  26. Constraint 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 => a CG

  27. Example WSOL CGT <wsol:CGTname="CGT2" service="…" portOrPortType= "…" operation="..."> <wsol:parametername=“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>

  28. 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

  29. Example WSOL Service Offering <wsol:serviceOfferingname="SO1" service= "buyStock:buyStockService" accountingParty="WSOL-SUPPLIERWS"> … <wsol:instantiateCGTName="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>

  30. Example: buyStock Web Service buyStock Web Service buyStock.wsdl buyStock.wsol ServiceOffering1 accounting party: supplier Constraint1: preCondition scope: buyStockOperation quantity > 0 Constraint2: QoSConstraint scope: buyStockOperation ResponseTime < 0.5 s Price: 0.5 $ ServiceOffering2 … buyStockPortType buySingleStockOperation buySingleStockRequest symbol quantity buySingleStockResponse totalStockBuyingCost … buyStockBinding buyStockPort

  31. 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

  32. 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 offerings • Syntax: <SO1, S, SO2>

  33. WSOL: Applications and Tools ... • 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

  34. Applications 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

  35. Example: Management Third Parties Supplier WS Consumer WS Accounting Party Metering Party QoS Constraint Evaluation Party

  36. Prototype 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 • => Related work & summary of WSOL benefits • Future work

  38. Some 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)

  39. Summary of Benefits of WSOL ... • Expressive power • Reduced run-time overhead • Orientation towards management applications

  40. 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 specifications • Description of both static and dynamic relationships between service offerings • Extensibility through external ontologies of QoS metrics and measurement units

  41. 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

  42. 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

  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 • => Future work

  44. Future 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 ...

More Related