Friday, February 29, 2008

SOA - An Overview

SOA - Service Oriented Architecture

What is SOA?
1. SOA is an approach to organize distributed IT resources into an integrated solution breaking down information silos and maximizing Business Agility.
2. SOA modularizes IT resources, creating loosely coupled business processes that integrate information across business systems.

Definition
SOA uses standard protocols and interfaces - usually web services - to facilitate access to business logic and information among diverse services. Because each process is exposed through a standardized interface, theunderlying implementation of individual service providers can change without affecting the consumers.

Why SOA
Service orientation makes systems more responsive to business needs, simpler to develop, and easier to maintain and manage. Implementing a solution architecture based upon service orientation helps organizations plan ahead for change, rather than responding reactively.

Who does SOA?
SOA is 'done' by developers and solution architects. However, stakeholders in a service-oriented solution span a range of roles, and it is critical that their interests not only be taken into account but that they actively drive the design of the SOA solution. e.g. IT Managers, CIO, CTO, Business Analysts and last but not the least - Developers and Solution Architects.

What SOA isn’t
There are numerous misconceptions about what SOA is—that it is a product that can be purchased (it is not, it is a design philosophy that informs how the solution should be built).
SOA is also a term used interchangeably with web services. SOA is made easier through broad adoption of web-services standard but web-services is an implementation methodology to implement a SOA solution.

SOA Approaches
Top-down and Bottom-up. Both approaches can have possible pitfalls that can prevent success. Many organizations that have attempted to roll out SOA infrastructure through a top-down approach have discovered that when the infrastructure is finally delivered it is out of sync with the needs of the business. Likewise, a bottom-up approach can fail as well, because it can lead to a chaotic implementation of services created with disregard to organizational goals.

The “middle-out” approach is a successful hybrid of the two other approaches. Business drivers and strategic vision are first employed to set clear direction and priorities.

SOA Lifecycle
Expose - The expose phase of the SOA approach focuses on which services to create from the underlying applications and data.

Compose - Once services are created, they can be combined into more complex services, applications, or cross-functional business processes.

Consume - Once a new application or business process has been created, that functionality must be made available for access (consumption) by either other IT systems or by end users. The goal of the consumption process is to deliver new, dynamic applications.

Getting Started
1. Don't “do SOA” rather than address a business need.
2. Organizations that are successful with SOA often adopt a middle-out approach — they start with clear business challenges and focus on creating business value.
3. Demonstrate value in rapid iterations. Time-to-value is a critical, healthy metric.

Cheers! and any feedback and/or comments welcome.