Plasma GitLab Archive
Projects Blog Knowledge

WDialog - Toolkit for Dialog-Centric Web Applications

WDialog is an advanced system to create dialog-centric web applications. It focuses on user interfaces with many input elements that need strict control of the possible user interactions (e.g. editors for structured data, form centers, workflows). The key features can be summarized as follows:

  • The definition of the user interface (UI) is strictly separated from the backend program (model) carrying out the actions triggered by the user. The UI is described in an XML file that can be developed independently of the backend program. This improves the software engineering process, as developers for the UI part and the backend part can concentrate on their own skills, and need not to be experts for the other part. The developers are encouraged to adopt a modular programming style even for the UI part. Last but not least, the UI part can be re-designed and localized without having to understand the rest of the application.

  • The XML document type for the UI part provides a rich language that specifies the dialog structure of the user interface, and the persistence properties of the dialogs. It further includes integrated HTML form elements, and a macro/template calculus. The nature of this UI language allows it to develop a prototype of the user interface that is mature enough for early presentations although the backend is not yet available (rapid prototyping). Session persistency is defined on the level of the UI language, so dialog variables do not forget their state even in the early development stages. The UI language determines the possible ways the user can take through the application (storyboard). Although it has been tries to make the UI language a powerful input/output processor, some features are intentionally not available. It is not possible to develop real algorithms in the UI language, and external stores (databases) are not directly accessible.

  • The interactive parts of the dialogs are modeled like classic GUI widget sets, i.e. the HTML interactors can be used like widgets visualizing the current state of the dialogs, and user clicks are considered as events that can be handled by configurable callback methods.

  • The callbacks are programmed in a real programming language (Objective Caml, or Perl). The callbacks usually implement the algorithmic part of the application, and have access to all system resources.

  • There are several runtime environments for the final application: It can be run as CGI program, but also as dedicated application server to improve the performance.

  • The WDialog toolkit itself does not require any database system as background store, and provides several high performance alternatives.

  • As security issues become more and more important in these days, it should be mentioned that WDialog includes features that gives the security of web applications a solid and trustworthy basis. Error-prone tasks such as handling escape encodings, parameter passing, and implementing persistency are taken away from the application developer, and are realized in a sound way by the WDialog toolkit. Furthermore, the framework nature of WDialog enforces a certain structure of the application, and keeps developers away from adventurous designs.

These are only the highlights of the WDialog feature list, making it a somewhat different web toolkit. This manual gives an introduction to WDialog explaining its innovative concepts for newcomers. The reference part describes every little piece of the toolkit in detail.

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml