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
- 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
- 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
- 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
- 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
- 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)
- 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
- 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
- Creating Service Test Cases
- Overview: Test driven SOA
- Planning the tests
- Designing the tests
- Implementing test cases
- Creating a testing environment
- Coordination with quality assurance
- 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
- 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
- Service Refactoring & Versioning
- Iterating on a service design
- Client requirements expressed as Venn diagrams
- Software product line engineering
- Refactoring services (operation bundles)
- Refactoring operation functionality to increase reusability
- Versioning a service/operation
- Documentation & Publishing Services
- Overview: Who needs service documentation?
- Documenting for the 'Service Constructor'
- Documenting for the 'Service Integrator'
- Publishing the documentation
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
|