在清单 5 中,orderchange.xsd 中的 cstic 元素被映射到 validateConfig 方法的 cstic 元素。
图 3 显示了该转换。
结束语结束语
在下一篇文章中,我将探讨如何在业务流程中创建决策点和订单状态控件。在第 4 篇文章中,我将写入对文件的更改并结
束该流程。在本系列的最后一篇文章中,我将讨论流程监控。
第第3部分部分--使用使用WebLogic平台进行订单管理平台进行订单管理
添加决策节点
验证配置流程节点执行后会有两个结果——一个是产品有效而另一个是产品无效。为了决定如何处置这两个结果,需要在
业务流程中添加一个决策节点。如果配置有效,流程将继续;否则,它将结束。单击面板中的Decision,然后拖拽决策节点
到设计视图中的业务流程上就可以添加该节点,如图1所示。
这个决策节点需要定义一个条件,这可以通过双击condition节点以调用决策构造器来进行。变量以缺省方式选择,当您根
据XML文档中元素的值(也就是状态)来设计决策时,应该使用变量,该元素要根据XML Schema来验证。选择做出决策所
依据的XML元素。为此,需要从outValidateConfig中选择属性状态。从运算符列表中选择=运算符,然后在Right Hand
Expression字段中输入true。单击“添加”以加入刚创建的条件(BEA)-
data($outValidateConfig/ns:Status)= "true"
这样就完成了该节点的第一个条件的设计。图2显示如果validateConfig状态为真,则可以进入下一步;如果决策为假,则流
程结束。在运行时,通过计算决策点的值来决定流程的路径。
添加数据库控件
如果配置有效,则流程进入下一步,这通过数据库控件来执行。数据库控件是控件框架的一部分。(控件框架将在最后一
篇文章中讨论)
需要给流程添加一个数据库控件。数据库控件提供对包含某一特定AccountID的orderStatus数据库的访问。该控件将
AccountID发送给数据库表ORDERSTATUS,后者发送应答以反映订单是否可修改。 可以从应用程序的数据库控件访问关系
数据库。使用数据库控件可以发送SQL命令给数据库,SQL命令通过JDBC驱动程序访问数据库。必须指定WebLogic中配置
的数据源,本例中是cgdatasource。数据库控件自动执行从数据库查询到Java对象的转换,因此用户可以方便地访问查询结
果。
首先创建一个名为record.java的新Java类。Record类是一个代表数据库内单个记录的Java对象。特别的是,它代表数据库
中ORDERSTATUS表中的单个记录。下面是需要添加到record.java的代码:
public class Record
{
public String orderStatus;
}
创建一个查询ORDER STATUS表的数据库控件文件,然后返回一个包含查询结果的记录对象。这个数据库控件文件名为
OrderStatus DB.jcx,JCX代表Java Control extension。JCX文件扩展WebLogic Workshop中预建的一个控件类。此处,它是
com.bea.control.DatabaseControl类,该类提供了访问数据库的简单方法。BEA WebLogic Workshop提供的大多数内建控件
可以定制——也就是说,当在项目中添加新的内建控件时, WebLogic Workshop生成一个扩展控件的JCX文件。在某些情况
下——比如对于数据库控件或JMS控件——可以通过添加或编辑JCX文件中定义的方法来定制控件。WebLogic Workshop根
据控件将要访问的EJB来定制EJB控件。
现在,在数据库控件文件OrderStatus DB.jcx中添加一个名为getOrder Status的方法,然后在属性编辑器中给该方法添加一
个SQL查询,如下所示:
SELECT ORDER_STATUS FROM ORDERSTATUS WHERE ACCOUNT_ID={accountId}
在Java窗格中,这一修改反映到方法中。
public Record getOrderStatus(String accountId)