1 / 16

XML and Distributed Applications

XML and Distributed Applications. By Quddus Chong Presentation for CS551 – Fall 2001. Overview. Introduction to XML Applications and Vocabularies XML Transformations Schema-Based Programming XML & Databases XML & The Semantic Web XML-RPC & SOAP XML Tools & Resources Online.

wenda
Download Presentation

XML and Distributed Applications

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. XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001

  2. Overview • Introduction to XML • Applications and Vocabularies • XML Transformations • Schema-Based Programming • XML & Databases • XML & The Semantic Web • XML-RPC & SOAP • XML Tools & Resources Online

  3. Introduction to XML • Extensible Markup Language (version 1.0) • Developed by W3 Consortium, made available as a public specification since 1998. • Essentially a markup language that describes the content and structure of data. • Key principle: separation of data content and data presentation. • Can be transmitted using basic www protocols such as HTTP. • Foundation for a universal data exchange and data storage format.

  4. XML Applications & Vocabularies • XML allows the exchange of data in specific domains such as business, science, education, and healthcare through standard ‘vocabularies.’ • e.g. Chemical Markup Language (CML), BizTalk, Dublin Core, IMS Global Learning Consortium, Health Level 7. • XML vocabularies are formalized using DTDs or XML Schemas. • Applications can be built around XML data; two programming APIs are the Document Object Model (DOM) and the Simple API for XML (SAX).

  5. Example: DALS Learner SpaceXML binding of learner profile <?xml version="1.0" encoding="UTF-8"?> <StudentProfile> <Student> <StudentID>12345</StudentID> <ThinkingStyle>Anarchic</ThinkingStyle> <SocialPresence>High</SocialPresence> <StressLevel>High</StressLevel> <Feedback>Low</Feedback> <LastModuleName>Recursion</LastModuleName> <LastTopic>1.0</LastTopic> <Difficulty>1</Difficulty> <LastTopicSummary>Complete</LastTopicSummary> <Grade>85</Grade> </Student> </StudentProfile>

  6. Example: DALS Knowledge Network XML binding of course content <?xml version="1.0" encoding="utf-8"?> <Text> <PageInfo> <SubjectName>Networking</SubjectName> <SubjectID>003</SubjectID> <ChapterName>Introduction to Networks</ChapterName> <ChapterID>1</ChapterID> </PageInfo> <TopicList> <Topic> <TopicName>Router</TopicName> <TopicID>1</TopicID> <TextualContent> Routing is the technique by which data finds its way from one host computer to another. In the Internet context there are three major aspects of routing Physical Address Determination Selection of inter-network gateways Symbolic and Numeric Addresses. </TextualContent> </Topic> </Text>

  7. Example: DALS E-game XML binding of quiz information <?xml version="1.0" encoding="UTF-8"?> <CatItem Category="Discrete Math"> <Topic TopCat="1"> <Difficulty Level="3"> <Item> <Question>r \/ !r</Question> <Qans>Always True</Qans> <Qans>Always False</Qans> <Qans>Sometimes True, Sometimes False</Qans> <Answer>1</Answer> <Explanation> <E>Truth Table</E> <E>r !r r \/ !r</E> <E>T F T</E> <E>F T T</E> <E>Regardless of truth value of r, the result is always True.</E> </Explanation> </Item> </Difficulty> </Topic> </CatItem>

  8. XML Transformations • A powerful technique which allows the conversion of XML data from one form, into another form, using a set of transformation rules stored in a stylesheet. • Can be used to: • Format information for display (e.g. XML to HTML/XHTML); multiple presentations generated from a single document. • Perform data interchange between different computer systems, or manage data flows within an application. • Carry out some report generation (e.g. selection, aggregation, highlighting).

  9. Schema-Based Programming • An experimental model of programming; “The schema is the API”: the XML document is the application. • Makes use of declarative language approach of XSLT; processing of data is triggered by the pattern of the data itself. • The XML document contains: • State information (model) • Script code to control processing for events (intentions) • Elements to link intentions to views in the web page (events) • XSLT stylesheets to implement the behavior to update a particular view (views) • SBP may provide a useful alternative to describe and process high-level behavior, e.g. for distributed systems where resources and interactions remain fixed.

  10. XML & Databases • XML provides an alternative way to represent information ‘outside’ the database. • Can easily represent hierarchical views. • Provide ‘neutral’ storage format; allows data from heterogeneous data storage systems to be integrated or exchanged. • XML support included in most major enterprise DBMS (MS SQL Server 2000, IBM DB2, Oracle). • Research issues: XQuery, Relational Schema Generation, semistructured data.

  11. Example: Inform Study patient record (data source)

  12. Example: Inform Study patient record in XML <?xml version="1.0" ?> <InformScreenRecord xmlns="http:/www.mahi.org/informscreen" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="InformScreen-test.xsd" id="rec001" version="1.0" StudyID="123456" LName=“Doe" AdmitDate="2001-01-11" DOB="1977-10-11" SSN="999199990" PtAcctNo="0127512345" ExclNonEnglish="0" ExclOthEtio="0" ExclSecondary="0" ExclHospice="0" ExclDementia="0" ExclDied="0" ExclRefused="0" ExclMissed="0" ExclStabXfer="0" ExclPrevEnr="0" CPSubPress="1" CPStress="0" CPLikePrior="0" CPRestNitro="0" CPOtherCP="0" CPNoCP="0" CPDur="1" CPMI2Wk="0" CPASA7d="0" CPPro="1" CPMultPro24="1" CPRest="0" CPMultRest48="0" CPIncrMo="0" CPNewAng="0" CPStabAng="0" CPNoAng="0" EnrollStatus="1" EnrollDate="2001-10-01" />

  13. Example: XML Schema for Inform Study (fragment) <?xml version="1.0"?> <schema targetNamespace="http:/www.mahi.org/informscreen“ xmlns="http://www.w3.org/2001/XMLSchema"> <!-- Inform Screening Form --> <!-- Study ID --> <attribute name="StudyID" use="required"><simpleType><restriction base="string"><minLength value="6"/><maxLength value="6"/></restriction> </simpleType></attribute> <!-- Enrollment Status --> <!-- New enrollee/Did not meet criteria/Already enrolled --> <attribute name="EnrollStatus" use="required"><simpleType><restriction base="integer"><minInclusive value="1"/><maxInclusive value="3"/></restriction></simpleType></attribute> <!-- Date Enrolled --> <attribute name="EnrollDate" type="date"/>

  14. XML & The Semantic Web • “Semantic web”: vision of data on the web defined and linked in a way that can be used by machines for automation, integration, and reuse. (Dr. Tim Berners-Lee) • Web pages to store semantic metadata, creating environment for software agents to roam from page to page to carry out automated tasks for users. • An XML standard for metadata is the Resource Description Framework (RDF). RDF provides: • An abstract ‘model’ for metadata. • A transportable XML representation of that model.

  15. XML-RPC & SOAP • XML can be used as the data format for communications protocols in distributed computing environments. • XML-RPC is an XML vocabulary that describes remote procedure calls which are transmitted over HTTP. XML-RPC clients makes procedure requests of XML-RPC servers, which return results to the XML-RPC client. • SOAP (Simple Object Access Protocol) is a mechanism for data messaging using HTTP or SMTP; it can provide access to an object’s methods and properties. • Both SOAP and XML-RPC are lightweight and easy methods to integrate multiple computing environments; they form the underlying technology being adopted for developing web services architectures.

  16. XML Tools & Resources Online • Some useful open source XML tools: • IBM XML4J (XML parser) • Apache Xalan (XSL Transformation processor) • JDOM, JAXP (Java APIs for XML programming) • Resources online: • http://www.w3.org • http://www.xml.com • http://xml.coverpages.org

More Related