Course Code: soadg
Duration: 35 hours
Prerequisites:

Some exposure to business process modeling and Use cases, knowledge of an OO language

Overview:

Design

During this course, we give an overview of the role of the UML modelling language in the context of SOA. We will use industry-standard modelling tools and you will learn the capabilities of UML in the area of service orientation. You will gain insight into the added value of using service contracts as part of your development process.

Governance Framework

A Services Oriented Architecture governance program doesn't make operational decisions. SOA governance sets policies by deciding what decisions must be made, who should make them and how to make them. In a shared services environment like an enterprise SOA, no governance or dysfunctional governance, or even a bad governance policy, can have severe and negative impacts across the enterprise. This two-day workshop shows you how to do SOA right. You will learn how to design, build and operate an effective governance framework for creating, communicating and enforcing corporate web service policies throughout the enterprise SOA.

SOA Policies

The workshop focuses on showing you how to create the processes and policies that establish and manage shared web services. As organizations start to employ web services via an enterprise SOA, they move from "silo to shared." Ownership of the underlying business process transfers from a single business area and "externalizes" into an enterprise responsibility. SOA governance directs and coordinates the processes needed to accept and exercise the responsibility for shared Web Services on behalf of all the stake-holders.

Course Outline:

Service Oriented Analysis and Design

Setting the right scope

  • Modelling profile for SOA
  • Guidance to be added to RUP
  • Developing service-oriented solutions
  • Choosing the level of abstraction
  • The WS-* specifications
  • UML for SOA: tangible advantages
  • Quality-of-service
  • Manageability
  • Using a UML Profile
  • UML profile for software services
  • OMG profile document
  • Using tools conforming to the profile
  • Guidance on SOA architecture & design topics
  • Extensibility mechanisms

Key concepts and themes

  • What is SOA?
  • What kind of architectural style to choose?
  • The "pipe and filter" style
  • Constraints on data types
  • The development lifecycle
  • Providing an appropriate level of abstraction
  • Key themes addressed within RUP for SOA

Service identification and specification

  • Constructing a model of a service
  • WSDL-defined services
  • Developing service specifications
  • Defining service providers
  • Determining the granularity of a service
  • A behavioural specification
  • Policy specification
  • Defining candidate services
  • Refactoring services

Managing a service portfolio

  • Applications as a dynamic entities
  • A portfolio of available capabilities
  • Process time-binding
  • Run-time binding
  • WSDL, XSD and WS-Policy
  • The service portfolio management process
  • Configuring an SLA for a web service

Partitioning service-oriented solutions

  • Managing the models
  • Categorizing the elements
  • Different stakeholders reviewing the model
  • Using packages
  • Representing views into the model
  • Composite structure from UML 2.0
  • Using "parts" and "connectors"
  • Partitioning the managed services

RUP Update

  • The RUP update for SOA
  • Models of a service-oriented solution
  • New and updated workfare
  • Guidance for SOA solution construction
  • Identifying services
  • Responsibilities of the software architect
  • Service design
  • Designer tasks within analysis & design
  • New and updated artifacts

New and updated guidelines

  • Managing message attachments
  • Designing messages
  • Assuring consistency of message schema
  • Service data encapsulation
  • Relationship data schema - service boundaries
  • Service mediation
  • State management
  • The merits of stateful and stateless services
  • Managing resource state
  • Going from services to service components
  • The traditional design/implementation model

Message-centric design

  • Focus on the service domain
  • Domain engineering
  • Applying object-oriented analysis and design
  • Producing highly reusable models
  • The traditional business-to-business arena
  • EDI standardization
  • Hybrid message and service-centric approach
  • Use case analysis
  • Documenting requirements
  • Using business process models
  • Non-functional requirements
  • The requirements database

Service-centric design

  • Exposing functions expected of the business
  • Exposing operations of service providers
  • Making intuitive service interfaces
  • Service-centric modelling
  • Use-case driven approach
  • Understanding the needs of the actors
  • The project goals -from a business standpoint
  • Involvement of the software architect
  • Policy information, required by service consumers
  • The business executive role
  • Interaction with the back-end system
  • Connecting service to implementation model
  • Refining the service model
  • Addressing performance concerns

Collaboration-centric design

  • Collaborating services
  • Process view of the services
  • Traditional business modelling
  • Fulfilling roles in the collaboration
  • Partner Interchange processes (PIPs)
  • OAGIS standards
  • Process-centric mindset
  • The "business vs. IT gap"
  • "Black box" activities
  • Defining key performance indicators (KPIs)
  • Versioning and publishing a model
  • Producing metrics for monitoring
  • Choreography language
  • Business process execution language (BPEL)
  • Monitoring the services

Conclusions

  • When to use UML and the RUP for SOA
  • How to plan the different phases
  • When does the project end?
  • What about SOA 2.0?
  • What's next?

Governance

What is SOA Governance?

  • Compliance to standards or laws
  • Change management
  • Ensuring quality of services
  • Managing the portfolio of services
  • Managing the service lifecycle
  • Using policies to restrict behavior
  • Monitoring performance of services

The SOA Governance issue

  • Governance appearing as SOA initiatives
  • A dynamic environment for services to interact
  • Encouraging the reuse of services
  • Controlling how services interact with each other
  • The long-term ROI and manageability

Governance questions

  • Where they start on the governance ladder?
  • Governance as core feature of any SOA initiative
  • Establishing a timeline
  • Personnel training and operational procedures
  • Putting skills and procedures in place well ahead

SOA Governance Stages

  • First: realization that governance is needed
  • Second: governance improving business execution
  • Third: mixing technology & changes in behavior
  • Fourth: technology selection & implementation

Service Management

  • Design-time perspective
  • Run-time perspective
  • Repository of service for reuse
  • Services contained in heterogeneous platforms
  • Service-virtualization for run-time management of services

Critical governance components

  • Service registry service and an asset repository
  • Creating a "SOA Centre of Excellence”
  • Focusing on establishing SOA organizational guidelines
  • The organizational maturity
  • Agreed governance policies

SOA Governance tools

  • Real time monitoring of events
  • Failures in a BSM framework
  • Service-level instrumentation
  • Hooking into operational management systems
  • Virtualization as enabler to separate governance/service logic
  • Service virtualization managed by operational staff

Achieving governance

  • Measuring the goals for governance
  • The internal audit
  • Automating the audit

Developing core SOA governance

  • Why SOA technology stack has grown complex
  • Mixing between COTS & in-house
  • Justifying external consultants to help out
  • Figuring out which business we are really in

Roles and responsibilities involved in SOA Governance

  • Establishing a SOA Centre of Excellence
  • Enterprise-wide planning and assistance in execution
  • The roles of the SOA architect/governance architect
  • Solving potential conflicting interests
  • Ensure that governance guidelines are followed

Barriers to SOA governance

  • Not realizing the need for governance
  • Lack of Governance technologies
  • Lack of Service virtualizations

State of good governance

  • Interaction with external parties
  • Managing the business rules and BRE mgmt
  • Regulations for good governance
  • The agreements repository
  • Proactively embedding governance in the business
  • Governance by action rather than by statement
  • SLA monitoring to establish premium prices

Critical success factors

  • Start thinking about governance early
  • View governance as a moving target
  • Manage policies as entities with their own lifecycles
  • Choose a technology platform
  • The platform should address immediate governance needs
  • Future support as SOA infrastructure scales
  • Enforce service level agreements

Service virtualization

  • External configuration of encryption & routing
  • Authentication and schema validation
  • Transferring control from programmers to operational staff
  • Alleviating many of the SOA core pains
  • Avoiding services with internal policies
  • Technology and deployment neutral services

The 'dark path' in SOA

  • What if the service produces non-compliant data
  • Logging, tracking and auditing
  • Halting erroneous operations as they occur
  • Involving corrective business processes

Final thoughts and Conclusions

  • Greatest challenges with SOA
  • Critical aspects of SOA governance
  • Service reuse as a key benefit of SOA
  • The governance of reuse
  • Visibility, risk and control