Course Content
Getting Started with XML
- Objectives
- 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
- Usage of XML
- Summary
XML Syntax
- Objectives
- 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
- Summary
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
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
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
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
Introduction to XSL
- Topics
- Formatting XML Documents
- XSL
- Three Parts of XSL
- XSLT XSL Transformation
- Navigating with XPath
- Navigating With XPath
- XPath Boolean Expressions
- Formatting XML Documents
- Formatting XML Documents
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
Web services Description Language (WSDL)
- Objectives
- WSDL Overview
- WSDL Document Tags
- WSDL Namespaces
- Sample WSDL Document Structure
- One-way
- Request-Response
- Solicit-Response
- Notification
- Modeling Simple Operation
- Modeling Complex Operation
- Modeling Complex Message
- More on
Syntax - SOAP Binding Example
and - More on
- WSDL SOAP Binding Extensions
- soap:binding
- soap:operation
- RPC or Document Style?
- WSDL API for Java
Information Management in SOA
- Objectives
- 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
Introduction to Service Oriented Analysis & Design (SOAD)
- Objectives
- 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
Data Modeling in SOA
- Objectives
- 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 Participantsr logical and physical models
- How to align Participantsr 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 Participants need a published data model?
- Industry-standard XML-based data models
- Review questions
The Data Mapping Layer
- Objectives
- Why do Participants 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
- Mapping techniques
- Copy
- Splitting
- Aggregation
- Enrichment
- Filtering
- Computed
- Testing data maps
- Review questions
Master Data Management (MDM)
- Objectives
- What is Master Data Management?
- A typical data management scenario
- Why do Participants need MDM? (1 of 2)
- Why do Participants need MDM? (2 of 2)
- Why do Participants need MDM in SOA? (1 of 2)
- Why do Participants 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)
- Review questions
Industry Standard Data Models
- Objectives
- 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
- Review questions
Schema Configuration Management
- Objectives
- Evolving Schema
- Managing XML Schema
- Management Techniques
- Internal Techniques
- Schema Version Attribute
- Adding An Attribute
- Namespace Change
- File-Based Mechanisms
- External
- Which To Use?
Data Model Governance
- Objectives
- What is data governance?
- Roles and Responsibilities
- What is metadata?
- SOA metadata repository
- SOA registry as a governance tool
Data Modeling in SOA
- Objectives
- 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 Cleansing pattern Synopsis
- Data Cleansing pattern Benefits
- Data Cleansing pattern Context
- Data Cleansing pattern Solution
- Data Cleansing pattern Considerations
- 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
- BI Analytical pattern
- Review questions