[size=large]基于模型驱动架构的专用规则引擎[/size]
[size=large]概述[/size]
随着信息化技术的不断发展, 计算机科学已经在工业界的各个领域开始广泛的应用, 用于构建各种不同的企业信息化系统, 来提升工作效率,促进产业的发展. 在IT系统的生命周期之中,企业的业务需求不可避免的会发生改变, 这就需要及时的对软件产品进行维护和升级, 那么如何降低IT系统人工维护成本, 保持软件的质量日益成为软件工程领域的一个重要课题.
随着组件化集成技术的不断发展, 模型驱动架构日益成为IT系统构建的一种主流方法,通过识别领域对象主题和业务规则组件方式,可以获得一种鲁棒性的体系结构, 使得IT系统在全生命周期中具有易于变化的特性,进而有效的降低软件的升级和维护成本. 由于业务规则组件需求的广泛性, 目前业界已经出现了大量的商用和开源的规则引擎组件, 比如IBM公司的ILOG和JBOSS公司的DROOL, 利用这些第三方的规则引擎组件, 可以有效的减少开发代码量,保证规则运算的效率;但是这些规则引擎组件普遍存在着学习曲线陡峭, 性能优化困难的弊端, 这就影响了规则引擎组件在工业领域的应用.
为了更好的推动规则引擎在工业界的应用, 本研究课题计划采用面向对象的软件工程方法, 从用例模型入手, 识别出不同应用场景下的领域主题, 分析与之相匹配的规则引擎应用接口, 并采用组件化技术对原生的规则引擎进行封装,形成专用领域的规则引擎组件,极大的简化规则引擎组件在工业领域的应用过程.
[img]http://dl.iteye.com/upload/attachment/0064/6348/e1abbed4-e0e8-3857-9ece-37c2224d9185.jpg[/img]
虽然计算机领域的技术浩如烟海, 但是从应用的角度出发, 规则引擎技术在未来应用的场景中会越来越多,因此更加深入的研究规则引擎对于商业系统的构建是非常重要的.
当然,应用规则引擎开发具有一个前提,就是要合理的提炼领域对象模型,从这一点出发,一起又回到了原点, 面向对象的分析,和面向对象的设计, 这是现代计算机科学的一个非常重要的方法论
[size=large]四、问题与研究方向[/size]
在利用规则引擎的开发过程中,主要的问题有三个方面,分别是:
1) 规则引擎编写费时费力,学习曲线比较陡峭.
2) 规则本身可复用性不强, 需要重复编写很多规则(重复的制造轮子).
3) 存在大量规则时候, 规则执行效率比较低,需要进行专门的优化.
针对上述问题,采取的研究方向是:
1) 结合MDA技术, 从应用领域出发, 对原生的规则引擎进行封装, 简化规则引擎的使用.
2) 结合组件化技术, 从应用领域出发,对规则编写接口进行进一步封装,形成专业领域的图形化规则编写工具.
3) 结合设计模式技术, 对海量规则的规则组件进行设计和优化,保障运行效率.
[img]http://dl.iteye.com/upload/attachment/0064/6352/5a820bdb-2e03-3e96-8b2e-6e24fa7a2b87.jpg[/img]
论文已经完成,上传最新的组件模型
[img]http://dl2.iteye.com/upload/attachment/0086/0040/5a561cfa-9431-3b30-b60e-85d1ab16a083.jpg[/img]