From monolithic to microservices and everything in between
Client-server applications have always been popular. However, as networking technology and design patterns have evolved, the need to have less tightly coupled applications intercommunicating has given way to service-oriented architectures (SOAs). An SOA is the concept of breaking down the components that make up a monolith or server into more discrete business services. SOA components are still self-contained. However, they are significantly smaller in scope than the traditional monolithic application and enable faster maintenance and decoupled interactions. The traditional client could still be considered a component of an SOA application, but, instead of communicating directly with a monolithic server, there would be an intermediation layer, or server bus, that accepts the call and distributes to other services for processing. These other services could offer data persistence or collect additional information to make a business...