WebLogic Real Time简介
WebLogic Spring Framework
WLRT的最后一部分是用于BEA WebLogic Real Time的Spring Framework 1.2.6。作为一个轻量级的应用程序开发框架,它的开发工作比起传统的J2EE开发有了极大的简化。实践证明,它非常灵活、易用,并且能够运行在具有高度的延迟敏感性的环境中。通过将Plain Old Java Object (POJO)用作EJB的替代方案,Spring Framework仍然能够访问WebLogic Server的所有可靠性特性。此外,它实施了模块化和可重用的编码实践。它还包括基于JavaBean的配置、一个AOP框架、声明式事务管理、JDBC支持和一个web MVC框架。它在WebLogic Server上得到了认证(从9.0版本开始)。可以从WebLogic Real Time产品下载页面下载受BEA支持的Spring版本。关于该框架及其与WebLogic Server集成的更多信息,请参见Spring与WebLogic Server的集成(中文版,Dev2Dev,2006年3月)。
将各组件组合起来
在了解了组成WLRT的所有单个组件之后,接下来就是要把它们放在一起考虑了。图1展示了所有组件协同工作的方式。其中,必要的构件块是具有新增的确定性垃圾收集功能的JRockit JVM。比起其它JVM,它保证了极短的垃圾收集时间。只有在高性能容器的基础上构建应用程序,才可以获得这样的结果。对于WLRT 1.0来说,这是指WebLogic Server 9。但是在完成时,高性能且可靠的应用程序的关键是您自己的代码。WLRT尊重这一点,它只将Spring Framework作为一个架构组件进行集成,但并不强制用户使用它。只不过它是一个构建模块化的、可重用的、高性能的应用程序的良好起点。如果使用它来开发应用程序,就很容易遵循常见的用于优化资源访问和灵敏性环境中的其他关键因素的著名模式。

了解了WLRT的所有组件之后,我们需要看一下相关的用例。WebLogic Real Time可以使用响应灵敏的应用程序为高性能环境提供解决方案。即使WLRT并没有附带相关的示例应用,我们也很容易想到一些。
向套利交易商提出挑战的衍生工具交易
一家大型零售银行的投资工具提供了欧洲证券的衍生工具交易。它是一个柜买中心(over-the-counter,OTC)请求报价和执行系统(但是不提供结算和清算服务)。经纪人提交一个报价请求,并包括了证券代码和数量。系统接受报价并应用特定的业务规则。根据证券代码和市场形势,请求被转发到特定的第三方做市商(market maker),然后做市商会计算并提供该衍生工具的出价和叫价。响应会通过OTC交易台返回给经纪人。然后经纪人可以通过一个后续请求执行该衍生工具的交易,该请求会通过OTC交易台转发给相应的做市商。
该场景的复杂性在于,银行的OTC交易基础架构处理报价请求的短暂等待延迟可能会被套利交易商所利用。在瞬息万变的证券市场上,在这个延迟发生期间,该衍生工具的价格就可能发生了变化。这为套利交易商提供了一个利用交易所的低效率的空子,并将投资银行暴露于其无法承受的风险中。因此投资银行需要一个性能驱动的软件基础架构来交付具有极低延迟的OTC交易。具体来说,为了抵制套利交易商,交易所基础架构的延迟必须比套利交易商的基础架构的延迟短。这样,套利交易商的数据就在交易所的数据之前失效,因此就不可用了。
网上购物平台:Beay
Beay为用户提供了一个销售商品的系统。除了常规的购物功能外,用户还可以利用系统的一部分进行商品的竞拍。卖家为出价者设置竞拍期限(几周或几个小时)。到期限结束时出价最高的顾客会被接受。成功的关键是要尽可能多地出价,但是不要比前一个最高出价高出太多。越接近竞拍期限的尾声,做出正确的出价就愈发显得具有时间关键性。
假如说有两个用户在争最高出价,并且它们都在最后5秒中提交了一个报价。其中出价较高的那个正好遇上了系统延迟(可能是由于运行了垃圾收集),因此出价较低的那个用户就会在竞拍期限结束后被接受。这样,购物系统操作员错过了可能的更高利润份额,卖家错过了更高出价,而顾客则失去了对该系统的信任。因此,Beay需要一个具有极低延迟的高性能基础架构,以便确保在适当的时间期限内,所有顾客都拥有使他们的出价被接受的同等机会。
结束语
WebLogic Real Time 1.0最近刚刚发布,该产品包应该能够启用一些支持实时应用程序的新特性。虽然这首个版本并没有提供所有的实时概念,但是以后还将出现更多的新特性。下一个WLRT版本(预计会于今年年中发布),将会提供补丁以及进一步优化的确定性垃圾收集功能。以后的WLRT版本应该会进一步精化实时服务,比如实时线程和调度程序,以及高分辨率计时器。还可以期待WLRT会解决一些与事件流处理和分布式缓存相关的问题。
WLRT适用于任务关键型环境,并支持低延迟和性能关键型应用程序的运行。在这个新的企业Java领域,它还只是迈出了第一步。虽然并不是人人都需要实时特性,但是它填补了企业Java领域中以前阻碍此类应用程序开发的鸿沟。WebLogic Server、JRockit和Spring轻量级应用框架的组合为我们打开了一个令人兴奋的开发空间。
参考资料
WebLogic Real Time下载页面
WebLogic Real Time Documentation——产品文档
Performance Analysis of the WebLogic Real Time 1.0 "Trader" Application,Tom Barnes (Dev2Dev,2006年4月)
Spring与WebLogic Server的集成,Andy Piper等(中文版,Dev2Dev,2006年3月)——对WebLogic Spring Framework的很好的介绍
JSR 1: Real-time Specification for Java——对实时Java的很好的介绍
Real-time.org——对Douglas Jenson所描述的实时概念的很好的介绍
0
相关文章