SE003 - SOA for Service Designers

Download the course description

Overview
'SOA for Service Designers' is at the heart of the MomentumSI curriculum on SOA. At the end of the day, SOA comes down to defining services that are part of the business solution.

In SOA, the 'Service' is the new unit of work. Service designers must learn to think in terms of clients, service, policies, composites, and application skeletons. This course is designed to teach traditional designers (object oriented, database, etc.) the necessary skills to be an effective member of a solution team.

Objectives
Understand the role of the service designer and the interaction with other disciplines
Understand the design process
Understand the elements: clients, services, composites, and skeletons
Understand how to identify clients and services
Understand how to design reusable services
Understand when and how to use policies
Understand the use for composite and process services Understand issues related to testing services
Understand the issues of versioning and preparing a service for production

Audience
This course was custom designed for software designers who need to define the actual services. Architects and developers may also find this course valuable to understand the upstream & downstream deliverables.

Prerequisites
Introduction to SOA and Web Services (1/2 day) or equivalent
Fundamentals of XML, Web Services & SOA (1/2 day) or equivalent

Duration
2 days. If necessary, the ½-day Introduction to SOA and Web Services course will be included within this delivery.

Outline

  1. The Role of the Service Designer
    • Review the software development lifecycle
    • The role of the service designer
    • The activities and artifacts a service designer produces
    • The impacts SOA can have on the SDLC
    • Describing the Enterprise as a series of Services
  2. Design Process
    • Understand where the Design Process fits into the software development lifecycle (SDLC)
    • Transitioning from Analysis to Design
    • Leveraging Service Contracts
    • Web Service Standards and their application
    • Best practices and guidance
    • Moving deliverables to construction and testing
  3. Clients, Services, Composites, and Skeletons
    • Overview: Elements of Service Oriented Definition and Composition
    • The client/service relationship
    • Determining where the logic goes: client/intermediary/service
    • Introducing service types
    • Skeletons: Stringing services into applications
  4. Clients & Service Decoupling
    • Overview: What are clients?
    • Eliciting the current and future needs of a client
    • Decoupling clients and service
      • Fatty vs. Chatty
      • Non-functional Requirements & protocol standards
      • Failed encapsulation
      • Time bound coupling
      • Fixed invocation models
  5. Defining Services, Operations, and Messages
    • Overview: What are services and operations?
    • Using clients to find operations
    • Review: levels of granularity
    • Grouping operations into services
    • Identifying messages
    • Creating the message
      • Schemas & namespaces
      • Passing predicates
      • Use of Arrays & complex types
      • Passing codes
      • Mandating (MUST USE)
    • Defining messages exchange patterns
    • Defining message responses
    • Dealing with large responses (cursors)
    • Specifying constraints & validations
    • Dealing with errors & exceptions
    • Specifying the binding
    • Advanced topics
      • Stateful services & correlation tokens
      • Moving large payloads (BLOB)
  6. Creating Policies
    • Overview: What are policies?
    • Defining reliable policies
    • Defining security policies
    • Defining transactional integrity policies
    • Utilizing internal EA policies (XML & structural policies)
    • Attaching policies to services
    • Creating policy profiles and SLAs
  7. Custom Design Based on Service Type
    • Creating a service taxonomy
    • Business services, process services, technical services, and data services
    • Tailoring the service to the service type
  8. Creating Service Test Cases
    • Overview: Test driven SOA
    • Planning the tests
    • Designing the tests
    • Implementing test cases
    • Creating a testing environment
      • Building mock services
    • Coordination with quality assurance
  9. Defining Composite & Process Services (introduction only)
    • Overview: What is composite service?
    • Service layers and abstraction
    • Combining services vs. chaining services
    • Master/Slave (BPEL) vs. distributed
    • State management
    • Capturing and reporting business state
  10. Defining & Simulating Application Skeletons
    • Moving from clients & services to applications
    • Overview: The application skeleton
    • Defining the skeleton
    • Skeleton overlays
    • Simulating the skeleton
    • Finding service holes
  11. Service Refactoring & Versioning
    • Iterating on a service design
    • Client requirements expressed as Venn diagrams
    • Software product line engineering
      • Variation point analysis
    • Refactoring services (operation bundles)
    • Refactoring operation functionality to increase reusability
    • Versioning a service/operation
  12. Documentation & Publishing Services
    • Overview: Who needs service documentation?
    • Documenting for the 'Service Constructor'
    • Documenting for the 'Service Integrator'
    • Publishing the documentation
      • Web pages and registries

More Information

For more information about this course, please submit an inquiry and we will contact you to discuss your needs.

Return to the course list