SCXML documents to describe Shale dialogs

Shale is "a modern web application framework, fundamentaly based on JavaServer Faces". The Shale Framework includes a Dialog Manager, to describe "conversations" or "dialogs" (involving multiple views) with the user. Such a dialog is described using a state-machine like declarative notation defined by the Shale Framework. An alternative is using SCXML to describe the Shale dialogs by introducing a DialogNavigationHandler that uses the Commons SCXML engine.

Motivation

  • SCXML semantics support parallelism, allowing multiple dialogs to execute at the same time (a.k.a regions), and interact with each other. This will be useful as Shale Dialog Managers evolve.
  • The Commons SCXML implementation allows for registering listeners that get notified as the state machine executes (onentry, onexit, ontransition).
  • Those developing multi-channel applications, or using frameworks that use SCXML for the controller bits in other contexts (e.g. RDC framework), may be inclined towards SCXML-based authoring for Shale dialogs.

Details

Please refer to the Apache Shale website for details. The relevant module is the Shale Dialogs (Commons SCXML Implementation) module.