Topic: a new domain for java developement----Rule Engine |
Print this page |
1.a new domain for java developement----Rule Engine | Copy to clipboard |
Posted by: tier3 Posted on: 2002-09-11 09:12 http://www.jcp.org/jsr/detail/094.prt Printed: Sep 10, 2002 From: http://www.jcp.org/jsr/detail/094.prt Standard Format -------------------------------------------------------------------------------- JSRs: Java Specification Requests Detail JSR 94 JavaTM Rule Engine API This specification defines a Java runtime API for rule engines. Specification Lead Alex Toussaint BEA Systems Expert Group Art Technology Group Inc.(ATG) BEA Systems Blaze Software Fujitsu Limited IBM ILOG Oracle Silverstream Software Unisys Private Expert Group homepage Status Public Review 11 Sep, 2002 Community Draft Ballot 19 Feb, 2002 Community Review 19 Feb, 2002 Expert Group Formation 19 Dec, 2000 JSR Review Ballot 27 Nov, 2000 Java Community Process version in use: 2.1 Please direct your comments on this JSR to jsr-94-comments@jcp.org Update to the Java Specification Request (JSR) The Spec Lead submitted the following updated version of the Original JSR on December 5, 2000. Identification | Request | Contributions Section 1: Identification Initial Expert Group Membership: (Please provide company or organization names. Note that expert group members must have signed the JSPA.) Art Technology Group BEA Systems Blaze Software ILOG SilverStream Software Unisys Section 2: Request 2.1 Please describe the proposed Specification: This specification defines a Java runtime api for rule engines. The api prescribes a set of fundamental rule engine operations. The set of operations is based upon the assumption that most clients will need to be able to execute a basic multi-step rule engine cycle, which consists of parsing rules, adding objects to an engine, firing rules and getting resultant objects from the engine. The set of operations also supports variations of the basic cycle, particularly variations that would occur in J2EE server deployments. A primary input to a rule engine is a collection of rules called a ruleset. The rules in a ruleset are expressed in a rule language. This specification defines generic api support for parsing rulesets, but does not define a rule language standard. 2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.) This specification targets the J2EE and J2SE platforms. 2.3 What need of the Java community will be addressed by the proposed specification? This specification addresses the community need to reduce the cost associated with incorporating business logic within applications and the community need to reduce the cost associated with implementing platform-level business logic tools and services. 2.4 Why isn't this need met by existing specifications? No standard specifications exist that address this need. Dissimilar vendor-specific api specifications exist. However, the differences between these specifications are significant enough to cause costly difficulties for application builders and platform vendors. 2.5 Please give a short description of the underlying technology or technologies: The key underlying technology is the rule engine. A rule engine may be viewed as a sophisticated if/then statement interpreter. The if/then statements that are interpreted are called rules. The "if" portions of rules contain conditions such as "shoppingCart.totalAmount > $100". The "then" portions of rules contain actions such as "recommendDiscount(5%)". The inputs to a rule engine are a ruleset and some data objects. The outputs from a rule engine are determined by the inputs and may include the originally inputted data objects with possible modifications, new data objects and side effects such as "sendMail('Thank you for shopping')." 2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.) javax.rules 2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of? No 2.8 Are there any security issues that cannot be addressed by the current security model? No 2.9 Are there any internationalization or localization issues? No 2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work? No 2.11 Please describe the anticipated schedule for the development of this specification. Community Draft submitted to PMO: October 1, 2001 Public Draft submitted to PMO: January 3, 2002 Proposed Final Draft submitted to PMO: March 4, 2002BR> Section 3: Contributions 3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available. [1] "RETE: a fast algorithm for the many pattern/many object pattern match problem", Artificial Intelligence, volume 19, number 1, 1982, C.L. Forgy [2] Business Rules for Electronic Commerce: Project at IBM T.J. Watson Research [3] Jess, The Java Expert System Shell 3.2 Explanation of how these items might be used as a starting point for the work. [1] Provides useful background information about the RETE algorithm that is at the heart of several rule engine implementations. [2] Provides useful background information. [3] JESS is a rule engine and scripting environment written entirely in Sun's Java language by Ernest Friedman-Hill at Sandia National Laboratories in Livermore, CA. JESS can be licensed free of charge for academic use. Section 4: Additional Information 4.1 This section contains any additional information that the submitting Member wishes to include in the JSR. This specification assumes the existence of a parallel effort to specify an open, xml-based rule language. There is a need for standardization at both the API and the rule language level. The RuleML initiative (http://www.dfki.uni-kl.de/ruleml/) is making important steps towards this common, but distinct, goal. -------------------------------------------------------------------------------- Original Java Specification Request (JSR) (NOTE that this JSR has been updated since the original posting. Identification | Request | Contributions | Additional Information Section 1. Identification Submitting Member:BEA Systems, Inc. Name of Contact Personoug Dew E-Mail Address:ddew@bea.com Telephone Number:+1 720 565 6543 Fax Number:+1 720 565 6501 Specification Leadoug Dew E-Mail Address:ddew@bea.com Telephone Number:+1 720 565 6543 Fax Number:+1 720 565 6501 Initial Expert Group Membership: (Please provide company or organization names. Note that expert group members must have signed the JSPA.) BEA Systems, Inc. ILOG, Inc. Section 2: Request 2.1 Please describe the proposed Specification: This specification defines a Java runtime api for rule engines. The api prescribes an object model and a set of fundamental rule engine operations. The object model and set of operations are based upon the assumption that most clients will need to be able to execute a basic multi-step rule engine cycle, which consists of parsing rules, adding objects to an engine, firing rules and getting resultant objects from the engine. The object model and the set of operations also support variations of the basic cycle, particularly variations that would occur in J2EE server deployments. A primary input to a rule engine is a collection of rules called a ruleset. The rules in a ruleset are expressed in a rule language. This specification defines api support for parsing rulesets that have been authored in vendor-specific rule languages. Additionally, to help simplify the task of creating rule-authoring tools and because business-to-business exchange of rules is anticipated, this specification defines api support for parsing rulesets that have been authored in xml-based, vendor-independent rule languages. 2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.) This specification targets the J2EE and J2SE platforms. 2.3 What need of the Java community will be addressed by the proposed specification? This specification addresses the community need to reduce the cost associated with incorporating business logic within applications and the community need to reduce the cost associated with implementing platform-level business logic tools and services. Additionally, this specification is part of a larger effort to enable business-to-business exchange and processing of rules. 2.4 Why isn't this need met by existing specifications? No standard specifications exist that address this need. Dissimilar vendor-specific api specifications exist. However, the differences between these specifications are significant enough to cause costly difficulties for application builders and platform vendors. 2.5 Please give a short description of the underlying technology or technologies: The key underlying technology is the rule engine. A rule engine may be viewed as a sophisticated if/then statement interpreter. The if/then statements that are interpreted are called rules. The "if" portions of rules contain conditions such as "shoppingCart.totalAmount > $100". The "then" portions of rules contain actions such as "recommendDiscount(5%)". The inputs to a rule engine are a ruleset and some data objects. The outputs from a rule engine are determined by the inputs and may include the originally inputted data objects with possible modifications, new data objects and side effects such as "sendMail('Thank you for shopping')." Some rule engines are implementations of the RETE algorithm. The distinguishing feature of this algorithm is its support for efficient data object-driven rule selection. 2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.) javax.rules 2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of? No 2.8 Are there any security issues that cannot be addressed by the current security model? No 2.9 Are there any internationalization or localization issues? No 2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work? No 2.11 Please describe the anticipated schedule for the development of this specification. Community Draft submitted to PMO: October 1, 2001 Public Draft submitted to PMO: January 3, 2002 Proposed Final Draft submitted to PMO: March 4, 2002 (NOTE that this JSR has been updated since the original posting. Section 3: Contributions 3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available. [1] "RETE: a fast algorithm for the many pattern/many object pattern match problem", Artificial Intelligence, volume 19, number 1, 1982, C.L. Forgy [2] Business Rules for Electronic Commerce: Project at IBM T.J. Watson Research [3] Jess, The Java Expert System Shell 3.2 Explanation of how these items might be used as a starting point for the work. [1] Provides useful background information about the RETE algorithm that is at the heart of several rule engine implementations. [2] Provides useful background information. [3] A Java-based, open source implementation of the RETE algorithm. (NOTE that this JSR has been updated since the original posting. Section 4: Additional Information (Optional) 4.1 This section contains any additional information that the submitting Member wishes to include in the JSR. This specification assumes the existence of a parallel effort to specify an open, xml-based rule language. The result of this effort will be an XML Schema that will be registered at a site such as xml.org. (NOTE that this JSR has been updated since the original posting. Introduction | JSRs | What's New | Participation JCP Procedures | Press & Success | Community Resources Site sponsored and powered by Sun Microsystems Copyright © 1995-2002. All Rights Reserved. Terms of Use. Privacy Policy. |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |