The basic architecture of the Smart Client application includes a server side and a client side component. The initial Smart Client application page is served from the web server when the user enters the URL of the application into the browser.
Basic Smart Client Application Runtime Architecture
The Smart Client solution created by the CTC Smart Client Generator consists of the following major components (refer to the numbers in the diagram below):
Smart Client Application
This contains the main application page that opens when the user starts the application. From this page, the user navigates through the host EAE/AB Suite application and interacts with the ispecs. Included with the generator is a default application page that provides the basic look and feel. This can be customized to suit individual requirements.
Smart Client View Controller
The Smart Client View Controller includes the following main modules:
This module manages the end user navigation through the application. The generated Ispec Views and View Models are automatically downloaded to the client when required. The Ispec Views and View Models are cached on the client side in the HTML 5 Local Storage area, which is an area on the client disk provided and secured by HTML 5. Once an Ispec View and a View Model is downloaded, it is retrieved from the local storage and not downloaded again until the application is re-generated and deployed to the web server.
By default, ispec forms/views created by the CTC Smart Client Generator are displayed. However, the Smart Client View Controller allows specification of alternate views, which are forms customized outside of the EAE/AB Suite development environment to suit user interface requirements for an alternative interface. This allows users to design and paint forms using tools like Microsoft Expression Blend, and still take advantage of the runtime environment provided by the CTC Smart Client Generator.
This module acts as client side proxy of Component Enabler and implements the essential functionality of Component Enabler on the client side. It works hand in hand with the server side Smart Client Services module. It manages the session with the EAE/AB Suite host system right from establishing a connection to displaying ispec forms/views, sending and receiving data and ending with disconnecting from the host system. During the session, the View Controller calls upon services of the Smart Client Services component on the web server. The session established with the web server doesn't time out as the View Controller automatically keeps it alive for the duration of the session.
One Ispec View and View Model package for each ispec in the bundle
A View Model is a data class generated for each ispec, which provides easy data binding using the binding specifications of the HTML controls on the form as well as a seamless interface to data items and lists on the ispec.
Smart Client Services module
This module provides the services required by the client side CE Proxy module for communicating with and exchanging data with the EAE/AB Suite host system. It uses the standard Unisys Component Enabler for the host communication. The state of a session established by the client is maintained throughout the session, which provides efficient exchange of data between the server and the client. Data exchanged between the client and server is sent in XML format.
CTC Smart Client Application Runtime Architecture
The benefits of the CTC Smart Client Generator Runtime Environment include:
- Efficient forms processing
- Automatic distribution of changes
- Forms are downloaded once only and cached on the client until changed
- Minimum resources required on the Web Server
- Forms are processed and rendered on the client only
- Only data is exchanged with the server
- End user satisfaction
- Rich Internet/Intranet Application (RIA) user interface
- Desktop like experience with immediate feedback to user actions
- Fast response time as a result of efficient forms processing
- Easy to manage, flexible environment
- Many options at different levels for customizing and tailoring to satisfy individual requirements
For further details see the CTC Smart Client Generator