写点什么

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

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

关注

评论

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

k8s自定义controller三部曲之二:自动生成代码

程序员欣宸

Kubernetes k8s 9月月更

Java进阶(三)Java安全通信:HTTPS与SSL应用配置

No Silver Bullet

https SSL证书 9月月更

C++学习------cctype头文件的作用与源码学习

桑榆

c++ 9月月更

学 Go,最常用的技能是什么?打日志

梦想橡皮擦

Python 9月月更

高颜值!程序员专属浏览器

Jackpop

计网复习一,计算机网络原理概述

前端小刘不怕牛牛

计算机网络 计算机基础 HTTP 9月月更

易观之星 | “2022年度用户推荐数字应用”投票通道开启

易观分析

易观

分享一套自己制作的Nestjs实战教程

pincman

node.js typescript nestjs

二维容器进行图的DFS搜索和BFS搜索-C++STL模板

清风莫追

c++ 算法 9月日更 9月月更

iview提供的控件tree

zxhtom

9月月更

云原生(三十四) | Kubernetes篇之平台存储系统实战

Lansonli

云原生 9月月更

微服务为什么需要混沌工程

穿过生命散发芬芳

混沌工程 9月月更

2022-09-02:以下go语言代码输出什么?A:9;B:11;C:编译错误;D:不确定

福大大架构师每日一题

golang 福大大 选择题

leetcode 21. Merge Two Sorted Lists 合并两个有序链表(简单)

okokabcd

LeetCode 数据结构与算法

易观千帆 | 2022年7月宁波市手机银行应用活跃人数榜单

易观分析

手机银行 宁波

Ribbon源码分析之@LoadBalanced与LoadBalancerClient

急需上岸的小谢

9月月更

线上问题如何复盘

老张

线上故障 问题复盘

一名中年码农转型成远程工作及远程全栈教学创业者的故事

pincman

node.js typescript react.js 远程工作 nestjs

为什么这么多品牌迫切想要改变Logo?

Jackpop

【Web前端】怎样用记事本写一个简单的网页-html

清风莫追

9月月更

Java进阶(二)文件读操作

No Silver Bullet

Java 9月月更 文件读操作

[教你做小游戏] 只用几行原生JS,写一个函数,播放音效、播放BGM、切换BGM

HullQin

CSS JavaScript html 前端 9月月更

什么是 SAP Business Function

汪子熙

SAP abap Netweaver 业务流程驱动 9月月更

开源IM项目OpenIM单聊及万人群压测报告

Geek_1ef48b

中国智能网联汽车信息安全分析2022案例征集

易观分析

汽车 案例征集 智联网

远程TS全栈学习+远程全职工作+远程高质量外包=3R教室

pincman

node.js typescript react.js 远程工作 nestjs

如何正确理解Java领域中的锁机制,我们一般需要掌握哪些理论知识?

PivotalCloud

金融网络安全体系建设

阿泽🧸

9月月更 安全体系建设

【数独 2】候选数法解数独谜题-挖掘更深的信息-C++实现

清风莫追

9月月更

SpringCloud 配置中心(Nacos)的简单使用

nacos SpringCloud 配置中心 9月月更

上车上车,快速搞懂Redis 过期策略和内存淘汰策略

知识浅谈

redis 过期策略 9月月更

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