In the previous chapters, I discussed how to implement a microservices architecture using the Jakarta EE and MicroProfile specifications with Thorntail.
We described the techniques that are used to interact with different database types, using the JPA or Data Access Object (DAO) pattern. You learned how to commit your operations using the Java Transaction API (JTA). You saw how to expose your APIs using JAX-RS specifications to implement RESTful web services with JSON to send and receive data. Finally, we discussed how to follow the TDD approach and test our APIs with Arquillian.
Now, it's time to deal with one of the revolutionary approaches that you need to follow in an MSA architecture—the transactions. The transaction is one of the key elements of enterprise applications—maintaining data integrity and...