develop applications with Java and XML

This course covers in detail how to use XML (eXtensible Markup Language) with Java. It is a practical led course that requires core competency in Java. Basic UML that can be readily understood, is also used. XML is hyped as the language of e-commerce and e-business, but at root is just a format for data exchange. The big advantage it has over other formats, such as EDI, is that it is extensible. The course reviews a range of XML-based application scenarios developed in Java — including oth Business-to-Business (B2B) and Business-to-Consumer (B2C) application architectures. The focus of this course, is how to integrate XML into Java systems. Practical work is based around a Java e-commerce application, that uses XML as the common format for data exchange. It is derived from an actual business system.

Duration: 2 days


  • cover all the necessary technical areas of XML and interfacing XML with Java
  • implement a Java e-commerce system that uses XML for data exchange
  • look at the wider issues of integration
  • reveal the limits of XML and discuss current progress in these areas

target audience

The course is suitable for Java developers wanting to use XML within applications. The practical exercises are run on a PC with Windows, with a 1.1+ JVM, and pre-loaded Apache parsers. The course is run using Java 1.1.


Ideally this training should be preceded by the course: design and develop Java applications.

XML syntax and semantics

A detailed review at the XML standards to exchange and publish information in a structured way.

  • mark up — structure implicit
  • XML records structure — formatting deduced
  • strict rules
  • an examination of all XML syntax
  • XML schemas
  • the semantics defined
  • DTD
  • which elements are allowed where
  • valid and correct XML
  • names bs attributes
  • declarations
  • object trees and data serialization.
  • unicode
  • how XML is actually sent
  • entities
  • macro behaviour (general/parameters, internal/external, parsed/unparsed)
  • processing instructions

XML-based applications

Analysis of the design of two applications. One with a human client — a document application. Another aimed at automatic processing by software — an e-business data application.

  • publishing - HTML done right
  • B2B, XML's killer app
  • B2B scenarios
  • e-business system involved: delivery, sales, etc
  • cross company communication: replacement for EDI
  • the application as the document
  • XML and relational databases
  • XML and dynamic Web publishing
  • benefits of XML schemas to applications
  • XML processors enforcing structure
  • application access to document structure
  • fixed values
  • channels

XML standards

A set of related standards for creating XML applications.

  • XML namespace; only way to enable reuse of standard structures
  • DTDs to XML Schemas
  • stylesheets; XSL and CSS
  • syntax of XSL (XML Stylesheet Language)
  • Apache Cocoon and future XSP technology
  • CSS (Cascading Style Sheets) compared with XSLFO (XSL Formatting Objects)
  • XSLT (XSL Transformation)
  • example using XSL
  • XML to HTML and plain text
  • application-to-application exchanges
  • forms and editors
  • e-business XML (ebXML), open source project
  • XML APIs
  • DOM and SAX

XML software

Demonstrations and examples of current XML software.

  • XML browsers - focus on stylesheet support
  • XML editors (Adobe Framemaker, XML Pro, XMetal, Microsoft XML Notepad)
  • XML parsers (standard Apache/IBM ones for Java)
  • XSL processors
  • XML clients and an Excel example
  • databases and XML
  • XML databases
  • XML and RDBMSs (Oracle, SQL Server)

XML in distributed Java applications

Parsing XML or converting into XML, is subject to a number of conditions based on the type of application.

  • distributed applications and performance issues
  • XML optimization patterns
  • the portal model
  • XML on the client side
  • browser limitations
  • SOAP
  • applications server support

Software modelling with XML and UML

This section covers techniques of identifying business rules that XML must abide by, and introduces relevant parts of UML.

  • static models and why XML needs modelling
  • objects, types, attributes, snapshots
  • examples to show XML's limitations
  • use-cases and tasks
  • how to build the necessary interfaces
  • event and state charts
  • precursors to formation of business rules
  • examples of building UML models for XML systems

Java design from XML-based models

Focused on the translation from our model to Java code; in particular the interface points between XML and Java

  • class diagram types to entities
  • transaction post conditions
  • business rules
  • static and dynamic constraints
  • XML tree rules revisited
  • specification of adapters
  • use of state diagrams for integration
  • integrating business/component models
  • monitor data in and out of systems

Uses of XML in business systems

XML can be used vertically and horizontally through the enterprise. This concluding section will look at the many ways XML can be used in business systems.

  • presentation layer and the XML solution to HTML generation problems
  • business logic
  • XML as business objects transported between applications
  • data persistence and standards adopted by database vendors
  • wrapper existing applications
  • write adapters or use the vendor's
  • the importance of test monitors

Please note, when taught at your site, this course is customizable. Modules can be adapted, removed, added from other courses

course instructor

It is presented by one of our senior consultants, each of whom has at least ten years' experience in software development, and at least three years' experience as a trainer and consultant in a diverse range of application areas.

print     printer-friendly version