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
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
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
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.
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.
- To learn more about IBM Workplace Client Technology, visit its product page.
- The article, "Administering the rich client in IBM Lotus Workplace," discusses how to install and administer IBM Workplace Client Technology.
- Find out more about IBM Workplace by visiting the IBM Workplace resource center.
- You can also learn about IBM Workplace by reading the developerWorks: Lotus articles, "What is Lotus Workplace?" and "New features in release 2.0 of IBM Lotus Workplace."
- Get involved in the developerWorks community by participating in developerWorks blogs.
- Browse for books on these and other technical topics.
Dig deeper into IBM collaboration and social software on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Experiment with new directions in software development.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.