What is service-oriented architecture?
A monolithic architecture unifies all of the components/elements – including the user interface and data access – into a single code base, promoting simplicity and quick development. Although it’s not impossible, combining different technologies into one system can be difficult to maintain and unfeasible at times. In the absence of contemporary methodologies such as feature flags and blue-green deployment, it becomes necessary to deploy the entire application every time you want to update a monolithic application. There are difficulties with organizing and delivering the application smoothly, which could mess up its launch.
On the other hand, SOA (see Figure 1.4) focuses on modularity and reuse, breaking down functionalities into independent services that communicate with each other through application programming interfaces (APIs).
SOA can be defined as multiple, smaller, and often coarser-grained services, each with...