A service-oriented architecture (SOA) is a common way to “decrease” the complexity of the software system by splitting it into several parts. I put “decrease” into quotes because actually the complexity always increases. Splitting the system into separate well-defined components is a logical extension of the splitting system’s functionality into domains. When a system becomes too big to fit stakeholders’ (engineers, product managers, etc) heads, the only way to handle its complexity is to split it into parts. Each stakeholder will then have detailed knowledge about its own part and can manage this part properly. Such separation doesn’t actually decrease…

Anton Mishchuk

Software engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store