What is Service Oriented Architecture

Service Oriented Architecture:

Adeel Sarwar
2 min readJan 6, 2020

Service Oriented Architecture is also called SOA. In SOA, application logic is divided/modularized into small individual functions. These functions are implemented as services/Web Services. These services are then made available over the network as a centralized repository (directory/listing). Any client applications/consumers can then search these services over the network and use/consume these services. The consumers don’t need to know the internal implementation logic of the services. They just send parameters to the service and receive response. A client application/consumer can use multiple services to achieve the application’s required functionality.

Explanation with Example:

Let’s say that you have an IT dept. and you need to develop software for a clinic. By using that software, doctor should be able to search patient, schedule appointment, prescribe medicine, send lab test order e.t.c. Because of business requirements, say, you need to develop a desktop application, a web application, a mobile application and a separate tablet application; in total four separate applications. So, rather than writing the business logic separately four time in four applications, you would develop services/web services for each of these required features; search patient, schedule appointment, prescribe medicine, order lab test. Then place these services on a centralized location where different application developers may discover/search these services and use/consume these services in their respective software/applications. So, you have written the services once and all other applications are using/consuming these services. The server consumers communicate with services through Enterprise Service Bus (ESB).

Service Oriented Architecture (SOA) Diagram

SOA Principles:

Service Discover-ability: SOA services are maintained in the enterprise by a registry that acts like a directory listing. Applications can look up (search) the services in the registry and invoke (use) the service. Universal Description, Definition, and Integration (UDDI) is the standard used for service registry.

Service Contract: A service should have a description mentioning what the service is about, what parameters it accepts as input and out is gives. This way, it is easy for client applications (consumers) to understand and use the service. When a service is listed in the registry (Service discover-ability), then description is provided.

--

--

Adeel Sarwar

CTO | HealthCare IT | Digital Transformation Leader | Outcome Driven Leader | Blogger | Speaker | Professor