Skip to main content

Service Oriented Architecture

5th Oct 2016

Service Oriented Architecture (SOA in general)

The eventual implementation of computers into most business related processes has certainly increased the speed and quality at which work can be performed. Just like in manufacturing, where robots have been used to increase efficiency on assembly lines; service oriented architecture is being used by businesses to craft flexible solutions and work flows. At its heart, SOA (service oriented architecture) is simply a group of similar, complimentary or compatible modularized services that can be bundled together.
The best thing about SOA is that it allows for its individual components to be both combined in any number of ways as well as deployed on nearly any type of infrastructure, computing platform or operating system. Simply put, service oriented architecture is versatile to say the least. Not surprisingly, many SOA's are either offered or bundled with other types of cloud computing services; in fact, some cloud providers even design their service packages around their offered SOA. This is because their clientele might be largely comprised of businesses in one particular sector of industry.

Defining 'Service'
What constitutes a service? All services should be considered self contained; they do not need outside assistance to function or carry out the specified task for which they were designed. This is not to say that services are not capable of interacting with other services, it's just that they are not reliant on any other components to be considered functional. Of course it's the way that all the individual pieces of a SOA interact that provide it with its ultimate purpose; in some setups, one individual service may be tapped for only one aspect (of functionality) that it is capable of performing, for example.

Because of the modularized design, many SOA's can be seen and used like a programming interface. Meaning, a designer or experienced IT person can use the components of a SOA to essentially design new applications. These applications are usually tasked with performing repetitive duties, interacting with consumers/customers via the web or other things like data-basing, for example.
Up until the advent of the service oriented architecture, creating new applications / logic flows for businesses was a very involved, tedious and expensive process that often required a lot of time for development. Now of course, these olden processes have been greatly simplified via SOA. More involved projects and problems will often require good old fashioned programming and software development, but what makes SOA such a groundbreaking concept is after these new components are developed they can be integrated into the existing SOA. In other words, every time a new problem is encountered and a new piece developed, it can be transformed into a modularized component and used in any number of unforeseeable ways in future projects.

Elements of a Service Oriented Architecture
  • Can make services (and combinations of services) available across any number of additional channels. Arguably, one of the best facets of SOA is its ability to quickly and cleanly provide services, either grouped or a la carte, for specific purposes.
  • Ability to upgrade current / existing services in a completely logical manner. One of the great things about SOA is that it seems to have been designed for long term use. Through the use of a SOA, upgrades, extensions and modification of individual services is a painless and worry-free process.
  • Integrates present applications into the architecture. Of what value is a new computing infrastructure if it cannot utilize the components your business already possesses? SOA is designed to allow users to integrate their existing software; basically, you get the best of both worlds.
  • Ability to easily integrate new / additional services to the infrastructure. Aside from the incompatibility issues that most computing architectures suffer from, a SOA is immune from these types of errors. You can continue to add additional modularized components (services) to a SOA and they will not affect overall performance, compatibility or functionality.

Up until the creation of commercially available SOA's, businesses were completely at the mercy of an entire coterie of individuals. This often meant that lots of money needed to be spent in order to grease the wheels of invention, so to speak. Aside from this, the products that were often created could only perform one task and were either incompatible with other products and/or could only be used to perform one task.
Service oriented architecture is really an attempt at designing a comprehensive an ongoing solution to the difficulties inherent in managing, designing and maintaining a computing infrastructure. SOA actually reflects an evolutionary milestone for computing in general, and has already solved a great number of problems and certainly cut down on the overall number of future issues.
The push toward SOA -type models is actually setting a precedent for many businesses. Once a business has experienced the ease and fluidity inherent in a SOA, they are completely sold. Service oriented architectures basically give users all the components, tools and power required to make relevant decisions concerning the use of their computing resources.