Friday, October 28, 2022

Announcing Oracle Transaction Manager for Microservices Free

Oracle Database Exam Prep, Oracle Database Career, Database Skills, Database Jobs, Database Cerrtification, Database Prep, Database Preparation, Database Guides

Oracle is pleased to announce the availability of Oracle Transaction Manager for Microservices Free. This new product provides distributed transaction coordinator services for a variety of transaction protocols. Using this product, microservices developers can easily ensure the consistency of data across their microservices, even in the presence of failures. The coordinator itself is a microservice and readily deployed into a service mesh framework such as Istio/Envoy with Kubernetes.

Oracle Database Exam Prep, Oracle Database Career, Database Skills, Database Jobs, Database Cerrtification, Database Prep, Database Preparation, Database Guides

As application architecture moves from monoliths, through SOA, to today’s microservices, issues crop up that monoliths and some SOA based applications don’t need to worry about. One area in particular is around data consistency. In a monolithic application, typically all data is stored in a single database. Consistency across tables is managed by local transactions to ensure the data remains consistent, i.e., an update to two tables either both succeed or neither of them succeed. Moving to microservices where each microservice maintains its own database, local transactions are no longer sufficient to provide consistency. This is where distributed transactions become a requirement.

Distributed Transactions


To help ensure data consistency across microservices, a distributed transaction is often used. Distributed transactions try to move a system from one consistent state to another consistent state. They are often utilized to handle the various failure scenarios that can occur in distributed systems, ideally without burdening the application developer with too much work. One of the earliest distributed transaction protocols is the XA two phase commit protocol defined by The Open Group. Using XA, applications can ensure that the updates to multiple data sources can be done while still adhering to the ACID guarantees of a transaction.

Multiple Supported Distributed Transaction Protocols


The initial release of the product is being offered for free and intended to allow developers to start leveraging distributed transactions in their microservice based applications. Support is provided for XA based distributed transactions, Sagas in the form of Eclipse MicroProfile Long Running Actions, and the Try-Confirm/Cancel transaction protocol. Microservice developers are free to choose the distributed transaction protocol best suited for their application based upon their application’s consistency requirements.

This initial free release provides support for microservices developed in:

◉ Java using Jax-RS in Helidon, WebLogic Server, and Spring Boot
◉ Typescript using Express.js
◉ PL/SQL using Oracle Application Express and Oracle REST Data Services
◉ C/C++/COBOL running in Tuxedo and exposed as REST services using SALT
◉ Oracle Blockchain Platform smart contracts

with more languages and platforms to come.

Microservice Based Transaction Coordinator


Transaction Manager for Microservices consists of a microservice based transaction coordinator that can be deployed into a containerized environment such as Kubernetes or Docker Swarm. Provided as well is a set of language specific client libraries that provide APIs and CDI annotations to access the transaction coordinator’s services. These libraries also include request and response filters to automatically propagate transaction context between microservices and enlist called microservices in the transaction.

Focused on Ease of Development


Using the supplied client libraries, applications can easily be extended to support their consistency requirements with a minimal amount of effort. In many cases with a few lines of code modified or added to an existing microservice it will be able to initiate or participate in a Transaction Manager for Microservices managed transaction. The included samples cover different use cases such as financial transactions requiring strong consistency, to making travel reservations with looser consistency requirements. Provided helm charts for Kubernetes, minikube, and Docker Swarm make deploying Transaction Manager for Microservices a simple task taking just minutes. 

Source: oracle.com

Related Posts

0 comments:

Post a Comment