2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

创建从 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:101545
用户头像

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

关注

评论

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

开源应用中心|Discuz!X全新PC社区体验,多种场景一站解决

Discuz! 开源社区 Discuz

揭秘 MatrixDB 数据库内核技术,可编程的数据库!

YMatrix 超融合数据库

数据库 时序数据库 分布式时序数据库 MatrixDB 超融合时序数据库

利用多condition动态管理池化的异步资源背景

Java 后端

语聊房高质量音乐伴奏的实现

融云 RongCloud

语聊房 音乐播放

JavaScript 解构赋值 5 个常见场景和实例

devpoint

JavaScript 大前端 ES6 11月日更

刚从今日头条Java研发岗面试回来,我总结的失败原因(附面试题

Java 程序员 后端

判断对象是否已死分析总结——JVM系列,让人茅塞顿开

Java 程序员 后端

DDD战术设计实践

郑印

DDD

糟糕程序员的20个坏习惯

Kaito

架构 程序人生 后端 编程修养

优先队列一些记录以及解题思路

数据结构 Go 语言 优先队列

GaussDB (for Cassandra) 数据库治理:大key与热key问题的检测与解决

华为云开发者联盟

数据库 分布式数据库 key GaussDB (for Cassandra) 数据库治理

【架构设计总结】

Ryoma

双11大促 | 消息推送资源包6折购!一键集成华为、小米等多厂商推送通道

蚂蚁集团移动开发平台 mPaaS

消息推送 push mPaaS 双11 促销

工具:Juypter Notebook

正向成长

Jupyter Notebook

BoCloud博云完成 E 轮融资

BoCloud博云

云计算 云原生 博云

别看是Java基础,很多人已入坑,java技术栈

Java 程序员 后端

【Quarkus技术系列】「云原生架构体系」打造基于Quarkus的云原生微服务框架实践

码界西柚

云原生 Quarkus 原生云 11月日更

ironSource现已支持自定义广告网络

初学者这样玩 TypeScript,迟早进大厂系列!

Java 程序员 后端

利用这份文档,我成功定位阿里P6,却拿着P7的工资

Java 程序员 后端

字节Android Native Crash治理之Memory Corruption工具原理与实践

字节跳动终端技术

字节跳动 Android; 火山引擎

如何 30 分钟搭建一个语聊房

融云 RongCloud

彻底理解 AQS我是懂了,你呢?

何小事儿

Java 多线程 并发

利用碎片化的时间逆袭进百度,我的面试经历你敢听吗?

Java 程序员 后端

到了2020年,技术水平到底需要达到怎样的程度才能成为顶级的阿里P8架构师

Java 程序员 后端

AI 算法在视频可分级编码中的应用

融云 RongCloud

人工智能 音视频 编解码

10月书讯 | 跟着泰拉去冒险

图灵教育

编程 程序员 书单

分布式基石|最难 paxos 和最易 raft?,java排序算法面试题

Java 程序员 后端

初探Linux--鸟哥私房菜读书笔记,廖雪峰java教程百度云

Java 程序员 后端

初识java-JDBC,mysql索引左前缀原理

Java 程序员 后端

FabEdge 和 SuperEdge 联合在边缘 K8s 集群支持原生 Service 云边互访和 PodIP 直通

BoCloud博云

云原生 边缘计算 superedge FabEdge

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