IBM Workplace Client Technology architecture

This article takes an "under the hood" look at IBM Workplace Client Technology to help you better understand its architecture and how you can use its standards-based technologies to build and manage IBM Workplace client applications.

Share:

Debbie Bargas, Advisory Software Engineer, IBM

Debbie Bargas is an Advisory Software Engineer with IBM and has been with Developer Relations since the mid-1990's. She provides technical support and enablement to solution vendors for IBM Workplace products.



15 February 2005

An important component of IBM Workplace is IBM Workplace Client Technology. With Workplace Client Technology, you can develop, deploy, and centrally manage rich end-user client applications. This allows you to extend management and security features found in server-based platforms to user desktops and to other devices. These rich client applications give you the flexibility and portability of client-side applications combined with server-side control and cost-savings. Workplace Client Technology comes in two editions: Micro Edition for mobile devices and Rich Edition for desktops.

IBM Workplace Client Technology incorporates a number of standards-based components and technologies, including Java and the Eclipse 3.0 open standard. It includes central policy-based administration features such as provisioning and synchronization. Applications can run locally on the end user's machine. By leveraging the embedded EJB (Enterprise JavaBean) container and encrypted relational database, users can work offline and online. Workplace Client Technology also features a synchronized, policy-based secure data store that allows data to be stored locally until the user is ready to synchronize the data with the server (this is similar to DB2's synchronization services of WebSphere Everyplace Connection Manager).

Knowing how these components fit together and interact will help you better understand how you can use Workplace Client Technology to build applications in your IBM Workplace environment. To help you get started, this article presents an overview of how Workplace Client Technology is constructed. We begin with a high-level description of Workplace Client Technology's general architecture. We then discuss the distinctions between the two "flavors" of Workplace Client Technology: Rich Edition and Micro Edition. This article assumes that you have a basic familiarity with the IBM Workplace family of products. If not, we suggest you read the developerWorks: Lotus articles, "What is Lotus Workplace?" and "New features in release 2.0 of IBM Lotus Workplace."

An overview of IBM Workplace Client Technology architecture

Consider Workplace Client Technology a collaboration of:

  • A secure data store (a Java relational database). This data store is a zero-administration, pure Java relational database.
  • The Eclipse rich client framework.
  • A personal EJB container for running local applications. The lightweight EJB container, Extension Services for WebSphere Everyplace (ESWE), was built from the ground up by the WebSphere team for resource constrained devices such as PDAs and takes up less than 1 MB of disk space.
  • The ability to download layouts and application components from WebSphere Portal.
  • A synchronization framework. Synchronization of the data between the local data store and remote applications is achieved via an implementation of SynchML. Synchronization allows new features to be pushed to desktops.
  • Auto-provisioning capabilities. Provisioning features allow for the creation of accounts based on policies defined for users.

To provide these features, Workplace Client Technology consists of two general layers: the JRE (Java Runtime Environment), which interacts directly with the operating system and provides basic core services, and the extension services layer, which provides user-facing features and services. The extension services layer is built as an extension to the Eclipse platform. Eclipse is an open standards set of tools for building integrated development environments (IDEs). The Eclipse platform provides building blocks and frameworks to facilitate the development of new tools via plug-ins. This set of plug-ins consists of structured bundles of code and data that allow for the extensibility of this framework to read the plugin.xml for each plug-in. The extension services layer also includes new non-Eclipse plug-ins created specifically for Workplace Client Technology.

Figure 1 shows how the main components of Workplace Client Technology fit together.

Figure 1. Workplace Client Technology architecture
Workplace Client Technology architecture

JRE (Java Runtime Environment)

As Figure 1 illustrates, the JRE sits on top of the operating system. The JRE and its associated components (including the J2EE client container and Cloudscape database) form the foundation of Workplace Client Technology, upon which the Eclipse plug-ins and other plug-ins sit. The JRE consists of the Java virtual machine, the Java platform core classes, and supporting files. The JRE is the smallest set of executables and files for running applications written in Java.

The J2EE client container manages the execution of application client components for EJB access. Another component is a Cloudscape database, which is essentially a small footprint of the relational database used for the local data store. This is the standards-based Java RDBMS that can be tightly integrated into any Java-based solution.

Extension services layer

As the preceding illustration shows, the plug-ins in the extension services layer include Eclipse plug-ins as well as plug-ins created especially for Workplace Client Technology that are not part of core Eclipse. Eclipse plug-ins include the update manager, help system, preferences, and workbench components. The update manager centrally manages deployed applications. Help integration provides the client with methods to define context so that the online help will automatically launch with the appropriate context. Alerts notify the user that an action has happened, and preferences customize the desktop to present to the end user.

The workbench plug-in implements the workbench user interface. It defines a number of extension points that allow other plug-ins to contribute menu and toolbar actions, drag and drop, dialog boxes, wizards, custom views, and editors. The workbench includes the Standard Widget Toolkit (SWT). This is a low-level operating system independent toolkit that supports platform integration and portable APIs. It provides a platform-independent Java API that is tightly integrated with the operating system's native operating environment. Another workbench component, the Jface UI framework, provides constructs for supporting dialog boxes, wizards, actions, user preferences, and widget management. Jface interoperates with the SWT. The Jface library provides components and utilities to simplify developing SWT user interfaces.

Non-Eclipse plug-ins in the extension services layer include the credential store, logging, WebSphere Member Manager, and other components. The credential store is used for storing, protecting, and retrieving user credentials. The credentials reside in a credential vault, which safely and securely holds user credentials until needed by a portlet for authentication to back-end systems.

Logging allows the application to gather and collect data to assist in diagnosing problems with applications. IBM Workplace Collaboration Services uses WebSphere Member Manager to manage member directory schemas. Member Manager handles member data or profiles in which a member can be a person, group, organization, or organizational unit. It provides an extra repository store to take care of any additional attributes needed by IBM Workplace that are not stored in LDAP. It can extend the existing LDAP schema. The service locator looks up the EJBs that do the business processing, for example, mail and calendar.

Workplace Client Technology and WebSphere Portal integration

IBM Workplace is integrated with WebSphere Portal. WebSphere Portal provides the user interface integration for IBM Workplace and access controls to pages and portlets. A template defines the Workplace application, its pages, and the application components deployed on each page. These are XML files that control the assembly of the business components, layout, intercommunications, property settings, and interaction with other templates. The business component consists of a group of related functions, such as email. Portal pages become client pages and portlets identify which view and editor parts to display on the client.

For example, for component provisioning, the application manager requests the client configuration from the server. The update manager then runs to fetch the new and updated components. Services are then used to access and update data on the backend of the server, and the perspectives are dynamically built and rendered to the user.

Figure 2 illustrates how several Workplace Client Technology components interact with WebSphere Portal components.

Figure 2. Workplace Client Technology and WebSphere Portal integration
Workplace Client Technology and WebSphere Portal integration

This provides IBM Workplace Client Technology the ability for a "no-touch" deployment model, coupled with policy-based management to help reduce the cost of managing the end user's desktop environment. As an enterprise solution, IBM Workplace Client Technology gives you built-in security features, such as a local encrypted data store that synchronizes with the server environment (to support both connected and disconnected operations), and the ability to help ensure that all applications are provisioned and digitally signed by a trusted source.


IBM Workplace Client Technology, Rich Edition and Micro Edition

The architecture discussed in the preceding section applies to both the Rich Edition and Micro Edition of Workplace Client Technology. For example, both the Rich Edition and Micro Edition have server-based application management and provisioning. They both have secured encrypted data storage, synchronization, transactional messaging, and disconnected operation abilities. They both offer portability across device types and operating systems, and the applications have a user interface look and feel that is device-native and device-appropriate.

However, there are some key distinctions between the Rich Edition and Micro Edition. This section discusses a few of these differences.

IBM Workplace Client Technology, Rich Edition

Workplace Client Technology, Rich Edition is optimized for integrating multiple applications. There is an inter-component communication and an extension framework to create collaborative solutions. It has an enhanced desktop user interface integration, such as system tray, drag and drop, launch menu and icon, and support for native applications (OLE). And of course, there is the ability to have multiple user desktop configurations with preferences.

Workplace Client Technology, Rich Edition is available in three IBM Workplace products: IBM Workplace Messaging, IBM Workplace Documents, and the IBM Workplace Client Technology, Client Administrator.

IBM Workplace Messaging
Workplace Messaging provides users with integrated mail, personal calendar, and personal address book. Within Workplace Messaging, Workplace Client Technology uses Eclipse views to provide navigation, management, and display of mail folders such as the Inbox and user-defined folders. Editors to create, edit, and view emails are provided with both Eclipse controls and a pluggable rich-text editor.

IBM Workplace Documents
Workplace Documents is based on IBM Portal Document Management. This offers document editors, document life cycle management, a managed document store, administration, and security. It includes embedded editors that are available within Workplace Client Technology for word processing, spreadsheets, and presentations. Workplace Documents uses the local data store along with security features to provide a local document store on the user's desktop that can be governed by policies established by the administrator and that remain fully synchronized with the server-based master stores.

Administration is provided by remote provisioning capabilities along with client elements such as local database, synchronization logic, UI framework, and UI plug-ins. Workplace Client Technology automatically keeps these components current with the latest version installed by the administrator. Security features include single sign-on with any other applications running on IBM Workplace Client Technology, plus encryption of user credentials and the local data store. Administrators and users can easily grant and revoke access to documents.

IBM Workplace Client Technology, Client Administrator
The Client Administrator provides an administrative console that allows for the creation and distribution of role-based desktops by controlling access to native, rich, and Web-based applications and system services. It provides a centralized user administration and enables accounts to be remotely created and maintained. The Client Administrator is available for the IBM Middleware Solution for Branch Banking Transformation.

IBM Workplace Client Technology, Micro Edition

Workplace Client Technology, Micro Edition lets pervasive devices (also known as hand-held or mobile devices) access enterprise data, applications, and transactions. Micro Edition is composed of WebSphere Everyplace Micro Environment, WebSphere Studio Device Developer, WebSphere Everyplace Custom Environment, and IBM Service Management Framework (see Figure 3).

Figure 3. IBM Workplace Client Technology, Micro Edition architecture
IBM Workplace Client Technology, Micro Edition architecture

The WebSphere Everyplace Micro Environment provides a foundation for connecting cellular phones, PDAs, and other mobile devices to e-business. It contains a production-ready Java-powered runtime environment, tested and certified to meet Java 2 Micro Edition (J2ME) specifications. This supports Connected, Limited Device Configuration (CLDC 1.0 and 1.1) and Mobile Information Device Profile (MIDP 2.0) for the Palm One Tungsten C and Hewlett-Packard iPaQ Pocket PC h5500.

WebSphere Studio Device Developer provides an IDE for building, testing, and deploying Java 2 Micro Edition applications that run on wireless devices. WebSphere Everyplace Custom Environment is a runtime environment for the deployment of embedded applications to real-time control systems. The IBM Service Management Framework includes an implementation of the OSGI Service Platform specification that provides network delivery and management of applications and services independent of operating system. This software extends enterprise applications to a wide variety of devices with middleware that comprise versions of IBM enterprise software such as DB2e, MQe, Service Management framework, and Java runtime environments. When used with DB2e, you can leverage the advanced data management capabilities of DB2.

Testing with assured messaging software (MQe, JMS) provides access to assured messaging and financial transactions. Applications, middleware, and runtimes can be server-managed when used in conjunction with IBM Service Management Framework (SMF). Web services (SOAP) support can help enable access to applications across a wide variety of wireless and wire-line networks.


Summary

In this article, we discussed the basics of IBM Workplace Client Technology architecture. We examined the main components of Workplace Client Technology and how they fit together and interoperate. And we've looked at several important differences between the Rich Edition and Micro Edition of Workplace Client Technology.

We hope that this "under the hood" look at how Workplace Client Technology is put together will help you better understand how it works -- and how you can take full advantage of its flexible, standards-based technologies to build and manage client applications that extend the power and capabilities of IBM Workplace.

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into IBM collaboration and social software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Lotus
ArticleID=47246
ArticleTitle=IBM Workplace Client Technology architecture
publish-date=02152005