MASTERING XML FOR SOA AND WEB SERVICES– GTAM9

Course Description

In this course you will learn fundamentals necessary to use XML in the data-driven applications in SOA and Web Services. Through lecture and hands-on lab exercises, you will learn the essentials of data interoperability using XML, write well-formed XML documents, enforce document validity, use XSLT and stylesheets to transform XML documents, and get an introduction to XML programming options. You will also learn best practices for how to evolve XML syntax and structure over time and how XML related to some of the fundamental technologies used by Web Services.

^^

Duration

3 days

^^

Target Audience

This course is suitable for anyone who needs an introduction to XML, including application developers, Web developers, XML document authors, and webmasters.

^^

Course Prerequisites

Familiarity with Web and data processing concepts. HTML and programming experience is helpful. HTML skills are taught in the following courses:

If you have any questions or doubts as to whether you meet the pre-requisites for this course, or indeed are wondering which course best suits you, please consult with us to discuss your suitability for course attendance.

^^

Suggested Follow on Courses

Please contact us for further details.

^^

Course Content

1. GETTING STARTED WITH XML

XML Overview

Data and Document Structure

An Employee Document

Elements

First XML

What is XML ?

Why XML?

Another Example of XML

Well-formed vs. Valid XML Document

Enforcing Validity DTDs

Presentation Style

XSL and XSLT

2. XML SYNTAX

XML Elements

Empty and Non-Empty Elements

XML Naming Rules

Rules for XML Tags

Nesting and Hierarchy of XML Elements

Simple XML

XML Declaration

Sections of an XML Document

XML Elements

Tag Attributes

Comment Tags

CDATA Tags

Entity References

Character References

Processing Instructions

Is the XML Declaration a Processing Instruction ?

Well-formed vs. Valid XML Document

Is this document well-formed?

Namespaces

Namespace URLS

Namespaces

Using XML Namespaces

Binary Data In XML

Encoding Binary Data

Encoding Binary Data in XML

3. BASIC XML SCHEMAS

What is XML Schema ?

Goals of Schema

Converting DTDs to Schema

Recall: Namespaces

The equivalent schema

Sample instance document

Documents Needed

XML Schema Namespaces

Link Documents to Schemas

Inline element declarations

XSchema Data Types

XSchema Type Definitions

XSchema Simple Data Types

Primitive Data Types

Simple Types

Facet Restrictions on Element Content

Using the Facet

More Samples

Define Simple Element Type

Element Declaration

Element Occurrence Indicators

Complex Type

Attribute Declaration

Attribute Declarations

Occurrence of Attributes

Value Constraints on Attributes

Sequence Element

Element Choices

Express any order

Annotations

4. XPATH FUNDAMENTALS

XPath

Tree Structure

Example

XPath Examples

XPath Core Definitions

Wildcards and Multiple Matches

Other Node Operators

Path Operators

Predicates

Predicate Relationships and Attributes

More Predicate Examples

Predicates Chaining and Indexing

XPath Expressions

XPath Numbers

XPath Strings

XPath Booleans

XPath Functions

String Functions

Boolean Functions

Number Functions

XSLT and XPath

XPath and Content Based Routing

Summary

5. INTRODUCTION TO XQUERY

What Is XQuery?

XQuery Uses

XQuery Properties

XPath and XSLT

XQuery Flow

XQuery Participants

Sample XQuery Source

Simple Example Queries

FLWOR Queries

F-WOR Explained

L Explained

Wrapping Output

Converting Output

Inline Output

Data Rendering

Functions

Joins

Join Example

6. INTRODUCTION TO XSL

Formatting XML Documents

XSL

Three Parts of XSL

XSLT XSL Transformation

<xsl:stylesheet>

<?xml-stylesheet>

<xsl:template>

<xsl:value-of>

Navigating with XPath

Navigating With XPath

<xsl:for-each>

<xsl:if>

XPath Boolean expressions

XPath Boolean Expressions

<xsl:choose>

<xsl:apply-templates>

<xsl:sort>

<xsl:sort>

The Music Collection Example Introduction

The Music Collection Example Sample XML file

The Music Collection Example Retrieving owner details

The Music Collection Example Retrieving the core data

The Music Collection Example Retrieving the core data

The Music Collection Example Current Output

The Music Collection Example Retrieving canadianContent data

The Music Collection Example Retrieving canadianContent data

The Music Collection Example Current Output

The Music Collection Example Retrieving media data

The Music Collection Example Retrieving media data

The Music Collection Example Retrieving media data

The Music Collection Example Retrieving media data

The Music Collection Example Final Output

Formatting XML Documents

7. XML IN APPLICATIONS

Needs for Using XML in Applications

Basic Functionalities Required for XML Applications

XML Parser

Obtaining a Parser

SAX

How it Works

DOM

DOM Parsing

Applying XML Across System Boundaries

Using XML on the Client Side

Using XML on the Server Side

Using XML in Non-Networked Systems

Using XML in RDBMS

The J2EE Blueprint

A Typical Architecture Using XML in J2EE Applications

Using XML in Applets

Using XML Parser in Applets

Using XML in Servlets

Creating XML Middleware for Accessing Databases

Transforming RDBMS Data to XML Data

Transforming XML Data to RDBMS Data

8. DATA MODELING WITH XML SCHEMA

Data Modeling

Sample Modeling

Capturing Information

Modeling Techniques

Modeling Properties

Naming Guidelines

Naming Rules

Name Separators

Vocabulary Differences

Creating A Schema

Schema Types

Available Schema Types

Schema Data Type Facets

Data Type Facets

Databases and Schema Data Types

Modeling For Reuse

9. SCHEMA CONFIGURATION MANAGEMENT

Evolving Schema

Management Techniques

Internal Techniques

Schema Version Attribute

Adding An Attribute

Namespace Change

File-Based Mechanisms

External

Which To Use?

Summary

10. 1

Parsing Strategies

Web 1.0 vs Web 2.0

Asynchronous Performance

Performance Best Practices

11. INTRODUCTION TO WEB SERVICES

A Conceptual Look at Services

Defining Services

Service Communication Analogy

Three Key Service Questions

Connecting the Dots

SOA Runtime Implementation

What is a Web Service?

Enterprise Assets as Services

Typical Development Workflow

Advantages of Web Services

Web Service Business Models

Example: Internal System Integration

Example: Business Process Externalization

Binding via SOAP

SOAP in Protocol Stack

SOAP Structure

SOAP Message Architecture

Applying SOAP

Interface via WSDL

WSDL Structure

Applying WSDL

Locating a Service

UDDI Overview

UDDI Terminology

UDDI Structure

Applying UDDI

WS-I Overview

WS-I Deliverables

12. WEB SERVICES DESCRIPTION LANGUAGE (WSDL)

WSDL Overview

WSDL Document Tags

WSDL Namespaces

Sample WSDL Document Structure

<definitions>

<import>

<types>

<message>

<portType>

<operation>

One-way <operation>

Request-Response <operation>

Solicit-Response <operation>

Notification <operation>

Modeling Simple Operation

Modeling Complex Operation

Modeling Complex Message

<binding>

More on <binding>

<binding> Syntax

SOAP Binding Example

<service> and <port>

More on <port>

WSDL SOAP Binding Extensions

soap:binding

soap:operation

RPC or Document Style?

WSDL API for Java

13. SIMPLE OBJECT ACCESS PROTOCOL (SOAP)

SOAP Overview

SOAP in Protocol Stack

SOAP Components

SOAP HTTP Request Example

SOAP HTTP Response Example

Message Envelope

The Header Element

Header Attributes

SOAP Body

SOAP Fault

Communication Style

RPC/Encoded Style

RPC/Literal Style

Enabling RPC Styles

Document/Literal Style

Document/Literal Wrapped Style

Details of the Wrapped Style

Enabling Document Literal Style

^^

See more Architecture courses