Why SOA?

Why SOA? How does it make sense? and most importantly why now? We talk about integration and collaboration, are they really two different things?

Collaborate or Integrate?

Everything the business does, need collaboration. So what is collaboration in business? It can be said as passing information back and forth between entities. The entities can be organizations or departments. So we have inter and intra organizational collaboration in business.

Collaboration between organizations can be, sending a purchase order, RFQ, Payments settled etc.

Collaboration between departments can be, credit limits checking, inventory checking etc.

Businesses have been doing this from the time, well, since people started doing business.

The techniques used for collaboration, were mostly defined by the technology that was available at that time. Business used postal mails, telegrams, telephones, faxes etc for this purpose.

Intra collaboration - ERP
ERP solved most of the intra collaboration needs of an organization, like credit limits, inventory checks.

Was it enough?
Soon organizations realized that, an ERP doesn’t address everything that an organization needs.

So they bought CRM, PLM etc. and sometimes an extra ERP altogether.

But now these software could not collaborate among themselves. The reasons can be many things, no viable technology (remember web was not invented yet), lack of standards etc.

So we integrated
But it was becoming more and more complex to integrate, with each purchase of new software or acquisition of new companies.

This introduced the spaghetti in to the organization’s IT, trying to integrate all these multiple software.

What about inter organization collaboration?
Intra organization collaboration is already in a mess and now what about the inter organization collaboration? All an organization could was, phone the partners, fax the partners or do some more integration.

Not so long ago, having a phone and fax machine was a competitive advantage. Why? They made inter organization collaboration faster, when compared to the postal mails. Now everybody has them.

The cut throat competition made businesses, to want their software itself to phone the partner’s software.

RPC – Remote procedure calls
Software industry made some headway in to these uncharted waters, so came CORBA, DCOM etc

But it still proved to be challenging, if not impossible, to collaborate with the business partners. The software ecosystem of one organization is completely different from the software ecosystem of its partner.

The savior – the all encompassing Web and the Standards
The internet showed that, when there is a standard set of protocols, it is easy to work with a network of different computers. People realized instead of hard wiring one software with every other software; we can use the internet and define the standard to exchange data between computers.

So the internet and standard based protocols is solving the organization’s need to collaborate with its partners.

And what’s more as a side effect even collaborating within the organization’s software is a breeze.

There is no need to integrate now its just collaboration, what the organizations have always needed from the beginning.

What happens in the world of services?

Intra Collaboration
The ERP will give a service, create new sales order.
The CRM will give a service, get the latest billing address.
The same ERP or another ERP will give a service; create an invoice for this customer.

Inter Collaboration
The partner’s software will give a service, accept invoice.
The bank’s software will give a service, cheque status.

We can architect the entire order to cash cycle based on these services, without even having to integrate any of these systems.