当前位置: 首页 > 图文教程 > 服务器 > WebSphere > 从数据库调用 WebSphere 业务流程

WebSphere
关于主机名修改后websphere无法停止的问题完全解决方案
也谈WebSphere性能优化
从数据库调用 WebSphere 业务流程
WebSphere应用服务器精选问答
WebSphere MQ 集群中的迁移、故障转移和扩展
WebSphere Portal web2.0下dwr使用
WebSphere MQ 集群中的迁移、故障转移和扩展
集群方式启动 websphere
websphere mq常用命令
websphere portal中实现portlet协作通信
websphere安装与启动
WebSpherePortal的迁移
安装 WebSphere应用服务器
基于Spring框架的WebSphere应用开发
Websphere编程之路--MQ编程初探
整合MQ和WEBSPHERE
WebSphere 中的 SSL/TLS:用法、配置和性能
所有OS平台上的常规 WebSphere 调整
WebSphere系统管理
基于WebSphere MQ的收发消息程序

从数据库调用 WebSphere 业务流程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 93 ::
收藏到网摘: n/a

        大型企业的大多数业务事务都保留在数据库中。在本文中,最资深的 IBM WebSphere 顾问之一展示了如何使用 WebSphere Integration Developer、WebSphere Process Server、DB2 和 WebSphere Adapter for JDBC,从而利用数据库事件来调用业务流程。

  引言

  本文将开发一个客户订单示例应用程序,它使用 IBM® WebSphere® Integration Developer、WebSphere Process Server、DB2® 和 WebSphere Adapter for JDBC,从而利用数据库事件来调用业务流程。了解数据库驱动的业务流程如何能够帮助您加快上市时间和降低总体拥有成本。

  先决条件

  为了开发这个循序渐进的示例应用程序,应考虑下列先决条件:

  WebSphere Integration Developer。您将同时需要开发环境和 WebSphere Process Server 集成测试环境,后者是开发环境安装过程中的一个选项。该集成测试环境包括完整的 WebSphere Process Server 运行时,我们将使用它来测试本文中的示例。
  WebSphere Adapter for JDBC。 请参见参考资料以获得官方 WebSphere Adapter for JDBC IBM 网站地址。
  DB2 Universal Database V8.2。该示例使用 DB2;不过,可以使用任何兼容 JDBC 的数据库,只要您习惯使用它来创建触发器并熟悉其 JDBC 驱动程序。下面的站点提供了 DB2 Universal Database V8.2.2 的试用版:
  http://www14.software.ibm.com/webapp/download/brand.jsp?b=Information%20Management&dt=Trial

  WebSphere JCA 1.5 适配器

  Java™ Component Architecture (JCA) 是 Java Enterprise Edition (Java EE) 规范的一部分,用于提供一种标准方法来与非 Java EE 系统进行事务通信,如图 1 所示。WebSphere 系列提供了一组适配器来连接到各种企业信息系统 (Enterprise Information Systems, EIS),如 SAP 和 Peoplesoft。

图 1. 将 EIS 与 JCA 适配器集成

本文将利用 WebSphere Adapter for Java Database Connectivity (JDBC),它能与任何具有兼容 JDBC 驱动程序的数据库集成。当数据库表中发生创建、更新或删除事件时,我们将使用该适配器的“入站接口”来调用业务流程。有关 Java Connector Architecture 和 WebSphere 适配器组合的更多信息,请参见参考资料。

  数据库驱动的业务流程的业务案例

  您的组织的后端基础设施可能很适合对业务流程进行数据库驱动的调用,但是该体系结构设计决策并不是完美无瑕的。请从业务角度考虑下列因素:

  遗留环境中的数据库驱动的业务流程。如果您有遗留系统,并且它们已经提供了信息来调用数据库中的业务流程,则数据库驱动的业务流程可能是加快上市时间的关键。数据库可以充当调用企业体系结构中的业务流程的自然实体,对于遗留集成尤其如此,因为组织通常已经有与他们在数据库中的业务流程相关的事务。

  事务服务质量。如果您处在不能承受任何一个事务失败的环境中——如开发票、交易或报价——则结合使用 WebSphere Adapter for JDBC 和成熟的数据库系统可以提供所需的服务质量。JCA 规范的一个重要优点在于,它定义了 Java EE 适配器将如何成为事务性的,以使它们能够参与 Java EE 容器事务。因此,WebSphere Adapter for JDBC 可以与您的业务流程一起参与全局事务。如果某个业务流程失败,则会回滚该全局事务,包括适配器已在该事务期间执行的任何数据库交互。
数据库技能“比比皆是”。利用现有的数据库事件来调用业务流程可以降低总体拥有成本,因为组织中可能已经拥有开发和管理数据库事件的技能。对于许多使用数据库驱动的业务流程的组织来说,建立必要的数据库触发器和数据库交互构件是非常直观的。然而,如果您的组织刚开始使用 WebSphere Integration Developer、服务组件体系结构 (Service Component Architecture, SCA) 和 BPEL 业务流程,则可能需要大量的强化培训来构建业务流程本身。有关这些技术的更多信息,请参见参考资料。

  性能不是该体系结构的强项。网络和数据库访问的开销非常大,因此,如果吞吐量极为重要,则这可能无法满足您的需要。例如,如果另一个系统 System A 编写了一个数据库事件,然后 WebSphere Process Server 选择它来调用某个业务流程,则该数据库实质上是“中间人”。消除了中间数据库的任何体系结构将具有更多的性能潜力。例如,如果 System A 支持 JMS、MQ、RMI 或 Web 服务,它就可以直接与 WebSphere Process Server 通信。此外,如果 System A 由另一个 WebSphere 适配器(如 Siebel 或 Oracle 适配器)支持,则这样的适配器更为合适,因为它也消除了中间的数据库。

  总之,对于遗留集成、事务服务质量和以数据库或大型机为中心的技能集而言,数据库驱动的业务流程是强有力的体系结构设计决策。当存在严格的性能要求或存在开销很大的网络延迟时,数据库驱动的业务流程可能不是最佳的解决方案。

  客户订单示例

  本部分将详细描述该客户订单示例应用程序的配置和开发。该示例应用程序由接受客户订单的业务流程组成。请考虑下列数据库实体:

图 2. 订单应用程序数据库实体


在对 ORDER 表创建、更新或删除一个行时,将会通过对应的数据库触发器向 ORDER_EVENT 表添加一个行。JCA Adapter for JDBC 利用 ORDER_EVENT 表来调用下游业务流程,如图 3 所示。该适配器是通过轮询 ORDER_EVENT 表中的新行(以您可以指定的间隔)来实现这点的。