Another PillowTalk Presentation 2004 Dynamic Systems, Inc. Introduction to XML for SOA Lee H. Burstein, President 2525 Justin Lane Wilmington, DE
2004 Dynamic Systems, Inc. Page 1 Topics Introduction Where used Structure What is neeeded Short comings How can we use it
Another PillowTalk Presentation 2004 Dynamic Systems, Inc. Introduction
2004 Dynamic Systems, Inc. Page 3 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
Another PillowTalk Presentation 2004 Dynamic Systems, Inc. Where Used
2004 Dynamic Systems, Inc. Page 5 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
2004 Dynamic Systems, Inc. Page 6 For Example XBRL eXtensible Business Reporting Language Standard tags for financial reporting Period, Current Assets, Balance Sheet, etc. 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
Another PillowTalk Presentation 2004 Dynamic Systems, Inc. Structure
2004 Dynamic Systems, Inc. Page 8 Structure Text document containing balanced, nested tags starting with an XML declaration Tags denote fields and are self describing Tags can have attributes
2004 Dynamic Systems, Inc. Page 9 Processing Tag Structure Special tag containing Processing instructions. Begins with <? Ends with ?>
2004 Dynamic Systems, Inc. Page 10 Data Tag Structure data Opening tag Element Closing tag
2004 Dynamic Systems, Inc. Page 11 Data Tag Structure data1 data2 Attribute
2004 Dynamic Systems, Inc. Page 12 XML Declaration Tag This identifies the document as XML conforming to version 1.0 specification Using character encoding for Latin-1
2004 Dynamic Systems, Inc. Page 13 XML Data Lee Burstein Multivalue Data Comment
2004 Dynamic Systems, Inc. Page 14 Namespaces Namespaces can be defined to prevent tag naming conflicts A tag associated with a namespace helps guarantee its uniqueness
2004 Dynamic Systems, Inc. Page 15 Namespaces Lee Sam
Another PillowTalk Presentation 2004 Dynamic Systems, Inc. What Is Needed
2004 Dynamic Systems, Inc. Page 17 What is needed? XML describes data only No display information What is displayed How is it displayed No validation
2004 Dynamic Systems, Inc. Page 18 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 An error is generated if your XML does not conform to your DTD
2004 Dynamic Systems, Inc. Page 19 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
2004 Dynamic Systems, Inc. Page 20 XSD Schema
2004 Dynamic Systems, Inc. Page 21 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
2004 Dynamic Systems, Inc. Page 22 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
2004 Dynamic Systems, Inc. Page 23 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
2004 Dynamic Systems, Inc. Page 24 XSL-FO XSL Formatting Objects Defines page layout, regions of a page Output can be a variety of formats PDF RTF TXT PostScript
Another PillowTalk Presentation 2004 Dynamic Systems, Inc. Short Comings
2004 Dynamic Systems, Inc. Page 26 Short comings Remember, this is a standard that continues to evolve Requires bandwidth Heavyweight protocol There is a lot to put together
Another PillowTalk Presentation 2004 Dynamic Systems, Inc. How Can We Use It
2004 Dynamic Systems, Inc. Page 28 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
2004 Dynamic Systems, Inc. Page 29 SOAP Simple Object Access Protocol XML based Can be used for Messaging systems RPC Distributed processing Structure is quite specific Cannot use DTD’s
2004 Dynamic Systems, Inc. Page 30 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
2004 Dynamic Systems, Inc. Page 31 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
2004 Dynamic Systems, Inc. Page 32 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
2004 Dynamic Systems, Inc. Page 33 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
2004 Dynamic Systems, Inc. Page 34 Resources msdn.microsoft.com/xml
2004 Dynamic Systems, Inc. Page 35