Tuesday, March 11, 2014

Red Hat JBoss BRMS 6 - the new Cool Store Demo

Cool Store web shop

It is time for another update to the awesome JBoss Business Rules Management System (BRMS) Cool Store Demo, this time brought to you in the brand new JBoss BRMS 6 product.

This last week Jason Milliron and myself spent some time freshening up this retail web shopping example to the all new product version. We now have the Cool Store web application that relies on the JBoss BRMS business central based project for its rules, events, model, and a rule-flow.

Some time ago Jason put together an example web application based on the popular framework Vaadin which is an example of an online shopping cart. This web application demonstrates interaction between a web front end and a decision table and rules package. This allows the business logic to become externalized from your deployed application and can then be modified as needed at runtime. This application leverages the rules to calculate the shipping costs based on your rules in the table below.

It is pretty simple really, you can adjust how much the ranges are and what the shipping for the shopping cart total order will be by tweaking this table, for example:

JBoss BRMS Cool Store decision table
  • the price from Tier 2 based on value totaling between $26 - $50 is $4.99
  • you can fill your cart with over $25 of materials to validate
  • edit decision table and adjust it to $6.99 
  • save changes
  • build & deploy your cool store project
  • clear the shopping cart application
  • re-order the same materials and validate the charge to shipping is now $6.99

I have released version 2.0 based on JBoss BRMS 6.0.0.GA which will get you started in a very short amount of time. See the provided documentation and Readme file in the project.

The project is in the same template you are used to getting from JBoss Technology Evangelists, providing you with the 3-step setup you expect from us:

  1. clone the project.
  2. download the products (JBoss EAP + BRMS)
  3. run the init script for automated setup.

We can't make it any easier, so hope you enjoy!