Weather Shield Brings Configuration
Directly to Dealers and Customers
Using Amzi! Prolog + Logic Server
Weather Shield, one of the
nation's leading window and door manufacturers, offers a comprehensive
line of wood windows, vinyl windows, hinged and sliding patio doors and
steel insulated entrance systems for the new construction and remodeling
wanted to make it easy for people to do business with Weather Shield by
providing a tool for dealers, contractors and other customers to be able
to configure the correct window/door product for a given job, to get pricing
for that product, and to automatically generate an order.
They do this by providing a CDROM for their customers with an application
written in Visual Basic (VB) that provides the user interface and connectivity
to the Weather Shield online order entry system.
The tricky part was encoding and deploying configuration and pricing
knowledge. These are best expressed as logical relationships and frequently
change with new product offerings and pricing strategies. How best to
get the knowledge from those who know the products and pricing into the
software on the customer's computer?
Clearly an architecture that enabled those with the know-how to directly
maintain the configuration and pricing knowledge would be a huge advantage
over alternative solutions that required coding the knowledge directly
And if that knowledge was deployed in a logicbase external to VB, but
queried from VB, then the application could easily be updated with new
For this they chose Amzi! Prolog + Logic Server. The configuration and
pricing knowledge is expressed directly in a Prolog logicbase, which is
called from the VB code during the configuration and pricing process.
Updates to the logicbase are performed automatically when the user connects
to Weather Shield's Web site.
There was one problem. The configuration rules are complex and using
Prolog syntax directly was not a good solution for those with the know-how.
So the developers created a database format that the experts could use
to express the complex logical relationships of product configuration
That database is then translated into Prolog syntax for deployment.
The rules go further than just providing configuration and pricing information.
They also drive the VB application user interface.
developers took advantage of the ability of Prolog to callback to VB to
enable actions in rules that drive the VB interface. Controls representing
different units are displayed or not, based on the rules in the logicbase.
So the entire configuration process, including the evolving visual display
as a user works through a configuration, is driven by the Prolog logicbase.
The result is the software developers concentrate on the software, the
product knowledge and configuration process is maintained by those in
the know, and the customers have up-to-date tools for generating and ordering
accurate product configurations.
From a learning perspective, it took the developer's 2-3 weeks to get
enough knowledge of Prolog to begin writing prototypes for the project.
From a performance perspective, they are constantly amazed by how fast
Prolog applies the appropriate rules during configuration.
The keys to success were talented developers, management commitment,
and good technical support.