A Brief Introduction of Service Oriented Architecture (SOA)

(original date 2008)

Introduction

Service Oriented Architecture is not exactly to do with any architecture it is more of writing re-usable code to help various applications utilize each other’s data and transfer of data objects between heterogenous systems.

This helps in each application not writing different services to get data but depend on services which another app uses. 

An Example

Let us say you want to book a vacation with flights, hotel and some concert tickets. To accomplish this you use expedia.com, tripit.com, or some other vacation sites.

Each of the sites give the customer the ‘full experience’ of working with one company rather than many companies to book for concerts, hotel rooms, restaurant reservations, auto rentals, and airline tickets.

This is accomplished by utilizing the agnostic request and response service calsl to each vendor.

The below picture shows the complexity in today’s business world.

The green box in the middle represents the middleware services, also called web services, where some of the services are open to the outside vendors of the company on the right side of the dividing line.

The blue box contains all the data of the company and is generally within or inside  the firewall of the company. This could be applications, databases, files, LDAP (Lightweight Directory Access Protocol) repository and other company sensitive digital data.

Finally, within the firewall there are clients which can access directly the applications, databases of the blue box. However, not all clients (specifically smart phones, black berry etc) can access the applications directly. These too need use the web services to access the applications for security purposes.

Implementation

In implementing an SOA application, one must consider the following factors when developing an application

  • Services should be developed to be accessed within and outside the fie wall. 
  • Services should be fast in processing request and sending back a response. 
  • The data in the database shoe semi de-normal. 
  • Generally use an application server. 

SOA Today 

Service Oriented Architecture is still alive with some major modifications. Over the years most of the SOA applications have developed into monolith applications or legacy applications. These applications do not adhere to Gang of Four Patterns which created these monolith applications. 

As cloud technologies became easier for companies, a new kind of architecture is replacing SOA called microservices. 

It is important to note that microservices is not the answer to all the issues monolith applications face. It has its’ own issues and need to be handled when migrating monolith applications. 

Microservices applications adhere different set of factors (patterns) which enable them to be portable, integrable, scalable and robust to be deployable on the cloud platform. 

Leave a comment

Your email address will not be published. Required fields are marked *