A Security Gateway for Web Service Protocols

Total Page:16

File Type:pdf, Size:1020Kb

A Security Gateway for Web Service Protocols A Security Gateway for Web Service Protocols zur Erlangung des akademischen Grades eines Doktors der Ingenieurwissenschaften der Fakultät für Informatik der Universität Fridericiana zu Karlsruhe (TH) genehmigte Dissertation von Dong Huang aus Shanghai, China Tag der mündlichen Prüfung: 25. Juni 2007 Erster Gutachter: Prof. Dr. Jacques Calmet Zweiter Gutachter: Prof. Dr. Hartmut Schmeck ii Eidesstattliche Erklärung Hiermit erkläre ich, dass ich die vorliegende Dissertation selbständig verfasst und keine anderen als die angegebenen Hilfsmittel benutzt habe. Die Dissertation ist bisher keiner anderen Fakultät vorgelegt worden. Ich erkläre, dass ich bisher kein Promotionsverfahren erfolglos been- det habe und dass keine Aberkennung eines bereits erworbenen Dok- torgrades vorliegt. Acknowledgements Firstly, I would like to thank my supervisors, Prof. Dr. Jacques Calmet and Dr. Jorge Cuellar for their constant dedication, guidance, advice and inspiration. This thesis would not have been possible without their constructive critisms and motivation. I am also very grateful to Prof. Dr. Hartmut Schmeck for his advice, encouragement and guidance. Many thanks to both Dr. Cuellar and Prof. Calmet for arranging for financial support during my PhD studies, I would like to express my sincere gratitude to their kindness and the opportunity that they gave me to make the research at Siemens AG, Corporate Technology. Special thanks go to Dr. Joerg Abendroth who has contributed useful comments and advice to the work presented here. Many thanks to my friends and colleagues in the University of Karlsruhe (TH), CT IC3 of Siemens and Corporate Quality Consulting GmbH. They include: Yi Yang, Shane Bracher, Mike Elschner, Holger Haas, Dr. Monika Maidl and Helga Scherer. Other friends who deserve a mention include: Jia Ma, Qi Zhu, Cheng Wang, Minhua Chen and Ming Yang. Thanks for all the encouragements communicated via snail mails, emails, and phone calls. Special thanks to Dr. Xiujuan Yu for her timly interventions and words of encouragements I was able to go through the most difficult periods. To all other friends whose names I have forgotten to mention, thank you. Lastly, I owe a great debt to my family for supporting my decision to study in the Ger- many, their sacrifices and their endless support over the years, especially my mother Mei Huang. The work presented in this thesis was partly funded by Siemens AG, Corporate Tech- nology in Munich. Zusammenfassung Die Verbreitung von Web Services und service orientierten Architekturen fuhren¨ zu einem dramatischen Wandel im Aufbau von internen Systemen und deren Kommunikation mit externen Systemen. Um die Kosten von Software zu senken und gleichzeitig ihre Leistungsfahig-¨ keit zu steigern, setzen immer mehr Firmen und Organisationen Webser- vices ein. Eines der gro¨ßten Probleme, welches die Industrie von dem Ein- satz dieser Standardarchitektur abhalt,¨ ist die Sicherheit. Als Antwort auf diese Sicherheitsbedenken erarbeiten IBM und Microsoft einen Plan fur¨ sichere Webservices und einen Zeitplan fur¨ die Entwicklung von Entwurfsmustern fur¨ sichere Webservices, die einen Schutz der Nach- richtenubertragung¨ im Webserviceumfeld gestatten. Standardisierungsorganisationen wie OASIS und W3C haben SAML und XACML vorgeschlagen um ein XML-Schema fur¨ Zugriffs- und Berechtigungs- strukturen sowie ein XML basierendes System fur¨ den Austausch von Nut- zerrechten und weiteren Attributen als Standard zu verabschieden. Trotz des großen Aufwands, der getatigt¨ wurde, kann im Moment noch nicht von ausreichendem Sicherheitniveau gesprochen werden. Die Herausfor- derungen zwischen Geschaftst¨ atigkeit¨ und IT, sich regelma¨ßig verandern-¨ den Organisationsstrukturen und flexiblen Geschaftsprozessen/Gesch¨ afts-¨ modellen anzupassen, stellen zusatzliche¨ Anforderungen an ein skalierba- res, flexibles und wartbares Sicherheitssystem. Zwei Fallbeispiele zur Be- grundung¨ unserer Forschungsarbeit: • Im Kapitel 404 des Sarbanes Oxley Act (SOX) ist beschrieben das alle Firmen mit mehr als 75 Millionen US$ Marktkapitalisierung die Wirk- samkeit ihres internen Kontroll- und Regelsystems nachweisen mussen.¨ Trotz der Aufregung zur Sicherstellung der Einhaltung des SOX ist ei- ne Einfuhrung¨ eines angemessenen Zugriffskontrollsystems vorteilhaft. Die Rollen basierte Zugriffskontrolle (RBAC) ist eine solche Moglich-¨ keit. In großen Organisationen stellt sich jedoch den Sicherheitsbeauf- tragten als Hauptfrage wie kann er die sich standigen¨ Anderungen¨ in gesetzeskonformer Weise zeitgerecht in das System ubernehmen.¨ • Adaptive Geschaftsprozesse¨ entstehen aus der Tatsache heraus, dass Geschaftsanwendungen¨ von monolithischen Einzelapplikationen zu ser- vice orientierten Architekturen migrieren. Flexible Anpassungen wegen sich andernder¨ Geschafts-Anforderungen¨ entstehen durch Auf- und Ab- bau von Aufgaben (Ablaufen)¨ virtueller Organisationen. Um die sichere Ausfuhrung¨ von Geschaftsprozessen¨ zu gewahrleisten,¨ ist ein verteiltes semantisches Gerust¨ / Rahmenwerk Voraussetzung. Die Nutzung des- selben semantischen Gerustes¨ erlaubt es verschiedenen Systeme zu kommunizieren. Speziell fur¨ die Sicherheitsanforderungen der (Web-) Prozesse, ist es notwendig Einschrankungen¨ und Moglichkeiten¨ in ei- ner gemeinsamen, verstandlichen¨ Art und Wiese zu definieren. Diese Forschung sieht die Lieferung innovativer Sicherheitslosungen¨ fur¨ die virtuelle, service-orientierte und entstehende Unternehmen voraus, welche eine sichere Ausfuhrung¨ von Geschaftsprozessen¨ und eine vertrauensvolle Zusammenarbeit zwischen Organisationen ermoglicht.¨ Weiterhin hat ein ef- fizientes Authorisierungs-Management von diesen Losungen¨ folgende Vor- aussetzungen: (1) Abbildung von Geschaftsabl¨ aufen¨ in eine Sicherheits- Policie und (2) ermoglichen¨ der Zusammenarbeit von unabhangig¨ verwal- tenden Einheiten/Organisationen. Diese Arbeit beschreibt Gracia, ein Sicherheits-Gateway welches entwickelt wurde den Authorisierungsanforderungen von service-orientierten Architek- turen in Unternehmen zu entsprechen. Ein Sicherheits-Gateway ist ein Aus- druck der sich auf ein einheitliches Sicherheitskonzept (Gerust)¨ bezieht , die Integration von sicherheitsrelevantem Wissen und die Auswertung und Durchsetzung von (policy compliances“). Auf dem Konzept einer virtuellen Wissens Community basierend (VKC) und einer generischen Abstraktion fur¨ Agenten basiertes Wissensaustausch (AOA), stellt Gracia ein generisches Platform um Wissen auszutauschen zwischen unterschiedlichen Einheiten oder Unternehmen bereit. Gracia enthalt¨ eine eigene Sprache fur¨ die Spe- zifikation von Sicherheitsanforderungen, die Gracia Policy Language (GPL), welche nach der Syntax und Semantik der Web Ontology Language (OWL) und der Semantic Web Rule Language (SWRL) und der Inferenzmodell fur¨ die Auswertung von Policies abgeleitet ist/wird. Mit dieser Sprache und dem dazugehorigen¨ Interferenzmodell ist Gracia in der Lage Policies zu modellie- ren, welche sowohl Geschaftsregeln¨ als auch regulatorische Einschrankun-¨ gen (Compliance) erlauben. Die zweite Halfte¨ dieser Arbeit beschreibt das Design und die Implementie- rung des Gracia Gerustes¨ fur¨ die standard webservice Plattform. Diese Ar- beit verfolgt 2 Ziele, erstens die praktische Demonstration/Machbarkeit von i Gracia und zweitens zu erforschen, ob ein Policy basierter Sicherheitsgate- way fur¨ den unternehmensweiten Einsatz moglich¨ ist. Eine wichtige Voraussetzung in solch einem System ist die Wissensinte- gration, die den Anteilseignern der Geschaftsprozesse¨ erlaubt ihr Wissen zu teilen und eine sicherheitsorientierte Herangehensweise an die Prozes- sebene erlaubt. Diese Voraussetzung, ein Wissens-Integrations-Gerust¨ fur¨ Gracia zu erstellen, wird aufbauend auf das VKC Gerust¨ von IAKS an der Universitat¨ von Karlsruhe entwickelt. Abstract The advent of Web Services and service-oriented architectures is fundamentally chang- ing the way we build our internal systems and how internal and external systems inter- act with each other. To reduce the costs of software systems while at the same time increasing the capabilities of the systems, more and more companies and organisa- tions are adopting their IT systems to Web Service technologies. One of the most important problems, which prevents the industry from producing and implementing a standards-based architecture, is Security. In response to security concerns, IBM and Microsoft have collaborated on this proposed Web Services security plan and roadmap for developing a set of Web Service Security specifications that address the problem of how to provide protection for messages ex- changed in a Web service environment. Standard organisations like OASIS and W3C have also proposed SAML1 and XACML2 to provide an XML schema for representing authorisation and entitlement policies and an XML-based framework for communicating user authentication, entitlement-, and attribute information. However, despite the fact that a lot of effort has been put into solving security concerns, it is still not able to be said that the web service technology is secure enough. Huge gaps between business and IT, frequently changing organisation structures and flex- ible business process/model give us new challenges for building up a system with a scalable, flexible and easily manageable security framework. This research is mainly motivated by the following two facts in the real world. • Under Section 404 of Sarbanes-Oxley (SOX), public companies that have a mar- ket capitalisation of more than $75 million, must attest
Recommended publications
  • Rdfa in XHTML: Syntax and Processing Rdfa in XHTML: Syntax and Processing
    RDFa in XHTML: Syntax and Processing RDFa in XHTML: Syntax and Processing RDFa in XHTML: Syntax and Processing A collection of attributes and processing rules for extending XHTML to support RDF W3C Recommendation 14 October 2008 This version: http://www.w3.org/TR/2008/REC-rdfa-syntax-20081014 Latest version: http://www.w3.org/TR/rdfa-syntax Previous version: http://www.w3.org/TR/2008/PR-rdfa-syntax-20080904 Diff from previous version: rdfa-syntax-diff.html Editors: Ben Adida, Creative Commons [email protected] Mark Birbeck, webBackplane [email protected] Shane McCarron, Applied Testing and Technology, Inc. [email protected] Steven Pemberton, CWI Please refer to the errata for this document, which may include some normative corrections. This document is also available in these non-normative formats: PostScript version, PDF version, ZIP archive, and Gzip’d TAR archive. The English version of this specification is the only normative version. Non-normative translations may also be available. Copyright © 2007-2008 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply. Abstract The current Web is primarily made up of an enormous number of documents that have been created using HTML. These documents contain significant amounts of structured data, which is largely unavailable to tools and applications. When publishers can express this data more completely, and when tools can read it, a new world of user functionality becomes available, letting users transfer structured data between applications and web sites, and allowing browsing applications to improve the user experience: an event on a web page can be directly imported - 1 - How to Read this Document RDFa in XHTML: Syntax and Processing into a user’s desktop calendar; a license on a document can be detected so that users can be informed of their rights automatically; a photo’s creator, camera setting information, resolution, location and topic can be published as easily as the original photo itself, enabling structured search and sharing.
    [Show full text]
  • Bibliography of Erik Wilde
    dretbiblio dretbiblio Erik Wilde's Bibliography References [1] AFIPS Fall Joint Computer Conference, San Francisco, California, December 1968. [2] Seventeenth IEEE Conference on Computer Communication Networks, Washington, D.C., 1978. [3] ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, Los Angeles, Cal- ifornia, March 1982. ACM Press. [4] First Conference on Computer-Supported Cooperative Work, 1986. [5] 1987 ACM Conference on Hypertext, Chapel Hill, North Carolina, November 1987. ACM Press. [6] 18th IEEE International Symposium on Fault-Tolerant Computing, Tokyo, Japan, 1988. IEEE Computer Society Press. [7] Conference on Computer-Supported Cooperative Work, Portland, Oregon, 1988. ACM Press. [8] Conference on Office Information Systems, Palo Alto, California, March 1988. [9] 1989 ACM Conference on Hypertext, Pittsburgh, Pennsylvania, November 1989. ACM Press. [10] UNIX | The Legend Evolves. Summer 1990 UKUUG Conference, Buntingford, UK, 1990. UKUUG. [11] Fourth ACM Symposium on User Interface Software and Technology, Hilton Head, South Carolina, November 1991. [12] GLOBECOM'91 Conference, Phoenix, Arizona, 1991. IEEE Computer Society Press. [13] IEEE INFOCOM '91 Conference on Computer Communications, Bal Harbour, Florida, 1991. IEEE Computer Society Press. [14] IEEE International Conference on Communications, Denver, Colorado, June 1991. [15] International Workshop on CSCW, Berlin, Germany, April 1991. [16] Third ACM Conference on Hypertext, San Antonio, Texas, December 1991. ACM Press. [17] 11th Symposium on Reliable Distributed Systems, Houston, Texas, 1992. IEEE Computer Society Press. [18] 3rd Joint European Networking Conference, Innsbruck, Austria, May 1992. [19] Fourth ACM Conference on Hypertext, Milano, Italy, November 1992. ACM Press. [20] GLOBECOM'92 Conference, Orlando, Florida, December 1992. IEEE Computer Society Press. http://github.com/dret/biblio (August 29, 2018) 1 dretbiblio [21] IEEE INFOCOM '92 Conference on Computer Communications, Florence, Italy, 1992.
    [Show full text]
  • RDF/XML: RDF Data on the Web
    Developing Ontologies • have an idea of the required concepts and relationships (ER, UML, ...), • generate a (draft) n3 or RDF/XML instance, • write a separate file for the metadata, • load it into Jena with activating a reasoner. • If the reasoner complains about an inconsistent ontology, check the metadata file alone. If this is consistent, and it complains only when also data is loaded: – it may be due to populating a class whose definition is inconsistent and that thus must be empty. – often it is due to wrong datatypes. Recall that datatype specification is not interpreted as a constraint (that is violated for a given value), but as additional knowledge. 220 Chapter 6 RDF/XML: RDF Data on the Web • An XML representation of RDF data for providing RDF data on the Web could be done straightforwardly as a “holds” relation mapped according to SQLX (see ⇒ next slide). • would be highly redundant and very different from an XML representation of the same data • search for a more similar way: leads to “striped XML/RDF” – data feels like XML: can be queried by XPath/Query and transformed by XSLT – can be parsed into an RDF graph. • usually: provide RDF/XML data to an agreed RDFS/OWL ontology. 221 A STRAIGHTFORWARD XML REPRESENTATION OF RDF DATA Note: this is not RDF/XML, but just some possible representation. • RDF data are triples, • their components are either URIs or literals (of XML Schema datatypes), • straightforward XML markup in SQLX style, • since N3 has a term structure, it is easy to find an XML markup. <my-n3:rdf-graph xmlns:my-n3="http://simple-silly-rdf-xml.de#"> <my-n3:triple> <my-n3:subject type="uri">foo://bar/persons/john</my-n3:subject> <my-n3:predicate type="uri">foo://bar/meta#name</my-n3:predicate> <my-n3:object type="http://www.w3.org/2001/XMLSchema#string">John</my-n3:object> </my-n3 triple> <my-n3:triple> ..
    [Show full text]
  • XML for Java Developers G22.3033-002 Course Roadmap
    XML for Java Developers G22.3033-002 Session 1 - Main Theme Markup Language Technologies (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Course Roadmap Consider the Spectrum of Applications Architectures Distributed vs. Decentralized Apps + Thick vs. Thin Clients J2EE for eCommerce vs. J2EE/Web Services, JXTA, etc. Learn Specific XML/Java “Patterns” Used for Data/Content Presentation, Data Exchange, and Application Configuration Cover XML/Java Technologies According to their Use in the Various Phases of the Application Development Lifecycle (i.e., Discovery, Design, Development, Deployment, Administration) e.g., Modeling, Configuration Management, Processing, Rendering, Querying, Secure Messaging, etc. Develop XML Applications as Assemblies of Reusable XML- Based Services (Applications of XML + Java Applications) 2 1 Agenda XML Generics Course Logistics, Structure and Objectives History of Meta-Markup Languages XML Applications: Markup Languages XML Information Modeling Applications XML-Based Architectures XML and Java XML Development Tools Summary Class Project Readings Assignment #1a 3 Part I Introduction 4 2 XML Generics XML means eXtensible Markup Language XML expresses the structure of information (i.e., document content) separately from its presentation XSL style sheets are used to convert documents to a presentation format that can be processed by a target presentation device (e.g., HTML in the case of legacy browsers) Need a
    [Show full text]
  • Odata-Csdl-Xml-V4.01-Os.Pdf
    OData Common Schema Definition Language (CSDL) XML Representation Version 4.01 OASIS Standard 11 May 2020 This stage: https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/os/odata-csdl-xml-v4.01-os.docx (Authoritative) https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/os/odata-csdl-xml-v4.01-os.html https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/os/odata-csdl-xml-v4.01-os.pdf Previous stage: https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/cos01/odata-csdl-xml-v4.01-cos01.docx (Authoritative) https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/cos01/odata-csdl-xml-v4.01-cos01.html https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/cos01/odata-csdl-xml-v4.01-cos01.pdf Latest stage: https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.docx (Authoritative) https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.pdf Technical Committee: OASIS Open Data Protocol (OData) TC Chairs: Ralf Handl ([email protected]), SAP SE Michael Pizzo ([email protected]), Microsoft Editors: Michael Pizzo ([email protected]), Microsoft Ralf Handl ([email protected]), SAP SE Martin Zurmuehl ([email protected]), SAP SE Additional artifacts: This prose specification is one component of a Work Product that also includes: • XML schemas: OData EDMX XML Schema and OData EDM XML Schema.
    [Show full text]
  • XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département D©Informatique Et De Recherche Opérationnelle Université De Montréal
    XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département d©informatique et de recherche opérationnelle Université de Montréal C.P. 6128, Succ. Centre-Ville Montréal, Québec Canada H3C 3J7 [email protected] http://www.iro.umontreal.ca/~lapalme/ForestInsteadOfTheTrees/ Publication date April 14, 2019 XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/ XML: Looking at the Forest Instead of the Trees Guy Lapalme Professor Département d©informatique et de recherche opérationnelle Université de Montréal C.P. 6128, Succ. Centre-Ville Montréal, Québec Canada H3C 3J7 [email protected] http://www.iro.umontreal.ca/~lapalme/ForestInsteadOfTheTrees/ Publication date April 14, 2019 Abstract This tutorial gives a high-level overview of the main principles underlying some XML technologies: DTD, XML Schema, RELAX NG, Schematron, XPath, XSL stylesheets, Formatting Objects, DOM, SAX and StAX models of processing. They are presented from the point of view of the computer scientist, without the hype too often associated with them. We do not give a detailed description but we focus on the relations between the main ideas of XML and other computer language technologies. A single compact pretty-print example is used throughout the text to illustrate the processing of an XML structure with XML technologies or with Java programs. We also show how to create an XML document by programming in Java, in Ruby, in Python, in PHP, in E4X (Ecmascript for XML) and in Swift. The source code of the example XML ®les and the programs are available either at the companion web site of this document or by clicking on the ®le name within brackets at the start of the caption of each example.
    [Show full text]
  • Integración De XML En Páginas Web Dinámicas DOM
    Integración de XML en páginas Web dinámicas DOM Jose Emilio Labra Gayo Departamento de Informática Universidad de Oviedo Motivación: Computación Dinámica Páginas Web estáticas vs. Dinámicas Computación Dinámica = Contenido se genera en el momento en que se hace la petición 2 Posibilidades: Cliente vs Servidor Internet Cliente Servidor GET http://servidor.com/hola.html http:/1.0 200 OK <html> <body> Enlace a <a href =“otro.html”>Otro</a> </body> </html> Computación Dinámica en Servidor Al solicitar ciertas páginas, el servidor genera el contenido Ejemplos: CGI's, Servlets, JSP, ASP, PHP, etc. El proceso es trasparente para el cliente El cliente recibe únicamente código HTML No tiene porqué haber problemas de usabilidad Desventajas La interactividad requiere comunicación entre cliente/servidor Mayor carga de la red y del servidor Desperdicio de las capacidades del cliente Computación dinámica en Cliente Se pueden incluir objetos computacionales que son interpretados por el cliente Varias posibilidades: Applets, Javascript, ... Se ejecutan en el entorno que ofrece el navegador DOM ofrece una API que permite acceder/manipular los elementos del documento También se puede acceder a otros elementos (eventos, barra de estado, etc.) Por seguridad no se permite escribir/leer ficheros JavaScript Un poco de historia Netscape 2 (Dic. 1995) incorporó Javascript (diseñado por Brendan Eich) Permite modificar contenido de páginas Web interactivamente JavaScript no tiene nada que ver con Java Se llamaba LiveScript (cambio de nombre por marketing) Microsoft
    [Show full text]
  • OWL 2 Web Ontology Language XML Serialization W3C Proposed Recommendation 22 September 2009
    OWL 2 Web Ontology Language XML Serialization W3C Proposed Recommendation 22 September 2009 OWL 2 Web Ontology Language XML Serialization W3C Proposed Recommendation 22 September 2009 This version: http://www.w3.org/TR/2009/PR-owl2-xml-serialization-20090922/ Latest version: http://www.w3.org/TR/owl2-xml-serialization/ Previous version: http://www.w3.org/TR/2009/CR-owl2-xml-serialization-20090611/ (color-coded diff) Editors: Boris Motik, Oxford University Computing Laboratory Bijan Parsia, University of Manchester Peter F. Patel-Schneider, Bell Labs Research, Alcatel-Lucent Contributors: (in alphabetical order) Sean Bechhofer, University of Manchester Bernardo Cuenca Grau, Oxford University Computing Laboratory Achille Fokoue, IBM Corporation Rinke Hoekstra, University of Amsterdam This document is also available in these non-normative formats: PDF version. Copyright © 2009 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply. Abstract The OWL 2 Web Ontology Language, informally OWL 2, is an ontology language for the Semantic Web with formally defined meaning. OWL 2 ontologies provide classes, properties, individuals, and data values and are stored as Semantic Web documents. OWL 2 ontologies can be used along with information written in RDF, and OWL 2 ontologies themselves are primarily exchanged as RDF documents. The OWL 2 Document Overview describes the overall state of OWL 2, and should be read before other OWL 2 documents. Page 1 of 35 http://www.w3.org/TR/2009/PR-owl2-xml-serialization-20090922/ OWL 2 Web Ontology Language XML Serialization W3C Proposed Recommendation 22 September 2009 This document specifies an XML serialization for OWL 2 that mirrors its structural specification.
    [Show full text]
  • Xml Xpath, Xslt
    More XML XPATH, XSLT CS 431 – February 27, 2006 Carl Lagoze – Cornell University XPath • Language for addressing parts of an XML document –XSLT –Xpointer • Tree model similar to DOM • W3C Recommendation (1999) – http://www.w3.org/TR/xpath Remember to think in terms of DOM trees DOCUMENT type=Element <?xml version="1.0" name="book" encoding="UTF-8"?> <book> <title lang='"en"'>"XML Basics"</title> type=Element name="title" </book> type=Text type=Attribute data="XML name="lang" Basics" data="en" Xpath Concepts •Context Node – current node in XML document that is basis of path evaluation – Default to root (remember that root is “Document”) • Location Steps – selection from context node – Axis – sub-tree(s) selection from context node – Node Test – select specific elements or node type(s) – Predicates – predicate for filtering after axis and node tests Context, Axis, Node Test, Predicate Document Root Location Path Specification • /step/step/…. – absolute from document root • step/step …. – relative from context • //step/step – anywhere in document tree • where step is: axis::node-test[predicate] axis::node-test[predicate] • child:: all children of context • descendant:: all children, grandchildren, … • parent:: parent of context • ancestor:: all nodes on path to root from context axis::node-test[predicate] • Element name: e.g. “Book” – make sure to pay attention to namespaces!!!! •Wildcard: * • Type(): where type is “node”, “text”, etc. – Remember in DOM that everything is a node axis::node-test[predicate] • Boolean and comparative operators
    [Show full text]
  • Best Practices Managing XML Data
    ® IBM® DB2® for Linux®, UNIX®, and Windows® Best Practices Managing XML Data Matthias Nicola IBM Silicon Valley Lab Susanne Englert IBM Silicon Valley Lab Last updated: January 2011 Managing XML Data Page 2 Executive summary ............................................................................................. 4 Why XML .............................................................................................................. 5 Pros and cons of XML and relational data ................................................. 5 XML solutions to relational data model problems.................................... 6 Benefits of DB2 pureXML over alternative storage options .................... 8 Best practices for DB2 pureXML: Overview .................................................. 10 Sample scenario: derivative trades in FpML format............................... 11 Sample data and tables................................................................................ 11 Choosing the right storage options for XML data......................................... 16 Selecting table space type and page size for XML data.......................... 16 Different table spaces and page size for XML and relational data ....... 16 Inlining and compression of XML data .................................................... 17 Guidelines for adding XML data to a DB2 database .................................... 20 Inserting XML documents with high performance ................................ 20 Splitting large XML documents into smaller pieces ..............................
    [Show full text]
  • XML Projects in Japan and Fujitsu's Approach to Xlink/Xpointer
    UDC 621.395.74:651.55:681.32 XML Projects in Japan and Fujitsu’s Approach to XLink/XPointer VToshimitsu Suzuki VMasatomo Goto (Manuscript received June 2, 2000) The Extensible Markup Language (XML)1) is a markup language developed in response to a recommendation by the World Wide Web Consortium (W3C).2) It is a meta lan- guage used to make an information structure. XML’s original specification is the Stan- dard Generalized Markup Language (SGML).3) Now, XML is used not only as a format language but also as a framework in various areas beyond the SGML field. This paper describes the XML technology trends, the current state of XML technology, and some case studies in Japan and at Fujitsu. This paper also describes HyBrick,4) which is an XML/SGML browser that was demonstrated at SGML’97, and the XLink5)/XPointer6) technology. 1. Introduction verified through these experiments. The specification of XML has been in use by Up to now, XML has been related to infor- the W3C since 1996. XML version 1.0 was released mation technology (IT), and because of the IT as a W3C recommendation in February 1998. revolution it is becoming a secure part of the foun- XML is a meta language for marking up informa- dation of new IT systems. Last year, a lineup of tion. XML’s original specification is the Standard XML parsers and other XML basic software ap- Generalized Markup Language (SGML), which is peared, establishing a development environment used to mark up documents for archiving and re- for application software.
    [Show full text]
  • XHTML Rdfa Modules XHTML Rdfa Modules
    XHTML RDFa Modules XHTML RDFa Modules XHTML RDFa Modules Modules to support RDF annotation of elements W3C Editor’s Draft 11 August 2007 This version: http://www.w3.org/MarkUp/2007/ED-xhtml-rdfa-20070811 Latest version: http://www.w3.org/TR/xhtml-rdfa Previous Editor’s Draft: http://www.w3.org/MarkUp/2007/ED-xhtml-rdfa-20070705 Diff from previous Editor’s Draft: xhtml-rdfa-diff.html Editors: Mark Birbeck, x-port.net Ltd. Shane McCarron, Applied Testing and Technology, Inc. This document is also available in these non-normative formats: PostScript version, PDF version, ZIP archive, and Gzip’d TAR archive. The English version of this specification is the only normative version. Non-normative translations may also be available. Copyright © 2007 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply. Abstract The XHTML RDFa (RDF using attributes) modules define a collection of elements and attributes that enhance a document authors ability to annotate the relationships of content within and among documents. These modules can be integrated into any markup language based upon XHTML Modularization [XHTMLMOD [p.45] ]. Status of This Document This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/. - 1 - Table of Contents XHTML RDFa Modules This document is an internal editors draft for development purposes. However, its content is based upon mature materials from [XHTML2 [p.45] ] and is therefore considered nearly complete.
    [Show full text]