Implementing SOA

From Training Material
Jump to navigation Jump to search


Key Success Factors for SOA

  • Understanding
  • Collaboration
  • Management support
  • Careful introduction
  • Homework


SOA or not to SOA

  • Calculate the potential benefits of SOA versus costs
  • Don't replace existing, working solutions with SOA
  • Don't try to apply SOA to critical projects unless you are certain you have enough experience
  • In case of mass-data processing or real-time systems make sure that the performance will not be the issue


Introducing SOA

  • SOA IS A STRATEGY
  • Gradually introduction
  • Impossible to get it right in the first place
  • Hence, you can’t make all the decisions up front
  • Remember, you cannot buy SOA nor you cannot have a consultant who tell you exactly what to do


SOA Governance

  • Controlling the development and operation of software
  • Making sure that people do what’s “right.”


Governance Basics

  • Policies: define what’s right
  • Processes: enforce policies
  • Metrics: provide visibility and verify policy enforcements
  • Documentation (for governance)
  • Service management (repositories and registers)
  • Monitoring
  • Change and configuration management


Governance Template

  • Visions, objectives, business case, and funding model
  • Reference architecture
  • Roles and responsibilities
  • Policies, standards, and formats
  • Processes and lifecycles


Visions, objectives, business case, and funding model

  • Answer the question of why to introduce SOA.
  • Funding model determines how the initial overhead of introducing SOA and new services will be paid for
  • Explains SOA ROI


Reference architecture

  • Reference that demonstrates your fundamental architectural decisions
  • Preferred technology
  • Message exchange patterns
  • Meta model
  • Primary and canonical types
  • Preferred sources of standards (as Web Services has many)


Roles and responsibilities

Make it clear who drives and cares about the issues especially

  • Architectures
  • Technologies
  • Process enforcement
  • Finance control


Processes and life-cycles

  • How the services are introduced
  • How the services are disposed


Processes in practise

  • Official process
  • Perceived process
  • Actual process


Policies

A law, examples:

  • Every Web Service shall use SOAP protocol
  • No enum type is allowed

A Guideline

  • WSDL should comply to 1.2 standard


Policy Template

  • The topic
  • Problem the policy addresses
  • Whether the policy is mandatory (a law or a guideline)
  • The consequences for the infrastructure
  • The consequences for service providers
  • The consequences for service consumers


Central SOA Team

  • Coordinates all the steps of implementing SOA
  • Establishes and governs SOA
  • Consolidates
  • Standardizes
  • Should not create another Ivory Tower


The SOA Pilot

  • It is not a prototype (i.e. it must produce something which is supposed to work, not thrown away)
  • Project should be non-critical but of palpable business value


The SOA Pilot

  • Simple MEPs (e.g. synchronous and asynchronous)
  • Minimal number of data types
  • Lightweight ESB, not necessary used later
  • Create only services you need, not you might need them in the future
  • Think big, start small (don't fall into analysis paralysis)


SOA Projects

  • There must be one diagram of the whole system
  • Introducing new person should be relativity easy (proper induction documentation)
  • Reviews and retrospective
  • Movies with explanations
  • External reviews and support
  • Parallel planning and reviews for critical projects


Bottom up vs Top down

  • Developer driven
  • Business project driven
  • IT driven
  • Top management driven


SOA Maturity Models


CMMI

  1. Initial: services that represent the initial learning and initial project phase of SOA adoption
  2. Managed: services using standards that are set as to the technical governance of SOA implementation
  3. Defined: services on the partnership between technology and business organizations in order to assure that the use of SOA provides clear business responsiveness
  4. Quantitatively managed: when you focus on the implementation of internal and/or external business processes
  5. Optimizing: when you have “optimized business processes SOA,” so that “the SOA information systems becomes [sic] the ‘enterprise nervous system.’”


Service Orientation Red Flags

  • High-performance/real-time systems
  • High-throughput systems
  • Business-to-business interactions involving intricate transaction semantics
  • Batch processes
  • Data warehouses
  • Any technology system or business unit where tight coupling and/or monolithic integration is desirable


How can you tell a good consultant?

  • Good consultants do whatever they can to make themselves unnecessary
  • You cannot fully rely on external consultant, internal knowledge of at least a couple of people is a must