随着越来越多的企业架构师用新的方法来构建应用,负责基础工作(应用服务器)的厂商们现在也开始着手对自己的产品进行改造,以适应SOA的要求。SOA架构主张构建模块化的、可重用的应用组件,尽量避免出现传统IT资产中的那些“脆弱”特性。企业也对这种架构非常感爱好。Gartner称,在过去的两年启动的开发工作中,至少有80%都会成为具备服务功能的应用。为了满足企业对SOA的需求, java 2平台企业版(J2EE)应用服务器厂商BEA、IBM、JBoss和Oracle都开始改变自己原来的做法,将一些原来为可选特性的内容,例如简单对象访问协议(SOAP)和消息功能变成标准的产品特性。JBoss是一家开源中间件厂商。该公司负责产品治理的副总裁Shaun Connolly说,仅仅为用户提供构建基于服务应用的工具是远远不够的。应用服务器的技术架构也应当具备服务功能,这一点非常重要,因为很多客户都希望引入或替换EJB容器、Servlets、消息工具和治理特性。他说:“假如企业使用的是单一的方法,那么要想取出其中的一部分内容并使用其他的功能几乎是不可能的。”为此,JBoss对应用服务器的微内核进行了改造,使其变得更加具体,这样客户在部署Java对象时就会有更多的选择权。Connolly说,全新的JBoss Microcontainer 1.0将成为JBoss application Server 5.0的基础,后者将在2006年年中正式推向市场。他说:“我们会利用这种更新、更轻便且面向服务的微容器。”Connolly说,在企业环境中,用户假如为了实现受资源限制的部署(例如网络设备)而单独拿出应用服务器,并且加载到高端群集环境中的话,粒度就显得非常重要。他说:“惟一可行的办法就是让平台在设计时就采用面向服务的方式。”JBoss Application Server 5.0还将具备Seam 1.0这种特性。这种全新的JBoss组件模型可以对处理应用状态治理所需要的代码进行掩盖,从而简化编写复杂Java应用的工作。他说:“它把许多代码从进程中‘赶’出去。代码越少就意味着出现Bug的可能性就越低。”
Java EE 5从更大的范围看,应用的简单性将是未来Java Platform EnterPRise Edition 5(Java EE 5)规范的要害内容之一。目前该规范已经接近完成。今年早些时候,Sun发布了Java平台的全新命名规则,放弃了原来的J2EE 5.0名称而选用了Java EE 5。目前,应用服务器厂商Oracle和JBoss都开始了Java EE 5的开发工作,并且发布了最新版的EJB组件架构。Connelly说,在过去,复杂的开发和重型容器的要求都严重制约了用户对EJB的采用,但EJB 3.0是一种轻型设计,编程过程也要轻易得多。他指出:“虽然很难说新的设计在多大程度上进行了简化,但至少从代码的规模上来说减少了10倍以上。”Blake Connell是BEA公司WebLogic Server产品的营销经理。他对这一观点也表示了赞同。他认为:“EJB的缺点之一就是对开发人员的水平要求很高。新版的EJB将会减轻这方面的负担。”对于BEA来说,最近由于收购了专业Java工具开发商SolarMetric公司及其所谓的持续性引擎,因此BEA在Java EE 5领域取得了迅速进展。对象持续性技术可以帮助开发人员处理关系数据库和瞬时对象,例如在线购物车或航空公司机票预订。Connell说,BEA计划将SolarMetric的Kodo引擎融合到即将于2006年底发布的下一个主要WebLogic Server版本中。同时,假如开发人员想了解Java EE 5和EJB 3.0的预览版,也可以下载SolarMetric技术。另外一家最早投身于EJB 3.0世界的厂商便是Oracle。该公司正在与Sun联合领导规范的开发工作,并且发布了具备EJB 3.0能力的第一个Oracle Application Server预览版。Oracle Application Server 10g Release 3将于2006年年中正式上市,届时该版本将提供内建的Java EE 5和EJB 3.0支持。JBoss公司也提供了EJB 3.0的预览版,并计划在明年发布的JBoss Application Server 5.0中正式提供全面的支持。IBM将在WebSphere Application Server 6.1中开始支持新规范,该版本也将于明年上市销售。
今年10月,IBM公布了一项计划,预备推出基于Apache Geronimo的所谓WebSphere Application Server“社区版”。WebSphere Application Server Community Edition(简称WASCE)将使用Apache Derby和Apache Geronimo。IBM负责WebSphere 的副总裁Marie Wieck说,这种软件完全免费,用户可从IBM现有的WebSphere支持授权中选择自己需要的部分。 Wieck说,通常情况下,用户很愿意使用WAS CE开放源代码应用服务器进行最初的开发工作,然后在生产需求增长时,再将应用移植到具备网络能力的WebSphere版本上。他说:“它们能够非常简单快速地启动开发工作,而且根本不需要担心成本模型的问题。假如生产级需求量很大,用户可以根据情况迅速转变,采用更为传统的方式。”在开源方面,BEA制订了一项名为“混合开放源代码开发”的战略。该战略答应开发人员使用多种开放源代码和商业产品。BEA计划将现有的WebLogic Workshop开发工具与该公司从M7那里收购得来的NitroX工具集合并在一起。这种NitroX专门用于创建一种基于Eclipse的集成式开发环境。开发适合不同行业的定制产品也成了一种新趋势。BEA推出的WebLogic SIP Server 2.1是一种集成式的J2EE和SIP应用服务器。BEA WebLogic通信平台产品营销经理Ken Lee指出,该产品的目标是帮助电信企业加快新型多媒体服务的部署速度。Lee说:“任何一种新型的SIP应用,无论是IP语音或IP视频,从根本上来说都需要与HTTP或Web集成在一起。因此,假如开发人员能够开发出一种独立、集成式J2EE-SIP平台,那将是非常有意义的。”Wieck说,IBM也在预备开发一种具备SIP功能的新版WebSphere Application Server,主要针对电信行业。该版本将于明年正式推出。SIP支持将内建于产品之中,而不是简单地附加在产品之上。她说:“我们将它看作是一种应用服务器的扩展,而非简单的独立插件。”
BEA的应用服务器小组也在向那些对Java持有谨慎态度的传统企业发起进攻。Connell说:“BEA的WebLogic Real Time Edition就属于这一类产品,它主要用于处理非常精确的交易。这类交易通常发生速度都非常快,而且需要较高程度的可猜测性。根据计划,该版本将于近期发布。” 他说,在过去开发人员对可猜测性的要求通常要精确的毫秒一级,例如用于金融企业的交易应用。但是由于Java语言在处理内存治理时存在“天生”的延迟,因此很多企业都会尽量避免采用Java。而通过WebLogic Real Time Edition,BEA成功地创建了一种精确的、可猜测的内存治理方法,即使是在那些对时间非常敏感的环境中,它也能让用户有效地保证服务水平。
Java EE5架构的要害简化应用开发是Java EE 5架构中的一个要害目标。下面就是该架构所涉及的一些要害内容:升级Enterprise JavaBeans(EJB)组件架构,使EJB的开发工作大大简化。