Your SlideShare is downloading. ×
0
Lecture 1 (1 hour and half)




    XML Overview
Topics

!   What is XML?
!   Why XML?
    " XML   feautures and value-propositions
!   Where does XML come from?
!   Where...
Objectives

!   Understand fundamental concept and
    features of XML
!   Get some perspective on how XML is
    being us...
What is XML?

!   eXtensible Markup Language
!   is Meta-Markup language
!   is Not just a markup language
The Data Problem

!   Fundamental “issues”: How do I
    represent my “application” data?
       # Performance (speed/time...
Data Problem (Cont.)

!   Open Information Management:
    " Interpretation

    " Presentation

    " Interoperation

   ...
Markup Language

!   Used to markup data
    " Methodology   for encoding data with some
      information
!   Examples
  ...
Markup Language

!   Two important aspects
    "A     standard for “valid markup”
       #   HTML - tags
    "A     standa...
Markup Language Usage
Examples
!   Word processing documents
!   Data on the network
!   Database
!   Multi-media contents...
HTML

!   The most popular markup language
!   Defines a set of tags
!   Designed for presentation for data
!   HTML docum...
Strengths of HTML

!   Easy to implement and author
    " Small number of tags
    " Simple relationship between tags

   ...
Weaknesses of HTML

!   Fixed set of tags
    " Not   user extensible
       #   Dependency to “markup language” definitio...
Weaknesses of HTML

!   No formal validation
!   Does not support semantic search
!   Based on solely on appearance
    (r...
So HTML is Not suited for
handling
!   Large and complex data
!   Data that must be used in different
    ways
!   Data wi...
So XML is Born!

!   Motivations
    " HTML   would not work for publishing in
      general case
    " Web application wo...
XML Design Goals

!   XML shall be straightforwardly usable
    over the Internet.
!   XML shall support a wide variety of...
XML Design Goals

!   The number of optional features in
    XML is to be kept to the absolute
    minimum, ideally zero.
...
XML Design Goals

!   The design of XML shall be formal and
    concise.
!   XML documents shall be easy to
    create.
! ...
Key Features of XML

!   Extensibility
!   Media and Presentation independence
    " Separation   of contents from present...
Extensibility

!   XML is Meta-markup language
!   You define your own markup
    languages (tags) for your own problem
  ...
Extensibility

!   Tags can be more than formatting
!   Tags can be anything
    " Semantic data representation
    " Busi...
Extensibility

!   Many domain-specific markup
    languages
    " Portable   data within domain-specific
      industry
 ...
Media (Presentation)
Independence
!   Clear separation between contents
    and presentation
!   Contents of data
    " Wh...
Media (Presentation)
Independence
!   Same data can be presented to
    different communication medium
    " HTML  browser...
Media (Presentation)
Independence
!   Stylesheet
    " Instruction   of how to present XML data
    " CSS
       #   Tailo...
Separation of Contents from
Presentation
!   Searching and retrieving data is easy
    and efficient
    " Tags   give sea...
Separation of Contents from
Presentation
!   Enables portability of data
!   Portable over time and space
XSLT Transformation

!   Example (XML -> HTML)
    XML data:
       <destination>sang.shin@sun.com</destination>
    XSLT ...
Structure: HTML vs. XML

 HTML (Automatic Presentation of Data)

    <b> John Doe 1234   </b> // Display in bold

 XML (Au...
Structure

!   Relationship
    " Employee is made of Name and employ-ID
    " Name is made of firstName and LastName

!  ...
Structure

!   Enables to build large and complex
    data
!   Portability of relationship and
    hierarchical structure
Validation

!   XML data is “constrained” by a Rule
    (or Syntax)
    " Employee data has to have Name and Employee
    ...
XML Schema

!   Defines Syntax
    " Structure

    " Vocabulary

!   XML document + XML schema work
    together
    " XM...
XML Schema

!   DTD (Data Type Definition) is the most
    popular XML schema language for
    now
!   DTD is pretty weak ...
Misc. Features of XML

!   Semantics of data
!   Plain Text
!   Easily Processed
!   Inline usability
!   Linkability
!   ...
Semantics of Data

!   Meaning of data
!   XML tags “indirectly” specifies the
    semantical meaning
    " does<firstName...
Plain Text

!   Can use any text-editing tool
!   Easier for humans to read
    " Configuration   information
Easily Processed

!   Set of Well-formed rules
!   Validity checking
!   Ready-to-use tools
    " parsers (and validators)...
Inline Usability

!   Can integrate data from multiple
    sources
    " Can  be displayed or processed as a
      single ...
Linkability

!   Much more powerful and flexible
    linking capabilities than HTML’s
!   Bi-directional
!   Mutli-directi...
Internationalized

!   XML is Unicode-based
    " You   can mix languages
!   Both markup and content
!   XML tools must s...
XML History

!   Emerged as a way to overcome the
    shortcomings of its two predecessors
    " SGML

    " HTML
XML History

!   SGML
    " Powerful   and extensible
      #   Good for cataloging and indexing data
    " Too   complex ...
XML Evolution

!   Discussion got started in 1996 by Jon
    Bosak of Sun
!   W3C-approved XML 1.0 spec in 1998
!   XML-re...
Where Does XML Get Used?

!   Simple and complex data
    representation
!   Integration of heterogeneous
    applications...
Data representation

!   XML encodes the data for a program
    to process
!   Readable by humans
!   Process’able by comp...
Data representation

!   Examples
    " Configuration   files
      #   EJB deployment descriptor
    " “make”   files (Ap...
Integration of heterogeneous
applications
!   Typically used with Messaging system
!   XML message is minimum contract for...
Portable data representation

!   Non-proprietary
    " Application independent
    " Object-model independent

    " Lang...
Portable data representation

!   Examples
    " Purchase  order, Invoice
    " Business transactional semantics

    " Pa...
Displaying and publishing

!   Common data for different
    presentations
!   Separation of contents from
    presentatio...
Archiving

!   XML data can be data storage format
    of choice
    " Betterversion management
    " Easy to process

   ...
Data manipulation

!   Many tools available for XML data
    manipulation
!   Examples
    " Datafrom relational data conv...
Business logic representation

!   XML tag can be anything
!   It could be business logic or action
!   Basis for XML-RPC ...
Developer Activities on XML

!   Creating XML document
    " Mostlyby text-editor or WISWIG tools
    " Programmatically

...
Developer Activities on XML

!   Parsing XML document
    " Convert   XML document into programming
      objects
!   Mani...
Developer Activities on XML

!   “XML document” can be
    " URI
      # File
      # URL

    " InputStream

    " SAXInp...
Java™ Technology + XML:
Symbiotic Relationship
!   It’s a “Match made in Heaven”
    " Javaenables Portable Code
    " XML...
Standardization Activities

!   XML core standards
    " ThroughStandard organisations
    " W3C, OASIS, UN/CEFACT

!   XM...
XML Standards

!   XML, DTD
!   XSL, XSLT, XPath
!   DOM, SAX
!   W3C XML Schema
!   Namespaces
!   XLink, XPointer
!   XH...
Domain-specific XML
Standards
!   Chemical - CML
!   2D Graphics - SVG
!   Math - MathML
!   Music - MusicML
!   Travel -O...
Core Java APIs for XML

!   JAXP: Parsing and Transforming
!   JAXB: High-level XML programming
!   JAXM: Messaging
!   JA...
E-Commerce Standards

!   ebXML
!   UDDI (Universal Description,
    Discovery and Integration)
!   SOAP (Simple Open Acce...
Summary

!   XML is the next Big thing
!   Is it being hype’d? Maybe yes, then
    again, it deserves the hype.
Key Future Predictions in
summer in 1999 by Jon Bosak
!   XML will be the basis for future Web
    standards
!   XML will ...
Homework of Lecture 1

!   Download AMAYA browser and try to
    display a couple of MathML data (See
    the class websit...
Upcoming SlideShare
Loading in...5
×

xml test

696

Published on

xml test

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
696
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "xml test"

  1. 1. Lecture 1 (1 hour and half) XML Overview
  2. 2. Topics ! What is XML? ! Why XML? " XML feautures and value-propositions ! Where does XML come from? ! Where is XML being used today? ! What do you do with XML document? ! What is going on standards front?
  3. 3. Objectives ! Understand fundamental concept and features of XML ! Get some perspective on how XML is being used in real-world
  4. 4. What is XML? ! eXtensible Markup Language ! is Meta-Markup language ! is Not just a markup language
  5. 5. The Data Problem ! Fundamental “issues”: How do I represent my “application” data? # Performance (speed/time) # Persistence(short/long lived) # Mutability # Composition # Security (encryption/identity)
  6. 6. Data Problem (Cont.) ! Open Information Management: " Interpretation " Presentation " Interoperation " Portability " Interrogation
  7. 7. Markup Language ! Used to markup data " Methodology for encoding data with some information ! Examples " Yellow highlighter on a string of text as emphasizer " Comma between pieces of data as separator
  8. 8. Markup Language ! Two important aspects "A standard for “valid markup” # HTML - tags "A standard for “what markup means” # HTML - tags “communicate” layout and formatting information ! Typical markup languages define a set of tags each of which has some associated meaning
  9. 9. Markup Language Usage Examples ! Word processing documents ! Data on the network ! Database ! Multi-media contents ! HTML
  10. 10. HTML ! The most popular markup language ! Defines a set of tags ! Designed for presentation for data ! HTML documents are processed by HTML processing application (Browser)
  11. 11. Strengths of HTML ! Easy to implement and author " Small number of tags " Simple relationship between tags " Syntax-checking is very forgiving " Limited number of formats possible " Viewers can be small and simple ! HTML trades power for ease of use
  12. 12. Weaknesses of HTML ! Fixed set of tags " Not user extensible # Dependency to “markup language” definition process " Dependency to vendors # Vendor proprietary tags # Implementation not in sync – Netscape browser vs. IE ! Predefined semantics for each tag ! Predefined data structure
  13. 13. Weaknesses of HTML ! No formal validation ! Does not support semantic search ! Based on solely on appearance (rendering) NOT on content ! Formatting too simple " Limited control ! Won’t do complex documents ! Poor support for print and other media
  14. 14. So HTML is Not suited for handling ! Large and complex data ! Data that must be used in different ways ! Data with long life-cycle ! Data intended to drive scripts and Java applets
  15. 15. So XML is Born! ! Motivations " HTML would not work for publishing in general case " Web application would require a method of encoding data that could drive arbitrarily complex distributed processes " Without XML, HTML would be replaced by a more powerful binary and proprietary format
  16. 16. XML Design Goals ! XML shall be straightforwardly usable over the Internet. ! XML shall support a wide variety of applications. ! XML shall be compatible with SGML. ! It shall be easy to write programs which process XML documents.
  17. 17. XML Design Goals ! The number of optional features in XML is to be kept to the absolute minimum, ideally zero. ! XML documents should be human- legible and reasonably clear. ! The XML design should be prepared quickly.
  18. 18. XML Design Goals ! The design of XML shall be formal and concise. ! XML documents shall be easy to create. ! Terseness in XML markup is of minimal importance.
  19. 19. Key Features of XML ! Extensibility ! Media and Presentation independence " Separation of contents from presentation ! Structure ! Validation
  20. 20. Extensibility ! XML is Meta-markup language ! You define your own markup languages (tags) for your own problem domain ! Infinite number of tags can be defined " Need for domain-specific standards " XSLT
  21. 21. Extensibility ! Tags can be more than formatting ! Tags can be anything " Semantic data representation " Business rules # ebXML " Data relationship # EJB 2.0 Containter Managed Persistence " Formatting # XSL " Anything you want
  22. 22. Extensibility ! Many domain-specific markup languages " Portable data within domain-specific industry " Portable across the various domain # Healthcare and Insurance # Chemical and Medicine
  23. 23. Media (Presentation) Independence ! Clear separation between contents and presentation ! Contents of data " What the data is " Is represented by XML document ! Presentation of data " What the data looks like " Can be specified by stylesheet
  24. 24. Media (Presentation) Independence ! Same data can be presented to different communication medium " HTML browser " Voice device ! Same data can be presented to different format " Cell phone as WML " Desktop as HTML ! Via stylesheet
  25. 25. Media (Presentation) Independence ! Stylesheet " Instruction of how to present XML data " CSS # Tailored for HTML browser " XSL # XML based # General purpose # Work with XSLT
  26. 26. Separation of Contents from Presentation ! Searching and retrieving data is easy and efficient " Tags give search’able information ! Many applications use the same data in different ways " Employee data can be used by # Payroll application # Facilities application # Human resource application
  27. 27. Separation of Contents from Presentation ! Enables portability of data ! Portable over time and space
  28. 28. XSLT Transformation ! Example (XML -> HTML) XML data: <destination>sang.shin@sun.com</destination> XSLT stylesheet can say: # Start a new line. # Convert “destination” XML tag to “To:” HTML tag. # Display "To:" in bold, followed by a space. # Display your email address. Which produces: To: sang.shin@sun.com
  29. 29. Structure: HTML vs. XML HTML (Automatic Presentation of Data) <b> John Doe 1234 </b> // Display in bold XML (Automatic Interpretation of Data) <Employee> <Name> <firstName> John </firstName> <lastName> Doe </lastName> </Name> <EmployeeID> 1234 </EmployeeID> </Employee>
  30. 30. Structure ! Relationship " Employee is made of Name and employ-ID " Name is made of firstName and LastName ! Hierarchical (Tree-form) " Faster to access " Easier to rearrange " Can be any number of depth
  31. 31. Structure ! Enables to build large and complex data ! Portability of relationship and hierarchical structure
  32. 32. Validation ! XML data is “constrained” by a Rule (or Syntax) " Employee data has to have Name and Employee ID elements " Name has to have both firstName and LastName elements <Employee> <Name> <firstName>John</firstName> <lastName>Doe</lastName> </Name> <EmployeeID>1234</EmployeeID> </Employee>
  33. 33. XML Schema ! Defines Syntax " Structure " Vocabulary ! XML document + XML schema work together " XML document alone has to be “well- formed” " XML schema checks “validity”
  34. 34. XML Schema ! DTD (Data Type Definition) is the most popular XML schema language for now ! DTD is pretty weak schema language " You can’t define “range check” ! There are other emerging XML schema languages " W3C XML schema " Relax
  35. 35. Misc. Features of XML ! Semantics of data ! Plain Text ! Easily Processed ! Inline usability ! Linkability ! Internationalized
  36. 36. Semantics of Data ! Meaning of data ! XML tags “indirectly” specifies the semantical meaning " does<firstName> really mean “first name”? ! Potential for divergence " Industrycollaboration to agree upon the semantical meanings of tags " Need for transformation (XSLT)
  37. 37. Plain Text ! Can use any text-editing tool ! Easier for humans to read " Configuration information
  38. 38. Easily Processed ! Set of Well-formed rules ! Validity checking ! Ready-to-use tools " parsers (and validators) " transformers " browsers " class generators " IDE
  39. 39. Inline Usability ! Can integrate data from multiple sources " Can be displayed or processed as a single document ! Modularization without using Linking ! Example "A book made of independently written chapters " Same Copyright text in many books
  40. 40. Linkability ! Much more powerful and flexible linking capabilities than HTML’s ! Bi-directional ! Mutli-directional ! W3C Xlink and Xpointer specifications
  41. 41. Internationalized ! XML is Unicode-based " You can mix languages ! Both markup and content ! XML tools must support both UTF-8 and UTF-16 encodings ! Critical for world-wide adoption of XML as universal data representation
  42. 42. XML History ! Emerged as a way to overcome the shortcomings of its two predecessors " SGML " HTML
  43. 43. XML History ! SGML " Powerful and extensible # Good for cataloging and indexing data " Too complex and expensive ! HTML " Simple and widely supported " Not extensible ! XML " “Lean and mean SGML”
  44. 44. XML Evolution ! Discussion got started in 1996 by Jon Bosak of Sun ! W3C-approved XML 1.0 spec in 1998 ! XML-related standard activities are moving in dizzying speed " Horizontal " Vertical " E-Commerce
  45. 45. Where Does XML Get Used? ! Simple and complex data representation ! Integration of heterogeneous applications ! Portable data representation ! Displaying and publishing ! Archiving ! Data manipulation ! Business logic representation
  46. 46. Data representation ! XML encodes the data for a program to process ! Readable by humans ! Process’able by computers ! Complex relationship can be represented ! Internationalized ! Many 3rd-party tools " Editing, Syntax checking
  47. 47. Data representation ! Examples " Configuration files # EJB deployment descriptor " “make” files (Apache ANT project)
  48. 48. Integration of heterogeneous applications ! Typically used with Messaging system ! XML message is minimum contract for communication " Loosely-coupled communication ! Enables easy EAI (Enterprise Application Integration) " Payroll, Finance, Products ! E-Commerce " Supplier, distributor, manufacturer, retail
  49. 49. Portable data representation ! Non-proprietary " Application independent " Object-model independent " Language independent " Platform independent " Communication protocol independent " Communication media independent ! Used for means of “information exchange”
  50. 50. Portable data representation ! Examples " Purchase order, Invoice " Business transactional semantics " Patient record " Mathematical formula " Musical notation " Manufacturing process
  51. 51. Displaying and publishing ! Common data for different presentations ! Separation of contents from presentation ! Examples " Web information presented to different client types " Information rendered to different medium
  52. 52. Archiving ! XML data can be data storage format of choice " Betterversion management " Easy to process " Availability of read-to-use tools # Report generation ! Standard XML query language ! Examples " XML-based data repository
  53. 53. Data manipulation ! Many tools available for XML data manipulation ! Examples " Datafrom relational data converted to XML for easy manipulation
  54. 54. Business logic representation ! XML tag can be anything ! It could be business logic or action ! Basis for XML-RPC movement ! Examples " “Withdraw $40 from my savings account” can be represented as XML
  55. 55. Developer Activities on XML ! Creating XML document " Mostlyby text-editor or WISWIG tools " Programmatically ! Sending and Receiving XML document " Over any kind of transports # HTTP, SMTP, FTP, ... " Through programming APIs # JMS API, JAXM API # Socket APIs
  56. 56. Developer Activities on XML ! Parsing XML document " Convert XML document into programming objects ! Manipulating programming objects " Application specific way " Examples # Display # Save them in database # Create new XML document
  57. 57. Developer Activities on XML ! “XML document” can be " URI # File # URL " InputStream " SAXInput source " DOM tree
  58. 58. Java™ Technology + XML: Symbiotic Relationship ! It’s a “Match made in Heaven” " Javaenables Portable Code " XML enables Portable Data ! XML tools and programs are mostly written in the Java programming language ! Better API support for Java platform than any other language
  59. 59. Standardization Activities ! XML core standards " ThroughStandard organisations " W3C, OASIS, UN/CEFACT ! XML domain-specific standards " Through domain-specific standard organizations ! Java technology-based APIs for XML " Through JCP (Java Community Process) ! E-commerce standards
  60. 60. XML Standards ! XML, DTD ! XSL, XSLT, XPath ! DOM, SAX ! W3C XML Schema ! Namespaces ! XLink, XPointer ! XHTML ! XQL
  61. 61. Domain-specific XML Standards ! Chemical - CML ! 2D Graphics - SVG ! Math - MathML ! Music - MusicML ! Travel -OTA ! Many more ... " http://xml.org/xmlorg_registry/index.shtml
  62. 62. Core Java APIs for XML ! JAXP: Parsing and Transforming ! JAXB: High-level XML programming ! JAXM: Messaging ! JAXR: Registry APIs ! JDOM: Java-optimized Parsing
  63. 63. E-Commerce Standards ! ebXML ! UDDI (Universal Description, Discovery and Integration) ! SOAP (Simple Open Access Protocol) ! W3C XP (XML Protocol) ! WSDL (Web Services Definition Lang.) ! S2ML (Security Services ML) ! XAML (Transaction Authority ML)
  64. 64. Summary ! XML is the next Big thing ! Is it being hype’d? Maybe yes, then again, it deserves the hype.
  65. 65. Key Future Predictions in summer in 1999 by Jon Bosak ! XML will be the basis for future Web standards ! XML will become universal format for data exchange in heterogenous environments ! XML will become the basis for international publishing ! XML and XSL will replace all existing word processing and desktop publishing formats
  66. 66. Homework of Lecture 1 ! Download AMAYA browser and try to display a couple of MathML data (See the class website for details) " http://www.w3.org/Amaya/ ! No need for submission
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×