You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28 Next »

Summary

Dialogues can be strongly dependent on business rules. These business rules are intended for the realization of intelligent forms of an application. Some business rules needed for intelligent forms are from the domain layers, as they concern the core logic of the business. Other rules are created just to make the page more dynamic and give the end user a better experience. The latter are located in the user interface layer.

In this example we regard a problem diagnosis for house repairs. When something breaks in your house you want to indicate the problem to the landlord so that a propert repair can be scheduled. What is exactly broken can not be known by the inhabitant, but is important to know so that the appropriate equipment is brought for the reparation.

 

 

Contents

Decouple category

Properties

Property

Description

Decouple category

Front-end (4)

Complexity

High

Related patterns/solutions

Problem

When there is a problem in the household, the landlord can be called with a desciption of the problem. The landlord asks clarification questions in order to dispatch the correct repairman. In case that the user comes to a Blueriq application with the problem, the same clarification questions need to be asked. The difference to a standard input form is that the next question to be asked to the end user is highly dependent on the answers give so far. The end user should only get relevant questions and as few as possible to come to a conclusion about the problem.

A great example is the case of the pilot light in the water boiler. If this small fire is distinguished, no warm water is produced and so components as the radiator or the shower may not work. The inhabitant however has no idea what a pilot light is, and goes to the Blueriq application with a problem in mind: my house is cold. What questions should we ask the end user in order to deduce that there is a pilot light problem?

Examples could be:

  • Do you hear water running when you turn the radioator on?
  • Is there warm water in the shower?
  • Does your light turn on?
  • Do you see a small flame in the water boiler?
    • Possibly preceeded by "Do you know where your water boiler is and how it looks like?"

 

In Blueriq both the domain logic and page logic is modelled using Business Rules and Decision Tables. In an example such as this, the preconditions on the page might be heavily dependent on domain knowledge. We have to think carefully on what is page specific and belongs in the interface layer, and what is domain knowledge and belongs in the domain layer.

One approach which one may look at are Decision trees. With this approach there exists no page specific logic at all, as the page content is created dynamically based on rules in the domain layer.

 

 

 

 

Issues and considerations

Implementing intelligent front-ends is complicated because of maintainability aspects (seperation of concerns and decoupling) and the integrated properties of definition and execution of business rules. This easily creates a contradiction. Decoupling is important for maintainable applications while intelligent dialogs (which contains complex and strongly dependent business rules) are easy to implement by integrating business rules (server-side) with dialog (front-end) components.

The offered solutions do have different properties. When an intelligent dialogs must be implemented solution 2 is highly recommended because it has good implementation and decision management properties.

 

  • No labels