Thursday, March 13, 2008

What is Service Oriented Architecture?

A Service Oriented Architecture is essentially a collection of services.
  1. These services communicate with each other.
  2. Services are software components that carry out business processes.
  3. Services have well defined interfaces.
  4. A service is the end point of a connection.
  5. Services are the interfaces to the business logic.
  6. Services are connected to each other with loosely coupled connections
Open Group's definition of SOA -

Service-Oriented Architecture (SOA) is an architectural style that supports service orientation.

Service orientation is a way of thinking in terms of services and service-based development and the outcomes of services.

A service:
  • Is a logical representation of a repeatable business activity that has a specified outcome (e.g., check customer credit; provide weather data, consolidate drilling reports)
  • Is self-contained
  • May be composed of other services
  • Is a “black box” to consumers of the service

What is architecture?

IEEE 1471 defines architecture as -
The fundamental organization of a system embodied in its components, their relationships to each other and to the environment and the principles guiding its design and evolution.

The above definition is too high level for me to give me an idea of what goes into an architecture.

TOGAF says architecture is
  1. A formal description of a system or a detailed plan of the system at component level to guide its implementation.
  2. The structure of components, their inter-relationships and the principles and guidelines governing their design and evolution over time.
This definition is more down to earth and gives me an idea of what artifacts needs to be produced.

It just occurred to me so far I have not defined Service Oriented Architecture and Enterprise Architecture in my blog....