Web Services, SOA, BPM, and Cloud Computing – VI

Elements of a Service Oriented Architecture

Image via Wikipedia

Before we define SOA (Service Oriented Architecture), let us first discuss what SOA is about.

SOA is about loose coupling, SOA is about interoperability, SOA is about flexibility, SOA is about extensibility, SOA is about agility,SOA can be about ad-hocism or rather the appearance of ad-hocism! (We’re talking mash-ups here!)

SOA is about abstraction,SOA is about platform independence,SOA is about simplicity.

SOA is all about reuse, granularity, modularity, composability, componentization and interoperability.

SOA is about standards.

SOA is about encapsulation.

SOA is about contracts.

SOA is about autonomy.

SOA is about optimization.

SOA is about relevance.

SOA is about discoverability.

SOA is about statelessness

SOA is about enterprise application integration or being integrable,

SOA is about strategy,

SOA is about planning,

SOA is about best practices

and SOA is about governance.

So what is SOA?

A service-oriented architecture is essentially a collection of services. These services communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. Some means of connecting services to each other is needed.

Reblog this post [with Zemanta]