Service Oriented Architecture

Zainab Nizhan
2 min readFeb 25, 2021

--

Service-Oriented Architecture (SOA) is an architectural approach in which applications make use of services available in the network. In this architecture, services are provided to form applications, through a communication call over the internet.

  • SOA allows users to combine a large number of facilities from existing services to form applications.
  • SOA encompasses a set of design principles that structure system development and provide means for integrating components into a coherent and decentralized system.
  • SOA based computing packages functionalities into a set of interoperable services, which can be integrated into different software systems belonging to separate business domains.

There are two major roles within Service-oriented Architecture

  1. Service provider: The service provider is the maintainer of the service and the organization that makes available one or more services for others to use. To advertise services, the provider can publish them in a registry, together with a service contract that specifies the nature of the service, how to use it, the requirements for the service, and the fees charged.
  2. Service consumer: The service consumer can locate the service metadata in the registry and develop the required client components to bind and use the service.

Pros of SOA

  • Service re-usability: In SOA, applications are made from existing services. Thus, services can be reused to make many applications.
  • Easy maintenance: As services are independent of each other they can be updated and modified easily without affecting other services.
  • Platform independent: SOA allows making a complex application by combining services picked from different sources, independent of the platform.
  • Availability: SOA facilities are easily available to anyone on request.
  • Reliability: SOA applications are more reliable because it is easy to debug small services rather than huge codes
  • Scalability: Services can run on different servers within an environment, this increases scalability.

Cons of SOA

  • High overhead: A validation of input parameters of services is done whenever services interact this decreases performance as it increases load and response time.
  • High investment: A huge initial investment is required for SOA.
  • Complex service management: When services interact they exchange messages to tasks. the number of messages may go in millions. It becomes a cumbersome task to handle a large number of messages.

Practical Usage of Distributed System

  1. SOA infrastructure is used by many armies and air force to deploy situational awareness systems.
  2. SOA is used to improve the healthcare delivery.
  3. Nowadays many apps are games and they use inbuilt functions to run. For example, an app might need GPS so it uses inbuilt GPS functions of the device. This is SOA in mobile solutions.
  4. SOA helps maintain museums a virtualized storage pool for their information and content.

--

--

Zainab Nizhan
Zainab Nizhan

Written by Zainab Nizhan

0 Followers

Reading for Bachelor in Information Communication Technology at University of Rununa, Sri Lanka.

No responses yet