XML to Soap to System Integration
The Soul of a New Protocol
Bruce Eckel Presents:
A 5-day, Hands-on Intensive Workshop
Created & Taught by Dave Bartlett
hosted by Bruce Eckel
For technical questions and information about in-house training,
consulting, and offsite
development services, email
dbartlett@pobox.com
Here's why you'll want to come!
This course is designed to lay the foundations for future Web-based
data-intensive applications. The goal of this course is to teach you XML by
using it in various senarios. Many different XML applications will used, many
different parsers will be used and the examples will be developed in several
languages including Java, C++, Python, Visual Basic and Perl. Attendees should have experience in one of the following languages Java, C++, Python or VB.
The Web provides a simple and universal standard for the exchange of
information. Its central task is to decompose information into units that can
be named and transmitted. Typically that unit of information is a file created
by one Web user and shared with others by making it available in the form of a
URL. It is important to understand that this information is designed to be
distributed in a human-readable format - HTML documents. The success of the Web
is derived in part from the development of HTML, a means of structuring text for
visual presentation. HTML describes both an intradocument structure (layout and
formatting of text) and an interdocument structure (hyperlinks). Most courses
and articles focus on XML as a replacement to HTML. This view of XML is
exceptionally limited and narrow; XML is about data, not documents.
There is a long-standing view of the structure of information that is almost
orthogonal to that of document and textual structure - the view developed for
data management systems. People working in this field use the vocabulary of
relational database schemas and entity relationship diagrams to describe
structure. They are concerned with query languages to access information and
with mechanisms for concurrency control and for recovery in order to preserve
the integrity of the structure of their data. Providing efficient
implementations of databases and query languages is a central issue in
databases. XML and its various extensions (data-models, query languages)provide
methods that make Web information accessible in a semi-structured way.
This course is designed to bridge these differences and provide you with the
understanding to create applications utilizing XML as semi-structured data.
The course gives you solutions describing how to use XML to solve the
problem of providing a robust interface with stable parsing tools that are
independent of any display format. We look at the the latest developments
that apply efficient storage and extraction technology developed for highly
structured database systems to bear upon the relatively loosely structured
format specified by XML.
Session 1: Introduction and Overview
- Introduction
- What is XML?
- Origins, History, Comparison to HTML
- Creating Documents
- Viewing XML
- Testing XML
- Transformations
- Writing XML Documents
Session 2: Markup Language Components
- An XML Document
- Elements
- Attributes
- Introduction to Namespaces
- Entities
- Example
- A "well-formed" document
- Data Structure in XML
- Verification
- XML Tools
Session 3: Validating XML
- Validating documents with Document Type Definition (DTD)
- Validation and defining a markup language
- DTD Syntax
- Validating Elements and attributes
- Tips and tricks for designing DTDs
Session 4: XML Schemas
- Limitations of DTDs
- XML Schema
- Moving DTDs to XML Schemas
- Modeling Data with XML Schemas
Session 5: XML Namespaces
- What are Namespaces?
- Assigning URLs to Namespaces
Session 6: Xpointers and Xlinks
- Connecting Resources
- Specifying Resources
- Xpointer
- Introduction to Xlinks
Session 7: XML and Data
- Relating XML and Metadata
- Positioning XML in a 3-tier architecture
Session 8: Applying Style to Data
- The necessity of style
- Design rules
- XSL Elements
Session 9: XSL
- Comparing XSL to CSS
- Processing documents with pattern mathching and templates
- Programming with XSL functions
- Filtering and sorting with XSL
Session 10: Transforming XML with XSLT
- Tools for Transformations
- XML to HTML using XSL
- XML to XML
Session 11: Formating XML with XSLT-FO
- Creating a Formatted Document
- XSL Formatting Objects
Session 12: XML Protocols and SOAP
- Understanding RPC's
- HTTP as an RPC
- XML for Data Representation
- HTTP + XML = SOAP
- Anatomy of a SOAP Message
- SOAP Standardization
- DATABASES AND XML
Session 13: Building Data Repositories
- Identifying relationships between XML and databases
- XML data server capabilities
Session 14: Relational Databases
- Working with XSQL
- Accessing databases using middleware
- Communicating with databases
- Generating XML using database tools
Session 15: DOM Fundamentals
- The role of DOM
- DOM Architecture
- DOM Parsers
- Processing with DOM
- Modifying XML with DOM
Session 16: SAX, Simple API for XML
- Event-driven SAX Model
- Accessing Elements and Attributes with document handler interface
- Error handling in SAX
- Integrating SAX and DOM