XML

This course covers in detail how to use XML in applications. The focus is on how to use XML as the industry standard format for data exchange. Various types of application are reviewed: publishing, e-commerce, and B2B e-business. XML is hyped as the language of e-business, but at root it is just a format for data exchange. The advantage over a system such as EDI is that it is extensible. However, XML still has limitations. To ensure integrity in XML communication, you must correctly model the system. The process promoted in the course can be summarized as:

  • use/adapt industry standards before inventing new ones (BizTalk, etc)
  • write a business model in UML
  • derive an XML schema from business model
  • write adapters or use vendor's, to wrapper legacy applications
  • write test monitors

Duration: 2 days

objectives

  • cover all the necessary technical areas of XML
  • provide up-to-the-minute information on XML technology and standards.
  • look at the wider issues of integration
  • uncover the limits of XML and discuss current work in these areas
  • use UML business modelling to model your XML schema

target audience

The course is suitable for analysts and designers wishing to develop clear precise methods to implement XML within the enterprise; and managers and architects wishing to understand the strategic issues in migrating to, and getting the best out of an XML-based system.

XML syntax and semantics

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

  • mark up: structure implicit (eg HTML)
  • XML records structure: formatting deduced.
  • strict rules
  • a thorough examination of all XML syntax
  • XML schemas: the semantics defined
  • from DTDs to XML schemas
  • valid and correct XML
  • names Vs attributes
  • declarations
  • object trees and data serialization.
  • entities: macro behaviour (general/parameters, internal/external, parsed/unparsed)
  • processing instructions, eg attach stylesheets (covered in detail later)

XML applications

Either document applications aimed at people or data applications for automatic processing with software.

  • 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 document as the application
  • 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 companion standards

A set of related standards for creating XML applications.

  • XML namespace — only way to enable reuse of standard structures
  • stylesheets: XSL and CSS
  • syntax of XSL — XML Stylesheet Language
  • presentation-independent representations
  • from one XML document publish to the Web, to print, CD-ROM, any other media
  • CSS (Cascading Style Sheets) and its preference over XSLFO (XSL Formatting Objects)
  • translations and filters
  • XSLT (XSL Transformation)
  • XML to HTML
  • converting between models
  • XML APIs: DOM and SAX
  • application-to-application exchanges
  • forms and editors
  • XLink and XPointer

XML software

Demonstrations and examples of current XML software.

  • XML browsers, with a focus on stylesheet support
  • XML editors (Adobe Framemaker, XML Pro, XMetal, Microsoft XML Notepad)
  • XML parsers: your shield from XML syntax
  • XSL processors (LotusXSL)
  • XML clients and an Excel example
  • databases and XML
  • XML databases
  • XML and Oracle (Oracle XML SQL utility)

XML standards and current issues

XML is very young but rapidly evolving. Limitations are being confronted all the time.

  • BizTalk
  • Commercial XML (cXML) from Ariba
  • e-business XML (ebXML), open source project
  • Apache Cocoon - future XSP technology
  • Advancements on DTD as form for XML schemas
  • XML optimization
  • Object model mapping (covered in detail later)

Business modelling and UML basics

This section covers techniques of identifying business concepts and tasks, and introduces relevant parts of UML.

  • static models
  • objects, types, attributes, snapshots
  • subtypes
  • dynamics
  • use-cases and tasks
  • event charts
  • state charts
  • building a business model
  • finding use-cases
  • documentation style
  • post conditions

XML schemas from business models

Creating the DTD from the UML diagrams. Data integrity is ensured based on the soundness of the model

  • class diagram types to entities
  • EDI transactions to Use-Case described transactions
  • transaction post conditions
  • business rules
  • static and dynamic constraints
  • XML tree rules revisited
  • cyclic process of refinement
  • specification of adapters
  • use of state diagrams for integration
  • integrating business/component models
  • monitor data in and out of systems
  • adapting existing schemas

XML in a distributed enterprise system

XML can be used vertically and horizontally through the enterprise.

  • presentation layer: XML as the perfect solution (HTML generation is v. hard to debug)
  • business logic
  • XML as business objects transported between applications
  • data persistence: vendor-standard translations between XML and storage
  • wrapper existing applications
  • write adapters or use 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, or even created.

timetable

Day 1

  • XML syntax and semantics
  • XML applications
  • XML companion standards
  • XML software

Day 2

  • XML standards current issues
  • Business modelling and UML basics
  • XML schemas from business models
  • XML in a distributed enterprise system

course instructor

The course 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