Saturday, September 10, 2005

SOA, 4 Steps, 7 Principles

Service Oriented Architecture (SOA) promises a number of benefits of which two stand out:
  • reduced cost through reuse
  • increased flexibility to adapt applications in order to meet changing business requirements
Put simply, SOA is an architecture that enables the integration of multiple software services, creating applications and business processes that span multiple technologies and business units.

The four steps involved in delivering an SOA:
1. Expose functionality as services: enable existing functionality to present usable interfaces and message formats to the rest of the business
2. Manage the orchestration of these services, the sequence in which they are invoked
3. Manage the mediation between diverse datamodels and service definitions
4. Integrate with existing IT infrastructure

The seven principles to help you choosing the most appropriate approach:
1. Minimize costs of disruption, costs replacing or adapting existing technologies to create an SOA solution. Focus on supporting the most complex integration tasks, rather than rebuilding the entire IT stack.
2. Integrate incrementally. Deliver on a gradual, needs driven basis, targeting specific, tactical challenges, whilst keeping a strategic eye on the end goal. Look for product that are easy to learn, productive, small footprint but scalable, distributed.
3. Reduce coding. Many products enable orchestration to be configured rather than coded. Unfortunately the same is rarely true for mediation.
4. Use industry standards wherever possible. Standards are proven technology reducing the risks, they enable diverse implementations to fit together, and they help avoid vendor lockin. Use widespread adopted standards like JMS, XML, BPEL etc.
5. Accept the things you cannot change. Many of the systems and applications use old data formats (csv, excel, cobol data formats, ...). These systems can be untouchable. SOAs must be designed to co-exist with these existing systems as simple and painless as possible.
6. Understand the strategic value. Consider following benefits: ability to make more informed and timely decisions, creation or automation of new business processes across organisational boundaries, reduced medium-term cost for support, maintenance and 'additional projects'.
7. Buy - don't build. Total Cost of Ownership (TCO) is likely to be higher for build systems (experienced developers, scarce skills), while bought technology is ready for use much sooner. Bought systems are more capable of being adapted and extended, as they tend to be standard-based and tested to integrate with third party solutions 'out-of-the-box'.

Use these Seven Principles to evaluate competing products or approaches,
or simply to guide SOA development and ensure maximum ROI.

Read more on these seven principles for SOA in the PolarLake paper: Seven Principles of SOA Success


Post a Comment

Read more about Software Quality at the <<Software Quality Weblog Home