This course is designed for the data modelers who are considering using SOA as the next generation methodology for Enterprise Application Integration. Data modeling plays a key role in SOA where the chief concern is data integration between applications. Traditionally data modeling has been limited to Relational Database Management Systems (RDBMS). This course will help you extend your existing RDBMS modeling knowledge to the SOA world.
Course Prerequisites
It is expected that students have a clear idea about the SOA methodology and its benefits. If you are relatively new to SOA, Introduction to SOA is highly recommended.
Who Should Attend?
IT practitioners who are responsible for data modeling, such as, database administrators and business analysts.
Course Outline
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
Markup Languages
SGML
HTML
Structure of HTML
XML
Goals of XML
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
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
Specifying Content Type of Binary Data
Specifying Content Type of Binary Data
3. XML Schema Basics
Objectives
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
Summary
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
Summary
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
Summary
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
Topics
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
Topics
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)
Objectives
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
Summary
10. Information Management in SOA
Objectives
Introduction
SOA and Enterprise Information Management
Operational Data Replication Basics
SOA and Data Basics
Data Publishing Event
Modeling Events
Handling Events in a BPEL Process
Data Mediation
Data Format
Generic Data Model
Example Generic Data Model
Mapping Data
Loading Data
Extract Transform Loading (ETL)
ETL and SOA
Data Federation
Summary
11. Introduction to Service Oriented Analysis & Design (SOAD)
Objectives
Introduction to SOAD
Applying OOAD Principles
Abstraction
Abstraction in SOAD
Encapsulation
Encapsulation in SOAD
Modularity
Modularity in SOAD
Hierarchy
Hierarchy 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
Summary
12. Data Modeling in SOA
Objectives
Data Modeling in SOA
Data Models in SOA
The Physical Data Model
Deriving the Physical Data Model
New Software System scenario
Legacy Data Model scenario
Adapter-based service
Adapter-based service C++ example
Wrapper Web service
Meet-in-the-middle scenario
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