BEA系统有限公司宣布其将发布最新版应用服务器:WebLogic Server 8.1 Process Edition。
从高端角度来看,这一新版本的应用服务器增加了业务流程管理(business process management,BPM)、数据转换和流程监控等新的功能,从而为快速构建异步应用程序提供了一个健壮的平台。 在非可靠性网络之间编排Web服务,自动处理与高延迟系统集成的复杂业务流程,以及将这些流程扩展到Web层,诸如此类的客户需求导致轻松构建异步系统变得越来越重要。 然而,异步程序设计往往伴随着诸多难点。例如,当开发人员工作在异步环境中时,对于状态管理,消息队列,消息相关性,长时间运行事务和补偿操作等方面的处理仅仅是其所面临的众多难题的一部分。 下面来看一个例子,基于Web的航空票务预订系统的需求如 图1和2所示。

图1. 异步程序设计,例如这个简单的基于Web的航空票务预订系统,通常伴随着一些实现和设计方面的难点。

图 2. 在后端的航空票务预订流程中,每个流程节点都是一个服务。
尽管这是一个相对简化了的业务流程,对于这些需求的深入考察仍揭示出一系列实现和设计过程中所面临的挑战:
- 在第2步中,您如何并行地与多个始终在不断变更响应时间的资源进行交互,并确保在一定的时间间隔内返回给客户端一个应答结果?
- 对于多个客户发送的请求,您如何将给定的系统响应关联到正确的客户端会话实例?
- 在第4步和第6步中,如果某位客户完成了一次预订但却尚未进行确认支付,您如何确保维持了该客户端的状态?
- 假设在第4步和第6步之间出现了一个严重的系统错误,您的系统实现具备哪些故障转移特性?
- 最后,在这个给定的例子流程中,您的系统实现具备哪些监控能力,以便向管理员提供更好的流程状态的可见性?
在各种类型的项目中,上述这些实现和设计难题都将反复出现,并且对于几乎所有试图使用支持异步功能的技术来实现复杂业务流程自动化的IT机构而言,都是显而易见的。
过去的一年中,用于编排业务服务的基于流程的范例与基于模型-视图-控制器(MVC)的Web应用程序之间的融合,已经为开发人员快速构建异步Web应用程序提供了一个有机组合和优雅的架构(参见 图3)。

图 3. 此图即上述航空票务预订系统的MVC视图。
对于那些由于状态管理、消息相关性、数据映射、事务处理、监控等异步性问题而引起的复杂的系统实现难点,基本的解决思路是将其委托给某个设计良好的系统框架来处理,从而使得开发人员将主要精力集中于设计自动化流程,并映射要交换的关联数据。结果流程及其单个组件也都以松散耦合服务的形式公开,这将有利于形成一个能够随需求变化而自适应的架构。
这种形式的快速应用程序设计和流程自动化称为“流程驱动开发”(参见参考资料)。它正在应用程序开发人员中获得越来越多的支持。其面向服务的特性和优雅的架构模型让架构师们产生了广泛的兴趣。
有了克服异步程序设计难点并支持“流程驱动型开发”的一系列工具和技术,WebLogic Server Process Edition 增强了应用服务器的性能。这将最终促进轻松完成业务服务的编排和面向服务应用程序的开发,导致更具适应性和可重用性的架构。
参考资料
要获得有关“流程驱动开发”的更多信息,请参阅:
BEA Systems Inc.
2315 North First Street
San Jose, CA 95131
Tel: 800.817.4BEA; 408.570.8000
Fax: 408.570.8901
www.bea.com
原文出处:http://www.fawcette.com/weblogicpro/2004_05/magazine/departments/newproducts/
| 作者简介 |
|
Herain Oberoi是BEA集成产品线的一位产品营销经理。 |
|