1. GETTING STARTED WITH XML
Unstructured Text Document
An Employee Document
What is XML ?
Data and Document Structure
Elements
First XML
Another Example of XML
Well-formed vs. Valid XML Document
Presentation Style
Goals of XML 1/3
Goals of XML 2/3
Goals of XML 3/3
Usage of XML
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
Sections of an XML Document
XML Constructs
XML Declaration
Processing Instructions
Is the XML Declaration a Processing Instruction ?
XML Elements
Tag Attributes
Comment Tags
CDATA Tags
Entity References
Character References
Namespaces
Namespace URLS
Namespaces
Using XML Namespaces
Binary Data In XML
Encoding Binary Data
Specifying Content Type of Binary Data
Specifying Content Type of Binary Data
3. XML SCHEMA BASICS
What is an XML Schema?
Role of XML Schema in SOA
Creating a Schema File
Defining a Simple Element
Defining a Complex Element
Defining Element Attributes
Referring to an Element From Another Element
Defining Abstract Data Types
Adding Restrictions
Referring to a Schema from an XML Document
Validating the XML Against the Schema
4. 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
5. 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
6. XLINK AND XPOINTER
XLink – Introduction
Simple XLink Example
Analogous HTML
Data Relationship Example
Extended XLink Example
XPointer – Introduction
XPointer Shorthand Form Example
XPointer Scheme-based Form Example
References
7. 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
8. 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
Storing XML Data in DB2
9. 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
10. INFORMATION MANAGEMENT IN SOA
Introduction
SOA and Enterprise Information Management
Replication Overview
Operational Challenges
SOA and Data Basics
Intro: Operational Data
Data Publishing Event
Modeling Events
Data Mediation
Data Format
Generic Data Model
Example Generic Data Model
Mapping Data
Loading Data
Extract Transform Load (ETL)
ETL and SOA
Data Federation
SOA Data Layering
Data Federation vs ETL
11. INTRODUCTION TO SERVICE ORIENTED ANALYSIS & DESIGN (SOAD)
Introduction to SOAD
Applying OOAD Principles
Encapsulation
Encapsulation in SOAD
Inheritance
Inheritance in SOAD
Polymorphism
Polymorphism in SOAD
Why OOAD Is Not Enough
Granularity
The Need for Loose Coupling
The SOAD Methodology
The SOAD Methodology Steps
Stage 1: Requirements Gathering & Process Modeling
Stage 2: Service Identification
Stage 3: Service Implementation
Stage 4: Process Implementation
SOAD Stages and SOA Lifecycle
12. DATA MODELING IN SOA
Data Modeling in SOA
Data Models in SOA
The Physical Data Model
Deriving the Physical Data Model
Scenario 1: New Software System
Scenario 2: Legacy Data Model
Strategy #1: Adapter-based service example
Strategy #1: Another adapter example
Strategy #2: Wrapper Web service
Scenario 3: Meet-in-the-middle
The role of XML in SOA data modeling
Converting Relational to XML data
Storing XML data in a RDBMS
Approaches to storing XML data in a RDBMS
Storing the entire XML document
Shredding the XML document
Using a native XML data type
SQL extensions for native XML support
The Logical Data Model
Benefits of the Logical data model
Deriving a Logical Data model from the Physical
Designing the Logical Data Model
The Enterprise Architecture approach
EA Approach – example
Aligning your logical and physical models
How to align your logical and physical models
The SOAD approach
The Logical Data Model in Business Process Modeling
Business Process state variables
Input and the Receive activity
Output and the Reply activity
The Invoke activity
The Assign activity
Why do you need a published data model?
Industry-standard XML-based data models
13. THE DATA MAPPING LAYER
Why do you need data transformation in SOA?
Interface mapping in SOA
Business processes and data mapping
How are Data Maps used?
How are Data Maps created?
XML-to-XML data mapping
XML-to-Any data mapping
Mapping techniques
Copy
Splitting
Aggregation
Enrichment
Filtering
Computed
Testing data maps
14. MASTER DATA MANAGEMENT (MDM)
What is Master Data Management?
A typical data management scenario
Why do you need MDM? (1 of 2)
Why do you need MDM? (2 of 2)
Why do you need MDM in SOA? (1 of 2)
Why do you need MDM in SOA? (2 of 2)
What role does MDM play in SOA?
MDM and SOA shared principles
MDM and SOA Governance
MDM products
Implementing MDM in an SOA (1 of 3)
Implementing MDM in an SOA (2 of 3)
Implementing MDM in an SOA (3 of 3)
15. INDUSTRY STANDARD DATA MODELS
What are industry data models?
Why are these models important in SOA?
ACORD Introduction
ACORD Insurance data models
ACORD, IBM and SOA
The future of ACORD and SOA
HL7 – Healthcare
The HL7 data model
SID – Telecom
ARTS – Retail
16. SCHEMA CONFIGURATION MANAGEMENT
Evolving Schema
Managing XML Schema
Management Techniques
Internal Techniques
Schema Version Attribute
Adding An Attribute
Namespace Change
File-Based Mechanisms
External
Which To Use?
17. DATA MODEL GOVERNANCE
What is data governance?
Roles and Responsibilities
What is metadata?
SOA metadata repository
SOA registry as a governance tool
18. DATA MODELING IN SOA
Pattern template
Data Federation pattern – Synopsis
Data Federation pattern – Benefits
Data Federation pattern Context
Data Federation pattern – Solution
Data Federation pattern Solution architecture
Data Federation pattern – Considerations
Data Federation pattern – Summary
Data Consolidation pattern – Synopsis
Data Consolidation pattern – Benefits
Data Consolidation pattern – Context
Data Consolidation pattern – Solution
Data Consolidation pattern – Considerations
Data Consolidation pattern – Summary
Data Cleansing pattern Synopsis
Data Cleansing pattern Benefits
Data Cleansing pattern Context
Data Cleansing pattern Solution
Data Cleansing pattern Considerations
Data Cleansing pattern Summary
Data Management systems primer
MDM patterns Synopsis
MDM patterns Benefits
MDM pattern taxonomy
MDM pattern catalogue
Transaction Interception pattern
Transaction Interception pattern flow
MDM Pub/Sub pattern
Message-based Integration pattern
Master Data Integration pattern
Information synchronization pattern (1 of 2)
Information synchronization pattern (2 of 2)
BI Analytical pattern