Topics | |
|
|
Audience | |
|
|
Prerequisites | |
Java programming. Beginner level knowledge of J2EE and XML. | |
Duration | |
Five days. |
Outline for Service Oriented Architecture (SOA) Immersion Bootcamp Training
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. Enterprise Service Bus (ESB)
- SOA and the ESB Pattern
- Loose Coupling
- Service Invocation
- Business Process
- Data Integration
- Enterprise Service Bus (ESB)
- Legacy System Integration
- Unsupported Protocol
- The Role of ESB in SOA
- ESB: Software Artifacts
- ESB: Software Artifacts
- Business Process
- Business Process: Example
- Minimum ESB Capabilities
- Minimum ESB Capabilities: Integration
- Minimum ESB Capabilities: Communication
- Minimum ESB Capabilities: Service Interaction
- Minimum ESB Capabilities: Management
- Security and ESB
- Summary
Chapter 5. 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 6. 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 - Sears Canada
- Real World SOA Example - BlueStar Energy
- Real World SOA Example - Reliance Life Insurance
- Real World SOA Example - Harley-Davidson
- 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. 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 9. Software Platform for SOA
- SOA Development Iteration
- SOA Development Iteration
- Types of Software Needed To Support SOA
- Oracle SOA Suite
- IBM Software Offering
- IBM WebSphere Process Server
- IBM IT Service Management (ITSM) Tools
- TIBCO BusinessWorks
- TIBCO SmartMapper
- webMethods Fabric
- webMethods: Enterprise Service #Platform (ESP)
- webMethods: Business Process #Management (BPM)
- webMethods: Business Activity #Monitoring (BAM)
- webMethods: Composite #Application Development
- WebLogic Integration
- Microsoft BizTalk Server 2006
- Windows Workflow Foundation (WF)
- Summary
Chapter 10. 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 11. Stage 2: Service Identification
- Stages of SOAD
- Where are We in the SOA Lifecycle?
- Stage 2: Service Identification
- The Service Model
- Developing a Service Model
- Service Model Example #1
- Service Model Example #2
- Service Model Example #3
- Service Model Granularity
- SOAD Stage 2 Process
- Identifying Services
- Service Identification Check
- Specify the Service Interface
- Specify The Process Interface
- Identify Services from UC001 – Return Handling
- Identify Services from UC001 – Return Handling (continued)
- Service Contract Template
- Service Contract Template Part 2
- Service Contract Template Part 3
- Service Design Best Practices
- Summary
Chapter 12. XML Programming
- XML Overview
- Data and Document Structure
- An Employee Document
- Tags
- First XML Document
- Markup Languages
- What is XML ?
- Why XML?
- An Example of XML Document
- Well-Formed v. Valid XML Document
- Enforcing Validity: DTDs
- Presentation Style
- Sections of an XML Document
- XML Elements
- Nesting and Hierarchy of XML Elements
- Tag Attributes
- Naming Rules
- Namespaces
- Using Namespaces
- Java API for XML
- The XML Example
- Example SAX Handler
- Example: Begin Parsing
- Once Again with Namespace
- Using DOM to Parse
- With Namespace Enabled
- Example: Build DOM Document
- Example: Save DOM Document in a File
- Persisting XML
- Summary
Chapter 13. XML Schema Basics
- What is an XML Schema?
- Role of XML Schema in SOA
- SOA and Non-XML Data
- 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
Chapter 14. Web services Description Language (WSDL)
- WSDL Overview
- WSDL Document Tags
- WSDL Namespaces
- <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
Chapter 15. 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
- Summary
- Type Checking and Messages
- Testing Message-Driven Bean
- Summary
- References
Chapter 16. 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 17. Web Services Software Development Methodology
- Need for a Software Methodology in Web Services
- The Software Lifecycle
- Software Lifecycle
- Service Provider
- Provider: Green Field
- Provider: Top-down
- Provider: Bottom-up
- Provider: Meet in the Middle
- The Service Requester
- Summary
Chapter 18. 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 19. Applying Traditional Security to SOA
- Public Key Infrastructure (PKI)
- Digital Signature
- Digital Signature Process
- Certificates
- Authentication
- Authentication
- Basic HTTP Authentication
- Secure Socket Layer (SSL)
- Basic Authentication over HTTPS
- Securing Non-HTTP Traffic
- Summary
Chapter 20. WS-Security Details
- SOA Security Model
- SOA Security Policies
- Transport Level Security Policy
- Message Level Security Policy
- Data Level Security Policy
- Overview of Web Services Security
- Securing XML Data
- XML Digital Signatures
- XML Encryption
- WS-Security Tokens
- WS-Security Considerations
- Putting it all together
- Phase 1: The Service-side
- Phase 1: Build a secure service
- Phase 2: The Client
- Phase 2: Build a secure client
- Phase 3: Production
- Audit Tracking
- Identity Assertion Using SAML
- SAML SOAP Example
- Summary
Chapter 21. Introduction to SOA Testing
- Introduction
- The SOA Components to Test
- Parts of a Test Framework
- Layered Component Testing
- Testing the SOA Layers
- Phased Testing
- SOA Testing Challenges 1/3
- SOA Testing Challenges 2/3
- SOA Testing Challenges 3/3
- SOA Testing Opportunities
- Summary
Chapter 22. Unit Testing SOA Components
- Introduction
- Verification Scenarios
- Unit Testing a Web Service
- Other Types of Services
- Unit Testing Guidance
- Unit Testing SOA Components
- FUnit Testing SOA Components
- Unit Testing SOA Components
- More Details: Testing Data Maps
- Data Map Test Guidance
- More Details: Business Process
- Functional Testing Business Process
- Business Process Test Guidance
- Human Workflow
- Unit Test Human Interface
- Human Interface Test Guidance
- White Box Testing
- Summary
Chapter 23. Integration Test
- What is Integration Testing?
- Types of Integration Tests
- The Governance Aspect
- Component Ownership 1/2
- Component Ownership 2/2
- Integration Testing Strategies
- Incremental Strategies
- Top-down Integration
- Bottom-up Integration
- Umbrella / Critical Path Integration
- Setting Up a Service Integration Test System
- Setting Up a Process Integration Test System
- Creating a Script To Test a Service
- Running a Test Case for a Service
- Creating a Business Process Test Script
- Summary
Chapter 24. Non-Functional Testing
- Introduction
- Performance Testing
- Security Testing
- Common Web Service Attacks
- Interoperability Testing
- WS-Interoperability
- Interoperability Testing a Service
- Interoperability Testing a Business Process
- Common Interoperability Issues
- Process State Persistence Testing
- Process Versioning Testing
Chapter 25. 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 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. Scenario
Chapter 29. Introduction to UDDI
- UDDI Overview
- UDDI in Web Services Architecture
- UDDI
- Businesses and Services in UDDI
- Static and Dynamic Web Services
- UDDI Registry Structure
- UDDI Registry Structure - tModel
- UDDI Registry Structure
- UDDI Interactions
- UDDI in WebSphere
- Summary