Related Topics: SOA & WOA Magazine, VITO Report

SOA & WOA: Article

Why All This Fuzz About SOA?

A key to understanding SOA is the distinction between services and Business Services

So, we have Business Services and services, which are the most important in a SOA? Business Services, without doubt. If you really want to create something that is going to profit your company then you have to focus on the business. You can have a great SOA infrastructure, ESB, registry/repository, BPM etc. but if you don’t identify what your business needs are you are not exploiting your infrastructure, not more at least than cutting your development costs by creating an infrastructure of reusable services, but that’s not where SOA’s power lies.

Bringing it to an extreme, you could have good Business Services building upon an unstructured services infrastructure and still your company would profit from it (though not to the maximum possible extent as creating new services would probably require more time than if you had a good services infrastructure, thus affecting your time to market).

That’s not true the other way around, bad Business Services relying on a well implemented services infrastructure give little or no gain.

When to promote a service to a Business Service is very hard to tell and it depends on the company’s specific business.

SOA is both business and technique. Once you are done implementing your infrastructure it is going to be there supporting the ever changing business needs. That’s why standardization is so important, it allows you to focus on what really matters, that is creating business value.

Some SOA principles are common to services as well as Business Services. For example, abstraction. In order to build good services you try to create services that are reusable and therefore try to abstract them from the their context, such as the application using them, in that way when another application needs the same functionality, it’s already there. Business Services work in the same way, but the consumer is different, meaning that you try to create Business Services that are reusable so that when the next business needs the same functionality... well... it’s already there.

To try to make things a bit more clear, by abstraction I mean that for a service to be reusable it must be so general that any consumer needing that specific functionality can use it. Using the typical car rental company example (I said I’ve been to a lot of conferences...) a service, or rather, a Business Service, could be ‘check car availability’ returning ok or not ok depending on the data provided. This service could be reused by any other company wanting to rent a car thus benefiting both the car company hosting the service that could hire out cars to customers it would not reach otherwise and other companies that would have lost money not having an own car to hire out ( that is, of course, at the condition that the company offering the service has an overflow of cars).

Then we have standardization. Services profit from being written in a uniform way, therefore web services have become so important in a SOA, abstracting the technique lets you focus on the services itself and makes it easy and almost effortless to expose them.

In the same way one could say that business SOA is moving more and more towards standards, like BPMN attempting to make processes easily understandable.

The big picture.

I believe that the hidden revolution embedded in SOA is yet to come and it has to do with the capability of creating a global network of services and consumers able to look up and use services with little or no manual interaction, discovering the required functionality (I know this is probably the SOA utopia but I still believe there is much to be done and that can be done in this area). And of course it has to do with new techniques such as SaaS (Software as a Service) that can now flourish as SOA infrastructures and awareness improve.

Although this sounds promising not much has been done in this direction so far, most of the companies that have adopted or are adopting SOA are still struggling with publishing and managing internal services and little has been done to ‘go public’(except by those companies that are leading the transition). With SOA becoming more mature we will see an increasing number of efforts in this direction.

More Stories By Aristo Togliatti

Aristo Togliatti works as an IT Architect for the Swedish Railways (SJ). Previously he worked as Enterprise Architect at SVT, the Swedish State Broadcaster.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.