探索Jess:规则编程的强大工具
1. 引言
在开发基于规则的系统时,选择合适的规则引擎至关重要。Jess就是这样一款强大的规则引擎和脚本语言,它为Java平台提供了规则处理和脚本编写的能力。接下来,我们将深入了解Jess的各个方面。
2. Jess规则引擎概述
Jess(http://herzberg.ca.sandia.gov/jess)是20世纪90年代末由加利福尼亚州利弗莫尔的桑迪亚国家实验室开发的。它用Java编写,非常适合为基于Java的软件系统添加规则技术。
Jess的灵感来源于CLIPS专家系统外壳(http://www.ghgcorp.com/clips/CLIPS.html),这是一个用C语言编写的开源规则引擎。不过,Jess和CLIPS由不同的团队开发,实现方式有很大差异。Jess以Java为中心,具有动态性,能自动访问Java强大的API,如网络、图形、数据库访问等,而CLIPS没有这些内置功能。尽管如此,它们的规则语言有很强的相似性,Jess的许多核心概念最初源自CLIPS,而CLIPS又受到OPS5和ART等早期规则引擎的影响。
Jess和CLIPS也有不同之处,部分Jess构造(如defclass、definstance、defmodule)在CLIPS中有不同的语义,而有些(如defrule)则几乎相同。Jess还有一些CLIPS没有的特性(如defquery、直接调用宿主语言函数的能力),并且Jess没有实现CLIPS的所有功能(如CLIPS面向对象语言COOL)。
3. 获取Jess
- 可以从Manning Publications网站(http