写点什么

创建从 Java EE 到.NET 的事务桥梁

  • 2010-11-06
  • 本文字数:861 字

    阅读完需:约 3 分钟

Bill Heinzman 在最近的 JavaOne 大会上谈到如何在企业级 Java 和.NET 应用程序之间创建跨平台的事务桥梁。Java 和.NET 数据都使用类似的结构和语义来实现事务管理的解决方案,只是在协议上稍有不同,但是二者中的事务管理无法与另一种技术中的相互协作。我们很难在这两种技术之间实现并使用跨平台的事务。两段提交(two-phase commit 2PC )协议本来就是一种阻塞型的协议,它的伸缩性不好,会导致延迟、复杂性和失败概率的提高。

Bill 向我们概述了在 Java 和.NET 技术中事务管理的 API。 Java 资源管理接口 XAResource 中包含了一些方法,像 start、end、prepare、forget、recover、commit、rollback 等,以跨越多个数据源来管理分布式的事务。 而.NET 的资源管理接口 IEnlistmentNotification 则提供了 Prepare、InDoubt、Commit 和 Rollback 等方法来进行分布式事务管理。他说,Java 拥有“更繁忙”的实现,其中资源管理必须处理多个启发式的分支,这是使用包含事务 ID 和“分支”ID 的 Xid 令牌完成的。

他还谈到使用标准——像 WS 原子事务 WS 协作——提供分布式事务的技术,以及如何使用共享内存、Java 虚拟机到 CLR(JVM-to-CLR)实现的方式直接进行连接。

WS 原子事务和 WS 协作都是 web 服务的基础,但是它们的性能都很差。 数据库事务是可互操作的,但是与其它公司的资源——像消息传递(JMS 和 MSMQ)——就做不到了。使用互操作性跨平台的事务连接提供了.NET 和 Java 端活动事务的整合,并且让事务管理器存在于它们各自的沙盒(sandbox)之中。跨平台的事务整合对于用户来说是透明的,并且能够与所有厂商的 J2EE 实现相协作。Java 程序可以使用支持事务的代理来调用.NET 应用程序,这个代理使用的是 JNBridgePro 产品,它支持.NET-to-Java 和 Java-to-.NET跨平台事务的两段提交。

Bill 在演讲的最后做出结论,他讨论了分布式事务管理的未来、Xtreme 事务处理以及云计算环境中的事务。云中的事务必须是由云管理的抽象资源,而云和传统 web 应用程序之间的事务必须是真正可互操作并且透明的。

查看英文原文: Bridging Transactions from Java EE to .NET

2010-11-06 18:101438
用户头像

发布了 340 篇内容, 共 134.5 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

ISO 8601持续时间格式

HoneyMoose

面试官让你说说react状态管理?

beifeng1996

React

数据预处理和特征工程-特征选择-Wrapper包装法

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

面试官:vue2和vue3的区别有哪些?

bb_xiaxia1998

Vue

一年前端面试打怪升级之路

loveX001

JavaScript

面试官:React怎么做性能优化

beifeng1996

React

React源码分析1-jsx转换及React.createElement

goClient1992

React

一份vue面试知识点梳理清单

bb_xiaxia1998

Vue

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

湖仓一体电商项目(十):业务实现之编写写入DWD层业务代码

Lansonli

湖仓一体 11月月更

开发和学习时需要造一些kafka消息,于是写了段脚本实现,在这里记录备忘,后面会常用到

程序员欣宸

kafka 11月日更

React源码分析(二)渲染机制

goClient1992

React

细说react源码中的合成事件

flyzz177

React

倒计时3天!银行APP用户体验外滩峰会嘉宾阵容抢先看!

易观分析

App 银行

湖仓一体电商项目(十一):编写写入DWS层业务代码

Lansonli

湖仓一体电商项目 11月月更

自制操作系统日记(5):跳转到C语言执行

操作系统

前端面试如何回答,这些题目或许可以给你一些提示

loveX001

JavaScript

CSS 定位

默默的成长

CSS 前端 11月月更

我的react面试题整理2(附答案)

beifeng1996

React

React Context源码是怎么实现的呢

flyzz177

React

这些js原型及原型链面试题你能做对几道

loveX001

JavaScript

前端vue面试题

bb_xiaxia1998

Vue

Java注解与原理分析

Java 架构

Linux中传输文件如何做到又快又安全?同学,scp命令了解一下!

wljslmz

Linux 运维 scp 11月月更

面试官:说说Event Loop事件循环、微任务、宏任务

loveX001

JavaScript

Vue.$nextTick的原理是什么-vue面试进阶

bb_xiaxia1998

Vue

湖仓一体电商项目(九):业务实现之编写写入DIM层业务代码

Lansonli

湖仓一体电商项目 11月月更

IO原理(一):从BIO到NIO

苏格拉格拉

Linux io nio 多路复用

CSS高级技巧

默默的成长

CSS 前端 11月月更

我的react面试题笔记整理(附答案)

beifeng1996

React

React源码分析(三):useState,useReducer

goClient1992

React

创建从Java EE到.NET的事务桥梁_Java_Srini Penchikala_InfoQ精选文章