What is SOA?
There is lots of talk about SOA, and for many enterprise architects it is viewed as a key model to follow as they evolve their IT system architecture to cope with the demands of the 21st century business environment. But what do we mean by SOA. There are lots of short pithy statements on what is SOA, so I thought I would add my own thoughts on what SOA means to me. Here I have focussed on what I see as key business messages that need to be part of the system architects SOA pitch.
What is SOA?
Service oriented architecture is all about enabling a business to build flexible solutions to business problems from a set of services.
What are the services?
Services are the crucial pieces of business function that are needed to run the business. These services may be provided by applications within the business, or by external suppliers.
Where do processes come in?
Business processes tie together customers, employees and suppliers with the business functions (Services) to provide a business solution. Automating these processes accelerates business velocity.
What about Rules?
Centralised business rules define the path that you may take through different business process. Abstracting rules from the process, ensures they are applied consistently across the enterprise and business users can change rules without having to change processes.
Why is this good?
New business solutions (Composite Applications) can be built by re-using existing services, joining them together with lightweight processes.
Who can access these processes?
Before accessing services and processes an individual must be authenticated (who are you), authorised (what can you do and see) and audited (who did what). This ensures that business resources are protected and used appropriately.
What about all my different views of data in each service?
Information from different services are cleansed and consolidated to create an operational view of business data. Information from different services that is presented in a single business view.
But why do I care?
As the automated processes execute, key business indicators can be monitored, allowing real time visibility of the health of the business. In addition to real time business monitoring and event reporting it is now possible to tune the processes to increase business efficiency.
Summary
The points above are what I view as key components and drivers of a Service Oriented Architecture. I would love to hear about the items I have missed out