Friday, May 19, 2006

SOA And Why You Should Care


A Service Oriented Architecture (SOA) is "a collection of services that communicate with each other. The services are self-contained and do not depend on the context or state of the other service. They work within a distributed systems architecture." Think of a "Service" as application code that performs a specific task or set of tasks (e.g., determine a credit score for a loan applicant). These discreet services can interact in a standard way so it is easier to link one service to another.

Imagine if each appliance in your house were connected to your outlets using a different plug, and the outlets were different as well. Just getting your toaster to work would be incredibly frustrating, requiring numerous adapters and connectors that would be prone to failure, loss of function, etc.. This is the environment that IT professionals must deal with in their enterprise software infrastructure. The advent of key technologies (those that compose SOA) and development of industry standards have essentially made interaction between systems and applications easier and more straightforward.

Here's the upshot:
  • Significantly reduce application development costs
  • Increase business agility because useful pieces of code in one part of an organization no longer need to be constantly re-written... they can now be easily re-used
  • Design completely new applications with minimal effort by leveraging code from a 3rd-party and combining it with existing code
  • Create competitive advantages where no one is looking through a creativity and a just a few lines of code
  • Reduce the time-consuming and risky task of changing firewall filtering settings by utilizing HTTP with Web Services
Next time I'll explore how it works, followed by a post with examples.

No comments: