Home
Home > CTC Generators > Smart Client Generator > Runtime Architecture
CTC Smart Client Generator - Runtime Architecture
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):

  1. 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.

  2. Smart Client View Controller
    The Smart Client View Controller is a generic HTML/JavaScript control that manages all communication to the EAE/AB Suite host system. This control can be included on any HTML application from which access to an EAE/AB Suite host system is required. The Smart Client View Controller includes an API that allows the Smart Client application hosting the control to customize the behaviour and get control at key events during the end user interaction with the ispecs. The default Smart Client application provides a starting point for customization if required.

    The Smart Client View Controller includes the following main modules:
    • Views Navigation
      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.

    • CE Proxy
      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.

  3. One Ispec View and View Model package for each ispec in the bundle
    For each ispec included in the bundle, the CTC Smart Client Generator creates an Ispec View HTML file, an Ispec View JavaScript file and a View Model JavaScript file. At runtime these files are automatically downloaded and cached on the client machine when the user navigates to an ispec. On subsequent reference to an ispec, the files are loaded from the local cache on the client. When a new version of the generated ispecs is deployed to the web server, the files are automatically downloaded to the client.

    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.

  4. 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
    • Based on industry standards such as HTML 5, CSS 3 and JavaScript
    • Many options at different levels for customizing and tailoring to satisfy individual requirements

For further details see the CTC Smart Client Generator document.