Introduction

The CA Rule Engine implements interfaces specified by Java Specification Request 94 (JSR-94). JSR-94 defines a Java runtime API for inference engines, which permits an inference engine to be called from a Java program. The JSR-94 standard is a result of the Java Community Process. Before this standard was established, each supplier of an inference engine was free to define its own way of interacting with its inference engine. This was the situation before the different suppliers of Java-based inference engines agreed upon a basic API for interacting with such inference engines. This API is embodied in the JSR-94 specification.

Java provides no inferencing services. The Java language provides no special commands for invoking inferencing. In addition, you cannot define rules within the Java language. The simple branching structures, such as the Java if statement, cannot be used as independent rules. Therefore, the inferencing capability must be provided by a source outside of the language itself. For inferencing to be performed from within the Java language, the Java language requires an API to an inference engine. How a Java program is to interact with the outside source of inferencing is defined by the JSR-94 standard.

The full JSR-94 specification is available on the Java Community Process website at: http://www.jcp.org (type 94 into the JSR text box and press Enter).