Jun Tatemura NEC Laboratories Amercia GGF10, March 2004

Slides:



Advertisements
Similar presentations
R085: Describing Messages That Refer to Other Web Services W3C WSD WG F2F Rennes, Arthur Ryman.
Advertisements

Advanced XSLT. Branching in XSLT XSLT is functional programming –The program evaluates a function –The function transforms one structure into another.
Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined.
Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
XML: Extensible Markup Language
1 XSLT – eXtensible Stylesheet Language Transformations Modified Slides from Dr. Sagiv.
ISO DSDL ISO – Document Schema Definition Languages (DSDL) Martin Bryan Convenor, JTC1/SC18 WG1.
1 Discussion on Lifecycle Management and Its Impact to CDL Jun Tatemura NEC Laboratories America Feb 5, 2004.
1 CP3024 Lecture 9 XML revisited, XSL, XSLT, XPath, XSL Formatting Objects.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
Sunday, June 28, 2015 Abdelali ZAHI : FALL 2003 : XML Schemas XML Schemas Presented By : Abdelali ZAHI Instructor : Dr H.Haddouti.
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
September 15, 2003Houssam Haitof1 XSL Transformation Houssam Haitof.
1 Advanced Topics XML and Databases. 2 XML u Overview u Structure of XML Data –XML Document Type Definition DTD –Namespaces –XML Schema u Query and Transformation.
Manohar – Why XML is Required Problem: We want to save the data and retrieve it further or to transfer over the network. This.
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
Lecture 15 XML Validation. a simple element containing text attribute; attributes provide additional information about an element and consist of a name.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
XP New Perspectives on XML Tutorial 6 1 TUTORIAL 6 XSLT Tutorial – Carey ISBN
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.
WORKING WITH XSLT AND XPATH
Profiling Metadata Specifications David Massart, EUN Budapest, Hungary – Nov. 2, 2009.
Provisioning/Deployment CDDLM-WG (Configuration Description, Deployment and Lifecycle Management) December 4, 2003 Takashi Kojo, NEC.
1 CIS336 Website design, implementation and management (also Semester 2 of CIS219, CIS221 and IT226) Lecture 6 XSLT (Based on Møller and Schwartzbach,
WEB SERVICE DESCRIPTION LANGUAGE ( WSDL) -SIVA SAGAR TELLA.
Session IV Chapter 9 – XML Schemas
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
New Perspectives on XML, 2nd Edition
An OO schema language for XML SOX W3C Note 30 July 1999.
XML – Part III. The Element … This type of element either has the element content or the mixed content (child element and data) The attributes of the.
XML 2nd EDITION Tutorial 4 Working With Schemas. XP Schemas A schema is an XML document that defines the content and structure of one or more XML documents.
1 Tutorial 14 Validating Documents with Schemas Exploring the XML Schema Vocabulary.
Tutorial 13 Validating Documents with Schemas
CDDLM Configuration Description Language (CDL) Jun Tatemura NEC Laboratories America GGF13, March
1 XML-CDL Issues on Rev 0.2: Discussion, Solutions, and Proposal of Rev 0.3 Jun Tatemura NEC Laboratories America July 27, 2004.
CS 157B: Database Management Systems II February 11 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron.
SugarCRM Service Template
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.2.
Working with XML Schemas ©NIITeXtensible Markup Language/Lesson 3/Slide 1 of 36 Objectives In this lesson, you will learn to: * Declare attributes in an.
Adxstudio Portals Training
XP New Perspectives on XML, 2 nd Edition Tutorial 7 1 TUTORIAL 7 CREATING A COMPUTATIONAL STYLESHEET.
University of Nottingham School of Computer Science & Information Technology Introduction to XML 2. XSLT Tim Brailsford.
1 Use of SDD in Grid Deployment Based on GGF CDDLM Jun Tatemura NEC Laboratories America Sept 14, 2005.
1 CDDLM: CDL Examples Jun Tatemura NEC Laboratories America Feb 1, 2006 GGF OGSA/CDDLM session.
XML Validation. a simple element containing text attribute; attributes provide additional information about an element and consist of a name value pair;
1 Use of SDD in Grid Deployment Based on GGF CDDLM Jun Tatemura CDDLM WG member NEC Laboratories America Sept 13, 2005.
#N14 Pattern Value (aka Substring attribute) SDD 1.1 Initial Discussion XXX = [Proposal | Initial Discussion | General Direction Proposal]
1 WS-Policy. 2 What’s the Problem? To use a web service a client needs more information than is provided in WSDL file. Examples: –Does service support.
© 2004 IBM Corporation WS-ResourceFramework Service Groups Tom Maguire.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
SEMI-STRUCTURED DATA (XML) 1. SEMI-STRUCTURED DATA ER, Relational, ODL data models are all based on schema Structure of data is rigid and known is advance.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
XML Extensible Markup Language
1 XSL Transformations (XSLT). 2 XSLT XSLT is a language for transforming XML documents into XHTML documents or to other XML documents. XSLT uses XPath.
Web Services: Principles & Technology Slide 3.1 Chapter 3 Brief Overview of XML COMP 4302/6302.
PerfSONAR Schema and Topology Martin Swany. Schema Key Goals: Extensibility, Normalization, Readability Break representation of performance measurements.
XML: Extensible Markup Language
CDDLM-WG discussions with OGSA-WG
XCON WG IETF-64 Meeting XCON Framework Overview & Issues
Global Science and Technology, Inc., Greenbelt, MD, USA
Querying and Transforming XML Data
Dimuthu Leelarathne Software Engineer WSO2
XML QUESTIONS AND ANSWERS
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Instance Model Structure
WebDAV Design Overview
CSE591: Data Mining by H. Liu
More XML XML schema, XPATH, XSLT
New Perspectives on XML
Presentation transcript:

Jun Tatemura NEC Laboratories Amercia GGF10, March 2004 CDDLM XML-CDL Jun Tatemura NEC Laboratories Amercia GGF10, March 2004

Issues Overview [1] Attribute set description model [2] Component description model [3] Lifecycle management model [4] Dependencies and assertions [1-4] Relationship with SmartFrog

CDL Top-Level Structure Divided into sections (similar to WSDL) Cf. SmartFrog has a uniform language structure and utilizes predefined names and frameworks (e.g., sfConfig, Prim) Configuration on a system can be described in multiple CDL files <import> and <include> <cdl targetNamespace=“xsd:anyURI”> <types …/>? <!-- schema definition --> <configuration …/>? <!-- configuration data --> <system …/>? <!-- system structure --> <services …/>? <!-- service endpoints --> </cdl>

Import and Include Similar to XML Schema <import namespace=“xsd:anyURI” location=“xsd:anyURI” /> Import of external namespaces <include location=“xsd:anyURI” /> Inclusion of XML Data Similar to SmartFrog’s #include but may be more restrictive due to validity as XML data

Issue 1: Attribute Set Description Model

Attribute Sets Configuration is a set of attribute-value pairs Inheritance: the “extends” operation (from SmartFrog) for extensibility of configuration Every attribute set can be referred to with a QName extends reuse override addition

Using QName for Attribute Set Name Namespace realizes a globally unique reference to specify an attribute set <cdl targetNamespace=“uri1”> <attributeSet name=“abc” .../> </cdl> <cdl xmlns:tmpl=“uri1”> <attributeSet name=“myabc” extends=“tmpl:abc” .../> </cdl> A template CDL provided by the application provider CDL specified by the application user

Two Design Alternatives of Attribute Description [Alt-1] CDL specific attribute elements (current draft) <cdl:attributeSet cdl:name=“apache” cdl:extends=“ex:httpd”> <cdl:attribute> <cdl:name>hostname </cdl:name> <cdl:value> example.com </cdl:value> </cdl:attribute> </cdl:attributeSet> [Alt-2] Configuration specific schema <tns:apache cdl:name=“apache” cdl:extends=“ex:httpd”> <tns:hostname cdl:use=“…” …> example.com </tns:hostname> </tns:apache>

[Alt-1] Attribute Sets <attributeSet> element <attributeSet @name defines QName of this set @extends specifies a prototype set <attributeSet name=“xsd:NCName” extends=“xsd:QName”?> <attribute …/>* </attributeSet>

[Alt-1] Attributes A pair of name and value Augmented by <type>, <lifetime>, <use>, etc. type: type definition (XML Schema) lifetime: deployment | runtime | dynamic use: required | optional | readonly -- discussed later as another issue <attribute> <name>xsd:string</name> <type/>? <lifetime/>? <use/>? <value/>? </attribute> <attribute> <name>host</name> <type>xns:ipAddress</type> <lifetime>deployment</lifetime> <use>required</use> <value>15.144.56.243</value> </attribute>

[Alt-1] Nested Attribute Sets An attribute can have an attribute set as its value Nesting of attribute sets is flattened and linked with references (QNames) <attribute> <name>database-server</name> <type>cdl:refToAttributeSet</type> <lifetime>deployment</lifetime> <use>required</use> <value>tns:database</value> </attribute> <attributeSet name=“database” extends=“oracle” > <attribute .../> ... </attributeSet>

[Alt-1] Reference to Attribute An attribute is identified with the QName of an attribute set + the name (string) of an attribute This is one reason why attribute sets are flattened <reference> <attributeSet>xsd:QName</attributeSet>? <attributeName>xsd:string</attributeName> </reference> (alternative expression) <reference set=“xsd:QName”?>xsd:string</reference>

[Alt-2] Fully-bound Configuration Documents After references are resolved and values are fixed, a document becomes a simple and natural XML data based on application-specific schema Similar to WS-ResourceProperties <apache cdl:name=“xsd:NCName”> <MaxClients>150</MaxClients> <HostName>example.com</HostName> … </apache> resolution <apache cdl:name=“xsd:NCName”       cdl:extends=“xsd:QName”> <HostName /> … </apache> Schema for a particular configuration document

[Alt-2] CDL Functionalities Functionalities same as Alt-1 are achieved with attributes (@name, @extends,…) <apache cdl:name=“apachetmpl”       cdl:extends=“x:httpd”> <MaxClients>150</MaxClients> <HostName cdl:lifetime=“deployment” cdl:use=“optional” /> … </apache> CDL specified by the application user extends <apache cdl:name=“myapacheconfig”       cdl:extends=“tmpl:apachetmpl”> <HostName>myuri.com</HostName> … </apache> A template CDL provided by the application provider

[Alt-2] Drawback: Schema Definition Is Mandatory Schema is required to assure a valid CDL document is also a valid XML document Schema for vendor specific httpd Schema for generic httpd New elements added Redefinition of schema <httpd cdl:name=“template” …/> <apache cdl:name=“template” …/> <apache cdl:name=“myapache” …/> CDL for generic httpd template CDL for vendor specific httpd template CDL for user deployment

[Alt-2] Nested Attribute Sets Nested structure can be applied Better readability More powerful inheritance and reference models <webapp cdl:name=“mywebapp”       cdl:extends=“tmpl:webapp”> <webtier> <MaxClients>100</MaxClients> </webtier> <apptier> <MaxThreads>100</MaxThreads> </apptier> <dbtier> <MaxConnection>150</MaxConnection> </dbtier> … </webapp> Inheritance (recursive) extends includes Reference (QName+Xpath) <reference root=“xsd:QName”> xpath </reference>

Pros and Cons [Alt-1] CDL specific attribute elements Pros: Cons: Schema is optional Semantically similar to SmartFrog Cons: Bad readability Configuration data must be given in a different style from other WS-RF based resources [Alt-2] Configuration specific schema Pros: Readability Syntactically similar to SmartFrog Better match with WS-RF Xpath reference model Dependencies and assertions can use XPath Cons: Schema is required

Issue 2: Component (Wrapper) Model

Component Model A system is a tree which leafs are components A component refers to an attribute set A component is deployed through a Component Service (CDDLM wrapper) Component Service endpoint WS-Resource <system> <component> Component Service endpoint WS-Resource <configuration> Component Service endpoint WS-Resource <attributeSet> <attributeSet>

Binding to Component Service Endpoints A <services> element binds components to component service endpoints Similar definition structure to WSDL Typically given before resource assignment agreement Component Service endpoint <system> <system> WS-Resource <component> <component> Typically given after resource assignment agreement <component> <services> <service component=“xsd:QName”>wsa:EndpointReference</service> … </services>

Component Model Discussion Component Service endpoint may be either WS-RF-based or OGSI-based Nice to have a transparent description in CDL WS-Addressing’s EndPointReference may be used Do we standardize: How to identify content of application (e.g., URL, path within an archive file) How to transfer content of application -- May be component service specific

Issue 3: Lifecycle Management Model

Lifecycle Management in CDDLM CDDLM Processor must manage deployment lifecycle of multiple components deploy start stop undeploy get/set getStatus deploy start stop undeploy get/set getStatus Component Service endpoint CDDLM-Service endpoint CDDLM Processor Consistency among components should be maintained Component Service endpoint CDDLM Client (e.g., Job Manager) Component Service endpoint

Constraints on Attributes For better management of consistency Lifetime: deployment|runtime|dynamic When value should be fixed Use: required|optional|readonly Whether value should be given Read-only value is assigned only by Component services (only get operation is valid on this attribute) (e.g., a port number may be dynamically assigned) Lifetime must be specified when use is specified Type: QName of schema [Alt-1] SmartFrog has only deployment and dynamic (LAZY) lifetime. CDDLM does not know when a lazy value is resolved.

Lifecycle Dependency in a System Restriction on the order of lifecycle management operations <deployAfter> <startAfter> If lifecycle dependency is only from data dependency, we may not need these notations (order can be inferred from data dependency)

Issue 4: Dependencies and Assertions

Dependencies An attribute value is derived from other attribute values <assign> <to><reference …/></to> <from>{<reference …/>|<expression …/>|<value …/>}</from> </assign> and/or <attribute> <name>xsd:string</name> {<reference …/>|<expression …/>|<value …/>}? </attribute>

Assertions An assertion specifies a condition which must be satisfied by given attribute values An assertion has QName so that it can be overridden <assert name=“xsd:NCName” language=“xsd:anyURI”?> xsd:any </assert>

Issues on Dependencies and Assertions Expression languages? Specified with URI There should be one normative expression We may let Xpath 1.0 be the default normative expression. http://www.w3.org/TR/1999/REC-xpath-19991116 Later we may add Xpath 2.0 as an alternative URI Where to place Within an attribute set Outside of attribute sets

Example of XPath-based Expression Any attribute value can be assigned to xpath VariableReference ($QName) by using <reference> and <let> <cdl:expression> <xp:root><cdl:reference …/></xp:root>? <xp:let name=“NCName”> <cdl:reference …/> </xp:let>* <xp:return>xpath</xp:return> </cdl:expression> the context node variable bindings xpath pattern

Relationship with Attribute Description Alternatives If we take [Alt-2] for attribute description, Xpath-based dependencies and assertion would be more powerful and intuitive <apache cdl:name=“apachetmpl”> <MaxClients>150</MaxClients> <HostName/> … <cdl:assert> boolean(MaxClients > 0) </cdl:assert> </apache> The parent of <assert> (i.e., <apache>) is regarded as the context node of XPath