TP监控器:MTS、EJB谁主沉浮

2008-04-09 04:02:28来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  事务处理(TP)监控器有助于开发人员创建可升级和正确的应用软件。随着基于组件开发技术的兴起,也开始出现了基于组件的TP监控器。目前,在这一领域占有主导地位的有二种技术:微软事务服务器(MTS)和企业JavaBeans(EJB)。

  这二种技术在许多方面都相似。例如,二者都要求以组件的形式开发应用程序,都允许设置这些组件的事务要求,在服务的授权和可伸缩性方面也有许多相同的地方。但MTS和EJB在许多方面也有所区别,我认为它们之间的差别将决定哪种技术谁能够在未来占领这一领域。

  MTS的优点

  MTS最大的优点是:它是Windows NT的一部分。随着未来数年内Windows NT成为新的开发任务中占主导地位的服务器操作系统(我个人认为如此),大多数的开发人员将趋向于使用其内置的TP监控器。即使美国政府以违犯反垄断法为名要求微软将MTS从Windows NT中分列出来,由于同是由微软开发的,MTS作为TP监控器也比其他的TP监控器产品有较大的优势。数十年来,IBM的CISC一直主宰大型机的TP监控器市场,其原因就是大型主机的操作系统是由IBM开发的。

  在开发人员的理解和使用方面,MTS也非常简单。尽管微软对MTS的简单性的宣传有点夸大其辞,但如果开发人员理解了COM,几乎不费什么力气就可以轻松地使用MTS了。此外,MTS的另一个更大的优点是它允许使用包括Visual Basic(VB)、Java、C 和其他多种编程语言编写应用软件。随着Windows NT在服务器市场上主导地位的巩固,VB极有可能取代COBOL,成为新一代的“标准”商业应用软件用编程语言。在VB中可以简单地创建MTS组件更增加了这种可能性。事实上,VB已经成为微软最看重的MTS组件开发语言。

  MTS的缺点

  MTS最大的优点同时也是其最大的缺点:它只能在Windows NT环境下应用,而且微软明确表态,它没有将MTS(或其继任者COM )向别的操作系统移植的计划。与Solaris和HP/UX等领先的Unix操作系统相比,Windows NT在系统稳定性上还有一定的不足,在处理关健任务的应用软件中,它还得不到信任。此外,Windows NT还不能在“大”机器上运行,而在“大”机器上运行正是Unix擅长的。在未来数年内,情况可能会有所好转,Windows NT的稳定性和可伸缩性越来越强,但到时候,MTS可能已经不是一些应用程序最理想的选择了。

  MTS也缺乏一些分布式TP监控器应该具有的功能。例如,由于不具备自动的负载平衡功能,用户以一种相对静态的方式被绑定在一台服务器上。尽管微软承诺将在COM 中添加此项功能,但至今还没有实现。
  EJB的优点

  EJB最大的优点是它可以在多种操作系统上运行,其中包括Windows NT,也包括Unix、IBM的OS/390和其他一些操作系统。这种多样性意味着基于EJB的TP监控器不但可以运行在比Windows NT规模更大、更可靠的计算机系统上,也可以运行在廉价的、非常普及的Windows NT系统上。

  此外,EJB定义了可以在现有的TP监控器之上实现的API。与MTS不同,EJB可以在已有的TP监控器上实现。这对于TP监控器用户而言是件好事,因为在建立关健任务的应用时,人们一般不愿意使用全新的软件平台。

  EJB也有一些有趣的技术方面的特性。例如,它支持二种对象,一种是session bean,它与MTS中的对象非常类似;第二种是entity bean,MTS中没有直接与它对应的概念。与session bean不同的是,entity bean允许TP监控器本身加载和存储bean的状态。采取这种方法,可以使应用软件开发人员的工作更简单。

  EJB的缺点

  EJB是由许多互相竞争的厂商联合开发的,其每一个缺点都与这个因素有关。完全的标准化也就不可能存在竞争优势了,因此没有一家厂商愿意这么做。这样,EJB最大的缺点就是缺乏真正的标准,这也就没有什么好奇怪的了。

  事实上。EJB使用了另一种没有完全标准化的技术━━对象管理集团的CORBA。尽管使用Java的本地RMI协议远程访问enterprise bean是可能的,但跨不同厂商产品的互操作还是需要CORBA的IIOP。尽管不同的IIOP实现可能能够针对一些请求进行通讯,但使用多家厂商的基于CORBA的产品建立真正有效的分布式环境取得成功的并不多。目录服务、分布式安全服务、负载平衡和其他关健领域并没有实现真正的标准化,EJB规格甚至没有说明在事物的控制中应该使用什么协议,而完全依赖于各厂商之间私下制定的互操作解决方案。它还明确地允许对标准API进行扩展。这样,即使厂商遵守了一定的标准,但它们的产品仍然不能实现真正的互操作。

  由多厂商制定的标准的另一个问题是其复杂性。如果各厂商之间不能达成妥协,则最简单的解决方案是采纳所有的建议。例如,EJB就定义了三种划分不同事务分界的方法,而且可以一次同时使用这三种方法,要使开发人员理解这三种方法的各种组合是一件相当困难的事。(MTS正好相反,它只定义了一种控制事务边界的方法。)EJB还定义了多种管理对象状态的方法,其中就包括上面提到的session bean和entity bean。尽管这样增加了一定的灵活性,但也使在对它的理解和使用方面造成了较大的困难。

  最后,EJB只支持一种编程语言Java,这可能是一个严重的限制。使用Java的人正在快速地增长,尤其是在大学里,因此在不远的将来,将有越来越多的商用应用软件开发人员会掌握它,但如果认为其他的编程语言都会因此而消亡则是不可理解的。由于将自己与一种编程语言绑在一起,这将限制EJB的使用范围。

  结论

  MTS有一个无与伦比的优势:即它是绑定在Windows NT上的。象CICS一直是IBM大型主机平台上占绝对优势的TP监控器一样,我们想象不出来会有一种TP监控器能够在Windows NT平台上取代MTS。如果Windows NT成为占有绝对优势的服务器操作系统,毫无疑问,MTS将比EJB有明显的优势。更不妙的是,MTS是在1996年问世的,而支持EJB的产品直到1998年才出现。在争取成为占有绝对优势的TP监控器的竞赛中,MTS无疑是领先的。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Windows XP图标设计简述

下一篇:网络监听技术概览