使用BEA AquaLogic BPM Suite

来源:百度文库 编辑:神马文学网 时间:2024/04/29 16:36:50
时间:2006-10-12
作者:Alex Toussaint
浏览次数: 39
本文关键字:business process management, BPM, aqualogic service bus, integration, architecture, IT, Service-oriented Architecture, Web Services, AquaLogic Business Services Interaction, AquaLogic Service Bus, AquaLogic Service Registry, BEA Workshop Product Family, WebLogic Integration, WebLogic Server, Alex Toussaint, 业务流程管理, 集成, 架构 文章工具
 推荐给朋友
 打印文章

摘要
BEA AquaLogic Business Service Interaction (ALBSI)产品线是一组集成的产品和工具,它们可以通过把人与应用程序关联,实现业务流程整个生命周期的自动化、执行和监控。收购Fuego后,AquaLogic BPM Suite(ALBPM)成为了ALBSI产品线的一部分。BEA AquaLogic是BEA产品家族的成员之一,可用确保SOA项目取得成功。
本文演示了公司可以如何使用AquaLogic BPM Suite 5.5和其他BEA产品,并举例说明了如何在过程流中使用BEA WebLogic Integration 8.1 (WLI)组件,以及如何将AquaLogic Service Bus 2.1 (ALSB)用于BPM引擎对Web service所做的中间调用。借助AquaLogic BPM HiPer Workspace 5.5、WebLogic Portal 8.1.5 (WLP)和AquaLogic Integration Process 1.5 (ALIP),业务分析师可以通过Web方式直接与过程流进行交互。
简介
随着业务流程管理(BPM)成为企业战略的一个关键部分,业务分析师和IT人员必须共同了解它的优势,以及如何才能最好地将业务流程管理与现有基础架构联系在一起。企业总是在没有软件支撑的情况下直接或间接地管理着业务流程。现在,企业可以应用软件来监控特定的业务流程,回顾其执行历史,为企业提供分析流程性能的功能,并对原始流程进行实时修改。
本文提供了一个参考场景,即在一个简单的过程流中使用AquaLogic BPM Suite和其他BEA产品,以实现两个目标:创建一个过程流并调用一个在BEA WebLogic Integration Server中创建的Java流程;与AquaLogic Service Bus交互以调度不同的业务服务。
在与AquaLogic BPM进行集成时,其他BEA产品可以从业务流程管理服务中受益,如图1中所示。您可以同时使用BPM和BEA Application Infrastructure和BEA Service Infrastructure。

图1. AquaLogic BPM Suite可以与BEA Application Infrastructure和BEA Service Infrastructure一起使用,从而提供业务流程管理服务。
本文假定您熟悉BEA家族的产品。每一节中都提供了一些参考资料,以便您了解其他的背景知识。
BPM简介
业务流程管理(business process management,BPM)这个术语定义了企业或业务组实现和完成特定流程所需的各种行为。流程准备就绪之后,就可以执行其他步骤来改进和优化它的流和性能。从广泛的意义上说,构成业务流程管理的主要行为可以分为4大类:设计、实现、执行和监控。BPM Suite这个术语适用于可用来监控、实现、运行、监控和优化业务流程的软件工具集。
尽管描述上很抽象,但业务流程却是任何公司的日常运营和服务的一部分。下面给出流程的一些示例:
申请房屋贷款——Loan Origination Process 启动一项手机服务——Account Initiation Process 雇佣一个新员工——Employee On-Boarding Process 构建一个新的喷气发动机——Parts and Assembly Process
根据下面图2中的说明,还可以定义更加复杂的流程。BPM可以与其他软件解决方案部署在一起,以加强流程门户 (PDF)的功能;BPM还可以参与到服务编排类型的项目中。
如果用于流程门户,BPM功能有助于引导应用程序导航流实现特定目标。例如,以portlet形式表现的一组画面流可以由BPM引擎来驱动。 如果用于服务编排,BPM引擎可以使用BPEL标准来驱动一系列服务调用。在这种情况下,可能不需要进行用户交互。
图2演示了如何构建复杂的流来匹配企业中的业务流程。以下是使用AquaLogic BPM Studio 5.5工具构建的业务流程的一个示例。

图2. 业务流程流
记住,如果可以的话,应该将大型流程分解为较小的子流程,这样可以改进设计。
一个集成场景示例
让我们分析一个集成场景示例,并考虑如何实现它。如果能吃透这个示例,您将了解到如何在AquaLogic BPM中使用WebLogic Integration组件(比如Process Definition for Java,JPD)和AquaLogic Service Bus中的业务服务。下面概括性地介绍了这个以AquaLogic BPM Suite 5.5为中心的集成了各种产品的高级场景:
业务分析师使用AquaLogic BPM Suite 5.5定义了一个初始的业务流程流。分析师将使用AquaLogic BPM Designer定义流程,并与IT人员共享该流程定义。 初始的过程流准备就绪之后,技术用户就可以使用AquaLogic BPM Studio 5.5工具实现任何所需的服务或系统集成。 使用WebLogic Workshop 8.1,开发人员可以使用WebLogic Integration 8.1.5组件来创建JPD。 创建组件之后,开发人员将会在AquaLogic BPM Studio 5.5工具中调用它们。 使用AquaLogic Service Bus 2.1或以后版本,开发人员或系统管理员将在公共的BEA WSRP Test Server上注册一个业务服务,并创建一个代理服务。 创建并配置完组件之后,开发人员将在AquaLogic BPM Studio 5.5工具中调用它们。 最后,可以使用WebLogic Portal 8.1.5或AquaLogic Interaction Process 1.5运行和监控业务流程。
为了实现这个场景,必须在目标计算机环境中安装下面列出的各种软件。开发人员可以选择只安装他或她最熟悉、使用效率最高的产品。必须安装AquaLogic BPM Studio 5.5,以便对过程流进行建模,并将它与其他系统联系起来。
AquaLogic BPM Studio 5.5 AquaLogic Interaction Process 1.5AquaLogic Service Bus 2.1 or laterWebLogic Workshop 8.1.5WebLogic Integration 8.1.5WebLogic Portal 8.1.5
AquaLogic BPM Suite
AquaLogic BPM Suite是一个完整的产品套件,用于创建、执行和优化业务流程。这个套件支持业务与IT之间的协作,以便自动化和优化业务流程。这可以提高效率和灵活性,降低成本,并改进服务的一致性和质量。

图3. BEA AquaLogic BPM Suite组件
图 3 显示了AquaLogic BPM Suite的不同组件。产品文档中对这些组件进行了详细的说明。这些组件包括:(1) BEA AquaLogic BPM Designer、(2) BEA AquaLogic BPM Studio、(3) BEA AquaLogic BPM Enterprise Server、(4) BEA AquaLogic HiPer Workspace for BPM、(5) BEA AquaLogic BPM Manager和 (6) BEA AquaLogic BPM Dashboard。
使用AquaLogic BPM Designer设计过程流
业务分析师使用AquaLogic BPM Designer对业务流程流进行建模。这一节的目标是说明如何创建集成场景示例中将要用到的过程流。
在开始构建BPM场景时,需要运行AquaLogic BPM Designer。在Designer工具中,业务用户可以定义流来代表业务流程。他们可以通过轻松拖放各种行为对任意流程进行建模。然后,可以将流保存为XML Process Definition Language (XPDL)文件。XPDL标准提供了一种XML文件格式,可使用这种格式在工具之间交换流程模型。
本文将简要介绍一个简单的流程,它带有与一个使用三个软件组件构建的Java流程的集成点,这些组件是:1) WebLogic Integration 8.1.5; (2)使用WebLogic Workshop 8.1.5构建的一个Web service; (3)通过AquaLogic Service Bus 2.1公开的一个Web service。这个流程如图4所示。要了解有关各种结构和建模技术的更多信息,请访问AquaLogic BPM 产品文档。

图4. 调用WebLogic Integration JPD组件和一些Web service的过程流,其中一个是通过AquaLogic Service Bus调用的
至此,业务分析师已经完成了对业务流程流的建模。他们使用了AquaLogic BPM Designer定义流程,并以XPDL格式保存文件。
现在可以与IT人员共享流程定义。技术用户和开发人员也可以参与进来,并使用不同的服务和子系统来参与和添加集成的技术方面的内容。他们将会用到下一节中定义的AquaLogic Studio工具。
在这个示例中,将过程流保存为"ProcessOne",保存在"ProcessOne.xpdl"名称下的AquaLogic BPM Studio的project目录中。稍后流程将会被部署在BPM服务器中,BPM服务器提供了几种可选的体系结构,以便在以下平台上进行灵活的部署:单机、WebLogic Server 8.1 SP5、WebSphere 5.1或更高版本,以及JBoss 3.2或更高版本。
业务分析师如何捕捉业务流程并对其建模呢?他们可以使用AquaLogic BPM Designer,这是为业务分析师提供的一个完整设计环境。它支持通过在屏幕上拖放流程元素来创建任意类型的流程。
使用AquaLogic BPM Studio构建过程流
AquaLogic BPM Studio是流程开发人员的工作平台,如图5所示。它包括AquaLogic BPM Designer,并添加了其他大量工具,以支持开发人员编写业务逻辑,与现有应用程序建立联系,以及组装用来与人进行交互的用户界面。本节的目标是采用前一节中创建的业务流程流,并了解开发人员的观点。
该Studio拥有单机版的AquaLogic BPM引擎,在BPM服务器上进行实际部署之前,允许开发人员执行所有的集成和测试。不需要使用其他软件。Studio内部的ALBPM引擎与本地的Tomcat部署在一起。该BPM引擎是BEA AquaLogic BPM Enterprise Server的一部分,它负责编排所有流程及其资源——人、企业、应用程序和系统,管理正确的次序,实施业务规则,并审计每个步骤以确保纠正流程执行、逐步升级和异常管理。服务器负责执行用BEA AquaLogic BPM Designer和BEA AquaLogic BPM Studio设计的流程,以及使用BPEL(行业标准的业务流程执行语言)编写的任意流程。

图5. 图2中创建的流程的AquaLogic BPM Studio 5.5视图
若想完整地了解AquaLogic BPM Suite的所有组件,可以访问BEA Web站点的产品页面。
开发人员如何使用AquaLogic BPM Suite呢?他们可以使用AquaLogic BPM Studio工具,它是流程开发人员的工作平台。AquaLogic BPM Suite包括AquaLogic BPM Designer中的所有内容,并添加了其他大量工具,以支持开发人员编写业务逻辑,与现有应用程序建立联系,以及组装用来与人进行交互的用户界面。
与WebLogic Integration进行集成
AquaLogic BPM Suite可以在Web service级别上与WebLogic Integration进行集成。本节的目标是说明如何通过Web service公开JPD。为此,我将在一个控件中包装JPD,并基于该控件生成一个Web service。
在这里,开发人员可以有两个选择。他们可以安装并启动WebLogic Integration 8.1.5中自带的示例集成项目,或者从头开始构建一个项目。
安装WebLogic Integration之后启动WebLogic Workshop,然后打开示例应用程序:
INSTALL/weblogic81/samples/integration/samplesApp
接下来,创建一个新的JPD或者使用本文下载文件中可用的一些内容。注意,由于篇幅有限,本文并没有给出完整的项目域及其相关文件;本文假定开发人员将会使用该产品中安装的标准项目,或者将按照文档中的指导从头构建一个项目。
下面简要描述了一个简单的JPD。图6中包含了一个Java流程的Java实现类,并对配置流程行为做了特别的注释。示例业务流程在以下应用程序中可用:Tutorial: Hello World Process Application、Tutorial: Process Application和New Process Application。要使用这些应用程序,可以在WebLogic Workshop中选择File->New->Application。
图6显示了本文使用的JPD示例的可视化表示。Java流程执行了一个步骤。注意,这里可以使用各种配置来添加几个步骤。

图6. 使用WebLogic Workshop 8.1.5构建的JPD的可视化表示
要从头构建一个集成项目,开发人员需要创建一个WebLogic Integration 8.1.5域,其中包含项目所需的所有组件。接下来,应该创建一个新的WebLogic Integration 8.1.5应用程序,并在WebLogic Workshop 8.1.5中创建一个新项目。产品文档中包含了有关如何使用配置向导构建新域的完整细节。
在获得WebLogic Integration应用程序和项目并创建一个JPD之后,可以使用另一种叫做Java控件的技术。注意,在WebLogic Workshop 9.2(发布于2006年6月)中,Java控件被实现为Apache Foundation技术集合中的Beehive Controls。通过使用上下文菜单,开发人员可以选择“Generate Process Control”选项来获得基于JPD文件创建的控件。图7演示了如何使用WebLogic Workshop 8.1.5功能集合来实现这一点。WebLogic Platform 8.1中的Java控件是可以跨所有BEA产品使用的构建块。

图7. 根据JPD定义生成一个Java控件
为了完成示例中的JPD,需要使它可以用作Web service。这个步骤将允许运行在AquaLogic BPM Engine上的任意流程调用Java流程并与之进行交互。在图8中,开发人员可以快速为表示Java流程的Java控件生成一个Web service。这可以在WebLogic Workshop 8.1.5的上下文菜单中完成。IDE将自动生成Web service文件及其相关配置。

图8. 用Java控件生成Web service
在创建JPD并生成Java控件和Web service之后,可以通过WebLogic Workshop 8.1.5测试工具来测试Web service。一切就绪之后,就可以从AquaLogic BPM Suite调用它了。
那么如何与JPD进行集成呢?编写所有JPD,在控件中捕捉它们,并将它们公开为Web service。BEA WebLogic Integration提供了一种开发人员友好的、基于标准的方法,可用该方法整合企业资源,从而支持跨不同系统的细粒度业务流程。开发人员拥有了一个功能强大、经得起实践检验的平台,从而可以快速地构建和公开Java流程。
与Web Service进行集成
使用AquaLogic BPM Suite,您可以轻松地注册和使用Web service。本节的目标是,访问一个将在集成场景中调用的可公共访问的Web service。为了完成这个示例,我们使用BEA的公共测试服务器作为主机创建了一组测试Web service。在这个站点上,除了其他一些测试服务之外,还有一个Weather Service。开发人员可以通过Internet访问这些部署在WebLogic Platform 8.1.5上的服务,WSDL的地址是:
http://wsrp.bea.com/portal/boulder/weather.wsdl
这恰好是驻留BEA的WSRP测试服务器的公共测试服务器。WSRP测试服务器是BEA开发的又一个基于标准的有趣技术集。当开发人员调用天气WSDL时,他们应该获取下一节中用于AquaLogic Service Bus的测试服务的一个列表。
与 AquaLogic Service Bus进行集成
让我们回顾一下前面的内容,业务分析师可以使用AquaLogic BPM Suite创建过程流,开发人员可以创建JPD,而公共的Web service可以作为示例使用。现在,让我们看一看如何使用AquaLogic Service Bus来演示使用Web service和服务总线创建代理服务的过程。AquaLogic BPM Suite将会调用这个服务。
在本节中,我们将使用Boulder Weather服务在服务总线中创建代理服务。这个服务可以由服务总线公开,而且AquaLogic BPM Suite也可以调用它。AquaLogic Service Bus的使用让该实现更加健壮。任何对底层IT系统的改动都不会影响流程使用的接口。它还提供独立于BPM套件的单独控制和管理,而这对于SOA至关重要。这使得IT小组能够更好地管理他们拥有和维护的服务策略和资源。AquaLogic BPM Suite可以部署为SOA的一部分,这意味着当业务流程连接到底层系统时,它会连接到企业服务总线提供的代理服务,从而隐藏了底层应用程序和数据库的复杂性。
一开始,管理员或开发人员可以使用随AquaLogic Service Bus 2.1安装一起提供的样本实例。开发人员可能想定制配置服务总线的某些方面,而这样做就要求使用他们自己的安装。产品文档提供了一篇教程,说明了如何获得步骤和概念的流。关于AquaLogic Service Bus的信息,可以查看产品文档。
在学习本节内容之前,启动AquaLogic Service Bus 并打开随安装一起提供的示例应用程序。可以在命令行执行以下命令来启动应用程序:\weblogic91\samples\domains\servicebus\StartWebLogic.cmd。
至此,就可以使用上一节中的WSDL来注册Weather Service了:
http://wsrp.bea.com/portal/boulder/weather.wsdl
登录之后,应该查看一下现有服务的当前状态。从Service Summary和Server Summary面板上可以看到这些信息。左侧的导航栏还带有可用于配置新服务的选项卡。与BEA WebLogic Server类似,在进行任何更改之前,开发人员和管理员必须访问Change Center,这样才能使更改生效。
图 9 显示了可用于标准安装的一些预加载服务。

图9. AquaLogic Service Bus 2.1, Administration Console
在左侧导航栏的project选项卡中,应该为要使用服务总线进行调度的服务创建一个新的项目。在这个步骤中,Weather WSDL被上传到服务总线。开发人员或管理员将对他们要调用的业务服务进行配置。可以将这些服务将用作总线代理服务。这种中间介质在SOA中特别重要,因为在SOA中,底层服务可能会修改和需要完善的代理,以确保服务质量(QoS)。图10显示了已配置的项目以及它们各自的服务。

图10. 创建Project Boulder Weather和配置WSDL、业务和代理服务。
关于如何配置WSDL、业务服务和代理服务的更多详细信息,请参阅服务总线文档和示例项目。
至此,您可以有创造性地使用从AquaLogic BPM调用的代理服务。打开消息流面板,上面有几个用来与服务进行交互的选项。图11显示了指向消息流面板的图标。

图11. 通过消息流可以更加深入地了解代理服务。
进入消息流面板之后,可以将业务服务展开为支持转换和任意其他可以更好地代理服务的步骤。可以给服务添加新节点,以便执行单独的操作、审查消息的内容和修改通过服务总线传递的服务流。
路由节点可以同时在Request Actions和Response Actions中进行操作。如果通过业务服务的WSDL可以使用不同的服务,那么在每个节点中都可以查看和选择它们,从而调用它们,如图12所示。如果开发人员和管理员需要,可以在每个节点中添加动作。

图12. BEA测试服务器中各种可用的服务。
配置完所有的服务之后,路由节点已经被设置为调用正确的服务;服务总线包含的测试工具可用于代理服务的正确行为。Routing a Loan Application tutorial是一个完整的在线示例,它将逐步指导您注册、监控、管理和公开业务服务。
那么,如何与AquaLogic Service Bus进行集成呢?使用服务总线配置和注册所有的Web service,然后配置其相关的代理服务,并将它们公开为Web service。AquaLogic Service Bus可以帮助进行配置和部署,它简化了跨SOA环境共享服务的管理工作。
通过AquaLogic BPM Suite组合所有的服务
使用AquaLogic BPM Studio可以与多个系统和子系统进行集成。本节的目标是与使用WebLogic Integration构建的JPD进行集成、与在服务总线中公开的Web service进行集成,并直接与来自BEA测试服务器的Web service进行集成。这将使示例集成场景变得完整。
可以使用AquaLogic BPM Studio检查前面创建的JPD。Studio完成自检步骤之后,就可以直接从过程流调用流程。图13演示了创建的WebLogic Integration模块,以及必须调用AquaLogic BPM Suite才能与JPD进行交互的Web service。

图13. 检查WebLogic Integration流程的模块
内省步骤完成之后,就可以实例化并直接从业务流程流调用JPD。图14显示了展开以后的流程节点和用于调用Java流程的代码。

图14. 用来与JPD进行交互的简单脚本
对于AquaLogic Service Bus和天气服务,也可以直接采用相同的做法。图15演示了如何创建模块和添加代码,以便与每个服务进行交互。

图15. 与AquaLogic Service Bus对话的模块和一个简单的Web service
至此,开发人员应该在环境中安装了所有的产品。所有相关组件都应该通过WebLogic Integration 8.1.5和AquaLogic Service Bus 2.1配置完毕。
如何对业务流程建模并将它们与AquaLogic BPM Studio进行集成呢?我们使用的方法是,列出所有的外部系统资源,定义每个入口点,使用AquaLogic BPM Studio工具检查它们,然后使用ALBPM内置引擎测试流。
AquaLogic BPM Suite跳出了传统人力工作流和流程技术的限制。它提供了一套用于支持异构环境中的复杂协作式业务流程的软件。
通过Web浏览器访问 AquaLogic BPM Suite
Web层表示了企业的业务用户初始化、管理、监控并与业务流程和其他用户协作的主要入口点。在本节中,我将演示BEA如何提供几个触点来介绍各种用例的Web层。
AquaLogic BPM Suite 有三个主要的集成点:
业务用户会发现AquaLogic BPM 5.5 HiPer Workspace是开箱即用的。用户还可以对这个前端进行定制,以满足不同环境和使用外部系统的需求。 第二个集成点是AquaLogic Interaction Process 1.5,借助它可以让业务流程管理满足企业级的协作要求。这种组合提供了一组非常强大的功能,以支持业务用户参与协作式的过程流。 第三个集成点是AquaLogic BPM Suite 5.5中可用的JSR 168 portlet。它们可以放入任何与JSR 168兼容的容器中,包括其他门户产品中的WebLogic Portal 8.1。
图16演示了如何从AquaLogic BPM HiPer Workspace直接与流程进行交互。在业务用户登录之后,他们将执行几个动作,比如初始化一个业务流程,参与过程流,查看不同流程的历史,通过相关附件进行浏览,等等。

图16. AquaLogic BPM HiPer Workspace
AquaLogic Interaction Process 1.5提供的工具可以交付复合应用程序,可以使用这些应用程序跨业务流程协调用户行为和系统集成。企业可以很容易地创建和部署包含业务流程的新应用程序。图17显示了协作式环境中AquaLogic Interaction Process与AquaLogic BPM Suite之间的集成。

图17. AquaLogic Integration Process 1.5
关于部署协作式过程流的更多文档,可以参阅AquaLogic Interaction Process 1.5 文档。
WebLogic Portal和其他与JSR 168兼容的门户可以调用包含在AquaLogic BPM Suite 5.5中的BPM portlet,以便与不同的业务流程进行交互。图 18显示了WebLogic Portal 8.1安装使用的JSR 168 portlet。

图18. 运行BPM portle的tWebLogic Portal 8.1
从Web层支持流程交互有多种方式。可以使用内置的AquaLogic BPM HiPer Workspace的所有流程管理功能。业务分析师可以使用AquaLogic Interaction流程参与流程协作。最后,使用门户软件的客户可以利用portlet与现有应用程序和流程交互进行集成。
下载
下载本文附带的示例应用程序:
Download.zip
结束语
现在,业务分析师和IT部门的成员可以开始使用AquaLogic BPM Suite和其他BEA产品,比如WebLogic Integration 8.1.5、AquaLogic Service Bus 2.1或更高版本、AquaLogic Interaction Process 1.5和 WebLogic Portal 8.1.5。
请将您的反馈和需求与AquaLogic BPM 团队共同分享。在Dev2Dev网站上可以查看AquaLogic BPM Newsgroup页面。
参考资料
以下是一些与业务流程管理标准以及BEA产品相关的在线信息:
Dev2DevAquaLogic Developer CentersBEA WebLogic Integration Developer CenterBEA WebLogic Portal Developer CenterBEA WebLogic Workshop Developer Center

作者简介
Alex Toussaint 是BEA Systems公司的高级产品经理。在为BEA效力的第一个5年中,他在WebLogic Portal团队中负责开发产品策略,并管理着几个领域,比如内容管理、门户联合、门户框架和新兴门户标准。



作者其它文章用WebLogic Portal 8.1 开发 JSR 168 Portlets在 WebLogic Portal 8.1 中使用远程 Portlet Web 服务 (WSRP)利用WebLogic Portal 8.1 SP3开发Java PortletsWebLogic Portal 8.1 平台上运行Lucene搜索引擎使用BEA WSRP测试服务器