Help coderanch get a
new server
by contributing to the fundraiser
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Devaka Cooray
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • paul wheaton
  • Henry Wong
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Tim Moores
  • Carey Brown
  • Mikalai Zaikin
Bartenders:
  • Lou Hamers
  • Piet Souris
  • Frits Walraven

What is Jess?

 
Ranch Hand
Posts: 94
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
What is Jess and what is it used for?
 
author and iconoclast
Posts: 24207
46
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jess is primarily, a Java rule engine. A rule engine, very simply, lets you write a collection of "if-then" statements (called rules), and then applies them, continuously, to a changing collection of data. Doing this efficiently for a large set of rules and a large set of data is a challenging problem; that's why you need a rule engine.
Rule engines are used for everything from business-rule evaluation in J2EE apps, to embedded control systems; from diagnostic tools, to e-commerce systems; from mail filtering, to games. The book "Jess in Action" shows a series of large, fully worked examples of rule-based applications, spending several chapters on each.
 
Ranch Hand
Posts: 168
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I would add one comment.
When you say


A rule engine, very simply, lets you write a collection of "if-then" statements (called rules), and then applies them, continuously, to a changing collection of data.


a developer would tend to respond as follows
"if-then" statements? I can write those in my sleep. Why shouldn't I just code the business logic directly into my Java classes?
The answer is that very often the "if-then" rules are not known at the time the application is written. When using a rules based system, the user can input their own business rules.

Another part of the naive response might be as follows:
"Apply them continuously"? I can easily write an SQL/JDBC query to find all records which match each given rule, then process the matching results.
However, there are two things. Rules can be asserted against databases containing millions of rows. And there can be thousands of rules. A good rules engines uses advanced algorithms, so that the rules will fire based only on the changes to the data. So in a large database with millions of facts, we only process the rows that have changed. And we only examine those rules which are needed based on the data that has changed.
And secondly, the "facts" don't necessarily reside in a database. Among other things, the "facts" can be the result of the firing of previous rules.
 
Ranch Hand
Posts: 8945
Firefox Browser Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
JESS works on Java.
 
Ranch Hand
Posts: 103
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jess is used to construct "Rule Based Management Systems", like we do have in preprocessors of billing systems ?
 
Ernest Friedman-Hill
author and iconoclast
Posts: 24207
46
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Gustavo --
Yes, this is one possible use.
 
Ranch Hand
Posts: 336
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
What about the syntax rules?
 
Ernest Friedman-Hill
author and iconoclast
Posts: 24207
46
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Leslie --
Are you asking if using Jess to encode BNF rules is a good idea? You could do it, but I'm not sure it's a very good application.
 
Sheriff
Posts: 7001
6
Eclipse IDE Python C++ Debian Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Leslie: What about the syntax rules?
Ernest: Are you asking if using Jess to encode BNF rules is a good idea? You could do it, but I'm not sure it's a very good application.
Or are you asking something more like "what is the syntax of rules in Jess?"? If so, take a look at the documentation and examples here.
 
Leslie Chaim
Ranch Hand
Posts: 336
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Frank
 
Ranch Hand
Posts: 35
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Do you need to learn "rule bases" theory to underestand Jess or with the book is enough?
 
Ernest Friedman-Hill
author and iconoclast
Posts: 24207
46
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
"Jess In Action" assumes that you know Java, and that's it. It will teach you everything else you need to know.
 
Jerzi Deflanax
Ranch Hand
Posts: 35
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Ok.
By the way.
DO you recommend that you buy also the books from Ross and/or Halle?
they complement your book, are competitors or are orthogonal?

Regards
(I am just to buy a bunch of books, so it is a real question, more than academic or anything else)
Business Rules Applied/Halle/Wiley
Principles of the Business Rules Approach/Ross/AW
 
Ernest Friedman-Hill
author and iconoclast
Posts: 24207
46
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I would says that their books are complementary, if anything; definitely not competitors, but still related. You don't need to buy any books on software development methodologies to develop software; likewise, you don't need any books on "the business rules approach" to develop rule-based systems. But in either case, the additional information can be helpful.
 
Ranch Hand
Posts: 133
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Would it be difficult to use Jess to apply business rules to data retrieved via 3270 emulation?
 
Ernest Friedman-Hill
author and iconoclast
Posts: 24207
46
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jon Strayer --
Hmm, that's a tricky question because I've never had to do anything like that. I think it's safe to say that if it's possible to get the data into a Java program in any form, then from there it's trivial to feed it to Jess.
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic