跳到导航
BEA Dev2Dev Oracle and BEA
首页 资源中心 dev2dev学堂 在线技术论坛 User Group CodeShare
dev2dev 首页 > 资源中心 > 技术文章
一个现实中的业务流程模型,第4部分
--如何将订单修改加入基于ERP的系统中

时间:2005-07-27
作者:Anjali Anagol-Subbarao
浏览次数:
本文关键字:WebLogic Worshop BPM WebLogic Integration ERPSAP
文章工具
推荐给朋友 推荐给朋友
打印文章 打印文章

  本系列文章 (第3卷, 第6期) 的第1部分中,概要介绍了业务流程管理(business process management ,BPM)和该领域的规范。描述了订单修改的例子以及在WebLogic Integration中创建业务流程所需的步骤。在第2部分中,介绍了如何创建一个流程应用程序(orderChange)。在该应用程序中我创建了一个名为orderChange.jpd的新流程。为了启动该流程,我们增加了一个接收的ClientRequest,然后添加了 Web 服务验证配置。

  在第3篇文章中,我加入了一个决策节点来处理来自验证配置Web服务的结果。决策节点有助于处理流程结果中的肯定和否定输出。然后,我给该流程添加了一个数据库控件,该控件检查要更改的订单的状态,最后,我添加了另一个决策节点来处理数据库控件的结果。在本文中,我们将了解如何将订单修改写到文件中。我们还将了解如何把该订单修改添加到基于 ERP 的系统(SAP)中,并将检查该流程的代码。

增加File控件

  首先,让我们看看如何给流程添加文件控件。如果orderStatus允许订单修改,订单就可通过File控件写到文件中。还有一种方法是,您可在SAP中使用Application View控件来修改订单,如下所述。

  File控件使得它容易读、写或附加到文件系统中的文件。还可以使用File控件来复制、重命名或删除文件。为了写入一个文件控件,可如图1所示给流程添加File 控件--ChangeorderFile。这会把一个XML文件写入到c:/bea目录,之后它可用于修改订单。一旦将XML文件写到该目录,就可使用它更新订单管理系统。


图1 向流程中添加File 控件--ChangeorderFile

为SAP增加Application View控件

  为了将订单修改写到SAP中,我们需要使用SAP适配器创建一个从WebLogic到SAP的集成解决方案。WLI中的集成框架基于J2EE Connector Architecture 1.0。WLI为了与EIS集成,提供了适配器、应用程序视图以及Application View控件。

  SAP适配器提供了与SAP Business API (BAPI)的集成,您可以使用它把应用程序链接到SAP组件的接口。BAPI调用是同步的并且返回信息。这些信息要么是错误通知,要么是包含BAPI调用结果的式良好的XML文档。适配器还提供与Intermediate Document (IDoc)的集成。这些调用是异步的且不同步返回任何信息。第三个集成是远程函数调用(RFC,Remote Function Call)。在RFC调用中,应用程序建立起到SAP系统的连接(使用有效用户ID),然后发起一个对SAP函数的调用。RFC调用是同步的并通常返回信息。

  用SAP适配器设计应用程序集成解决方案,必须先从BEA Web站点下载SAP Adapter,并从SAP Web站点下载SAP JCo。要从BEA WebLogic中向SAP下订单,您需要为Create Sales Order BAPI生成schema。该BAPI将易于在SAP中创建订单。

  要为SAP Business Object(它将易于创建订单)生成schema,需要安装BEA Application Explorer。要创建schema,首先需要或是建立一个到 SAP 的新连接或是使用现有连接。对于新连接,必须命名该连接(比如,D7b)、应用服务器系统号码、客户号码、用户名以及密码。当连接SAP时,所有应用程序组件、IDoc 和 RFC 都将放入Application Explorer。我们特别想要为Change Sales Order BAPI 创建一个schema。通过右击BAPI 并创建请求和应答schema ,我们可达成此目的(参见图2)。这些schema 以及manifest.xml文件都保存在工作目录下。


图2 请求和响应 schema

  接下来,我们需要在SAP中定义RFC远程目标。必须定义SAP远程目标,这样SAP系统才可发送IDoc给适配器并应答RFC和BAPI。该SAP远程目标必须在创建应用程序视图之前进行定义。

  现在,通过使用Application View Console 来创建应用程序视图。选择SAP适配器并创建一个新浏览连接。然后,需要配置您的服务带有或没有负载平衡。图3显示了没有负载平衡的SAP一个例子。为了测试服务,进入Application View Administration 页面并点击要测试服务旁边的Test链接。在Test Service窗口,从SAP请求中复制适当的XML字符串。当点击Test时,结果显示在Test Results窗口。


图3 不带负载平衡的SAP例子

  在创建了应用程序视图以发送和接收schema之后,可从应用程序视图创建一个控件。该SAP Application View 控件可在业务流程中使用。

为orderChange业务流程编码

  本节我们将看看orderChange 业务流程的JDP,以及前几篇文章中创建的流程的不同部分的编码。让我们来看看详细内容。

启动流程:

/**
* @jpd:process process:: 命名流程:
*<process name="orderchange"> OrderChangeRequest 作为ClientRequest:
*<clientRequest name="orderChangeRequest" method="orderChangeRequest"/>
调用validateConfig Web service的流程:
*<controlSend name="validateConfig" method="validateConfignewValidateConfig"/>

第一个决策节点用于检查配置是否有效:
*<decision name="Is configuration Valid?">
*<if name="true" condition="cond_outValidateConfig_1($outValidateConfig)">

调用订单状态数据库控件的流程:
*<controlSend name="OrderStatus" method="orderstatusGetJNDIName"/>
第2个决策节点用于发现订单是否可修改:
*<decision name="Is order changeable?"> *<if name="Yes" conditionMethod="condition"/>
*<default name="No"/> *</decision> *</if> *<default name="No"/>
*</decision> :

业务流程通过文件控件写文件:
*<controlSend name="write" method="changeorderFileWrite"/> *</process>::

结束语

  我们已经了解了如何通过文件控件向目录写修改订单。XML文件可用于在任何订单管理系统中创建修改订单,我还展示了如何使用SAP适配器来连接SAP。我们查看了如何使用BEA Application Explorer来连接到SAP,以便创建请求和应答schema。我们了解了Application View Console如何使用这些schema,以及如何创建Application View。Application View可暴露于Weblogic Workshop以创建Application View 控件。Application View控件可在业务流程中使用,以在SAP中创建修改订单。

  在下一篇也是最后一篇文章中,我们将了解将JPD流程转换成特定于WSBPEL的流程,以及WLI如何完成这一任务。我们将考察这一流程以了解它如何执行。我们还将了解监视流程的工具,并了解HP和SAP如何合作,以便在WLI中监视流程。

参考资料

·BEA WebLogic Workshop 帮助:
英文:http://e-docs.bea.com/workshop/docs81/doc/en/core/index.html
中文:http://dev2dev.bea.com.cn/techdoc/200403556002.html

关于作者

  Anjali Anagol-Subbarao 是一名IT架构师,在HP的IT部门工作。她有12年的IT 经验,过去5年中,主要从事Web services方面的工作。她的J2EE Web services on BEA WebLogic一书于2004年10月出版。

原文出处

http://wldj.sys-con.com/read/48217.htm

 作者简介
Anjali Anagol-Subbarao是一名IT架构师,在HP的IT部门工作。她有12年的IT 经验,过去5年中,主要从事Web services方面的工作。她有《J2EE Web services on BEA WebLogic》 一书将在今年出版。
dot dot dot

dot
  作者其它文章
您对本文的评价
您对这篇文章的看法如何?
太棒了!5分 不错啊 4分 一般般 3分 有待提高 2分 不好 1分