In: Computer Science
Explain Service Oriented Architecture (SOA) and how it relates to Microservices.
Ans:
Both service oriented architecture and microservices provide flexibility in traditional monolithic approaches applications but there is a slight difference between both the the approaches as SOA(Service oriented architecture) was created for traditional and monolithic approaches in application making.
SOA divide the components into separate module which is used for an application and that module will communicate with one another to meet the customer requirement of that particular business oriented application.
Each module is smaller than the monolithic application and are used for different purposes in an organisation.
SOA can be used in providing services for platforms, applications and infrastructures.
The two main role that is provided by service oriented application is
SERVICE PROVIDER and SERVICE CONSUMER.
On one hand customer layer is associated with the user interface and service provide includes the various services required in service oriented application.
The various type of services are:
FUNCTIONAL SERVICE that are used in enterprises operation.
ENTERPRISE SERVICES that help to design functionality.
APPLICATION SERVICES that provide the development and deployment of application. INFRASTRUCTURE SERVICES that is used in security privacy and authentication of the application.
The way as it is associated with microservice is is microservice is the further evolution of service oriented application.
MICROSERVICES are more refined and has the independent functionality of module.
It can be said that if one service fail during the development of application then the application will function for a distinct purpose. That's why these services are provided in API so that it make complex applications reliable to use.
In microservice each service is independent and provide more faults in the application.
So the slight difference between the microservices and SOA are:
SOA design for dependent functionality while microservice are designed for independent functionality.
SOA provide sharing and microservices did not provide sharing of components.
SOA is having many module weather microservices are having fine granularity.
SOF provide data sharing storage and microservices provide independent data storage.
SOL provide protocols in various themes whether microservices required team collaboration.
SOA is highly beneficial for large scale applications and micro services is beneficial for small based application.
SOA is needed ESB enterprise service bus for communication but micro services needs API layer.
SOA is less flexible during deployment but microservices is easy for being deployed.