How to successfully design, deploy and optimize a SOA, or Service Oriented Architecture?
How to successfully design, deploy and optimize a SOA, or Service Oriented Architecture?
What is SOA? SOA refers to a software architecture strategy that aims to divide a software application into different services. What is a service? A service is a software component that makes a business function available to its customers (human actors via a mobile application, information system), by encapsulating and centralizing it.
As a result, a service in an SOA has several strong characteristics:
– A service has a clearly defined interface, or API – the customers of a service do not have direct access to the operation and data structure of the service.
– A service is a component that is as independent as possible vis-à-vis other applications (legacy or not) and other services
– A service is associated with a contract, which will define the access terms (how many accesses per second or per minute), security, versioning strategy, etc.
Why SOA? To “break the monolith”, ie produce software that is more scalable, faster to develop and easier to deploy. There is a price to pay: the information system architecture is becoming more complex, and operations require new tools and a new culture on the part of the teams involved.
Is SOA a real need for companies? The benefits of SOA are a priori numerous: allowing the reuse of business functions or data, making the code modular for better maintenance, etc.
How to do? A useful first step is to deepen your knowledge by reading the reference book “SOA the architect’s guide”, published by the reference publisher DUNOD. The book is here.