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

Slides:



Advertisements
Similar presentations
JAXB Java Architecture for XML Binding Andy Fanton Khalid AlBayat.
Advertisements

SDPL 2003Notes 2: Document Instances and Grammars1 2.5 XML Schemas n A quick introduction to XML Schema –W3C Recommendation, May 2, 2001: »XML Schema Part.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
XML DOM and SAX Parsers By Omar RABI. Introduction to parsers  The word parser comes from compilers  In a compiler, a parser is the module that reads.
Application architectures
SMIILE Finaly COBOL! and what else is new Gordana Rakić, Zoran Budimac.
Stimulating reuse with an automated active code search tool Júlio Lins – André Santos (Advisor) –
MCA –Software Engineering Kantipur City College. Topics include  Formal Methods Concept  Formal Specification Language Test plan creation Test-case.
Chapter 13 XML Concept of XML Simple Example of XML XML vs. HTML in Syntax XML Structure DTD and CDATA Sections Concept of SAX Processing Download and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
2.2 A Simple Syntax-Directed Translator Syntax-Directed Translation 2.4 Parsing 2.5 A Translator for Simple Expressions 2.6 Lexical Analysis.
E-Business Service Components with Multiple Classes of Service and Dynamic Adaptability Mechanisms Vladimir Tosic, Kruti Patel, Bernard Pagurek Network.
Managing the development and purchase of information systems (Part 1)
Introduction to XML cs3505. References –I got most of this presentation from this site –O’reilly tutorials.
1 XML at a neighborhood university near you Innovation 2005 September 16, 2005 Kwok-Bun Yue University of Houston-Clear Lake.
C++ Code Analysis: an Open Architecture for the Verification of Coding Rules Paolo Tonella ITC-irst, Centro per la Ricerca Scientifica e Tecnologica
XML eXtensible Markup Language w3c standard Why? Store and transport data Easy data exchange Create more languages WSDL (Web Service Description Language)
XP 1 CREATING AN XML DOCUMENT. XP 2 INTRODUCING XML XML stands for Extensible Markup Language. A markup language specifies the structure and content of.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Introduction to MDA (Model Driven Architecture) CYT.
Characteristics of the Web Service Offerings Language (WSOL) Presenter: Vladimir Tosic (work with K. Patel, B. Pagurek) Network Management & Artificial.
Integrated Development Environment for Policies Anjali B Shah Department of Computer Science and Electrical Engineering University of Maryland Baltimore.
Electronic Commerce COMP3210 Session 4: Designing, Building and Evaluating e-Commerce Initiatives – Part II Dr. Paul Walcott Department of Computer Science,
Avoid using attributes? Some of the problems using attributes: Attributes cannot contain multiple values (child elements can) Attributes are not easily.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style COMPILER DESIGN Review Joey Paquet,
XML A web enabled data description language 4/22/2001 By Mark Lawson & Edward Ryan L’Herault.
Javascript II DOM & JSON. In an effort to create increasingly interactive experiences on the web, programmers wanted access to the functionality of browsers.
Development Process and Testing Tools for Content Standards OASIS Symposium: The Meaning of Interoperability May 9, 2006 Simon Frechette, NIST.
Using WSMX to Bind Requester & Provider at Runtime when Executing Semantic Web Services Matthew Moran, Michal Zaremba, Adrian Mocan, Christoph Bussler.
Web Services with Apache CXF Part 2: JAXB and WSDL to Java Robert Thornton.
© GMV S.A., 2004 Property of GMV S.A. All rights reserved 2004/05/13 XML in CCSDS CCSDS Spring Meeting - Montreal Fran Martínez GMVSA 4081/04.
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
Web Technologies COMP6115 Session 4: Adding a Database to a Web Site Dr. Paul Walcott Department of Computer Science, Mathematics and Physics University.
1 ECCF Training 2.0 Implemental Perspective (IP) ECCF Training Working Group January 2011.
The eXtensible Markup Language (XML). Presentation Outline Part 1: The basics of creating an XML document Part 2: Developing constraints for a well formed.
Web Services with Apache CXF Part 2: JAXB and WSDL to Java Robert Thornton.
Cross Language Clone Analysis Team 2 October 13, 2010.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Gordana Rakić, Zoran Budimac
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
Semantic Phyloinformatic Web Services Using the EvoInfo Stack Speaker: John Harney LSDIS Lab, Dept. of Computer Science, University of Georgia Mentor(s):
When we create.rtf document apart from saving the actual info the tool saves additional info like start of a paragraph, bold, size of the font.. Etc. This.
Representing data with XML SE-2030 Dr. Mark L. Hornick 1.
Accessing XML Documents Using DOM ©NIITeXtensible Markup Language/Lesson 8/Slide 1 of 23 Objectives In this lesson, you will learn to: * Use XML DOM objects.
TDX: a High-Performance Table-Driven XML Parser Wei Zhang Robert van Engelen Department of Computer Science Florida State University.
Object-Oriented Parsing and Transformation Kenneth Baclawski Northeastern University Scott A. DeLoach Air Force Institute of Technology Mieczyslaw Kokar.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
XML Tools (Chapter 4 of XML Book). What tools are needed for a complete XML application? n Fundamental components n Web infrasructure n XML development.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Representing Web Data:
1 Validation SAX-DOM. Objectives 2  Schema Validation Framework  XML Validation After Transformation  Workshops.
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
Simple API for XML
1 Introduction to XML Babak Esfandiari. 2 What is XML? introduced by W3C in 98 Stands for eXtensible Markup Language it is more general than HTML, but.
Introduction to Compiler Construction
Lexical and Syntax Analysis
Heppenheim Prototype for the MOT design and for the Transfer follow-up
System Design.
Web Ontology Language for Service (OWL-S)
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Database Processing with XML
CMPE 152: Compiler Design September 11/13 Lab
CMPE 152: Compiler Design August 21/23 Lab
CMPE 152: Compiler Design February 21/26 Lab
Graphical Modeling of INFOD applications
Software Architecture & Design
XML and Web Services (II/2546)
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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 "/>

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

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