Service-oriented architecture (SOA) is software design approach that employs web services to deliver business logic functionalities to consumers. Moreover, SOA enables services to be developed, deployed and maintained separately without affecting the business logic of the consumers. Further, consumers simply call the exposed services remotely and leverage their businesses.
SOA is supported by two prominent protocols namely Simple Object Access Protocol (SOAP) and Representational State Transfer (REST). SOAP is an XML format used to extend the services to different platforms without worrying about compatibility issues whereas the REST module is applied to enable HTTP-based service statelessness.
SOAs are susceptible to various attacks such as man-in-the-middle attacks, session hijacking, impersonation, interception of messages, and so on attacks. Microservices are one of the emerging trends believed to alleviate issues with SOA architecture.