How To Take This Class

Course Overview

SOA Analysis and Design is a five day in-depth SOA analysis and design training course geared for software architects and designers who need to understand what 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. Geared for software architects and designers, this course explores what services and service-oriented architectures 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.

Course Prerequisites

Attendees should have an extensive working knowledge of developing enterprise applications. Designing and analysis working knowledge is also extremely beneficial.

Course Audience

This an intermediate to advanced level SOA training course, designed for architects and analysts who need to identify, design, and lead the implementation of SOA projects. We will explore and apply the terminology, the specification, the processes and technologies specific to SOA.

What You'll Learn

Upon successful completion of this course, students will be able to:
  • Explain the business impact of SOA
  • Understand the history of services-oriented architecture and what design processes led up to SOA
  • Discuss the challenges to adopting SOA in the enterprise
  • Apply the concepts and principles of SOA to on-going and future projects
  • Understand the various web service standards available to support SOA
  • Explain how Enterprise Application Integration affects the reuse of existing applications
  • Relate what SOA means from architectural and development perspectives
  • Discuss business process analysis and its relation to BPEL
  • Understand the difference between OO analysis and design and SOA analysis and design
  • List the various roles involved in Service-oriented Analysis and Design (SOAD)
  • Perform SOA Analysis to identify useful and manageable services
  • Perform SOA Design to craft architectures that support the required data and communication dynamics for identified services
  • Understand the importance of business process modeling
  • Understand the difference between RPC’s and REST as a means of requesting resources
  • List the advantages of web services as a distributed systems technology
  • Explain governance and how it applies to SOA and IT in general
  • Compare SOA best practices
  • Understand the responsibilities crucial to governance
  • Explain what an Enterprise Service Bus is and its relationship to SOA
  • Discuss ESB security and roles
  • Understand the relationship between the Service Component Architecture (SCA) and Service Data Objects (SDO)
  • Understand web service and their standards
  • Understand the Web Services Description Language and Universal Description Discovery and Integration (UDDI)

Course Duration

5 Days

Course Outline

  1. SOA Overview
    • Service Defined
    • SOA Defined
    • Organizational Framework
    • Technical Framework
    • Orchestration
    • Reusability
    • Services vs. SOA
    • SOA in the past
    • What is new in SOA
    • Business impact/ROI
    • Myths/Reality
    • Adoption issues
  2. SOA: the Business Proposition
    • Web services standards
    • ESBs
    • Leveraging business processes
    • Challenge to adoption
    • The SOAD Process
    • Roles and Skills
  3. SOA: an Architectural Perspective
    • SOA Design Principles
    • RPC vs. REST
    • Web services, SOAP, and WSDL
    • Architectural Issues
    • SOA Maturity Model
  4. SOA: a Development Perspective
    • The SOAD Process
    • Architecture
    • OO/UML
    • Services, operations and data
    • Policies
    • W3C standards
    • Web services standards
    • Testing
  5. Service-Oriented Architecture
    • Principles
    • Business Process-driven development
    • Roles
    • Messaging
    • Transactions
    • Security
    • Business modeling
    • Design issues
    • EAI
    • ESB
    • Web services
    • RPC vs. REST
    • Web services, SOAP, and WSDL
    • Integrating legacy applications
    • Extending the lifetime of legacy apps
    • External integration
    • Governance
    • What needs to be governed and what is already governed?
    • Governing IT vs. SOA
    • Continuous improvement
    • Strategies
  6. Case Study Workshop
    • Discovery and Identification
    • Recognizing Potential for Reusability
    • Motivation for Service-Based Approach
    • Problems With Ad Hoc Approach
    • Advantages of Managed Approach
    • Harvesting Reusable Services
    • Refactoring and Agility in Face of Change
    • Issues Yet to Be Adequately Resolved
  7. Defining Business Processes Using BPEL
    • BPEL Overview
    • Top-down Process Design
    • Bottom-up Process Design
    • Using WSDL
    • Process Elements and Properties
    • Select Expression Language
    • Partner Links
    • Variables
    • Fault Handler
    • Compensation Handlers
    • BPEL Process as a Service
  8. Service-oriented Analysis and Design
    • OOAD vs. SOAD
    • Analysis
    • Design
    • Implementation
    • Process
  9. SOA Analysis
    • Use cases
    • Identifying services
    • Operations and data formats
    • Error conditions
    • Service reusability
    • Identifying processes
    • Best practices
  10. SOA Design
    • Business process modeling
    • XML and XML Schema
    • Asynchronous services
    • Callbacks
    • Messaging
    • Non-blocking calls
    • Best practices
  11. SOA Best Practices
    • Planning
    • Standardizing
    • Designing
    • Managing
    • Implementing
  12. SOA Patterns
    • Direct Connections
    • Broker Interactions
    • Serial Process Flows
    • Serial and Parallel Processes
  13. SOA Anti-Patterns
    • SOA Adoption antipatterns
    • Service identification & design antipatterns
    • Service realization antipatterns
  14. SOA Governance
    • Governance Overview
    • Importance
    • Responsibilities
    • Implementation
  15. Enterprise Service Bus
    • Overview
    • Role in SOA
    • Security Issues
    • Scenarios and Analysis
    • ESB Issues
  16. SCA and SDO
    • Overview
    • Service Components
    • Service Data Objects
  17. Web Services Overview
    • W3C standards
    • WSDL
    • UDDI
    • Tools
    • Implementation technologies
  18. Introduction to WSDL
    • Overview
    • Documents
    • Ports
    • Bindings
    • UDDI
    • Syntax
  19. Introduction to SOAP
    • Overview
    • Syntax
    • Envelope
    • Header
    • Body
    • Fault
    • HTTP Binding
  20. Messaging in SOA
    • Overview
    • Reliability
    • Delivery
    • Addressing
    • Security
    • Notification