Sun Java logo     Previous      Contents      Index      Next     

Sun logo
Sun Java System Communications Express 6 2004Q2 Administration Guide  

Chapter 2
Overview of Communications Express

Sun Java™ System Communications Express 6 2004Q2 provides an integrated web-based communication and collaboration client that caters to the needs of Internet Service Providers, Enterprises, and Original Equipment Manufacturers.

As a web-based client, the three client modules - Calendar, Address Book and Mail of Communications Express depends on a web server for access and a browser for presentation.

Product Features

This chapter contains the following sections:

High-Level Architecture

The Calendar and Address Book client modules are deployed as a single application on any web container and are collectively referred to as the unified web client (UWC) throughout this guide.

Figure 2-1  High Level Architecture

High level architecture

Messenger Express is the standalone web interface mail application that uses the HTTP service of the Messaging Server. Messenger Express should be deployed on the same system as the Calendar and Address Book modules. Messenger Express is the standalone web interface mail application that uses the HTTP service of the Messaging Server. Messenger Express should be deployed on the same system as the Calendar and Address Book modules.

UWC is based on JATO, the Sun ONE Application Framework. It requires a J2EE compliant web server to serve HTTP requests made to access UWC.

Every user request passes through a dedicated application controller servlet which delegates the request to the appropriate communication client module, such as mail, calendar, or address book. Before delegating a request, the application servlet checks for the presence of a valid HTTP session for the browser client attempting to access UWC. In the absence of a valid HTTP session the controller servlet directs the request flow through the authentication process.

The authentication process is handled by a set of web filters and an authentication servlet.

Each client module is further defined as a Sun ONE Application framework module, which is handled by the module specific controller servlets.

The JATO modules defined for UWC are:

Overview of the Request Flow

A request to UWC can initiate the following phases:

  1. Authentication.In this phase a user session is created by the web filters.
  2. Session Creation. Once a user session is created, the following actions are performed to enable the application for the rest of the user session:
    1. Initialization. During this phase, the information is read and the required objects cached.
    2. The scope of information cached for UWC are:

    3. Redirection. After initialization, the request is forwarded to the default application specified in global user preferences.
  3. UI Rendering. During this phase, a completed request outputs the resultant page for display.
  4. Request Forwarding (submission). In this phase, server-level validations are performed on the data entered and submitted by users. Based on the success or failure of the validation, the request is forwarded to the appropriate target.
  5. Error Handling. In the event of an error or an exception, an error page pertaining to the request is displayed.
  6. Anonymous Access. Anonymous calendars provide a limited “read only” access to the calendar being viewed. The anonymous calendar displays only the events list, day, week, month, and year views. Contents of the mail, address book, and options tab cannot be viewed in an anonymous access.


UWC refers to a number of objects that are shared throughout the application during a user session. These objects are initialized either when a new user session is created or when the application is started. Initialization can be categorized into:

Application Initialization

All application-wide objects are cached in the application scope.

  1. Authentication and Application Configuration. Authentication and application configuration parameters are present in and under WEB-INF/config directory. Application configuration details are loaded when the application is started. Authentication parameters are used when UWC is accessed for the first time.
  2. Domain Configuration. Domain configuration is stored in the user’s domain LDAP entry and in file. Each defined domain for UWC is read and stored. The application then obtains the domain configuration details from the cache instead of reading it from LDAP every time.
  3. Resource Bundle Caching. All i18n strings, image paths, and other items that are localizable and customizable are read once and cached.
  4. LDAP Pool. A connection pool for the user/group LDAP is created when the application is started. The pool is destroyed when the application is stopped.

User Session Based Initialization

The following are initialized for a new user session:

  1. User Preferences.The User’s global preferences are read from the LDAP user entry and stored in the scope of the session.
  2. Mail and Calendar Active Status. The mail and calendar modules’s service availability status is computed and stored within the scope of the session. This information is later used by the UI to determine whether the mail or calendar application should be displayed.

Module Level Initialization

Module level initializations are performed when a request is made specifically to a module’s Uniform Resource Identifier (URI).

Calendar Store, Calendar Preferences, and Calendar data Objects are examples of module level initializations for the calendar module of a user.

Previous      Contents      Index      Next     

Copyright 2004 Sun Microsystems, Inc. All rights reserved.