写点什么

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

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

关注

评论

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

低代码平台中的GraphQL引擎

canonical

开源 低代码 领域驱动模型DDD 中台架构 graphql 低代码平台

低代码平台需要什么样的ORM引擎?(1)

canonical

开源 低代码 ORM 低代码平台 Spring JPA

架构师日记-从数据库发展历程到数据结构设计探析 | 京东云技术团队

京东科技开发者

数据库 京东云 企业号 5 月 PK 榜

Difference between from DR4019 and DR4029 /industrial wifi5 router/support openwrt.

Cindy-wallys

IPQ4019 ipq4029

性能优化多重要?凭借华为791页Mysql金字塔性能调优手册,进阿里

做梦都在改BUG

Java MySQL 性能优化 性能调优

BSN-DDC基础网络详解(十一):官方门户OpenAPI说明及开发资料汇总

BSN研习社

解耦远不止依赖注入

canonical

架构设计 解耦 依赖注入

低代码平台需要什么样的ORM引擎?(2)

canonical

开源 mybatis 低代码 jpa ORM

程序员之间拉开差距最大的因素

博文视点Broadview

【保姆级教程】如何用Rust编写一个ChatGPT桌面应用 | 京东云技术团队

京东科技开发者

rust 京东云 桌面应用 企业号 5 月 PK 榜

手把手教你用代码画架构图 | 京东云技术团队

京东科技开发者

京东云 代码实现 企业号 5 月 PK 榜 C4

我以为我对Mysql很熟,直到遇到了阿里这份笔记

做梦都在改BUG

Java MySQL 数据库

NLP 入门导论

小付聊测试

AI 入门 nlp

从可逆计算看Delta Oriented Programming

canonical

开源 低代码 软件产品线工程 可变性管理 可逆计算

背靠香港影视集团星光文化,StarNFT问世了

小哈区块

云原生背景下如何配置 JVM 内存

做梦都在改BUG

Java 容器 云原生 JVM

低代码平台中的自动化测试

canonical

开源 低代码 自动化测试 自动化测试框架 低代码平台

玩转服务器之环境篇:PHP和Python环境部署指南 | 京东云技术团队

京东科技开发者

php Python 京东云 企业号 5 月 PK 榜 轻量云服务器

从可逆计算看声明式编程

canonical

开源 低代码 声明式 命令式

Github上标星98K!火爆全网的性能调优实战手册,出自腾讯T4大佬

做梦都在改BUG

Java 性能优化 性能调优

小微企业运维用哪款软件好?有免费的吗?

行云管家

运维 安全运维 小微企业

Wallys / QCN9074/QCN9024 WIFI 6E 802.11AX 4X4 6GHz wifi module.

Cindy-wallys

华为云云原生视窗:一文回顾Q1精彩瞬间

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

碉堡了!阿里架构师手打的Java10W字面经,已经助我拿了6个offer

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

企业应该知道的几种网络安全防护措施!

行云管家

网络安全 网络 信息

什么是声明式编程

canonical

函数式 声明式 命令式

【直播回顾】AIGC产业研究报告2023图像生成篇报告解读

易观分析

产业 智能

前端开发之函数式编程实践 | 京东云技术团队

京东科技开发者

JavaScript 编程 京东云 企业号 5 月 PK 榜

MatrixGate 5.0 性能再升级,加载速度提升三倍!

YMatrix 超融合数据库

数据库 开源数据库 超融合数据库

你管这破玩意叫缓存穿透?还是缓存击穿?

做梦都在改BUG

Java 数据库 redis 缓存穿透 缓存击穿

阿里大佬在Github分享的Spring Cloud全栈笔记,你想象不到有多全

做梦都在改BUG

Java 架构 微服务 Spring Cloud

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