The MentorWizard system provides two of the three resources you need to create performance support applications: a client rendering engine and a tool that domain experts can use to build application definition files. The rendering engine runs on a user's computer and fetches and displays steps to the user similar to the way a browser fetches and displays web pages. The MentorWizard runtime engine could be implemented either as a plug-in to a standard browser or as a totally new client application. The application builder creates and maintains applications by empowering domain experts and application maintainers to edit steps.
The third ingredient, the server system that delivers application steps and handles data retrieval and storage, is readily available. Application servers are currently available from IBM (WebSphere), BEA (WebLogic), Microsoft (.NET) or Apache (Tomcat). These server systems support MentorWizard applications the same way they support browser-based applications. The difference is that web application pages contain text in HTML format, while MentorWizard application steps contain text in XML format.
The main elements in a MentorWizard system are shown in Figure 3. Operation of a MentorWizard application requires three primary elements: 1) the MentorWizard client runtime engine, 2) a step server (e.g. a web server or a J2EE server), and 3) a collection of steps that define the application. The runtime engine runs on a client computer with support from the client's operating system (Windows, Linux, Unix, or Macintosh). This client system must be connected to the Internet. The step server is also connected to the Internet, and the MentorWizard client retrieves steps from the server exactly the same way a web browser retrieves web pages. The step definitions reside in text records, one per step, and may be stored in files or in a database.
Figure 3: High level architecture of the MentorWizard system.
MentorWizard step definitions may reside on the client computer and/or on one or more web servers accessed by the MentorWizard client via the Internet. Steps that reside on a server can be accessed by many users simultaneously. When a step definition is present on both the client and the server, the runtime engine checks the version of each copy. If the network copy is newer, it replaces the local copy. However, if the local step definition is up to date, it is immediately shown to the user. As is true for web pages, if a step is modified, all users will see the modified step the next time they access the step. In this way, applications can be changed on the fly without user interruptions.
Dynamic steps, for example those that display data from an enterprise database, are built on the fly by the enterprise server using JSP, servlets, ASP, ASP.NET or similar technologies. These steps are built with the same tools and in the same way as dynamic web pages.