Figure 1 shows the
AppProjectorTM architecture.
The AppProjectorTM
consists of a client portion for displaying the
user interface called the AppProjector Client and
a server portion for running the business logic called the
AppProjector Server.
Both the AppProjector Client and AppProjector Server contain
a communications layer called the Web Communicator
to send messages back and forth via HTTP tunneling.
The AppProjector Client
has a set of user interface controls, a rendering engine that interprets
descriptions of the screens that are provided in XML by the
application developer, and a client-side data buffer for caching data
on the client.
It also contains the client portion of the
Web Communicator.
The entire client is downloaded to the end user’s browser automatically when the user browses to the web page that contains the application. The client is designed to support user interface controls rendered using the Asperon KWT, which is a highly compatible user interface component set that eliminates the need for a plug-in for Internet Explorer and most other browsers.
The AppProjector Server consists of the part of the
Web Communicator
that talks to the client, and the
Web Activator.
The Web Activator
has a controller for handling user inputs, and an application model that
serves as the interface to the application logic, and manages all of
the user sessions as remote users log in to the server.
Taken together, the AppProjectorTM
components form a model-view-controller system with the
application as the model, and the
AppProjectorTM
acting as the view and controller.
The AppProjectorTM
client is completely generic, in that the same client is used
for all applications. This makes it easy to deploy changes to the
user interface without having to update the client.
It also eliminates the need for application-specific browser testing.
The user interface is specified as a set of screens that are represented in
XML, and read in by the Web Activator
server.
These screens are automatically delivered to the client through the
Web Communicator
communications layer at run time.
The Web Communicator
sends messages back and forth between the client and the server using
a binary encrypted and compressed form XML. It uses HTTP tunneling
with the browser’s proxy settings so that
AppProjectorTM
applications can be used through most corporate firewalls
without reconfiguration.
See a detailed
white paper
about the AppProjectorTM
design.