动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息



本月文章推荐
.Java Servlet 编程及应用(一).
.对J2EE项目的一些体会.
.java.applet.Applet的 .
.AOP如何与J2EE实行高效的无缝结合.
.Java语言中链表和双向链表的实现.
.Java的类装载器和命名空间.
.Java中Static、this、super、fin.
.Java的垃圾收集机制.
.实例解析SQL Server 2000和JDBC的.
.布尔逻辑运算符.
.利用Jsvc把Java程序嵌入到Linux服.
.Java程序编码规范!不仅仅是规范,.
.实现Java抽象工厂模式.
.PowerFolder 工作流服务器版本0..
.接口和抽象类的定义方式举例说明.
.在Struts 2中实现文件上传.
.Resin服务器的使用 -Java Web服务.
.weblogic使用JMX监控应用程序内、.
.JSTL 入门(1):表达式语言.
.深入探究EJB应用技术的体系结构.

使用WEBLOGIC PORTAL规则引擎中实现动态业务逻辑

发表日期:2008-1-5 |



  简介

  业务应用的需求总是随着业务环境的变化趋势而不断地改变。决策很少是一成不变的,并且竞争压力要求业务逻辑的设计和实现具有灵活性,以快速地适应不断变化的需求。通常,对业务逻辑的更改必须由开发人员来完成,然后进行多次彻底的测试,而这将是一个很耗时的过程。在应用程序的修改工作完成后,需要将其重新部署到服务器,需要留出预定的停机时间,以防应用程序对用户不可用。

  对于这个问题,更好的解决方案是通过应用程序之外的一组规则来实现某些业务决策。这些规则并没有被编译到应用程序中,而是在运行时读取并应用。通过这种方式,无需更改代码或者停止正在运行的应用程序就可以改变这些规则。

  WebLogic Portal包括一个基本的规则引擎,用于使WebLogic Platform应用程序从规则获益。尽管该引擎不是功能完备的产品,但我们将展示如何将其与WebLogic Integration Business Processes (JPDs)一起使用来为业务逻辑提供一种灵活且动态的实现机制,从而无需只为了修改规则而重新部署应用程序。

  首先我们来看一下将在全文中使用的示例应用程序,然后介绍如何将规则引擎注入到WLI流程中以实现业务逻辑。然后,我们将更仔细地研究这些规则本身以及如何为业务逻辑定义这些规则,最后将描述在运行中的系统中更改业务规则所使用的机制。

  示例应用程序

  我们将开发一个示例交易应用程序作为在业务流程中使用规则的例子。该交易应用程序是一个金融交易流程的简化版本,该流程使用调用规则引擎的JPD业务流程而构建。该示例应用程序采用了不同的有价证券交易集合,并根据一组由业务定义的规则将其分组成交易块以便执行,或许是为了减少佣金。当然,这里给出的应用程序并不完整,但它已经足以展示如何在现实世界应用程序中使用规则引擎。有完整的源代码可供下载,其中的readme文件提供了构建和运行该应用程序的说明。

  在解释如何开发这样的应用程序之前,我们先通过对门户规则引擎的一些特性的简要概括来了解其工作方式。这里假定读者熟悉一般的规则技术。

  规则引擎及其工作方式

  图1说明了规则引擎的基本情况。该引擎根据一组规则来处理初始的事实集,而这些规则由引擎从外部库中获得。初始事实用于为该引擎填充工作内存。由规则来对工作内存中的事实进行评估,假如满足某条规则的条件,则将执行对应的动作。通常,一个规则动作将向工作内存中添加一条新的事实,并重复该流程直到应用完所有的规则。然后通过可选的过滤器来选择特定类的对象以返回给调用方。可以通过Controls界面访问规则引擎,还可以用它来设置属性(比如规则集文件的位置)。

使用WEBLOGIC PORTAL规则引擎中实现动态业务逻辑

  图1:该规则引擎是一个由控件包装的EJB。储存库中的规则反复地应用于工作内存中的事实,以获得新的事实。在无法进行继续推理的情况下,对工作内存进行过滤以返回感爱好的项目。

  从WLI流程调用规则引擎

  让我们从被实现为JPD的交易业务流程开始,来看看如何添加对规则引擎的调用。要在WLI流程中添加规则,可以使用作为WebLogic Portal的一部分而提供的Rules Executor Control(规则执行器控件)。对于本例,我们只使用该控件中所提供的方法和特性的一个子集。关于规则控件的附加说明文档可以在参考资料部分找到。

  此处假定开发人员使用WebLogic Workshop集成开发环境来创建新的流程应用程序。然后可在该应用程序中创建一个流程项目。因为默认情况下门户控件在流程项目中不可用,所以需要将这些控件和规则引擎的EJB导入到应用程序。然后,将控件输入和输出插入到JPD中。在WLI流程中使用门户规则引擎的基本步骤如下:

  导入规则引擎到应用程序:

  • 在应用程序中包含规则引擎。
  • 将p13n_controls库添加到应用程序。

  处理输入和输出:

  • 为输入和结果添加变量。
  • 创建一个Rules Executor控件。
  • 在WLI流程中添加一个Control Send With Return节点。
  • 为创建初始数据编写Java代码。
  • 添加一个流程节点以对结果进行迭代。
  • 创建规则集。

  后面我们将更具体地讨论其中的每一个步骤。

  在应用程序中包含规则引擎

  规则引擎包含在下面的文件中:

  /weblogic81/p13n/lib/p13n_ejb.jar

  要在应用程序中包含该引擎,请右击Workshop集成开发环境中的Modules文件夹,并选择Add Module。导航到该jar文件,并选择Open。

  将p13n_controls库添加到应用程序

  要使得门户规则控件在应用程序中可用,请右击Workshop集成开发环境中的Libraries文件夹,并选择Add Library。该控件位于:

  </weblogic81/p13n/lib/p13n_controls.jar

  导航到此文件,单击 Open 按钮。

  为输入和结果添加变量

  这里使用的Rules Executor控件方法需要一个对象数组作为输入并返回一个结果的迭代器。在Workshop集成开发环境中为这些值创建变量,这样我们就可以在下一步中通过图形用户界面来创建控件。要完成该任务,请为Data Palette中的变量单击Add按钮,键入输入变量的名称,并键入Java类型java.lang.Object[]。使用同样的方式创建Java类型为java.util.Iterator的输出变量。

  创建一个Rules Executor控件

  要创建规则控件,请单击Data Palette中控件的Add按钮。从菜单中选择Portal Controls -> Rules Executor。为控件键入名称,并按下Create按钮。

  在WLI流程中添加一个Control Send With Return节点


上一篇:RCP中product文件的用法 人气:399
下一篇:Java Web 框架的"甜点" 人气:444
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵