从商业角度分析J2EE与WINDOWS DNA 体系结构 - 深入J2EE技术 - 付毅

(这条文章已经被阅读了 239 次) 时间:2001-08-04 01:49:12 来源:付毅 (mytuotuo) 转载

  这份白皮书的以下部分要讨论: 与COM+、WINDOWS DNA相比较,使用EJB、J2EE所能带来的商业好处。

  1 业界支持

  任何一个商业化的技术要想拥有良好的市场态势,业界内重要企业的大量参与是十分重要的。J2EE是由SUN引导,各厂商共同发起的,并得到广泛认可的工业标准。业内‘企业计算’领域的大企业如:IBM , BEA Systems, Oracle等都有参与。
  在J2EE规范制定阶段让供应商参与进来,能够吸收他们在企业计算领域多年来成熟的经验,而且能够推动他们迅速开发出J2EE的产品。因为采取了以上策略,现在已经超过25个不同的服务器端平台支持J2EE 规范。
  由于采用开放的协作制定规范,J2EE也体现了众多企业计算领域供应商的知识和专业技术。这意味着产品解决方案能够满足任何商业需求。由于有大量的厂商支持,所以用户的选择范围会更广泛。
  与此相比,WINDOWS DNA架构是由微软单独制定并完成的。客户若是选择了这种没有得到业界广泛支持的专有架构,就会把他们局限在某一个供应商的技术实现上。这会就妨碍客户将来采用其他供应商的产品,而这些产品很有可能最适合某一企业的特定需求。

  2保护已有的IT投资

  由于公司必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。
  J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的‘企业计算’领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。
  J2EE能够保留现存的IT资产有以下三方面的好处:

  应用程序能被利用

  已有的代码在J2EE方案中可被重用,一个应用程序可重新划分层次而不用重写。这样就减少了开发时间,加快了进入市场的步伐,降低了开发成本,把项目保持在合理预算水平上。这同时也降低了企业的风险,因为公司可以使用已被验证和曾经运作的方案,而不是撤掉已有系统从新编写。

  已有的产品和使用许可协议能被利用
  
  如果一个公司已经购买了某些已有技术的使用许可协议或维护协议,如中间件,操作系统或硬件方面的许可协议,这些许可在J2EE环境中仍能被使用。因此能够降低项目成本,缩短培训时间。
 
  对供应商的依赖性更小

  因为正在为你服务的供应商提供了用于J2EE平台的产品,整体上只有一个供应商,你不需要依靠两个供应商的帮助在他们产品之间建立连接。这就减小了应用程序的复杂性,降低了整体风险水平。
  与此相对照,微软的WINDOWS DNA 架构要求客户购买并安装WINDOWS 2000,还有可能需要客户购买新的硬件。客户就没有机会使用原有供应商的许可或维护协议,增加了项目成本。
  我们也应当看到WINDOWS DNA 确实提供了到用户已有系统的连接,可是客户使用这种连接要依靠两个供应商:微软和现在为你提供产品的供应商。仅用一个供应商的方案通常比两个供应商的连接方案更易管理,更可靠。

  3保护未来的IT投资,适应变化

  今天,一个公司的IT部门的灵活性与适应性是保持公司在市场中的竞争优势的源泉。公司应迅速改进程序,以期对变化的市场环境做出反应,同时公司通过更短时间内面向市场,比竞争对手更快的采取应对措施可以在竞争中取得飞跃。通过设计能够适应更多的用户负载或事务需求的商务系统,IT部门能够按照市场需求规划部署。
  J2EE能让一个公司具有更强的适应变化的能力。因为每一个基于J2EE平台的产品都保证支持最基本的J2EE服务。公司可以只需构造一次编码良好,符合J2EE的程序,然后在部署时按应用环境做出决策。如果底层平台的功能、伸缩性或可用性还不足以满足新的市场需求,用户可以有其他选择。如果客户的J2EE应用程序设计良好,并能符合标准,这个系统可以随着时间的推移通过更换底层中间件、操作系统或硬件来进行放缩,却不会显著地更动应用程序。用这种方式对未来IT投资的保护是很具吸引力的建议。对市场需求的反应时间缩至最短,可以让公司以INTERNET所要求的那种速度采取行动。
  而WINDOWS DNA没有提供象J2EE平台那种层次的对变化的适应性。客户采用WINDOWS DNA就会被绑在中间件和操作系统的微软实现上,如果这个实现的功能性、可伸缩性、可用性不尽人意,客户只能怪自己不够走运。如对底层的操作系统和中间件作些修改就会显著影响应用程序。可被选择的硬件也十分有限。这都会极大地延误公司对变化的市场环境做出反应。

  4切入市场的时间

  在今天的市场开发商业方案,数月时间已经是很漫长的概念,错失一个很小的首先切入市场的机会都会意味着你的公司要花费数年的时间去追赶。
  缩短切入市场时间的一种方法就是选择便于应用程序快速开发的服务器端平台。J2EE和WINDOWS DNA都允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力 在如何创建商业逻辑上,相应地缩短了开发时间。
  然而基于J2EE平台的高级产品比WINDOWS DNA 提供了更大范围的中间件服务。这种有点有些来自于J2EE平台结构本身的优势,一些是由于J2EE能让供应商鲜明地提供各种不同特性而同时保持与平台的兼容性。以下这些复杂的中间件服务是高级中间件供应商所提供的,而在WINDOWS DNA 中却不具备的:
  状态管理服务:可以让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。
  持续性服务:可以让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。
  分布式共享数据对象CACHE服务:可以让开发人员编制高性能的系统,极大地提高整体部署的伸缩性。
  公司选择基于J2EE平台实现以上服务的产品,可比选用基于WINDOWS DNA方案 能更快地切入市场,实现更高水准的伸缩性能。
  J2EE平台快速切入市场的特性也有益于那些已拥有成型的电子商务软件的供应商,如SAP, Peoplesoft、 Trilogy、 Oracle、 Tradex、 EC Cubed、 Integral、 I-mind 和 Intershop。供应商选择J2EE平台能够构造部署到任何客户目标平台的可移植程序,这些目标平台包括WINDOWS、UNIX、其他已有系统,也包括任何基于J2EE平台的产品。供应商选择微软平台只能支持部署在WINDOWS上的一小部分用户。基于J2EE的程序是独立于某一特定技术的,如数据库、操作系统或硬件。这对一个拥有广泛的异构环境下客户的供应商是必需的。J2EE比WINDOWS DNA 提供更多地底层平台服务,有助于软件供应商更快地程序开发,更迅速地市场切入。

  5平台的成熟性

  自从1996年12月MTS发布以来,WINDOWS DNA,COM+的服务器端构件服务被不断发展,而J2EE、EJB产品则是从1998年开始的。
  看起来好像WINDOWS DNA 是一个成熟的平台。然而事实上,现在基于J2EE平台的高端产品包含一些重要的事务逻辑,而这些事务逻辑应用在产品中许多年了。提供J2EE平台商业实现的供应商(如IBM、BEA)都有很长的、得到认可的发布中间件产品的历史。这些中间件产品能实现大宗的事务系统。这些供应商不是从零开始构造服务器端平台(微软的MTS却是如此),一些供应商是通过在已得到验证的现有技术上开发一个基于J2EE平台的具有可移植性的层来实现J2EE平台。这包括CORBA产品、事务处理监视器、数据库、和/或应用服务器,以上这些技术以前都是各企业专用的。在一些基于J2EE平台的产品内的技术实现着大批的现今的商业事务,这些技术早在微软进入服务器端商业领域以前就已产生。拥有早已得到认可的技术的J2EE产品供应商有:
  IBM’s WebSphere 逻辑上脱胎于IBM’s MQSeries、 CICS 与 Encina,而今天大多数重要的实时任务系统的事务都依靠这些产品来运转。
  BEA’s WebLogic 这个产品自从微软1996年首次推出MTS就已被投入市场。WEBLOGIC提供到M3和Tuxedo的连接,能够让IT部门使用事务处理监视器技术,这项技术有浓厚的可靠性历史。
  Oracle’s Oracle 8i 能够支持以下技术:数据库服务、服务器端构件以及单个物理层上的WEB服务。Oracle 8i 是以ORACLE公司在市场上占领导地位的数据库技术和在线交易处理技术为基础的。
  Netscape’s Netscape Application Server 基于Kiva应用服务器技术。 1996年开始使用,现在很多大型商业网站都靠它来驱动。
  IONA’s iPortal Application Server 基于OrbixWeb技术, OrbixWeb是一种CORBA产品,它有很长的发布历史,提供一系列强大的高级中间件服务。
  Inprise’s Inprise Application Server 基于VISIBROKER,这是一种CORBA产品,长期以来一直被业界采用,并被部署在一些大型公司的站点上。
  因为IT部门可以利用已有的、历经考验的技术,这在很大程度上减少了危险因素。

  6 可伸缩性

  公司必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。Windows 2000 Datacenter Server在2000年2月份被认为是微软最具伸缩性的方案。据称每台机器可支撑到16个处理器,若通过OEM则可达到32个处理器。把多个装有Windows 2000机器集簇到一起,在理论上则可达到上百个处理器。要达到这样高水平的伸缩性,服务器平台必须具有跨多台机器传送客户请求的功能。微软的构件负载平衡技术就是为了在多个COM+构件上传送客户请求。
  遗憾的是,微软最近宣布由于功能不够完善,构件负载平衡技术已经从‘WINDOWS 2000’2000年2月发布版中取消。这意味着涉及到COM+的中间层被限定到一台机器上,进而不能提供大型商业网站所需要的伸缩性。
  然而基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。
  通过伸缩性的例子,我们也可看出选择专有技术如WINDOWS DNA的危险性。客户没有选择余地,只能等待供应商完成指定的特性。然而选择J2EE这种开放结构,客户可以选择产品,还能保留在现有应用开发方面的投资。如果基于J2EE平台的应用程序设计正确,客户可以变更产品供应商,以最小的移植代价来满足一定的伸缩性或功能需要。

  7长期的可用性

  一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。随着INTERNET越来越成为主要的交易平台,这种事态现着愈发严重了。
  J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如Sun’sSolaris、IBM OS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择。
  基于微软技术的部署过去还不能达到这样高水平的可用性。WINDOWS DNA绑在WINDOWS 操作系统上,而这种操作系统过去一直由于可靠性不高受到批评。微软自己高度赞扬他的WIN 2000具有高度的可用性。但是否能达到以上这些操作系统的水平仍待观察。尽管微软的一些老客户要选择WINDOWS 2000,任务时实性很强主流商务站点会采取保守姿态。

  8产品的总体成本

  购买服务器端平台,我们必须考虑拥有这个产品的总体成本。它包括:服务器平台的价格、在这个平台上开发和改进方案的成本、维护费用、由于伸缩性、不稳定性问题所消耗的部署时间、由于平台的缺陷所损失的客户。较低的总体成本是拥有大宗业务、要求时实性强的商业站点所必需的。
  基于J2EE平台的产品价位范围很广,各种类型的公司都可以找到满足他们预算水平,所需求服务的产品。产品有完全免费(如代码公开的Bullsoft’s JOnAS)、每机2500美元(Valto’s Ejipt)、每CPU35000美元(IBM’s WebSphere Enterprise Edition)。而微软指定的最初价位是:Windows 2000 Advanced Server每机3999美元外加1999美元(由于INTERNET连接造成无限授权的INTERNET用户)。
  微软的价位是处在基于J2EE产品价位的中低档。微软还没有宣布Windows 2000 Datacenter Server, Windows 2000 AppCenter Server价格,因此现在我们还无法把微软的高端平台与大部分J2EE平台相比。以后会因为竞争的存在,各中间件供应商包括微软会按照所提供的服务水平而达成相近的价位。
  无论价格战的结果如何,J2EE架构都会比Windows DNA节省更多的整体成本。这是因为采用J2EE架构,IT部门可更充分利用在应用程序、中间件技术、操作系统方面已有的投资。基于J2EE开发的成本(最初的、后续的成本)也会显著降低。这是因为对于程序员,开发面向J2EE平台程序时,一些棘手的中间件任务可被隐式地完成,而WINDOWS DNA则不可以。开发符合J2EE规范的应用程序时,程序员可以花费更多的时间专注于业务逻辑的实现,提高了开发效率。

  9 多种选择与限定在某个供应商

  Windows DNA 与 J2EE一个很大的不同点是:微软的方案是专用的,排除了竞争的可能(导致垄断)而J2EE公开标准,引入竞争(自由市场)。
  竞争的好处是:价格被降低;优秀的产品会出现;客户有选择权和灵活性而不是固定在某一个供应商的方案上;极大降低客户的风险水平。竞争的缺点是:制定开放的标准需要额外的工作来确保兼容。一些开放标准如SQL、CORBA在过去都曾因缺乏这种保证而深受其害,结果一些专用产品出现了。
  Sun Microsystems为解决这个问题在J2EE发布中包括了一个称为‘J2EE兼容性测试套件’的产品。所有中间件供应商必须成功通过这个测试才能获得J2EE认证标志。这就确保了J2EE应用程序代码可以只开发一次,然后在任何基于J2EE平台的产品中编译、运行。客户有选择的机会,避免了依赖某一个供应商。
  事实上,Sun Microsystems已成功地应用测试套件的方法来保证J2SE(JAVA2平台标准版)的兼容性。现在你可以创建基于JAVA2平台的程序仅一次,然后可以部署到任何兼容的JAVA虚拟机上。这个方法在J2EE上也是行得通的。J2EE兼容性测试套件是解决不兼容的服务器端平台的关键。读者也应该注意到,由于J2EE领域激烈的竞争,供应商业会提供超越J2EE标准的便利服务。这由供应商来决定增加哪些特性是适宜的。

  10 支持异构环境

  一些大的公司拥有异构的服务器端部署环境,使用多种操作系统、硬件、中间件产品。异构的环境在以下情况也可能出现:要完成多个不同项目的机构;对拥有不同部署环境的公司进行合并、收购。在以上情形中,跨异构操作系统的可移植性与互操作性是非常重要的。
  J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构公司计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。
  WINDOWS DNA(包含COM+组件)只能应用到WINDOWS 2000上,不能在现有的系统上使用。这对任何一个拥有异构环境的公司都是难以接受的。另外,选择WINDOWS DNA,公司要在异构环境中引入新的操作系统,使整个系统更加复杂。公司购买现成的组件也只能部署在WIN 2000上,限制了它的使用。
  在异构环境中,不同系统的互操作或通信是非常重要的。在两个不同的J2EE系统中,同种J2EE产品可以相互通信。两个不同供应商的产品也可通信,但是由于缺乏标准机制,不同供应商的产品的事务、安全信息不能互操作。在新版的J2EE规范中将会制订一个标准协议实现完全互操作性,并且不影响已有的程序代码。微软不想遵循这个协议,所以它的服务器端产品仍是专用的,不能和其他供应商的产品互操作。

  11 可维护性

  通常,公司只评估一个项目整个部署过程中的成本。然而整体成本应包括一个已实现的方案的维护费用。使用J2EE要比利用WINDOWS DNA开发的应用程序更易于维护。基于J2EE平台产品支持更广泛的组件类型和中间件服务,可以让开发人员投入精力在亟待解决的商业问题而不是中间件上。开发人员利用底层平台构造灵活、易维护的企业系统,这类系统不用作大的调整就可以适应新的中间件、数据库或数据库规划。
  与此相比WINDOWS DNA 部提供如此广泛的中间件功能。在构造系统时要编写更多代码,增加了程序的复杂性,不能把商业逻辑与中间件功能清晰地分开。而且终端程序将难于维护,当开发组变更,项目交接时情况更糟。

  总结:二十一世纪,随着Internet日益成为主要的商业交易平台,具有可伸缩性、灵活性、易维护性的商务系统是人们关注的焦点。而J2EE恰好提供了这样一个机制。通过以上对比,使用J2EE的好处显而易见,并且随着时间的推移,将会愈发显出它的生机。