NEW YORK UNIVERSITY
COMPUTER SCIENCE DEPARTMENT
XML
for Java Developers
Summer 2002 Jean-Claude FRANCHITTI
G22.3033-002 Mon. 6:00 - 8:20 p.m.
=================================================================
COURSE DESCRIPTION:
The eXtensible Markup Language (XML) is a platform-independent data representation, which may be viewed as a simplified version of SGML designed for the Web. Java Technology and XML are complementary: XML provides a family of technologies that enable portable data, and Java technology enables portable, maintainable code. Together, XML and Java technologies provide comprehensive support for data representation and exchange, and promote a new generation of Presentation Oriented Publishing (POP) and Message Oriented Middleware (MOM) services for the enterprise. While XML-based POP services are being layered on top of J2EE’s JSP and Servlet component models, XML-based MOM services provide uniform access to application server and Enterprise Application Integration (EAI) technologies. As they become core components of the upcoming Web Services platforms (i.e., Sun’s Open Net Environment, HP’s NetAction, Oracle’s Dynamic Services, IBM’s WebSphere platform, and Microsoft .NET), XML-based services provide a foundation for modern component-based and device-independent eBusiness via application-level protocols (e.g., ebXML), infrastructure components (e.g., SOAP, WSD, and UDDI, and presentation/integration facilities.
This course is designed for programmers already familiar with the Java language and class libraries. All instruction and development will be based on the J2SE 1.3, and the latest practical W3C standards. Rather than focusing the presentation on the various XML features and technologies, the course illustrates how the use of such XML technologies and applications meshes with the modern approach at building XML-based comprehensive business applications. The course provides an in-depth coverage of XML-based Java-enabled functionality. Students will learn how to specify, and manipulate XML data from Java programs using existing implementations of the current W3C specifications for the Domain Object Model (DOM) and Simple API for XML SAX). Through a set of assignments/projects, students will implement the various components of a sample XML web-enabled and Java-based enterprise application. Students will gain practical exposure to the various XML commercial toolsets being developed by various third-party vendors including IBM, Microsoft, and JavaSoft.
COURSE OBJECTIVES
The objectives of the course are as follows:
1. Expose the students to the XML family of technologies, and the latest W3C XML standards.
2. Expand the student’s understanding of the various applications of XML in the areas of information representation, Presentation Oriented Publishing, Message Oriented Computing, and Web Services.
3. Expose the students to the combined use of XML and Java technologies to support the development of modern enterprise applications.
4. Expose the students to the advanced XML-enabled capabilities of the Java 2 development environment for Enterprise Applications.
5. Demonstrate the use of XML to support the modern approach at building comprehensive business applications using XML Markup Language technologies, XML information modeling, XML information processing, XML information rendering, XML information retrieval, XML-Based frameworks, and XML application implementation and testing methodologies and tools.
6. Demonstrate the application of XML in distributed communications enabling, enterprise systems assurance, web enabling, application enabling, and enterprise data enabling.
7. Expand student’s understanding of the current industry support for XML technologies.
8. Sharpen the student’s practical development skills via focused assignments and projects.
TEXTBOOKS
XML Development with Java 2
Michael C. Daconta, and Al Saganich
SAMS, ISBN: 0-672-31653-6 (10/00)
Professional Java XML
Kal Ahmed, et al.
WROX, ISBN: 1-861004-01-X (4/01)
XML and Java, Developing Web Applications
Hiroshi Maruyama, Kent Tamura, Naohiko Uramoto
Addison-Wesley, ISBN: 0-201-48543-5 (06/00)
PREREQUISITES
Students enrolling in this class are expected to have taken G22.1170 (Fundamental algorithms), Programming for the World Wide Web, and their prerequisites or to have equivalent knowledge. Students are also expected to have taken a Java intermediate course, and to have basic knowledge of the Core JFC classes, and the ability to program in Java.
WEB
SITES
Download Java 2 SDK from http://www.javasoft.com/, and other JavaSoft XML technologies from http://www.javasoft.com/xml. Related XML standard specifications can be
found at http://www.w3.org/xml. Other sources include the Apache XML
Project at http://xml.apache.org, IBM Alphaworks at http://www.alphaworks.ibm.com, Microsoft’s XML home at http://www.microsoft.com/xml, XML Software at http://www.xmlsoftware.com, and information/resources provided at http://www.xml.com, http://www.xml.org, http://www.xmlu.com, http://www.ucc.ie/xml, and http://www.oasis-open.org/cover. Additional sources will be provided as
applicable during the course sessions.
COURSE SESSIONS
1. Markup
Language Technologies (Part I)
- Meta-Markup Languages
- Markup Languages
- Ongoing Project Overview
READINGS: XML Development with Java 2: Chapter 1
Java XML: Chapter 1
XML and Java: Chapter 1, Appendix C
Handouts posted on the course web site
2. Markup
Language Technologies (Part II)
- The Current State of the XML Standard
- Advanced Markup Languages
- Style Specification Languages
READINGS: XML Development with Java 2: Chapters 1, 4, and 5
Java XML: Chapters 1, 7, 8, Appendices A and G
XML and Java: Chapter 1, Appendices C and E
Handouts posted on the course web site
3. XML
Information Modeling (Part I)
- XML Physical Entities
- Logical Structure of XML Documents
- XML Document Navigation
- Custom Markup Languages
READINGS: XML Development with Java 2: Chapter 4
Java XML: Chapter 5
XML and Java: Chapter 2
Handouts posted on the course web site
4. XML
Information Modeling (Part II)
- Advanced Logical Structuring and XML Schemas
- XML Metadata Management
- XML Linking/Pointer Language, XML Base, and XML Inclusions
- XML Data Binding
- Industry Specific Markup Languages
READINGS: XML Development with Java 2: Chapter 4
Java XML: Chapters 5, 6, 9, and 10
XML and Java: Chapter 2
Handouts posted on the course web site
5. XML
Information Processing (Part I)
- Document Object Model (DOM)
- Simple API for XML (SAX)
- XML Parsers
READINGS: XML Development with Java 2: Chapters 2-3, and 6-7
Java XML: Chapters 3, 4, Appendices B, D, and F
XML and Java: Chapters 2, 3, 4, Appendices B-F
Handouts posted on the course web site
6. XML
Information Processing (Part II)
- Advanced XML Parser Technology
- Latest W3C APIs and Standards for Processing XML
READINGS: XML Development with Java 2: Chapters 2-3, and 6-7
Java XML: Chapters 2, 3, 4, Appendices B-F
XML and Java: Chapters 2, 3, 4, Appendices B-F
Handouts posted on the course web site
7. XML
Information Rendering (PART I)
- Extensible Stylesheet Language Transformation (XSLT)
- Extensible Stylesheet Language Formatting Object (XSL-FO)
- XML and Document/Content Management
READINGS: XML Development with Java 2: Chapter 5
Java XML: Chapters 7, 8, and Appendix G
XML and Java: Chapter 4
Handouts posted on the course web site
8. XML
Information Rendering (PART II)
- XML/XSL and JSP/JavaBeans Rendering Technology
- Internationalization Issues
- Web Content Accessibility Guidelines (WCAG)
READINGS: XML Development with Java 2: Chapter 5
Java XML: Chapters 7, 8, and Appendix G
XML and Java: Chapter 4
Handouts posted on the course web site
9. XML
Information Retrieval (PART I)
- Applications of XML to Database Technology
- XML Queries
- XML Query Languages
READINGS: XML Development with Java 2: Chapter 10
Java XML: Chapters 16, and 17
XML and Java: Chapter 6
Handouts posted on the course web site
10. XML
Information Retrieval (Part II)
- XML Object Persistence
- Advanced XML-QL
- XQuery: A Query Language for XML
READINGS: XML Development with Java 2: Chapter 10
Java XML: Chapters 16, and 17
XML and Java: Chapter 6
Handouts posted on the course web site
11. XML-Based
Frameworks (PART I)
- Presentation Oriented Publishing (POP) Frameworks
- Client-Side XML POP Frameworks
- Server-Side XML POP Frameworks
READINGS: XML Development with Java 2: Chapters 7, and 9
Java XML: Chapters 11-15 and Appendix H
XML and Java: Chapter 5
Handouts posted on the course web site
12. XML-Based
Frameworks (PART II)
- XML and Application Servers
- XML Message Oriented Middleware (MOM) Frameworks
- Web Services
READINGS: XML Development with Java 2: Chapter 8
Java XML: Chapters 18-22
XML and Java: Chapters 7-8
Handouts posted on the course web site
13. XML
Application Implementation and Testing (PART I)
- DTD and Schema Editors
- XSL and Stylesheet Editors
- XSL Debuggers
- XSLT Processors
- XML Editors
- XML Parsers
READINGS: XML Development with Java 2: Appendix A
Java XML: Chapters 1, 14, and 18 (suggested tools)
XML and Java: Appendix A (suggested tools)
Handouts posted on the course web site
14. XML
Application Implementation and Testing (PART II)
- JAXP
- Coding Assist Tools
- Metadata Management Tools
READINGS: XML Development with Java 2:
Java XML:
XML and Java:
Handouts posted on the course web site
READINGS
Assigned readings for the course will be from the textbook, from various web sites documentation, and from trade magazines and recommended books listed on the course web site.
ASSIGNMENTS
Homework and project assignments completion will be required.
Quizzes will be administered.
The final exam will be a take-home exam.
GRADING POLICY
25% Assignments
35% Projects
30% Final Exam
10% Attendance and Participation
Extra credit will be granted periodically for particularly clever or creative solutions.
XML FOR JAVA DEVELOPERS
Session 1: Markup Language Technologies (Part I)
SESSION
OBJECTIVES
1. Introduce
Markup Language Technologies
2. Understand
course structure and objectives
3. Discuss
Meta-Markup Languages
4. Discuss
Markup Languages
5. Describe
the class project
SESSION
OUTLINE
·
Review course administration and course structure
·
Review course goals and syllabus
·
Introduce Meta-Markup Languages
§
Standard
Generalized Markup Language
§
The family of
XML technologies
·
Discuss Markup Languages
§
Hypermedia/Time-based
Structuring Language (HyTime)
§
HTML
§
XML
Presentation Oriented Publishing (POP) Applications
·
Class project
§
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 a platform (e.g., “community-based
shopping”). Examples of useful services to support such platforms may include
synchronized multimedia presentation viewing, and “offline” chat capabilities.
A sample specification of an online community platform for a virtual university
eBusiness application will be provided for illustration purpose.
ASSIGNMENT
·
Assignment #1a:
§
Explore the
textbooks’ CDs, and the textbook references to XML tools
§
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
·
Read suggested introductory textbook chapters, and handouts
·
Read the article at http://java.sun.com/features/2001/02/xmlj2ee.p.html.
XML FOR JAVA DEVELOPERS
Session
2 – Markup Language Technologies (Part II)
SESSION
OBJECTIVES
1. Describe
the current state of the XML standard
2. Discuss
advanced XML applications
3. Discuss
XML style specification languages
SESSION
OUTLINE
·
Review previous session
·
Assess the current state of the XML standard
·
Discuss advanced XML applications
§
XHTML 1.0 and
Xforms 1.0
§
XML
Message-Oriented Middleware (MOM) Applications
·
Review style specification languages
§
Document
Style Semantics and Specification Language (DSSSL)
§
Cascading
Stylesheet (CSS)
ASSIGNMENT
·
Assignment #1b:
§
Review the
class project description, and the virtual university sample eBusiness
application specification
§
Come up with
your own variant of a an eBusiness application that would benefit from being
implemented on top of a “multi-channel online community platform”
§
Specify a set
of services that would need to be provided on top of an online community
platform to support your specific eBusiness application
§
Provide a
written specification of your overall framework (i.e., platform and services),
and propose a staged development approach that would demonstrate the use of XML
to support the modern approach at building comprehensive business applications
suggested in this course. Your proposed approach should include the use of XML Markup Language technologies, XML
information modeling, XML information processing, XML information rendering,
XML information retrieval, XML-Based frameworks, and XML application
implementation and testing methodologies and tools
·
Read suggested textbook chapters, and handouts on XML markup
language technologies
XML FOR JAVA DEVELOPERS
Session
3 – XML Information Modeling (Part I)
SESSION
OBJECTIVES
1. Introduce
XML Physical Entities
2. Describe
the Logical Structure of XML Documents
3. Discuss
XML Document Navigation
4. Survey
Custom Markup Languages
SESSION
OUTLINE
·
Review previous session
·
XML Physical Entities
·
Electronic Document Markup and XML
·
Logical Structure of XML Documents
§
Namespaces
1.0
§
Document Type
Definitions (DTDs)
§
XML Schemas
(Structures, and Data Types)
§
XML Document
Navigation (URIs/URLs, and XPath)
·
Custom Markup Languages
§
Mathematical
Markup Language (MathML)
§
OpenMath
§
Chemical
Markup Language (CML)
§
Bioinformatic
Markup Language
§
Geography
Markup Language (GML)
§
Wireless
Markup Language (WML)
§
Synchronized
Multimedia Integration Language (SMIL)
§
Synchronized
Vector Graphics (SVG)
§
Extensible 3D
(X3D)
§
XML-Based
User Interface Language (XUL)
§
Extensible Log
Format (XLF)
ASSIGNMENT
·
Assignment #2a:
§
This part of
the project focuses on the application business model discovery using XML
information modeling technology. The discovery process should adhere to the
following steps: (a) Documenting the information structure, (b) Representing
the information structure in XML form, (c) Defining XML DTDs and/or Schemas
§
More specific
project related information, and extra credit assignments will be provided
during the session
·
Read suggested textbook chapters, and handouts on XML
information modeling
XML FOR JAVA DEVELOPERS
Session
4 – XML Information Modeling (Part II)
SESSION
OBJECTIVES
1. Discuss
advanced logical structuring and XML Schemas
2. Discuss
XML Metadata Management
3. Study
the XML Linking Language (XLink), XML Base, XML Inclusions (XInclude), and XML
Pointer Language (XPointer)
4. Introduce
the XML Data Binding for the Java platform
5. Survey
industry specific markup languages
SESSION
OUTLINE
·
Review previous session
·
Advanced Logical Structuring and XML schemas
§
Digital
Signatures
§
Canonical XML
§
XML
Information Set (Infoset)
§
XML Fragments
§
XML Schema
Adjuncts
·
XML Metadata Management
§
Unified
Modeling Language (UML)
§
OMG’s
Meta-Object Facility (MOF) and XML Metadata Interchange (XMI)
§
Microsoft’s
XML Interchange Format (XIF) and the Open Information Model (OIM)
·
XLink, XML Base, XInclude, and XPointer
·
Industry specific markup languages
§
Extensible
Business Reporting Language (XBRL)
§
Bank Internet
Payment System (BIPS)
§
Microsoft
BizTalk Framework (Windows 2000)
§
Electronic
Business XML (EbXML)
§
Privacy-Enabled
Customer Data Interchange (CPExchange)
§
Visa XML
Invoice Specification
§
Commerce XML
(cXML)
§
Legal XML
§
NewsML
§
Electronic
Catalog XML (eCX)
§
Open eBook
Publication Structure
ASSIGNMENT
·
Assignment #2b:
§
This part of
the project relies on the business model discovery process suggested in
assignment #2a, and should demonstrate the use of UML use cases to support the
development of XML DTDs and/or Schemas
·
Read suggested textbook chapters, and handouts on XML
information modeling
XML FOR JAVA DEVELOPERS
Session
5 – XML Information Processing (Part I)
SESSION
OBJECTIVES
1. Discuss
the Document Object Model (DOM)
2. Discuss
the Simple API for XML (SAX)
3. Study
XML parsers
SESSION
OUTLINE
·
Review previous session
·
Document Object Model (DOM)
§
DOM API
§
Creating a
Document Using DOM
·
Simple API for XML (SAX)
§
Events
§
Character
handling
§
Exception
handling
·
XML Parsers
§
Well-formedness
and validity
§
Mainstream
parsers comparison (XercesJ, Oracle’s XML parser for Java, and Expat)
ASSIGNMENT
·
Assignment #3:
§
This part of
the project focuses on the application process model design/development using
XML information processing technology. The design/development process should
adhere to the following steps: (a) Identifying the points of data integration,
(b) Defining the optimal integration approach at each point, (c) Establishing
linking relationships, and (d) Considering data integration and linking issues
when designing an overall application data model
§
More specific
project related information, and extra credit assignments will be provided
during the session
·
Read suggested textbook chapters, and handouts on XML
information processing
XML FOR JAVA DEVELOPERS
Session
6 – XML Information Processing (Part II)
SESSION
OBJECTIVES
1. Study advanced XML parsing technology
2. Discuss the latest W3C APIs and standards for processing XML
SESSION
OUTLINE
·
Review previous session
·
Advanced XML Parser Technology
§
JDOM:
Java-Centric API for XML
§
JAXP: Java
API for XML processing
§
DOM, SAX,
JDOM, and JAXP comparison
·
Latest W3C APIs and standards for processing XML
§
XML Infoset
§
DOM Level 3
§
Canonical XML
§
XML
Signatures
§
XBase
§
XInclude
§
XPointers
ASSIGNMENT
·
Assignment #3: (continued from session 5)
·
Read suggested textbook chapters, and handouts on XML
information processing
XML FOR JAVA DEVELOPERS
Session
7 – XML Information Rendering (Part I)
SESSION
OBJECTIVES
1. Study
the Extensible Stylesheet Language Transformation (XSLT)
2. Study
the Extensible Stylesheet Language Formatting Object (XSL-FO)
3. Discuss
XML and document/content management
SESSION
OUTLINE
·
Review previous session
·
Extensible Stylesheet Language Transformation (XSLT)
§
Templates
§
Creating
elements and attributes
§
Iterations
and sorting
§
Conditional
processing
§
Copying nodes
§
Combining
stylesheets
§
Variables and
parameters
§
Scripting and
XSLT
·
Extensible Stylesheet Language Formatting Object (XSL-FO)
§
Setup
§
Document page
§
Document text
§
Lists
·
XML and document/content management
§
Rendering XML
into HTML or other data formats
§
Whitespace
issues
§
XML
catalog/repository
ASSIGNMENT
·
Assignment #4:
§
This part of
the project focuses on the application content model design/development using
XML information rendering technology. The design/development process should
adhere to the following steps: (a) Identifying rendering/transformation
targets, (b) Defining the optimal rendering approach for each target, (c)
Considering data rendering issues when designing an overall application data
model
§
More specific
project related information, and extra credit assignments will be provided
during the session
·
Read suggested textbook chapters, and handouts on XML
information rendering
XML FOR JAVA DEVELOPERS
Session
8 – XML Information Rendering (Part II)
SESSION
OBJECTIVES
1. Discuss
XML/XSL and JSP/JavaBeans rendering technology
2. Study
internationalization issues
3. Introduce
the Web Content Accessibility Guidelines (WCAG)
SESSION
OUTLINE
·
Review previous session
·
JSP-based rendering technology
§
Loading and
converting XML into JavaBeans components referenced in JSP pages
§
XML-based
custom JSP tags
§
Invoking an
XSLT processor via custom JSP tags
§
On-the-fly
XSLT transformations using Java servlet filters
·
Internationalization issues
·
Web Content Accessibility Guidelines (WCAG)
§
User Agent
Accessibility Guidelines 1.0
ASSIGNMENT
·
Assignment #4: (continued from session 7)
·
Read suggested textbook chapters, and handouts on XML
information rendering
XML FOR JAVA DEVELOPERS
Session 9 – XML Information Retrieval (Part
I)
SESSION
OBJECTIVES
1. Survey
the applications of XML to database technology
2. Introduce
XML Queries
3. Discuss
XML query languages
SESSION
OUTLINE
·
Review previous session
·
Applications of XML to database technology
§
Properties of
relational database queries
§
Mapping XML
to a relational database
§
JDBC
refresher
§
SQL embedded
in XML (SQLX)
·
XML Queries
§
Requirements
§
Use cases
§
Properties of
relational database queries
·
XML query languages
§
XQL/XML-QL
§
DB2XML
§
Using Oracle
and XML
ASSIGNMENT
·
Assignment #5a:
§
This part of
the project focuses on the application data model design/development using XML
information retrieval technology. The design/development process should focus
initially on identifying the data to be retrieved for resulting subsets of data
§
More specific
project related information, and extra credit assignments will be provided
during the session
·
Read suggested textbook chapters, and handouts on XML
information retrieval
XML FOR JAVA DEVELOPERS
Session 10 – XML Information Retrieval
(Part II)
SESSION
OBJECTIVES
1. Study
XML object persistence
2. Study
advanced XML-QL/XQL concepts
3. Introduce
XQuery, a query language for XML
4. Discuss
the use of the SAX and DOM APIs with a database
5. XML
Server Pages
SESSION
OUTLINE
·
Review previous session
·
XML object persistence
§
SOAP-style
formatting
§
Evolution and
versioning/Abstract Data Layer (ADL)
·
Advanced XML-QL/XQL concepts
§
XML query
data model
§
XML query
algebra
·
XQuery
·
Using the SAX and DOM APIs with a database
§
Rowset
transformations using SAX/DOM APIs
§
Disconnected
rowsets
·
XML Server Pages (XSP)
§
Cocoon and
XSP
ASSIGNMENT
·
Assignment #5b:
§
This part of
the project relies on the application data model design/development process
suggested in assignment #5a, and should focus on demonstrating the following
additional steps: (a) Defining the optimal retrieval approach for each dataset,
and (b) Considering query constraints when designing an overall application
data model
§
More specific
project related information, and extra credit assignments will be provided
during the session
·
Read suggested textbook chapters, and handouts on XML
information retrieval
XML FOR JAVA DEVELOPERS
Session 11 – XML-Based Frameworks (Part I)
SESSION
OBJECTIVES
1. Introduce
Presentation Oriented Publishing (POP) frameworks
2. Study
client-side XML POP frameworks
3. Study
server-side XML POP frameworks
SESSION
OUTLINE
·
POP application support infrastructures
§
POP and OMG’s
CORBA 3 horizontal facilities
§
Related
component models (JSP/JavaBeans, XSP, Servlet filters, etc.)
·
Client-side XML POP frameworks
§
Microsoft
Internet Explorer (IE5/IE6)
·
Server-side XML POP frameworks
§
Dynamic XML
servers
§
Rocket
§
Cocoon
§
Perl-based
POP frameworks
ASSIGNMENT
·
Assignment #6a:
§
This part of
the project focuses on the discovery/design/development of the application
presentation layer architecture using XML-Based presentation frameworks. The
discovery/design/development process should adhere to the following steps: (a)
Determining how W3C recommendations will be applied (e.g., determine when DOM
is appropriate, etc.), (b) Using the details and syntax of core W3C
recommendations (XML, XSL, DOM, XPath, namespaces, DTDs, XML well-formedness,
Schemas, etc.), (c) Refining the application presentation layer architecture
design as necessary based on data model, data integration, data rendering, and
data query issues
§
More specific
project related information, and extra credit assignments will be provided
during the session
·
Read suggested textbook chapters, and handouts on XML-based
frameworks
XML FOR JAVA DEVELOPERS
Session
12 – XML-Based Frameworks (Part II)
SESSION
OBJECTIVES
1. Study
XML and application servers
2. Discuss
XML and Message Oriented Middleware (MOM) frameworks
3. Study
Web Services
SESSION
OUTLINE
·
XML and application servers
§
XML and OMG’s
CORBA 3 Object Management Architecture (OMA)
§
XML and J2EE
§
XML data
representation and exchange via the EJB persistence service
§
XML MOM via
the Java Messaging Service (JMS)
§
Presentation
via Java Server Pages (JSPs) and Servlets
§
XML and
Microsoft DNA
·
XML Message Oriented Middleware (MOM) Frameworks
§
MOM
application development tools
§
Serializing
Java objects into XML using reflection
§
Developing
MOM applications using the SAX/DOM APIs
§
B2B commerce
and Enterprise Application Integration (EAI) Frameworks
§
B2B patterns
for the transformation and routing of XML documents
§
WebMethods
B2Bi EAI framework
§
Integrating
legacy systems using XML and Microsoft Message Queue
·
Web Services
§
Content,
discovery, universal access, and intelligent software agents
§
Peer-to-Peer
(P2P) computing
§
XML-Based
e-Services protocols and architectures
§
XML-RPC
§
Simple Object
Application Protocol (SOAP)
§
Universal
Description, Discovery, and Integration (UDDI)
§
Web Service
Definition Language (WSDL)
§
Resource
Description Framework (RDF)
§
Platform for
Internet Content Selection (PICS)
§
Platform for
Privacy Preferences (P3P
§
Channel
Definition Format (CDF)
§
Rich Site
Summary (RSS)
§
Blocks
Extensible Exchange Protocol (BXXP)
§
XML Protocol
(XMLP): XML-Based Messaging Systems
§
XML messaging
(via HTTP, and MQSeries)
§
XML and User
Identification/Security
§
XML, and
Databases
§
XML and JDBC
§
XML
Extensions and Tools for Oracle, Informix, IBM DB2, and Microsoft SQL Server
§
Transaction
Authority Markup Language (XAML)
§
Sun’s Open
Net Environment (ONE)
§
HP’s
NetAction/e-speak platform
§
Oracle’s
Dynamic Services platform
§
Microsoft
.NET platform
§
IBM WebSphere
Architecture (WSA) platform
ASSIGNMENT
·
Assignment #6b:
§
This part of
the project focuses on the discovery/design/development of the non-presentation
specific application architecture using XML-Based frameworks. The
discovery/design/development process should follow the same steps as the ones
listed in assignment #6a. Additionally, particular care should be taken at
determining the implications of a given architecture on the overall XML design
related considerations
§
More specific
project related information, and extra credit assignments will be provided
during the session
·
Read suggested textbook chapters, and handouts on XML-based
frameworks
XML FOR JAVA DEVELOPERS
Session 13 – XML Application Implementation
and Testing (Part I)
SESSION
OBJECTIVES
1. Survey
DTD and schema editors
2. Survey
XSL and stylesheet editors
3. Study
XSL debuggers
4. Study
XSLT processors
5. Survey
XML editors
6. Study
XML parsers
7. Final
Exam (take home project)
SESSION
OUTLINE
·
DTD and schema editors
·
XML Spy,
Visual XML, etc.
·
XSL editors
·
IBM XSL
Editor, XML Spy, etc.
·
XSL debuggers
·
XSLDebugger,
etc.
·
XSLT processors
·
FOP, etc.
·
XML editors
·
XML Notepad,
XML Pro, XML Spy, XMLwriter, Visual XML, etc.
·
XML parsers
·
Oracle XML
Parser, Sun’s Crimson, IBM’s XML4J, Apache’s XercesJ, etc.
·
Course material review
·
Final project description
ASSIGNMENT
·
Final Exam (take home project):
§
This part of
the project focuses on the application deployment using XML implementation and
testing technology. The application deployment process should adhere to the
following steps: (a) Determining an optimal development environment using
standard tools as appropriate, (b) Determining the best use of APIs to XSL and
XML processors, (c) Assessing performance tradeoffs, (d) Implementing a given
design using XML data modeling, data integration, and data rendering
capabilities and corresponding functional components and interconnections among
functional components, (e) Creating instances to test based on the application
data model and boundary cases, and (f) Addressing exceptions such as parser
errors, and DOM errors
§
More specific
project related information, and extra credit assignments will be provided
during the session
·
Read suggested textbook chapters, and handouts on XML
application implementation and testing
XML FOR JAVA DEVELOPERS
SESSION
OBJECTIVES
1.
Study JAXP parsers
2.
Survey XML coding assist tools
3.
Survey XML metadata management tools
4.
Discuss Final Exam project
SESSION
OUTLINE
·
JAXP parsers
·
Docuverse’s
Minimal XML Parser, etc.
·
XML Coding assist tools and user interface tools
·
XML Spy, IBM
VisualAge for Java, VBXML’s Visual XSL,etc.
·
XML metadata management tools
·
IBM’s XMI
toolkit, etc.
·
Final exam discussion
ASSIGNMENT
·
Final Exam due