Service-oriented architecture (SOA) :
Service-oriented architecture (SOA) is a type of software design that makes software components reusable using service interfaces that use a common communication language over a network.
A service is a self-contained unit of software functionality, or set of functionalities, designed to complete a specific task such as retrieving specified information or executing an operation. It contains the code and data integrations necessary to carry out a complete, discrete business function and can be accessed remotely and interacted with or updated independently.
In other words, SOA integrates software components that have been separately deployed and maintained and allows them to communicate and work together to form software applications across different systems.
The building blocks of a service-oriented architecture are made up of 3 roles.
- Service provider
2. Service broker or service registry
A service broker or service registry is responsible for providing information about the service to a requester. A broker may be public or private.
3.Service requester or service consumer
A service requester finds a service in a service broker or service registry and then will connect with the service provider to receive the service.
Benefits of SOA
With high-tech engineering and enterprise point of view, various offers are provided by SOA which proved to be beneficial. These are:
Language Neutral Integration: Regardless of the developing language used, the system offers and invoke services through a common mechanism. Programming language neutralization is one of the key benefits of SOA’s integration approach.
Component Reuse: Once an organization built an application component, and offered it as a service, the rest of the organization can utilize that service.
Organizational Agility: SOA defines building blocks of capabilities provided by software and it offers some service(s) that meet some organizational requirement; which can be recombined and integrated rapidly.
Leveraging Existing System: This is one of the major use of SOA which is to classify elements or functions of existing applications and make them available to the organizations or enterprise.
SendGrid – strips large scale sending of corporate emails of their complexity and the deliverability of a business’s application-generated email is improved.
Azure Storage – Highly available, massively scalable, durable, and secure storage for a variety of data objects in the cloud. Azure Storage data objects are accessible from anywhere in the world over HTTP or HTTPS via a REST API.
Azure Logic Apps / Scheduler – Is a cloud-based platform for creating and running automated workflows that integrate your apps, data, services, and systems. With this platform, you can quickly develop highly scalable integration solutions for your enterprise and business-to-business (B2B) scenarios.
Azure Active Directory – AKS uses an Azure Active Directory (Azure AD) identity to create and manage other Azure resources such as Azure load balancers. Azure AD is also recommended for user authentication in client applications.
Azure Pipelines – Azure Pipeline is a cloud service that we can use to build and test our code project automatically. The Azure pipeline has a lot of capabilities such as continuous integration and continuous delivery to regularly and consistently test and builds our code and ship to any target.