Print this Page
3.3 Development
01 Business Rules
Close this Page

3.3.26 Business Rules:
1. The deployment of business rules is a natual evolution of Information Engineering Fourth Generation Laanguage (4GL) technology.   The terms business rule and 4GL may be interchanged from time to time.
2. Every business rule is (1) a cause and (2) a consequence.   A cause is some pattern of data or may be implied as night follows day.   A consequence is a procedure, a function, a task or any other predefined action.
3. Business rules may have an outcome that will cause other business rules to be triggered.   Eliza is the engine that detects data patterns as a cause and triggers consequences.

2. Glossary:
Fourth Generation Language (4GL) is a declarative way to store logic as information without the syntax limitations of programming languages.
Business Rule is a declarative way to store information as knowledge.
Cause is a pattern of data or a data value that triggers a busienss rule.
Consequence is a function that does something of value by a change in data.
Trigger is one or more data values that together trigger a business rule - this trigger technology is known as Eliza.

2. Eliza:
1. Eliza is a cause-consequence expert system that detects a cause and triggers a function to be executed as a consequence.   Every request into a web service is a cause that will have a consequence.
2. Ties has 2700 4GL packages of business rules. Bizzone has 2000 4GL packages.
3. Business data is shown using spreadsheets and forms as AJAX contents within a container for security, privacy and integrity purposes.   All other data purposefully uses a simplistic web page without a container.

3. Function Class:
1. Business rules are packaged and assigned a 4GL function class as:-
  Sheet is a foundation function class to display a spreadsheet container in a persons browser.   Archive is an alias for identification purposes only.
  Form is a foundation function class to display a data entry container form in a persons browser.
  History is a kind of spreadsheet to show the evolution of field value changes.
  Page is the foundation web page that shows topics in a persons browser.   Popup is an alias for identification purposes only.   Dash is an alias for dashboard purposes only.
  Reserve is the foundation web page that shows am ad-hoc report in a persons browser.
2. This level of simplicity was not easy to design and many evolutionary 4FL function classes still remain to be phased out as:-
  Search was a way of providing a search bar with an inner list container - replaced by Sheet.
  List was a way of providing a spreadshhet within container - replaced by Sheet.
  Change was a way of providing a data entry form - this has simply been renamed as Form.
  Add was a way of providing a data entry form from default data values - replaced by Change and by Form.
  Clone was a way of providing a data entry form from existing data values - replaced by Change and by Form.
3. Evolution is continual with the following experiments being worked on as:-
  Update is an experiment to show multiple spreadsheets on the same page - like minutes of a meeting.
  Join is an experiment to show a spreadsheet showing data from many tables - pseudonymised fields.

4. Action Class:
1. Business rule 4GL packages contain action classes as:-
  Meta is a directive to manage the web page meta data.
  Menu is a directive to show a menu bar.
  Body is a directive to show the web page body in columns.
  Box is a topic directive for text - a simple kind of Form.
  Form is a topic directive for form field controls.
  Exit is a directive to manage the web page copyright bar.
2. Additional action classes remain as:-
  Head is a directive to show a headline that may become obsolete.
  Sheet is a minor spreadsheet directive - a kind of Body.
  History is a minor spreadsheet directive - a kind of Body.
  List is an obsolete list directive - a kind of Body.
  Copy is an obsolete edition of Exit.
  Note is ignored becuase its for engineers use only.
3. Parameters can be provided using action class as:-
  Value is loaded into an array for use by a spreadsheet.

5. Conditionals:
1. Business rules may include conditional directives as:-
  If is a directive to define a condition.   Label is the source field as: Role, Site or Record.   Title is the conditional as: EQ or NE.   Link is the target value such as: LON.
  ElseIf is a directive to switch and define a different condition.
  Else is a directive to switch the condition from true to false.
  EndIf is a directive used to terminate the If directive.

6. Meta Class:
1. Business rule meta action has core edit classes as:-
  Three is a directive where the meta tile, meta description and meta keywords are provided.
  Site is a directive to change the session site key and name.
  Cookie is a directive to get the cookie for the sign-in web page to show the user name.
  Ajax is a directive used by the obsolete Search function to set up a search container for subsequent list contents.
  Soff obsolete sign-off directive.
  Session obsolete cookie test directive.
  App obsolete User Defined Report directive.
2. Dashboard page automatic refresh may be specified for use between the hours of 07 and 17.
3. Note for testing, a inline script is not cached and essential for testing.

7. Menu Class:
1. Business rule menu action has core edit classes as:-
  Include is a directive where menu bar can be defined once and reused by many business rules.
  Start is a directive to manage the menu bar.   The menu bar may items as a cartouche with a labels or may use icon tiles.
  End is a directive to end the menu bar.
  Label is a directive to show a menu label.   The label may be large or small text and may contain replaced variables.
  Blank is a directive to show a blank menu item.
  Close is a directive to show a close menu item.
  Print is a directive to show a print menu item.
2. Business rule menu action has navigation edit classes as:-
  Link is a directive to show a link menu item to HREF replace the current page.
  Signin is like Link to show a menu item with signin page extra parameters.
  Target is like Link to show a menu item to HREF target and popup external web page.
  Popup is a directive to show a popup menu item to a new web page.   The size and position of the new web page can be specified.
  Guide is like Popup to show a guide menu item to popup a guide page.   The size and position of the guide web page can be specified.
3. Business rule menu action has container edit classes as:-
  Click is a directive to show a click menu item to an existing spreadsheet or form container.
  Refresh is like Click to show a form refresh menu item to refresh the current form contents.
  Paging is a directive to show a spreadsheet paging menu composite.
  Mode is a directive to show a spreadsheet mode menu composite.
  DatRange is a directive to show a date range menu composite.
  Download is a directive to show a spreadsheet download menu item.
  Reset is a directive to show a spreadsheet reset menu item.

8. Body Class:
1. Business rule body action has simple edit classes as:-
  Start is a directive to start a body table that shall be divided into one or more vertical columns.
  End is a directive to end the body table. More than one body table may be sequentially defined.
  Column is a directive begin a veritcal column. Column 1 is mandatory, but other columns are optional.   The column has an optional percentage width of the full page such as 33% when 3 columns wide.

9. Head Class:
1. Business rule head action has an edit class as:-
  Three is a directive to specify the heading center, left and right field values.
2. The Head action shall be phased out. The Timer, Two and Logo directives have been phased out.

10. Exit Class:
1. Business rule exit (and copy) action has a edit classes as:-
  Append is a directive to specify the heading center, left and right field values.
  Close is a directive to specify the heading center, left and right field values.
  Content is a directive to show the normal lower copyright status bar.
  Para is a directive to specify a paragraph to be shown as help.
  Line is a directive to specify a line of text to be shown as help.
  Ajax is a directive to specify the heading center, left and right field values.
  None is a directive to avoid showing the lower copyright status bar.
  Default is a directive to show the normal lower copyright status bar.

11. Box Class:
1. Business rule box action has simple edit classes to manage topics as:-
  Start is a directive to start a new topic.
  End is a directive to end a topic.
  Para is a directive to show text begining with a new paragraph.
  Line is a directive to show text continuing the same paragraph.
  Script is a directive to show large text in its own topic.
2. Business rule box action has standard edit classes to manage navigation as:-
  Link is a directive to show an image and HREF link to replace the current page.
  Popup is a directive to show an image and popup a new page.
  External is a directive to show an image and popup an external web page.
  Http is a directive to show an image and popup a new page.
3. Business rule box action has old edit classes to manage exceptions as:-
  Head is obsolete.
  Show is obsolete.
  Text is a directive to show text.
  HTML is a directive to show HTML text.
  Upload is a directive to show upload a file.
4. Business rule box action has special edit classes to manage exceptions as:-
  Reserve is a directive to show a predefined reserved function like a report.
  DebugMode is a special directive to show a predefined gadget that can change the debug mode.
  Gadget is a directive to show a predefined gadget such as pounds to kilo conversion.
  UserStat is an obsolete directive to show a predefined gadget that can change the user state.
  Session is an obsolete directive to show a predefined gadget that can change session variables.
  UserRole is an obsolete directive to show a predefined gadget that can change the user role.
  Site_Key is an obsolete directive to show a predefined gadget that can change the site key.
  Feedback is an obsolete directive to show a predefined gadget that can capture date entry comments.
5. Business rule box action has complex edit classes to manage diagrams as:-
  Table is a directive to draw a box-line diagram.
  EndTab is a directive to end a diagram.
  NewRow is a directive to start first new row.
  NextRow is a directive to start subsequent new row.
  EndRow is a directive to end a row.
  Cell is a directive to draw a box-line cell.

12. Form Class:
1. Business rule form action has simple edit classes to manage topics as:-
  Start is a directive to start a new topic with controls having a right justified label and left justified field and (save) message area.
  End is a directive to end a topic.
2. Business rule form action has edit classes to manage positioning within a topic as:-
  Left is a directive to position the next directive to the left.
  Right is a directive to position the next directive to the right.
  Center is a directive to position the next directive to the center.
  Normal is a directive to reset the position to normal.
3. Business rule form action has edit classes to manage fields within a topic as:-
  Text is a directive to show data entry field with many subtypes.
  Area is a directive to show multi-line entry field.
  Date is a directive to show year, month and day list selection composite.
  Time is a directive to show Hour, Minute and optional Second list selection composite.
  ID999999 are directives to show more than one field value as a single read-only value.
  TextRead, AreaRead, DateRead, TimeRead, YearRead, MontRead are directives to show read-only field values.
  Para is a directive to show text begining with a new paragraph.
  Line is a directive to show text continuing the same paragraph.
4. Business rule box action has standard edit classes to manage navigation as:-
  Link is a directive to show an image and HREF link to replace the current page.
  Popup is a directive to show an image and popup a new page.
  External is a directive to show an image and popup an external web page.
  Click is a directive to show an image and navigate to a new container page.
  List, ListPopup, ListRead, ListDate, ListList are directives to show lists.
  Combo is an obsolete directive to show a list select combo.
  Submit is a directive to show a submit button.
  Send is a directive to show an email send button.
  Go is a directive to show a gadget go button.
5. Business rule form action has edit classes to manage the database as:-
  DB_LINK is a directive to ADD NEW KEY data for a form.
  INSERT is an obsolete ADD NEW directive for a form.
  SELECT is an obsolete KEY directive for a form.
  Count is an obsolete count value lookup.
  Get is an obsolete get field value.
  Deduce is an obsolete formula.
6. Business rule form action has edit classes to manage authentication as:-
  SignMode is a directive to show the sign-in mode list.
  SignIcon is a directive to show the sign-in passport fields.
  Sign is a directive to show a sign-in field value.
7. Business rule form action has edit classes to show composites as:-
  Calendar is a directive to show year, month and day popup month composite.
  Year-Mth is a directive to show year and month list selection composite.
  Month is a directive to show month list selection composite.
  UserActive is a special directive to show the record state drop down list.
  UserStat is a special directive to show the user state drop down list.
  DebugMode is a special directive to show the debug drop down list.
  AsUpload is a special directive to show the upload control.
  WeightKgLb is a special directive to show a weight conversion control.
  MPAN is a special directive to show an electric meter number as seven parts.
  Hide is an obsolete directive to hide a field value.
  Show is an obsolete directive.
  Marquee is an obsolete directive.
  List-B32 is an obsolete directive to show up to 32 binary list selection flags as one field.

13. Trends:
1. Business rules have a continuing improving style and capability with more effective ideas being promoted and obsolete rules being phased out.   Stability is a lack of investment and a lack of progress. Business rules have an average life cycle of about ten years - it would be illogical if more effective techniques could not be designed every ten years.   Simplicity is a sign of good design - less business rules with fewer options is a sign of long term stability.
2. Some business rules have a single instance of usage - they solve one specific purpose and that purpose cannot be reused by other applications.