News

Interop Vendor Adds Transaction Bridging

Java/.NET interoperability solutions provider JNBridge is adding features to the next release of its core interop tool that will integrate distributed transactions between enterprise Java and .NET platforms, the company announced this week. JNBridge 5.0 will support what the company calls "generalized cross-platform transaction bridging," essentially making transactions between Java- and .NET-based components and applications work whether those transactions are Java-to-.NET or .NET-to-Java.

A transaction in this context is an individual unit of information, an "all or nothing" sequence of operations that must succeed or fail in its entirety, explained Dr. Wayne Citrin, JNBridge's chief technology officer. "Think of an electronic banking transaction," he said. "If all the operations of the transaction are successful, then the transaction can be committed. If any one operation fails, the whole transaction must be aborted, or rolled back."

The industry-standard protocol used by transaction monitors to guarantee that a particular sequence has succeeded as a unit is known as "two-phase commit," because it consists of a commit-request phase and a commit-or-abort phase. JNBridgePro 5.0 is designed to manage the two-phase commit protocol for transactions between distributed Java and .NET platforms, while keeping it mostly transparent to the use, Citrin said. An "abort," also called a rollback, on either side will cause actions on both sides to be rolled back; a commit on both sides will cause both sides to be committed. This capability works with all vendors' JEE implementations, he said.

"The idea is that if there are two active transactions, they are going to be unified," he said. "The Java side doesn't know about the .NET side, and the .NET side doesn't know about the Java side."

Citrin, who called transactions "the glue that makes e-commerce work," argued that there have been few successful remedies for the incompatibilities between enterprise Java and .NET transactions and transaction managers. He pointed to TIP (Transaction Internet Protocol), now obsolete, and WS-AT (Web Services Atomic Transaction), which requires cross-platform transactions to be exposed Web services.

Ovum analyst Tony Baer agrees that incompatibilities between Java- and .NET-based transactions has been an issue for companies involved with e-commerce, and that JNBridge is one of the few vendors attending to this interop niche.

"It's often the case nowadays, with applications that are more distributed -- and especially when you start getting into a lot of service-oriented stuff -- that at some point you're going to need to write some direct transactional applications," Baer said. "For example, you might have a dedicated application with some logic written in VB or C# that's going against a Java back-end, or vice versa."

"This [JNBridge] capability means that you can write transactional applications without having to write transactional logic. They've automated the type of thing you take for granted when you code natively. It's going to bridge the impedance mismatch when it comes to transactionality -- things like rollback, two-phase commit, and all that sort of wonderful stuff. It also means that, as you change your code, you don't have to change your transactional logic, your application will be less brittle."

"Frankly, I don't see anything else handling this whole transactionality issue right now," Baer added. "They've added a useful piece to the interoperability puzzle."

The Boulder, Colo.-based company also unveiled new versions of its two Java Messaging Service (JMS) adapters that will support cross-platform transactions: the JMS Adapter for .NET 2.0 and the JMS Adapter for BizTalk Server 2.0. The .NET adapter is designed to integrate JMS implementations directly with the .NET Framework; the Biztalk adapter does the same with the Microsoft's Biztalk Server.

The JMS is an API for enterprise messaging systems, which, Citrin said, supports "a very specific, narrow kind of transaction."

"It groups messages together into what is called a local transaction," he said. "We were able to integrate that with .NET transactions from the program that was consuming those messages."

The new BizTalk Server Adapter 2.0 comes with built-in support for request/response and solicit/response messaging patterns, which match outgoing and ingoing messages. Both adapters also provide a more flexible architecture that allows .NET and Java portions of the JMS client to run in separate processes, or on different machines.

The company announced the new products Monday, but plans to release them next week at Microsoft's Professional Developers Conference (PDC) in Los Angeles next week. More information is available on the company Web site here.

About the Author

John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube