1 / 36

Introduction to XML for SOA

Lee H. Burstein, President 2525 Justin Lane Wilmington, DE 19810-2223 302-477-0180. Introduction to XML for SOA. Topics. Introduction Where used Structure What is neeeded Short comings How can we use it. Introduction. Introduction. It’s really e X tensible M arkup L anguage

arlo
Télécharger la présentation

Introduction to XML for SOA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lee H. Burstein, President 2525 Justin Lane Wilmington, DE 19810-2223 302-477-0180 Introduction to XML for SOA Lburst@dynamicsys.com http://www.dynamicsys.com

  2. Topics • Introduction • Where used • Structure • What is neeeded • Short comings • How can we use it Lburst@dynamicsys.com http://www.dynamicsys.com

  3. Introduction Lburst@dynamicsys.com http://www.dynamicsys.com

  4. Introduction • It’s really eXtensible Markup Language • A set of standards defining a toolkit for describing data • HTML describes how information is displayed • Both use tags • XML tags tend to be user defined, must be balanced and is highly structured • Need a Schema or DTD Lburst@dynamicsys.com http://www.dynamicsys.com

  5. Where Used Lburst@dynamicsys.com http://www.dynamicsys.com

  6. Where Used? • US Government • IRS • DOD • SEC • Compliment/replacement for EDI • Healthcare, banks, retail, wholesale • RPC • SOAP • Web services • SOA • Represent multivalue data in a relational database Lburst@dynamicsys.com http://www.dynamicsys.com

  7. For Example • XBRL • eXtensible Business Reporting Language • Standard tags for financial reporting • Period, Current Assets, Balance Sheet, etc. • www.serence.com, download Klipfolio • Uses XML to define properties • FusionWare XML Server • Uses XML to combine data from dissimilar data sources into one web presentation • Oracle, DB2, SQL Server have XML data types Lburst@dynamicsys.com http://www.dynamicsys.com

  8. Structure Lburst@dynamicsys.com http://www.dynamicsys.com

  9. Structure • Text document containing balanced, nested tags starting with an XML declaration • Tags denote fields and are self describing • Tags can have attributes Lburst@dynamicsys.com http://www.dynamicsys.com

  10. Special tag containing Processing instructions. Begins with <? Ends with ?> Processing Tag Structure • <? processing instructions ?> Lburst@dynamicsys.com http://www.dynamicsys.com

  11. Opening tag Element Closing tag Data Tag Structure • <TagName>data</TagName> Lburst@dynamicsys.com http://www.dynamicsys.com

  12. Attribute Data Tag Structure • <TagName RecKey=12345> • <Attr1>data1</Attr1> • <Attr2>data2</Attr2> • </TagName> Lburst@dynamicsys.com http://www.dynamicsys.com

  13. XML Declaration Tag • <?xml version="1.0" encoding="ISO-8859-1"?> • This identifies the document as XML conforming to version 1.0 specification • Using character encoding for Latin-1 Lburst@dynamicsys.com http://www.dynamicsys.com

  14. Multivalue Data Comment XML Data <?xml version=“1.0” encoding=“ISO-8859-1”?> <Record ID=123> <FirstName>Lee</FirstName> <LastName>Burstein</LastName> <!--Here comes multivalue data --> <Phones> <Phone>3024770180</Phone> <Phone>3025551212</Phone> <Phones> </Record> Lburst@dynamicsys.com http://www.dynamicsys.com

  15. Namespaces • Namespaces can be defined to prevent tag naming conflicts • A tag associated with a namespace helps guarantee its uniqueness Lburst@dynamicsys.com http://www.dynamicsys.com

  16. Namespaces <dsi:Customer xmlns:dsi=“http://www.dynamicsys.com/Cust”> <dsi:Record ID=1234> <dsi:FirstName>Lee</dsi:FirstName> </dsi:Record> </dsi:Customer> <f:Customer xmlns:f=“http://www.somewhere.com/stuff”> <f:Record ID=1234> <f:FirstName>Sam</f:FirstName> <f:Record> </f:Customer> Lburst@dynamicsys.com http://www.dynamicsys.com

  17. What Is Needed Lburst@dynamicsys.com http://www.dynamicsys.com

  18. What is needed? • XML describes data only • No display information • What is displayed • How is it displayed • No validation Lburst@dynamicsys.com http://www.dynamicsys.com

  19. DTD • Document Type Definition • This is the old way of describing and validating XML • Cannot support data types or complex relationships • The DTD is referenced in the XML document • <!DOCTYPE Customer SYSTEM “Cust.dtd”> • An error is generated if your XML does not conform to your DTD Lburst@dynamicsys.com http://www.dynamicsys.com

  20. XML Schema • W3C recommendation • DTD alternative written in XML • Validates XML • Supports data types • Can define data patterns, ranges, defaults • More powerful, understandable and flexible that DTDs • Stored in an XSD file Lburst@dynamicsys.com http://www.dynamicsys.com

  21. XSD Schema <schema> <element name=“Name” type=“string” id=“Name”/> <element name=“HireDate” type=“date” id=“HireDate”/> </schema> Lburst@dynamicsys.com http://www.dynamicsys.com

  22. XSL • eXtensible Stylesheet Language • Stylesheet language (like CSS) for XML • You will use a combination of Xpath, XSLT and XSL-FO to • Select the part of the XML document to display • Transform it • Format it Lburst@dynamicsys.com http://www.dynamicsys.com

  23. Xpath • Query language for extracting elements from an XML document • Result is dependant upon where you are in the XML document • The same syntax could return different results Lburst@dynamicsys.com http://www.dynamicsys.com

  24. XSLT • eXtensible Stylesheet Language for Transformation • Select the value of one node • Select the values of all nodes of the same name • Conditionally select value • Sort results Lburst@dynamicsys.com http://www.dynamicsys.com

  25. XSL-FO • XSLFormatting Objects • Defines page layout, regions of a page • Output can be a variety of formats • PDF • RTF • TXT • PostScript Lburst@dynamicsys.com http://www.dynamicsys.com

  26. Short Comings Lburst@dynamicsys.com http://www.dynamicsys.com

  27. Short comings • Remember, this is a standard that continues to evolve • Requires bandwidth • Heavyweight protocol • There is a lot to put together Lburst@dynamicsys.com http://www.dynamicsys.com

  28. How Can We Use It Lburst@dynamicsys.com http://www.dynamicsys.com

  29. How can we use it? • Quite easy to write a program to export data in a proper XML structure • Most, if not all, databases have tools to read and write XML data using a XSL or DTD • Relational data bases now have XML data type • SOAP • Web Services • SOA Lburst@dynamicsys.com http://www.dynamicsys.com

  30. SOAP • Simple Object Access Protocol • XML based • Can be used for • Messaging systems • RPC • Distributed processing • Structure is quite specific • Cannot use DTD’s Lburst@dynamicsys.com http://www.dynamicsys.com

  31. Web Services • Uses SOAP, XML (Web Service Description Language), HTTP • An object’s methods are publicly exposed • You can use them in your applications • You can expose portions of you application to the world Lburst@dynamicsys.com http://www.dynamicsys.com

  32. SOA • Service Oriented Architecture • Collection of services that communicate with each other • Services are loosely coupled • From different applications • On different servers • Using different databases • Using XML and Web Services to communicate Lburst@dynamicsys.com http://www.dynamicsys.com

  33. Can I Do This? • Sure! • All multivalue applications can be accessed via .net • All multivalue applications can be accessed via java • All multivalue applications can be accessed via XML • You may need to separate screen I/O from business logic Lburst@dynamicsys.com http://www.dynamicsys.com

  34. Why Would I Want To? • You control what discrete portions of your application are available via SOA • Improve customer and vendor communication and access to information • Horizontal parts of your application can be generally available increasing your exposure • Provide On-Demand access to your application Lburst@dynamicsys.com http://www.dynamicsys.com

  35. Resources • www.w3schools.com • msdn.microsoft.com/xml • www.xml.com • www.xmethods.net • www.w3.org • www.develop.com/xml • www.xbrl.org • http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html • http://www.service-architecture.com/ Lburst@dynamicsys.com http://www.dynamicsys.com

  36. Lburst@dynamicsys.com http://www.dynamicsys.com

More Related