Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
1
1
XML for Java Developers G22.3033-002
Session 1 - Main ThemeMarkup Language Technologies (Part I)
Dr. Jean-Claude Franchitti
New York UniversityComputer Science Department
Courant Institute of Mathematical Sciences
2
Agendan XML Generics
n Course Logistics, Structure and Objectives
n History of Meta-Markup Languages
n XML Applications: Markup Languages
n XML Information Modeling Applications
n XML-Based Architectures
n XML and Java
n XML Development Tools
n Summary
n Class Project
n Readings
n Assignment #1a
3
XML Generics
n XML means eXtensible Markup Languagen XML expresses the structure of information (i.e.,
document content) separately from its presentationn XSL style sheets are used to convert documents to a
presentation format that can be processed by a target presentation device (e.g., HTML in the case of legacy browsers)
n Document Type Definitions (DTDs) or XML schemas are used to describe and validate content
2
4
Course Logistics
n Course Web Siten http://cs.nyu.edu/courses/summer01/G22.3033 -
002/index.htm
n http://www.nyu.edu/classes/jcf/g22.3033-002/
n Password: xmljava
n Review syllabus
n Textbooksn XML Development with Java 2
n Professional Java XML
n XML and Java, Developing Web Applications
5
Knowledge Required
n Know how to ftp files, send e-mail, and load URLs into a Web browser
n Reasonable knowledge of HTMLn Be able to write a basic HTML page including
links, images, and text using a text editorn Be able to place a page on a web servern Advanced Java programming experience
6
Knowledge Not Required
n SGMLn Programming in Perl, or any language other than
Javan Cascading Style Sheets and other HTML
advanced features
3
7
Other Useful Knowledge
n Web server configuration and the HTTP protocoln JavaScriptn C programmingn Database theory (normalization rules)n SGML (basic knowledge)n Some knowledge of international character sets
8
History of Meta-Markup Languages
n SGML (see http://www.w3c.org)n Complex and expensive
n HTMLn Tim Berners-Lee (Cern), 1990n Simple replacement to SGML
n Lacked the flexibility and adaptability of XML
n W3C XML working groupn Jon Bosak (Sun), 1996n SGML strengths + HTML simplicity
9
History of Meta-Markup Languages(continued)
n XML 1.0 Specificationn Tim Bray
n Language simple enough for programmers to implement
n Language not limited to English
n Documents easy for search engine
n CML, Jumbo, MathMLn XLL (1997), CDF (1997), XSL (1997), MSXSL
(1998), XML-Data, Mozilla, etc.
4
10
Why XML?n Domain specific markup languagen Common data format
n Simple, pure Unicode text
n Well-documentedn Data interchange
n Open Financial Exchange (OFX)
n XML non copyrighted
n Support of portable structured text data as most electronic information is text-based
11
Related Technologiesn JavaSoft’s Java API for XML parsing (JAXP)n Java bindings to SAX, and DOM APIsn HTMLn CSS, CSS2, and CSS3n XSL
n well formed XML documentsn URLs and URIs
n resource v.s. locationn Linking (XLL)n Unicode
12
Applications of XML:Markup Languages
n XML helps define sets of rules for forming semantic tags that break documents into parts
n XML is a Metamarkup languagen Not a markup language restricted to a fixed set of tagsn Can make up tags as you go along
n XML Tags can be documented in a DTDn i.e., a domain specific syntax and vocabulary (e.g., CML,
MathML, etc.)
5
13
HTML Example
Javaby Sun MicroSystem
Publisher: O’ReillyISBN: 0-777-88888-9Pages: 900
The complete documentation.
14
XML Corresponding Structure
JavaSun MicrosystemsO’Reilly0-777-88888-9900The complete documentation
15
XML Enables Semantic/Structured Markup Languages
n XML describes a document’s structure and meaning
n XML does not describe the formatting of the elements
n Formatting is added through style sheetsn XML document only contains tags describing the
content (not the appearance) of the document
6
16
XML Information Modeling Applications(Focus on Complex Structured Document Specification)
n Custom and Industry specific Markup Languages with own syntax and vocabulary
n CML (Chemical Markup Language)n MathML (Mathematical Markup Language)n CML (Channel Definition Format)n Classic Literaturen SMIL (Synchronized Multimedia Integration
Languagen OSD (Open Software Description)
17
XML-Based Architectures
n Presentation-Oriented Publishing Frameworksn XML-Based Application Serversn Message-Oriented Middleware Frameworksn Web Services Frameworks
n Peer to Peer (P2P) Computingn XML-Based eServices Protocols and Architectures
18
XML POP Frameworks(Focus on Content Management and Publishing)
n Requirements:n XML parsern XSL processorn Document repositoryn Collection of document DTDs or scheman Collection of XSL style sheets
n Parsing & processing can be client or server-basedn Samples server-side XML technology:
n Perl & CGI ( http://www.perl.com/CPAN)n Java servlets (http://www.alphaworks.ibm.com , www.apache.org)n ASPs (http://www.beyondhtml.com/rocket)
7
19
XML POP Packaged Solutions
n Enterprise Information Portal (EIP) toolkitsn e.g., DataChannel’s XML framework
n Structured content management and retrieval systemsn e.g.,
n Vignette’s StoryServern Gauss Interprise’s VIP’XML -Gateway
n Poet’s Content Management Suiten Chrystal Software’s Astoria
20
XML MOM Applicationsn Component-based modeling
n e.g., XML Metadata Interchange (XMI)n Enterprise Application Integrationn Business-to-Customer (B2C) Applications
n e.g., e-Commercen Business-to-Business (B2B) Applications
n e.g., n WebMethodsn Bluestone’s XML-Server,
n eXcelon 2.0n XMLSolutions’ ExeterXML server
21
Java-enabled XML Technologiesn XML provides a universal syntax for Java semantics
(behavior)n Portable, reusable data descriptions in XMLn Portable Java code that makes the data behave in
various waysn XML standard extension
n Basic plumbing that translates XML into Javan parser, namespace support in the parser, simple API for
XML (SAX), and document object model (DOM)
n XML data binding standard extension
8
22
XML and Java Standardsn XML includes is a family of technologies
n XSL, XML Schema, XML Query, XPath, XPointer, XLink, DOM, RDF, CSS, XSL, XHTML, XML Signature, MathML, SMIL, SVG, etc.
n Review the current state of the XML standards at http://www.w3c.org/XML
n Review the current state of Java Technology and XML (JAXP) standards at http://java.sun.com/XML
n Review the Java binding to DOM 2.0 at http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/java-binding.zip
23
XML Development Tools
n Read and write XML documentsn XML Editors
n e.g., Wattle Software’s XMLWriter, SoftQuad’s Xmetal, Vervet Logic’s XML Pro, eXcelon Stylus, XML Spy
n XML well-formedness and/or validation Processorsn e.g., IBM’s XML4J, Apache’s XercesJ, Oracle Parser, Java Project
X processor, James Clark’s Expat parser, Microsoft MSXML
n XML Browsersn e.g., IE5
24
Summary
n XML is a metamarkup languagen XML tags describe the structure and semantics of
a document’s content (not the format of the content)
n XML addresses SGML’s complexity and HTML’s inadequacies
n Applications of XML for information modeling exist in various domains (chemistry, math, multimedia, etc.)
9
25
Summary (continued)
n XML supports MOM and POP applicationsn XML supports the Web Services Infrastructuren XML and Java complements each othern Java-enabled XML technology is available in the
market todayn Standards for integrating XML and Java are being
developed
26
Class Project
n Project Descriptionn The project will focus on “multi-channel online community
platforms”, and will consist of providing custom XML-based services to support the various aspects of a chosen eBusiness application
implemented on such platforms (e.g., “community -based shopping”). Examples of useful services to support these platforms may include synchronized multimedia presentation viewing, and “offline” chatcapabilities. A sample specification of an online community platform
for a virtual university eBusiness application will be provided for illustration purpose.
27
Readingsn Readings
n XML Development with Java 2: Chapter 1
n Professional Java XML: Chapter 1
n XML and Java: Chapter 1, Appendix C
n Handouts posted on the course web site
n Explore brief review of XML at XML in 10 points
n Read article at XMLJ2EE
n Review XML 1.0 (Second edition), Namespaces, and the
XML activity statement at W3C
n Project Frameworks Setup (ongoing)n Apache’s Web Server, TomCat, and Cocoon
n Apache’s Xerces, Xalan
10
28
Assignment
n Assignment #1a:n Explore the textbooks’ CDs, and the textbook references
to XML tools
n Install and experiment with XML editors. Settle on a tool
you feel comfortable using, and come up with a small
XML application that demonstrates the use of that tool.
Write a short report that uses your sample application to
document your findings and recommendations with
respect to selection criteria in support of XML editors
29
Next Session:Markup Language Technologies (Part II)
n Current state of the XML standardn Advanced XML applicationsn XML style Specification Languages