Chapter 1. SOA Fundamentals
|
| |
- Defining Service Oriented Architecture (SOA)
- Putting SOA in Context
- SOA As an Alignment Strategy
- The SOA Umbrella
- What’s a Service?
- Service Actors
- Serving Up SOA
- Business Process Management
- BPM & Workflow
- SOA Governance
- SOA Governance Model
- SOA Job Role Impact
- Before SOA
- SOA Re-Organization
- What Makes a Good Design?
- Is SOA a New Concept?
- Service Orienting the Enterprise
- Service Oriented Thinking
- SOA Is Perfect…NOT!
- Service Characteristics
- When Do I Need a Service?
- About Services in SOA
- Contract-Driven Software
- SOA Standards
- Summary
|
| |
Chapter 2. SOA Case Study
|
| |
- What is a Case Study?
- Case Study Background
- Additional Background
- The Problem Statement
- Status Quo Issues
- Status Quo Issues (continued)
- Opportunities
- How Can SOA Help?
- Example Solution Snippet
- Summary
|
| |
Chapter 3. Introduction to Web Services
|
| |
- A Conceptual Look at Services
- Defining Services
- Three Key Service Questions
- Service Communication Analogy
- Connecting the Dots
- SOA: Runtime Implementation
- What Is a Web Service?
- Enterprise Assets as Services
- Web Service Development Workflow
- Advantages of Web Services
- Web Service Business Models
- Example: Internal System Integration
- Example: Business Process Externalization
- Web Service Standards
- Binding via SOAP
- SOAP in Protocol Stack
- SOAP Structure
- SOAP Message Architecture
- Applying SOAP
- Interface via WSDL
- WSDL Structure
- Locating a Service
- UDDI Overview
- UDDI Structure
- Applying UDDI
- WS-I Overview
- WS-I Deliverables
- Summary
|
| |
Chapter 4. Layers of Services
|
| |
- What Is Layering?
- Service Layers
- Layering Example
- The Application Service Layer
- The Business Service Layer
- The Orchestration Layer
- Layering Guidelines
- The User Interface Layer
- Context Awareness in SOA UI
- Web 2.0 Data Aggregation
- Summary
|
| |
Chapter 5. SOA Value Proposition
|
| |
- The SOA Value Proposition
- Reducing Integration Expense
- Integration Costs Illustration
- Ripple effect of changes
- The Value of Service Layering
- Advantage of SOA Layering
- Increasing Asset Reuse
- SOA Economics/ROI
- Asset Reuse Illustration
- Service Reuse v. Object Reuse
- Increasing Business Agility
- Business Agility Illustration
- Traditional EAI Approach
- Problems with Traditional EAI Approach
- Change Flow Using Legacy Approach
- SOA Agility
- Build the Services
- Build the Process or Message Flow
- We Can Easily Change the Process
- Reducing Business Risk
- Example: Compliance Using SOA
- Business Advantages
- ROI Quantification Hurdles
- Real World SOA Example 1
- Real World SOA Example 2
- Real World SOA Example 3
- Real World SOA Example 4
- Summary
|
| |
Chapter 6. Architectural Topology for SOA
|
| |
- Vendor Confusion
- Service Intermediaries
- Intermediary Options
- Intermediary Service
- Centralized Bus
- Logical Centralized Bus
- De-centralized Framework
- Policy Enforcement at Endpoints
- Comparing the Approaches
- Summary
|
| |
Chapter 7. 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 or Message Flow Modeling
- Stage 1: Requirements Gathering & Process Modeling
- Stage 2: Service Identification
- Stage 3: Service Implementation
- Stage 4: Process Implementation
- SOAD Stages and SOA Lifecycle
- Summary
|
| |
Chapter 8. SOA Service Life Cycle
|
| |
- SOA Adoption
- Adoption Stages
- Managing Services
- SOA Service Life Cycle Overview
- SOA’s Circle of Life
- Discovery Phase
- Analysis & Design Phase
- Implementation Phase
- Deployment Phase
- Monitor Phase
- Retirement Phase
- Summary
|
| |
Chapter 9. Stage 1: Business Modeling and Use Cases
|
| |
- Stages of SOAD
- Where are We in SOA Lifecycle?
- Stage 1:Business Process Modeling
- Basic Concepts
- SOA and Business Process Model
- Before You Get Started
- Process Modeling Steps
- Business Process Use Cases
- Modeling the Business Processes
- Use Case and Business Process
- The Return Handling Process Model
- Trading Partner Design Pattern
- The UML Alternative
- Best Practices
- Summary
|
| |
Chapter 10. 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
|
| |
Chapter 11. Complex Data Types In Schema
|
| |
- Simple Types
- Complex Types
- Complex Type Example
- Controlling Content
- <sequence>
- <choice>
- <all>
- Combining It All
- The XML
- Anonymous vs. Named
- Address Example
- Named Complex Types
- Named ComplexType Example
- Using Named Complex Type
- The XML
- <xs:any>
- Summary
|
| |
Chapter 12. Web Services Description Language (WSDL)
|
| |
- WSDL Overview
- WSDL Syntax Overview
- <definitions>
- <import>
- <types>
- <message>
- <portType>
- <operation>
- <binding>
- <service>
- Summary
|
| |
Chapter 13. Service Identification and Specification
|
| |
- Stages of SOAD
- Where are We in Service Lifecycle?
- The Service Identification Stage
- The Service Model
- Service Model Example #1
- Service Model Example #2
- Service Model Example #3
- Identify Service Operations from Business Process Model
- Identify Service Operations from Message Flow Model
- Group Operations as Services
- Reuse Services and Applications
- Define Logical Data Model
- Specify Service Interface
- Specify Business Process or Message Flow Interface
- Business Process Case Study
- Message Flow Case Study
- Service Contract Template
- Service Design Best Practices
- Summary
|
| |
Chapter 14. Simple Object Access Protocol (SOAP)
|
| |
- SOAP Overview
- SOAP in Protocol Stack
- SOAP Document Components
- Example SOAP Request Document
- Example SOAP Response Document
- The <Envelope> Element
- The <Header> Element
- The <Body> Element
- SOAP Communication Style
- Communication Style Example
- Setting the Style in WSDL
- RPC/Encoded Style
- RPC/Literal Style
- Document/Literal Style
- Document/Literal Wrapped Style
- Summary
|
| |
Chapter 15. Service Design and Implementation
|
| |
- Stages of SOAD
- Where are We in the SOA Lifecycle
- Introduction
- How Is a Service Developed?
- Top Down Development
- Web Services Programming Model
- Apply OOAD in New Service Development
- Bottom-Up Development
- Bottom-Up Technology Choices (Java)
- Example: JCA-Based Service
- Example: JAX-WS Service
- Bottom-Up Technology Choices (.NET)
- Example: ASMX Service
- Example: Adapter-Based Service
- Data Mapping
- Service Abstraction
- Interface Mapping
- Implementing the Services for UC001 Return Handling
- Best Practices
- Summary
|
| |
Chapter 16. Stage 4: Business Process Implementation
|
| |
- Stages of SOAD
- Where are We in the SOA Lifecycle?
- Basics
- Business Process Diagram
- Process Automation Challenges…
- …More Challenges
- BPEL
- Variables
- Partnership
- Example: A Buy-Sell Partnership.
- Modeling Partnership in BPEL
- Simple Activities
- Invoke Activity
- Structured Activities
- Process Development Phases
- Phase II Process Definition
- Phase III Process Compilation
- Phase IV Process Deployment
- Phase VProcess Execution
- What Is a Good Process Design?
- Follow Integration Patterns
- Example: A Simple Process
- Additional Process Design Considerations
- Summary
|
| |
Chapter 17. Service Component Architecture(SCA)
|
| |
- Need For a New Programming Model ...
- Need For a New Programming Model
- SCA Vendor Support
- Service Component Architecture
- SCA Basics
- Assembling Services
- SCA Components
- Service Components
- References and Wires
- Wiring Example
- Service Components
- Imports
- Export
- Imports and Exports
- Service Implementation Types
- Summary
|
| |
Chapter 18. Adapters
|
| |
- What is an Adapter?
- Adapter Example
- The Adapter Pattern
- Resource Adapters
- Custom Adapters
- Adapter Based Services
- Advantages of Adapter Based Services
- Generating Adapter Based Services
- Communication Modes
- Outbound Communication
- Inbound Communication
- Summary
|
| |
Chapter 19. 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
- Summary
|
| |
Chapter 20. SOA Challenges and Risks
|
| |
- SOA Challenges and Risks
- Emerging Standards
- Emerging Standards (contd)
- Selecting Tools and Infrastructure
- Service Selection and Creation
- Service Management
- Portfolio Management
- Paradigm Shifting
- Communication
- Policies and Compliance
- Project Management
- Training and Re-skilling
- Governance and Risk Mitigation
- Summary
|
| |
Chapter 21. Governance Fundamentals
|
| |
- The Strategic Role of IT
- Governing IT
- IT Infrastructure Library (ITIL)
- ITIL: Managing IT Activities
- ICT Infrastructure Management (ICTIM)
- ICTIM Processes
- Control Objectives for Information and related Technology (COBIT)
- Need for SOA Governance
- SOA Governance
- SOA Governance Adoption
- Key Governance Relationships
- SOA Governance Elements
- SOA Governance Procedures
- Recommended Procedures
- More Recommended Procedure
- SOA Governance Policies
- Enterprise Policies
- Business Policies
- Service Policies
- SOA Governance Metrics
- More SOA Governance Metrics
- Some Best Practices
- Relevant Standards Work
- OASIS SOA-RM
- Reference Model in Context
- OASIS SOA-RA
- Summary
|
| |
Chapter 22. Overview of Service Registries
|
| |
- Services Registry
- Why Do We Need a Service Registry?
- Main Activities when Using a Registry
- Publish
- Discovery
- Dynamic Discovery
- Management
- Enforce Governance Lifecycle
- SOA Registry Products
- Summary
|
| |
Chapter 23. Messaging and Asynchronous Communication
|
| |
- Introduction
- Asynchronous SOA
- Basic Messaging Patterns
- SOA Callbacks ...
- Callback Example
- Implementing Callbacks
- BPEL Correlation Sets
- Additional Uses of Callbacks
- Non-Blocking Calls in SOA
- Parallel Activity
- One-Way Non-Blocking Calls
- Assured Delivery
- Implementing the Publish Subscribe Pattern
- SOA Client Behavior
- BPEL Events Handling
- Event Handler Details 1/2
- Event Handler Details 2/2
- Summary
|
| |
Chapter 24. Error Handling and Transaction
|
| |
- Introduction
- Error Handling in a Service
- Designing Faults
- Error Handling in a Process
- Fault Handler
- Fault Handler Example
- Raising Faults in a Process
- Transaction in SOA ...
- Transaction in SOA
- Transaction and Short Lived Business Process
- Transaction and Long Lived Business Process
- Example: Long Running Process
- Transaction Context Propagation
- Example: Transaction Context Propagation
- Compensation
- Compensation in a Microflow
- Compensation in a Long Running Process
- Example Compensation
- Compensation Handler
- Compensation Guidelines
|
| |
Chapter 25. SOA Security Patterns
|
| |
- Key Challenges in SOA Security
- Authentication Pattern
- Authorization Pattern
- Confidentiality Pattern
- Non-repudiation Pattern
- Inter-organization Authentication Pattern
- Single Sign On Pattern
- Federated Security Pattern
- Summary
|
| |
Chapter 26. SOA Patterns
|
| |
- Patterns: Introduction
- SOA / EAI Patterns
- Messaging Problem #1
- Asynchronous Queuing Pattern – 1/2
- Asynchronous Queuing Pattern – 2/2
- Asynchronous Queuing Pattern Illustration
- Messaging Problem #2
- Event-Driven Messaging Pattern
- Event Messaging Pattern Illustration
- Messaging Problem #3
- Reliable Messaging Pattern
- Reliable Messaging Pattern Illustration
- Protocol Integration Problem #1
- Adapter Pattern
- Adapter Pattern Illustration
- Protocol Integration Problem #2
- Canonical Protocol Pattern
- Canonical Protocol Pattern Illustration
- Protocol Integration Problem #3
- Protocol Bridging Pattern
- Protocol Bridging Pattern Illustration
- Data Management Problem #1
- Canonical Data Format Pattern
- Canonical Data Format Illustration
- Data Management Problem #2
- Data Transformation Pattern
- Data Transformation Illustration
- Data Management Problem #3
- Data Management Problem #3 (cont’d)
- Schema Centralization Pattern
- Schema Centralization Illustration
- Service Design Problem #1
- Service Design Problem #1 (cont)
- Intermediate Routing Pattern
- Intermediate Routing Illustration
- Service Design Problem #2
- Decoupled Contract Pattern
- Decoupled Contract Illustration
- Decoupled Contract Another Illustration
- Service Design Problem #3
- Service Encapsulation Pattern
- Service Encapsulation Illustration
- Service Design Problem #4
- Service Decomposition Pattern
- Service Decomposition Illustration
- Summary
|
| |
Chapter 27. SOA Antipatterns
|
| |
- What are Antipatterns?
- Technology-driven SOA Adoption
- So What's New?
- SOA Is the Cure All
- Web Service is SOA
- The Silo Approach
- Fine Grained Service
- Point-to-Point Communication
- Stateful Services
- Summary
|
| |
Chapter 28. SOA Infrastructure and Tools
|
| |
- SOA Infrastructure and Tools
- Network Appliances
- Enterprise Service Bus
- Service Container
- Business Rules Engine
- Business Activity Monitoring
- Service & Policy Management
- Business Process Engine
- Service Registry
- Service Repository
- Development Tools
- Tool Combinations
- What is the minimum?
|
| |
Chapter 29. Glossary
|
| |
|
| |
Chapter 30. Service Oriented Modeling and Architecture (SOMA)
|
| |
- Introduction
- SOMA
- The Rational Unified Process
- SOMA & RUP
- Summary
|
| |
Chapter 31. WS BPEL 2.0 A Technical Overview
|
| |
- WS BPEL 2.0
- Motivation
- History
- Basics
- BPEL Usage
- BPEL Constructs
- BPEL Constructs
- Activities
- BPEL Documents
- Imports
- Partner Links
- Example: a Buy-Sell Partnership
- Modeling Partnership in BPEL
- Variables
- Variable Properties
- Correlation Sets
- BPEL Activities
- Standard Attributes
- BPEL Basic Activities - invoke
- BPEL Basic Activities – receive
- BPEL Basic Activities - assign
- BPEL Basic Activities - throw
- BPEL Basic Activities - rethrow
- BPEL Basic Activities - wait
- BPEL Basic Activities - empty
- BPEL Basic Activities - exit
- Structured Activities - sequence
- Structured Activities - if
- Structured Activities - while
- Structured Activities - repeatUntil
- Structured Activities - pick
- Structured Activities - flow
- Structured Activities - forEach
- BPEL Scopes
- BPEL Handlers
- Summary
|