Duration: 4 Days
In this course, you will gain a better understanding of what Service-Oriented Architecture (SOA) is, the impact of SOA, what it means in terms of today's systems and architectures, and how to apply the concepts in designing distributed architectures. You will explore what services and SOAs are, and what best practices and design patterns to use in designing SOA-based applications. This course presents a strong perspective on services as an essential and important part of enterprise systems as well as how to identify, design, and develop of complex services using sound analysis and design techniques and best programming practices. You will get a clear picture of how a service orientation can fundamentally change the dynamics of how software is developed and "lives" within your enterprise.
You will leave the course armed with the required skills to design and lead the implementation of realistic SOA-based business application projects. You will cover advanced SOA concepts and practices for enterprise applications, and examine Enterprise Service Bus (ESB), the Business Process Execution Language (BPEL), SOAP, Web Services Description Language (WSDL), and web services.
What You Will Learn
Audience
Software architects and analysts who need to identify, design, and lead the implementation of SOA projects
Prerequistes
- Extensive working knowledge in development of enterprise applications
- Design and analysis knowledge is also extremely beneficial
Course Outline
1. SOA
- Architectural Style - Common Framework
- Loose Coupling - Spectrum of Options
- Software Agents - Services
- Interacting - Orchestrated
- Services vs. SOA
- Business and Technical Perspective
- Myths and Realities
- SOA and Web Services
2. SOA - The Business Proposition
- Motivation for SOA
- Typical Software Project
- Service Model
- Service Consumer
- Service Bus
- Commonality is Critical Element of SOA
- Service Provider
- Business Process: OpenCheckingAcct
- SOA Addresses
- SOA Help Deals Change
- Leverage SOA
- Benefits of SOA
- SOA Maturity Models Abound
- Incremental Adoption of SOA
3. SOA an Architectural Perspective
- Enterprise Application Layers
- Application Layers at a Glance
- Services and their Formal Contracts
- Objects, Components, and Services
- Challenge and Limitations Legacy System
4. SOA - A Development Perspective
- Strategic Orientation
- Tactical Strategy
- Lifecycle Phases
- SOA Roles and Skills (Existing and New)
- Business is the Starting Point
- Service-Oriented Analysis and Design (SOAD)
- SOAD Process
- Service Identification
- Service Modeling Guidelines
- Model For Cross-Application Reuse
- Preventing Boundary Logic Creep
- Target a Balanced Model
5. Service-Oriented Architecture
- Technical Principles
- Logical Components of a SOA
- Business Process-Driven Development
- SOA Business Modeling and Reference Architecture
- Business vs. Application
- Service Layers
- Application, Functional, and Business Process Services
- Two Messaging Models
- Publish/Subscribe
- Point-to-Point (P2P)
- Message Servers
- SOAP
- Role and Uses of an Enterprise Service Bus
- Enterprise Service Bus
- Challenge and Solution of Handling Transactions
- Security
- Governance
6. SOA in Practice
- Trends in Software
- Distributed Systems
- Terminology and Various Players
- SOA Platform Basics
- TCP/IP at the Foundation
- HTTP Request and Response
- Service Sender/Receiver Responsibilities
- Web Services Architecturally
- High-Level View of a Web Services-Based SOA
- Frameworks Reduce Complexity and Support Components
- JEE
- Compliant JEE Framework Ready for an Application
- JEE and SOA
- .NET
- Issues in Integration
7. Service-Oriented Analysis and Design
- Lifecycle Phases
- Service Identification
- Service Specification
- Results
- Service Realization
- SOA Reference Architecture
- Results and Realization
- Systematic Process to Achieving these Results
- Challenge of Governance
8. Service Identification
- SOAD Process
- Service Identification
- Domain Decomposition
- Business Use Case
- Initial Process Model
- Asset Analysis
- Cross-Cutting
- Goal-Service Modeling for Order Processing
9. Modeling Business Processes
- BPML/BPMN
- BPMN Fundamentals
- Swimlanes
- Flow Objects
- Connecting Objects
- Artifacts
- Order Processing
- BPEL
- Comparing BPEL and BPMN
- Top-Down Process Design
- Importing WSDL and/or XSD
- Process Elements
- Expression Language
- Fault Handler
- Compensation Handlers
- SOAD Process
- Service Identification
10. Service Specification
- SOAD Process
- Focus of Service Specification
- Specification Supports Design of Service Details
- Service Analysis
- Elimination Criteria
- Service Analysis Refines the Service Portfolio
- Service Specification
- Shifting to Component Analysis and Specification
- Entity-Centric, Task-Centric, and Functional Service Components
- Service Component Specification
- Identification and Specification
11. Service Realization
- SOAD Process
- Service Realization
- SOA Reference Architecture
- Application Services
- Functional Services
- Business Process Services
- Solving Problems Using Layers
- Service Realization
- Service Design Guidelines
- Designing SOAs by Composition
12. Common Framework - Infrastructure
- ESB
- Typical Service Bus Functionality
- Security
- ESB Scenarios and Analysis
- ESB Issues
13. Common Framework - Governance
- Implementing IT Governance
- SOA Governance
- Governance Policies and Responsibilities
- Processes Enforce/Enable Policies
- Metrics Provide Visibility of Effectiveness
- Service Reusability Metrics
- Challenges of SOA
- Service Architecture
- Technology and Product Selection
- Development
- QA/Security/Regulatory Compliance
- Consumer/Provider Management
- Reference Architecture
- Governance Support Requirements
- SOA Information and Quality Management
- Aligning Business and IT
- Use of Business Component Model
14. SOA Best Practices
- Planning
- Standardizing
- Service Modeling Guidelines
- Preventing Boundary Logic Creep
- Target a Balanced Model
- Service Design Guidelines
- Managing
- Using Patterns
- Avoiding Anti-Patterns
15. SOA Patterns and Anti-Patterns
- Patterns
- Design Patterns
- Web Service Broker
- Active Service
- Service Activator
- Service Locator
- Dependency Injection
- Service Locator vs. Dependency Injection
- Anti-Patterns
16. SOA Security Patterns
- Authentication and Authorization Enforcer
- Intercepting Validator
- Secure Base Action
- Secure Logger and Pipe
- Secure Service Proxy
- Intercepting Web Agent
17. Web Services
- Architecturally
- Enable Decoupling
- Challenges
- Basic Profile 1.0
- Additional WS-I Profiles
- .NET Platform
- .NET Web Services
- Java and Web Services
18. XML: Foundation for SOA
- XML Can Provide Application-Specific Information
- Content
- Structure
- Format
- XML Namespaces
- Name Collision
- Namespaces
- Benefits from Valid XML
- W3C XML Schemas
- Corresponding XML Schema
- Primitive Datatypes
- Facets
19. SOAP
- SOAP Specification
- Anatomy of a SOAP Message
- SOAP and HTTP
- Protocols Used with Web Services
- Simple Scenario
- More Complex Scenario
- SOAP Messaging
- Intermediary Nodes - Requester and Service Side Example
- Remote Procedure Calls
- SOAP With Attachments
20. WSDL
- Web Services
- WSDL Extensibility
- WSDL/
Course Labs
This course is approximately 50% dynamic lab exercises and 50% lecture, designed to train you in essential analysis and design skills, coupling the most effective techniques with the soundest industry practices.