Presentation is loading. Please wait.

Presentation is loading. Please wait.

XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer.

Similar presentations


Presentation on theme: "XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer."— Presentation transcript:

1 XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer Engineering Carleton University, Ottawa, Canada kpatel@sce.carleton.ca

2 Outline Research goals Research goals WSOL WSOL XML Grammar for WSOL XML Grammar for WSOL Parser for WSOL Parser for WSOL WSOL Examples WSOL Examples Conclusions Conclusions Future Work Future Work

3 Research Goals Development of XML grammar for WSOL Development of XML grammar for WSOL Development of a parser for WSOL according to the developed WSOL grammar Development of a parser for WSOL according to the developed WSOL grammar Development of illustrative examples Development of illustrative examples Verification of implementability of the architecture of the WSOL language and WSOL language constructs Verification of implementability of the architecture of the WSOL language and WSOL language constructs

4 WSOL (Web Service Offerings Language) XML-based Language XML-based Language Fully compatible with the Web Services Description Language (WSDL) 1.1 Fully compatible with the Web Services Description Language (WSDL) 1.1 Enables formal specification of one or more service offerings for one WSDL description of a Web Service Enables formal specification of one or more service offerings for one WSDL description of a Web Service

5 Web Service WSDL Document Functionality of the Web Service Location of the Web Service Methods for accessing the Web Service Multiple Service Offerings for the Web Service  Service Offering 1  Service Offering 2  Service Offering 3 WSOL Document WSDL language enables description of WSOL language enables description of Defined for this particular WSDL description of the Web Service

6 Service Offering Represents a single class of service for a Web Service Represents a single class of service for a Web Service Contains a combination of various constraints and statements Contains a combination of various constraints and statements Constraints supported by WSOL Constraints supported by WSOL –Functional constraints: preconditions, postconditions, future-conditions, periodic future- conditions –Nonfunctional (a.k.a., QoS) constraints –Access Rights

7 Service Offering (cont’d) Statements supported by WSOL Statements supported by WSOL –Subscription payment model –Price/Penalty default –Price/Penalty –External Operation Calls –Management Responsibility –Constraint Group (CG) –Constraint Group Template (CGT) –Instantiation of CGT –Include –Service Offering Multiple service offerings relate to the same functionality of a Web Service, but differ in constraints & statements Multiple service offerings relate to the same functionality of a Web Service, but differ in constraints & statements

8 Multiple Service Offerings Constraints Precondition - A > 0 QoSConstraint - Response Time < 10 ms Statements Price - 1 Dollar Subscription - 50 $, 1Yr Constraint Group – CG1 Service Offering 1Service Offering 2 Constraints Postcondition - B > C QoSConstraint - Response Time < 100 ms Statements Price – 0.25 Dollar Subscription - 25 $, 1Yr Constraint Group – CG2 Differ in specification of constraints and statements Web Service Relate to the same functionality of the Web Service described in a WSDL document

9 XML Grammar for WSOL Specifies in XML, the structure and content of various constraints and statements supported by WSOL Specifies in XML, the structure and content of various constraints and statements supported by WSOL Specified using the XML Schema language in a schema called the “WSOLSchema” Specified using the XML Schema language in a schema called the “WSOLSchema” Enables generation of WSOL documents that conform to the grammar Enables generation of WSOL documents that conform to the grammar

10 WSOL grammar – Example1 Graphical represent ation of “Service Offering” statement specified in the WSOL grammar Graphical represent ation of “Service Offering” statement specified in the WSOL grammar

11 WSOL grammar – Example2 Graphical representation of “subscription” statement specified in the WSOL grammar Graphical representation of “subscription” statement specified in the WSOL grammar

12 Parser for WSOL A very basic and important tool for the WSOL language A very basic and important tool for the WSOL language Validates the WSOL documents developed according to the WSOL grammar Validates the WSOL documents developed according to the WSOL grammar Detects and reports various syntax and semantic errors in the WSOL documents Detects and reports various syntax and semantic errors in the WSOL documents Discovers and notifies the location (i.e., file name, & line number) of each error detected in the WSOL documents Discovers and notifies the location (i.e., file name, & line number) of each error detected in the WSOL documents

13 Parser for WSOL (cont’d) We have developed a prototype parser for WSOL in Java We have developed a prototype parser for WSOL in Java We re-use the Apache Xerces2 Java XML parser to develop the WSOL parser We re-use the Apache Xerces2 Java XML parser to develop the WSOL parser The WSOL parser The WSOL parser –Scans WSOL & WSOL-related documents –Stores important information (such as element names, attribute names, attribute values, attribute types, etc.) in multiple symbol tables while scanning –Uses information from the symbol tables to detect and report more complex syntax and semantic errors –Generates a DOM tree or SAX events for each document being parsed, depending on the underlying XML parser used (i.e., DOM or SAX)

14 WSOL Parser WSDL Document WSOL Document WSOL Grammar WSDL Grammar conforms to input Detects and reports syntax & semantic errors Detects and reports syntax & semantic errors DOM trees for WSDL & WSOL documents Underlying XML parser - DOM Parser output Underlying XML parser – SAX Parser output SAX events for WSDL & WSOL documents To be used for code generation

15 Symbol Table A very important component of the WSOL parser A very important component of the WSOL parser Enables the WSOL parser to verify type compatibility Enables the WSOL parser to verify type compatibility Enables the WSOL parser to prepare automatic generation of constraint-checking code Enables the WSOL parser to prepare automatic generation of constraint-checking code Creation of multiple nested symbol tables (scoped according to the structure of the document being parsed) enables the WSOL parser to detect semantic errors Creation of multiple nested symbol tables (scoped according to the structure of the document being parsed) enables the WSOL parser to detect semantic errors

16 buyStockService Example Developed to demonstrate how the WSOL parser works Developed to demonstrate how the WSOL parser works Also developed to validate and verify the WSOL grammar and the WSOL parser Also developed to validate and verify the WSOL grammar and the WSOL parser buyStockService buyStockService –A Web Service that enables its consumers to buy stocks of one or more companies –Its functionality, location, and access methods are described using WSDL –Multiple service offerings for its WSDL description are specified using WSOL

17 buyStockService (Web Service) buyStockPortType buySingleStockOperation buySingleStockRequest symbol quantity buySingleStockResponse totalStockBuyingCostbuyStockBindingbuyStockPort buyStockService.wsdl WSDL description ServiceOffering1 Constraint1 – preCondition quantity > 0 Constraint2 – QoSConstraint ResponseTime < 5 ms Price – 0.5 $ ManagementResponsibility SupplierResponsibility scope - ServiceOffering1ServiceOffering2 … WSOL description serviceOfferings.wsol

18 buyStockService Example Example of a precondition (i.e., functional constraint) specified for the buyStockService Example of a precondition (i.e., functional constraint) specified for the buyStockService "/>

19 Conclusions WSOL language - enables formal specification of constraints and classes of service for Web Services WSOL language - enables formal specification of constraints and classes of service for Web Services WSOL Grammar - has been developed to specify the structure and content of the WSOL language concepts in XML WSOL Grammar - has been developed to specify the structure and content of the WSOL language concepts in XML Prototype WSOL Parser - has been developed to validate WSOL documents, and to detect and report syntax and semantic errors including the locations of the errors Prototype WSOL Parser - has been developed to validate WSOL documents, and to detect and report syntax and semantic errors including the locations of the errors Examples - have been developed to verify the WSOL grammar and the prototype WSOL parser Examples - have been developed to verify the WSOL grammar and the prototype WSOL parser

20 Future Work The WSOL language (currently compatible with WSDL 1.1) will be updated to be compatible with WSDL 1.2 (still under development) The WSOL language (currently compatible with WSDL 1.1) will be updated to be compatible with WSDL 1.2 (still under development) The WSOL grammar, parser, & examples will be modified for the updated WSOL language The WSOL grammar, parser, & examples will be modified for the updated WSOL language A WSOL compiler (including a code generator for automatic generation of constraint-checking code in Java) will also be developed for the WSOL language A WSOL compiler (including a code generator for automatic generation of constraint-checking code in Java) will also be developed for the WSOL language A Java API for easier generation of WSOL documents that conform to the WSOL grammar will also be developed in future A Java API for easier generation of WSOL documents that conform to the WSOL grammar will also be developed in future


Download ppt "XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer."

Similar presentations


Ads by Google