Introduction to XML, SOAP and Biztalk

Slides:



Advertisements
Similar presentations
DOCUMENT TYPES. Digital Documents Converting documents to an electronic format will preserve those documents, but how would such a process be organized?
Advertisements

XML: Extensible Markup Language
XML/EDI Overview West Chester Electronic Commerce Resource Center (ECRC)
1 CP3024 Lecture 9 XML revisited, XSL, XSLT, XPath, XSL Formatting Objects.
Introduction to XML, SOAP and Biztalk M Arie Leeuwesteijn
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
XML A brief introduction ---by Yongzhu Li. XML --- a brief introduction 2 CSI668 Topics in System Architecture SUNY Albany Computer Science Department.
COS 381 Day 16. Agenda Assignment 4 posted Due April 1 There was no resubmits of Assignment Capstone Progress report Due March 24 Today we will discuss.
Copyright © 2002 ProsoftTraining. All rights reserved. XML Document Design.
XML – Extensible Markup Language Sivakumar Kuttuva & Janusz Zalewski.
Sheet 1XML Technology in E-Commerce 2001Lecture 6 XML Technology in E-Commerce Lecture 6 XPointer, XSLT.
XML at Work John Arnett, MSc Standards Modeller Information and Statistics Division NHSScotland Tel: (x2073)
Introduction to XML cs3505. References –I got most of this presentation from this site –O’reilly tutorials.
AMS confidential & proprietary International Business and Technology Consultants 1 XML as a Document Exchange Format Tom Loukas AMS Center for Advanced.
Scientific Markup Languages Birds of a Feather A 10-Minute Introduction to XML Timothy W. Cole Mathematics Librarian & Professor of.
XML eXtensible Markup Language by Darrell Payne. Experience Logicon / Sterling Federal C, C++, JavaScript/Jscript, Shell Script, Perl XML Training XML.
XML and its applications: 4. Processing XML using PHP.
XML The Overview. Three Key Questions What is XML? What Problems does it solve? Where and how is it used?
School of Computing and Management Sciences © Sheffield Hallam University To understand the Oracle XML notes you need to have an understanding of all these.
XP New Perspectives on XML Tutorial 6 1 TUTORIAL 6 XSLT Tutorial – Carey ISBN
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.
Introduction to XML Eugenia Fernandez IUPUI. What is XML? From the World Wide Web Consortium (W3C) The Extensible Markup Language (XML) is the universal.
Another PillowTalk Presentation  2004 Dynamic Systems, Inc. Introduction to XML for SOA Lee H. Burstein,
1 © Netskills Quality Internet Training, University of Newcastle Introducing XML © Netskills, Quality Internet Training University.
XML 1 Enterprise Applications CE00465-M XML. 2 Enterprise Applications CE00465-M XML Overview Extensible Mark-up Language (XML) is a meta-language that.
What is XML?  XML stands for EXtensible Markup Language  XML is a markup language much like HTML  XML was designed to carry data, not to display data.
 XML is designed to describe data and to focus on what data is. HTML is designed to display data and to focus on how data looks.  XML is created to structure,
Intro. to XML & XML DB Bun Yue Professor, CS/CIS UHCL.
Tutorial 1: XML Creating an XML Document. 2 Introducing XML XML stands for Extensible Markup Language. A markup language specifies the structure and content.
XML TUTORIAL Portions from w3 schools By Dr. John Abraham.
XML A web enabled data description language 4/22/2001 By Mark Lawson & Edward Ryan L’Herault.
Softsmith Infotech XML. Softsmith Infotech XML EXtensible Markup Language XML is a markup language much like HTML Designed to carry data, not to display.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Introduction to XML This presentation covers introductory features of XML. What XML is and what it is not? What does it do? Put different related technologies.
XML Instructor: Charles Moen CSCI/CINF XML  Extensible Markup Language  A set of rules that allow you to create your own markup language  Designed.
XP 1 Creating an XML Document Developing an XML Document for the Jazz Warehouse XML Tutorial.
An Introduction to XML Paul Donohue May 8th 2002 Hotel Senator Zürich.
XML Design Goals 1.XML must be easily usable over the Internet 2.XML must support a wide variety of applications 3.XML must be compatible with SGML 4.It.
XML, XSL, and SOAP Building Object Systems from Documents CSC/ECE 591o Summer 2000.
CS 157B: Database Management Systems II February 11 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
Web Technologies Lecture 4 XML and XHTML. XML Extensible Markup Language Set of rules for encoding a document in a format readable – By humans, and –
Martin Kruliš by Martin Kruliš (v1.1)1.
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.
C Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Introduction to XML Standards.
 XML derives its strength from a variety of supporting technologies.  Structure and data types: When using XML to exchange data among clients, partners,
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Representing Web Data:
CHAPTER NINE Accessing Data Using XML. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved Introduction The eXtensible.
XP 1Creating Web Pages with XML Tutorial 1 New Perspectives on XML Tutorial 1 – Creating an XML Document.
XML Notes taken from w3schools. What is XML? XML stands for EXtensible Markup Language. XML was designed to store and transport data. XML was designed.
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.
Extensible Markup Language (XML) Pat Morin COMP 2405.
XML BASICS and more…. What is XML? In common:  XML is a standard, simple, self-describing way of encoding both text and data so that content can be processed.
Unit 4 Representing Web Data: XML
XML Related Technologies
XML in Web Technologies
Extensible Markup Language XML
Database Processing with XML
Chapter 7 Representing Web Data: XML
Chapter X IXXXXXXXXXXXXXXXX.
Creating an XML Document
XML Data Introduction, Well-formed XML.
IEEM 5352 E-Enterprise Integration
XML Introduction By Hongming Yu Feb 6th, 2002.
What is XML?.
CSE591: Data Mining by H. Liu
XML and its applications: 4. Processing XML using PHP
More XML XML schema, XPATH, XSLT
XML – An Introduction XML is getting a lot of attention right now, because of it leverages existing internet infrastructure and also because it enables.
Presentation transcript:

Introduction to XML, SOAP and Biztalk                 Arie Leeuwesteijn ariele@microsoft.com M

Content XML use cases What is XML ? XML syntax Document definitions and validation XML parsers XSL translations SOAP, a.k.a. Web Services Biztalk overview

Objectives Reading XML documents Understanding XML terminology and acronyms Examples of XML applications

XML Use Cases Application integration Generic format for data transfer for E-commerce and other web applications Storing and accessing structured data

Application Integration High costs and effort because application data is Proprietary Incompatible Undocumented legacy data Different data formats XML is a simple but flexible data format. Because implementations of XML parsers and other tools are available for all major operating systems and programming languages, it seems like an ideal tool for system integration. XML is standard Application logic is decoupled from actual XML data file through XML DOM. XML has a standardized programming API.

Same data, different format “15”   0x0F fifteen 15.00 XV 1111 0001 0101

The Internet The ultimate integration environment Many different systems and platforms Time to market measured in internet time Today XML is already integrated in Operating systems Applications Databases Development tools Browsers … Internet usage requires the exchange of data between many different applications running in different environments. XML must be easy to combine with other technologies currently used on the internet. XML is kept simple in order to: Make implementation of XML tools easier Not depend on too many requirements regarding the platform it is used on Not require too many communication and processing resources

XML design goals Flexible, extensible and support for wide variety of applications Must be simple and light weight Straightforwardly usable over the internet

What is XML? Meta language for self describing structured data Consists of data and tags Extensible language, users can define their own specific tags Version 1.0 specification approved by W3C as recommendation

XML History Subset of Standard Generalized Markup Language (SGML) Far less complex 20% of SGML features 80% of SGML functionality (XML spec is 26 pages, SGML 500+)

XML vs. HTML XML HTML Subset of SGML Extensible Focus on data SGML application Fixed Focus on presentation

XML Document Structure XML declaration (processing instructions) <?xml version=“1.0” ?> <!DOCTYPE name [ … ]> Document definition (optional) <doc_root_element> <data_element> … </data_element> </doc_root_element> Document data

Basic XML syntax Human “readable” text Support for Unicode character set Syntax is stricter than for example HTML

<Book>Essential XML</Book> Tags And Data Document consists of data marked up by tags Tags describe meaning and structure of data An element is a group of start-tag/end-tag with the data in between <Book>Essential XML</Book> Start-tag Data End-tag

Start- and End-Tags Element must have a matching start- and end-tag <one>hello</one><two>world</two>  <one>hello <two>world</two>  Empty elements can be written as <tag></tag>  <tag/>  Tags are case sensitive

XML Basic Syntax XML elements can have nested child elements to structure to structure document in levels <outer>  <inner>text</inner> </outer> <outer>  <inner></outer> </inner>

Root element A XML document must have one root element: <library>  <book>XML in action</book> <book>Essential XML</book> </ library > < book > XML in action </ book >  < book > Essential XML </ book > What is the document root ?

Comments Syntax for comments is: <! -- This is a comment --> Comments be placed everywhere in the document except inside element tags <tag <!-- comment --> > 

Attributes Attributes associate named values to an element Attributes are part of the start-tag <publication type=“book”> <title>XML in action</title> <price currency=“USD”>49.99</price> </ publication > Values must be double or single quoted

Currency attribute for price element Processing instruction XML Example Root Book element Currency attribute for price element Processing instruction Child elements of Book <?xml version=“1.0” encoding=”UTF-8” ?> <library> <book> <title>XML in action</title> <price currency=“USD”>49.99</price> <isbn>0-7356-0562-9</isbn> <rating scale=“5”>3</rating> </book> <title>Essentail XML</title> <price currency=“USD”>34.95</price> <isbn>0-201-70914-7</isbn> <rating scale=“5”>4</rating> </ library >

Valid vs. Well Formed XML Well formed: Valid XML syntax Valid document: Content of document valid conform specification of document A valid document is automatically a well formed document A well formed document is not always a valid document

Document specifications Describes structure and contents of XML document Parsers can use schema’s to validate a document Validation is optional Think if/where validation should take place Document Type Definitions (DTD), part of XML 1.0 standard

DTD example <?xml version=“1.0”?> <!DOCTYPE CATALOG [ <!ELEMENT BOOK (TITLE, PRICE)> <!ELEMENT TITLE(#PCDATA)> <!ELEMENT PRICE(#PCDATA) ]> < CATALOG > <BOOK> <TITLE>XML in action</TITLE> <PRICE>49.95</PRICE> </BOOK> </ CATALOG >

DTD Issues Good DTD’s are difficult to write (Extended Backus Naur Form notation) DTD’s are not extensible and many limitations Most important limitation is lack of data types

XML Schemas Alternative for DTD’s XML is used to describe the structure of the document, no need to learn new language or use other tools Lifts most limitations of DTD’s (data types ) XSD, XML schema specification W3C recommendation XDR Early MS version of XSD

XML-Data Schemas simple example <Schema > <ElementType name=“title" content="textOnly“> <ElementType name=“isbn" content="textOnly”/> <ElementType name=“book" content="eltOnly"> <element type=“title"/> <element type=“isbn"/> </ElementType> </Schema>

XML Parsers Parse XML document Validate XML syntax (always) Validate content (optional) Access data Update data Translate data (XSL)

XML Parser types Two different parser models Document Object Model (DOM) Complete document in memory Easy access for applications Queries on data Translations Simple API for XML (SAX) Generates event per parsed element Large documents Batch processing More difficult to use than DOM

Document Object Model DOM defines logical structure of a parsed XML document DOM defines how data can be accessed and manipulated Provides standardized API (level 1, 2 and 3) DOM can also be used to create or modify XML documents

Document Object Model document A node can contain child nodes or text root node Node lists node node node node node node node

Querying the DOM through XPath XPath declarative language for locating nodes and fragments in XML trees Allow you to locate nodes by: Absolute or relative position Element or attribute types Element or attribute values Combinations using boolean operators Also used in XSL, XPointer and XLink specifications

XPath examples All books in the current context book (equal to ./book) All books anywhere in the document //book All books with specified element value book[title=“Essential XML”] or a specified attribute value book[@type=“paperback”] or just having the attribute book[@type] The first 3 books book[index()<4]

Extended Stylesheet Language XSL Similarities with CSS, but more powerful Applies translations to data that matches a pattern Close to becoming a standard (draft status W3C)

XSL translations XSLT is based on pattern matching and templates A template rule consist of a pattern and a template Processor finds best matching pattern and applies related template for translation

XSL stylesheet example <?xml-stylesheet type="text/xsl“ href=“books.xsl"?> <books> <book><title>Essential XML</title></book> <book><title>XML in action</title></book> </books> XML Data + <xsl:stylesheet….> … <xsl-template match=“title”> <tr><td><b><xsl-value-of select=“text()”/></td></tr> … </xsl:stylesheet> XSL style sheet (partial) = HTML output <tr><td><b>Essential XML</td></tr> <tr><td><b>XML in action</td></tr>

XSL usage Formatting and displaying XML data as HTML, PDF, etc. Converting XML document: Other XML document structures (XML->XML) Other data formats (CSV, Edifact) MS Biztalk mapping editor generate XLS to convert XML, Flat file and Edifact documents to XML and back.

XML Applications XML in real applications Simple Object Access Protocol Microsoft Biztalk 2000 Note this is not a training on SOAP and Biztalk

Software integration Today’s middleware Vendor and language depended COM+ v.s. EJB Interoperability problems Was not designed to use over the internet Reliable communications Firewalls Complex

SOAP Simple Object Access Protocol Invoking object methods using XML and HTTP Specification written by Microsoft, IBM, Software and Developmentor Vendor and middleware independency (the end of middleware battles ?) Supported and available today from most major vendors (MS,IBM,IONA etc.) Core technology in Microsoft .NET web services

SOAP This whole process is transparent for client and component Vendor A Vendor B Soap listener 3 3. Soap listener receives, parses and validates request XML/HTTP 2 2. Soap proxy intercepts call and constructs and transmits XML request message Soap proxy 1 1. Client application makes call 4 4. Listener calls component message 5 6 5. Listener takes result of call and constructs and transmits XML response 6. Proxy receives and parses response and returns result to client Client application Component This whole process is transparent for client and component

GetLastTradePrice(“MSFT”) Simple SOAP Request POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8“ Content-Length: 323 SOAPAction: Some-Namespace-URI#GetLastTradePrice <SQ:Envelope xmlns: SOAP ="http://schemas.xmlsoap.org/soap/envelope/" SQ :encodingStyle="http://schemas.xmlsoap.org/soap/encoding/“> < SQ :Body> <m:GetLastTradePrice xmlns:m="Some-Namespace-URI"> <symbol>MSFT</symbol> </m:GetLastTradePrice> </ SQ :Body> </ SQ :Envelope> HTTP headers Body GetLastTradePrice(“MSFT”) Envelope

Simple SOAP Response HTTP headers HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8“ Content-Length: nnnn <SP:Envelope xmlns:SP="http://schemas.xmlsoap.org/soap/envelope/" SP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SP:Body> <m:GetLastTradePriceResponse xmlns:m="Some-Namespace-URI"> <Price>160.95</Price> </m:GetLastTradePriceResponse> </SP:Body> </SP:Envelope> Body Result Envelope

What Is Biztalk ? Biztalk Community (Biztalk.org) Biztalk Framework Library for business document specification Stimulate reuse Submit and retrieve document specifications 400+ third-party XML business documents 150+ registered organizations Biztalk Framework XML Specification for document routing and exchange (SOAP 1.1 compliant) Biztalk Server Microsoft server product for processing, transforming, signing, routing of documents

B2B challenges Customers Suppliers My company

Business to Business Different data format (EDI, CSV, XML…) Different document structures Different protocols Different encryption technologies Different operating systems Legacy ERP and other back office systems

Biztalk Server Design time tools Schema, transformation definition Document processing server Messaging Communication Transformation Routing Encryption Workflow Orchestration

XML in Biztalk Biztalk Mapper Biztalk Server Biztalk editor XSL map Map Biztalk Mapper XML in Biztalk Internal XML doc Biztalk Server XSL Engine Parser Internal XML doc Serializer Doc spec Biztalk editor EDI doc CSV file XML Outbound document EDI doc CSV file XML Inbound document

XML in Biztalk Compile Applications Scheduler Biztalk Messaging Visio Diagram Compile XLANG schedule Scheduler Applications XLANG Runtime Biztalk Messaging

XML in Biztalk Server XML for describing all in- and outbound business documents as an extended Data-Schema XSL for document translations XML as internal format for all processed documents XLANG workflow schedules

Biztalk demos Biztalk Editor Biztalk Mapper Biztalk Orchestration

Things to read… XML in Action MS-Press ISBN 0735605629 Professional XML WROX ISBN 1861003110 Essential XML Addison Wesley ISBN 0201709147 Understanding SOAP SAMS ISBN 0672319225

Places to go… http://www.w3c.org (all mentioned standards) http://msdn.microsoft.com/xml (tutorials and reference on xml) http://msdn.microsoft.com/soap (tutorials and reference on xml) http://www.biztalk.org (Biztalk organization)

<QUESTIONS/>

Biztalk Orchestration

Biztalk Editor

Biztalk Mapper