Technical Architecture
The DreamFace Interactive's Web 2.0 Framework is architectured around an open and extensible model. This model is mainly decoupled into
four main modules: The DreamFace Engine, the DreamFace Interface, the DreamFace API and the DreamFace Repository, as illustrated in the
following schema:
DreamFace Engine
The DreamFace Engine is a lightweight Ajax-based client-side module. It is written in JavaScript and automatically loaded and executed
by the Web browser, so that no plug-in installation is required and updates are automatic. This module is in charge of the Presentation
logic of the application, i.e WebChannel loading and running, WebProgram execution, Screen Interactions management and client-side context
handling. Built on top of proven Ajax Toolkits (jQuery, Prototype...), it dialogs with Web-Tier's DreamFace Interface throughout an
asynchronous communication and construct all elements required for the Presentation Logic, according to retrieved information.
DreamFace Interface
The DreamFace Interface is the proxy server part of the Ajax communication mechanism. It receives requests from the DreamFace
Engine and execute the procedure related to requested information or command. This module is open to third party products or
modules that needs to deal with the DreamFace Repository.
DreamFace API
The DreamFace API is mainly in charge of the DreamFace Repository management. All commands that manipulate the DreamFace Repository
are available through this programming interface. The DreamFace API is also used to securly execute request coming from the
DreamFace Interface such as the Single Sign On or data sources and data providers invocations.
DreamFace Repository
The DreamFace Repository stores and maintains information describing the application such as WebChannels, WebPrograms, Screens,
DataWidgets and DataSources into a relational database (MySQL supported). It also maintains the definition of users and their
respective roles and rights (Personas).
Packaging
DreamFace is packaged as a standard Web Application (WAR) that can be deployed on a regular J2EE application server such as Apache
Tomcat or IBM WebSphere.