Local, Global, and Saga Transactions for SOA Services and Microservices (∗Services) - Antonio Navarro (IEEE Access)
Transactions are a key issue in enterprise applications. Considering SOA and microservices as some of the most prevalent solutions for enterprise applications, transaction management differs significantly between these two solutions. This paper defines MOF metamodels for characterizing transaction management in SOA services and microservices. To obtain these metamodels, the paper also defines additional MOF metamodels: one for the main components of the multitier architecture, one for the hexagonal architecture, one that relates both architectures, one for SOA services, and one for microservices. The paper also includes the design of a simple transaction manager that illustrates the details of how to implement global transactions for SOA services. This transaction manager, or other simpler ones, can also be used with microservices. In addition, several types of transactions are analyzed and implemented in SOA services and microservices to compare the differences between both approaches. The paper is intended as a guide for those lecturers with subjects focused on enterprise application architectures. It can also be used by developers looking for a detailed comparison between SOA services and microservices to decide which is best for their needs.