Red books Paper

advertisement
Redbooks Paper
Harish Grama
Keith Attenborough
John Banks-Binici
Jim Marsden
Carl Kraenzel
Jeff Calow
Shankar Ramaswamy
Mary Ellen Zurko
IBM Workplace Client Technology
(Rich Client Edition) Technical Overview
This Redpaper provides a high-level technical introduction to the recently announced IBM®
Workplace Client Technology. It is written for all levels of readers, both technical and
non-technical, to better help them understand this new technology and its architecture,
functionality, use, and extensibility.
Overall, the paper has several major sections:
򐂰 Part 1: Introduction on page 2
This section introduces IBM Workplace Client Technology and discusses the overall
market needs and drivers behind it.
򐂰 Part 2: Platform on page 5
This section describes the foundation for IBM Workplace Client Technology by highlighting
and discussing the key components that make up this platform.
򐂰 Part 3. Applications on page 14
This section discusses the architecture that is used for applications based on IBM
Workplace Client Technology, using the first wave of applications that were built on this
platform as examples.
򐂰 Part 4. Tools on page 23
This section outlines the different tools that will be available to a variety of development
communities (end user, enterprise, third-party developers) to customize and extend IBM
Workplace Client Technology environment and applications.
򐂰 Part 5. Summary and additional resources on page 27
This section provides a quick summary with links to additional resources for further
reading on IBM Workplace Client Technology.
Note: This paper is based on the first version of IBM Workplace Client Technology, Rich
Client Edition, as released with select Lotus® Workplace 2.0 products. Any future
capabilities, features, or products that are discussed within this Redpaper are current IBM
plans, which are subject to change in whole or in part by IBM at any time, without notice.
© Copyright IBM Corp. 2004. All rights reserved.
ibm.com/redbooks
1
Part 1. Introduction to IBM Workplace Client Technology
IBM Workplace Client Technology is the foundation for building the next-generation,
rich-desktop experience for enterprises and small to medium-sized businesses. This
framework is built primarily on open standards and provides the combined benefits to
customers who require both a rich user experience and the manageability of a browser-based
solution. Reaching from desktop to mobile devices, IBM Workplace Client Technology is the
flexible, manageable, and extensible client with security features for businesses requiring true
on demand capabilities.
IBM Workplace Client Technology is available in both a full desktop rich client edition and a
pervasive device–focused micro edition. This Redpaper is focused primarily on the rich client
edition.
The need for new client technologies
Over the past few years there has been significant movement in the area of software
componentization and the adoption of open standards. Enterprises are actively seeking
methods of integrating their existing business processes in order to increase productivity,
security, communication, and data management. These kinds of requirements from
customers are being validated only as the industry shows more focus and provides more
solutions in this area.
Additionally, the industry is experiencing an increased adoption of alternative desktop
operating environments, such as Linux, within enterprise corporations and small business. As
a result of these shifts, many sources are now providing open-sourced applications (such as
products based on the Eclipse open source framework and Linux) to assist in meeting a
variety of customer needs given the flexibility such solutions provide.
Of course, fundamentally, enterprises are continuing to face constant pressures around cost.
Thus, there is also a need to decrease costs without causing a negative effect to the end-user
communities and critical business applications. Costs can surface in many different ways —
infrastructure costs, software costs, integration costs, people costs, training costs, and the list
goes on — and bridging the gap between these elements (for example, componentization
and open standards) can help provide true savings to organizations.
Based on all of this, one of the major themes of the IBM Software Group is to help
organizations provide the right set of capabilities at a reasonable cost, as opposed to a
one-size-fits-all approach. This is the cornerstone of the on demand strategy, and IBM
2
IBM Workplace Client Technology
Workplace Client Technology will provide yet another approach to ensure that customers can
experience these savings via a variety of different experiences.
Low
Traditional
Browser
Applications
Managed
Rich User
Experience
Goal: Rich portalbased applications
enhanced with rich
user experience
Traditional
Client/Server
Applications
Rich, Windows-centric
applications with
connection to network,
server resources. For
example, Office and
Notes
Cost of
Ownership
High
Basic
Richness of Applications
and Environment
Rich
Figure 1 The goal: a rich user experience with a low TCO
The IBM solution
Fortunately, the new IBM Workplace Client Technology fulfills these defined needs by
providing a flexible and extensible framework for applications. It is built on a standards-based
platform and utilizes the Eclipse technology as a base component.
Among its approaches to help enable low total cost of ownership (TCO), a key element of IBM
Workplace Client Technology, is its ability to provide a no-touch deployment model coupled
with policy-based management. Additionally, as an enterprise solution, IBM Workplace Client
Technology provides built-in security features and a managed, synchronized relational data
store that supports both connected and disconnected operations. As one example, this
secure data store can provide document management capabilities, and when combined with
plug-in document editor support (another capability of this technology), will give enterprises a
new level of document management combined with low TCO and ubiquity.
Of course, to help maintain customer flexibility, IBM Workplace Client Technology is also
planned to support a variety of client operating systems, including Microsoft® Windows®,
Linux distributions (Red Hat and SUSE), and the Apple Mac OS, as well as a variety of mobile
devices.
Overall, the main characteristics that distinguish IBM Workplace Client Technology from other
client application environments include:
򐂰 A centrally managed, policy-based client provisioning system that ensures that initial
installations as well as maintenance updates can be applied on the server side, and that
users can experiences those new updates client-side, fully dynamically.
򐂰 A synchronizable, policy-based, secure data store for IBM Workplace Client technology
based content (in other words, a data store that is secure, provides for easy server-based
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
3
backups, and enables users to collaborate on information with its synchronization
capabilities).
򐂰 A componentized architecture that enables incremental distribution and upgrade of client
capabilities, resulting in a common user experience across all capabilities and the ability to
turn on capabilities when required (on demand).
򐂰 A design that enables extensible end-user, enterprise, and third-party customizations of
the environment and applications, while retaining full managed enterprise policy control.
򐂰 A rich, full-featured set of embedded editors, which includes word processing,
spreadsheet, and presentation capabilities. These editors enable users, if they choose, to
work within the context of IBM Workplace Client Technology versus switching between
multiple applications.
IBM Workplace Client Technology moves beyond the browser, enabling not only browser
capabilities, but also the ability to securely and incrementally download, update, and
intelligently cache the next generation of “rich” and hybrid client applications. These
applications run locally on the end user’s machine using an encrypted, synchronized content
store with security features and offline/disconnected capabilities. Such applications will
harness the full power of the user’s machine to deliver the state of the art in capability and
performance while continuing to be centrally deployed, upgraded, and administered at the
server, side by side with the browser-based applications.
IBM Workplace Client Technology delivers this next generation of rich applications with the
low total cost of ownership comparable to the TCO of traditional browser-based applications.
4
IBM Workplace Client Technology
Part 2. IBM Workplace Client Technology
After our quick review of the need and value proposition for this technology, we now move into
a more technical discussion of the overall IBM Workplace Client Technology platform.
Important terminology
Before we start discussing the technical details of the platform, it is important to highlight and
clarify a few key terms and acronyms that will be used throughout the rest of this Redpaper:
Eclipse
Eclipse is an open platform for rich client development upon which IBM
Workplace Client Technology is based.
More information about Eclipse is available at:
http://www.eclipse.org
EJB
The Enterprise JavaBeans (EJB) technology is a server-side component
architecture that provides an objective, vendor-neutral framework for
developing enterprise-class distributed applications. Enterprise
JavaBeans and JavaBeans are different technologies; both are
component architectures, but the similarities end there. A JavaBean is a
simple Java™ class that provides an object-oriented interface to one or
more pieces of data. An EJB component, on the other hand, is a scalable
enterprise component that is capable of fulfilling complicated requests for
business services, including full transaction management and support for
remote execution.
SWT
The Standard Widget Toolkit: SWT provides a platform-independent Java
API that is tightly integrated with the operating system’s native windowing
environment. This toolkit overcomes many of the design and
implementation trade-offs that developers face when using the Abstract
Window Toolkit (AWT) or Java Foundation Classes (JFC).
JFace
The JFace toolkit, a platform-independent API that interoperates with the
SWT, adds the model-view-controller framework to SWT controls. This
library provides a set of components and helper utilities that simplify
many of the common tasks in developing SWT user interfaces.
WSRP
Web Services for Remote Portlets: A Web services standard that allows
for the plug-and-play of portals, other intermediary Web applications that
aggregate content, and applications from disparate sources.
More information about WSRP is available at:
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp
SyncML
An industry initiative to develop and promote a single, common data
synchronization protocol that can be used industry-wide.
More information about SyncML is available at:
http://www.openmobilealliance.org/tech/affiliates/syncml/syncmlindex.html
Plug-in
An Eclipse platform feature component. More information about Eclipse
plug-ins is available at:
http://www.eclipse.org/community/plugins.html
RDB
Relational database
Cloudscape™
Cloudscape is a small-footprint, standards-based Java RDB from IBM
that can be tightly embedded into any Java-based solution.
More information about Cloudscape is available at:
http://www-306.ibm.com/software/data/cloudscape/
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
5
ISV
Independent software vendor
RCP
Rich client platform
TCO
Total cost of ownership
OLE
Object Linking and Embedding
UI
User interface
The architecture
At a technical level, IBM Workplace Client Technology can be summarized as a form of
desktop middleware; comprised of a secure (Java RDB) data store, the Eclipse-based Java
rich client framework, a personal EJB container for running local application “parts,” and the
ability to read layouts and download applications and components from a portal server, all
with central policy-based administration, provisioning, and synchronization.
Figure 2 provides a high-level picture of the IBM Workplace Client Technologies overall
platform architecture.
Java Client
WebSphere Application Server
WebSphere Portal
Aggregation
Definitions
Aggregations
Lotus Workplace
Application Specific Parts
(Lotus Workplace, 3rd Party, etc.)
Portal Document
Manager
Generic Parts
(Document Editors, etc.)
Rich Client
Management and
Provisioning
Rich Client
Synchronization
Rich Client Integration Platform
Secure
Store
Downloadable
Code Modules
PDM Store
Other Data Sources
Figure 2 IBM Workplace Client Technology: overall architecture
The underlying technologies
IBM Workplace Client Technology is fundamentally built as extensions to the Eclipse tools
platform. As mentioned earlier, Eclipse is a tools platform for building operating
system–independent integrated development environments and is based on the Java
runtime. Most of the platform concepts were general enough that it was relatively easy to
repurpose this tools platform for use in building other rich client applications. In fact, the core
Eclipse platform has actually recently been shifted to be a general purpose one for rich
6
IBM Workplace Client Technology
applications through the cooperative efforts of IBM Lotus and the Eclipse.org Open Source
community (currently chaired by Oracle Corporation). This migration of the Eclipse platform
as a whole is a key part of the Eclipse 3.0 release.
On top of this core Eclipse platform, IBM Workplace Client Technology then adds in extra
infrastructure services such as; a managed store with security features, policies, accounts,
and a unified approach to people and integration with WebSphere® Portal. IBM Workplace
Client Technology also provides a server-based management system for client updates and
administration that will leverage the work done for pervasive device management.
Along with all of this, IBM is building generic parts for Web Services for Remote Portlets
(WSRP), document editing, navigation, and the client rendering of forms. This platform will
then be extended to better leverage the power of the Java 2 security model across the client
platform and applications, as well as provide additional application level components for
instant messaging, e-mail, calendars, document management, and additional document
editing, to name a few.
Finally, a template approach will be closely tied in with the portal aggregation model. Portal
pages will become Client pages and portlets will identify which view and editor parts to
display. Portlets will also be able to pass configuration information from the server to the
client. With the generic WSRP part, back-end portlets could even be directly referenced.
Figure 3 depicts this underlying technology stack that makes up IBM Workplace Client
Technology.
Business Component Projection
IBM Workplace Client Technology
Workbench
Update
Manager
Help
Preferences
JFace
Alerts
Cred
Store
Logging
WMM
Model
Manager
Service
Locator
Portal
Integration
SWT
J2EE Client
Container
(EJB Access)
Platform Runtime
JRE
IBM Cloudscape
(RDBMS)
Operating System
Selected Updated Eclipse Plugins
Selected New IBMWorkplace Client Technology Plugins
Figure 3 IBM Workplace Client Technology: underlying technologies
The remainder of this section delves deeper into some of the components and concepts that
are involved with this platform, via a discussion of the key values that these components and
technologies provide.
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
7
Key value #1: Lower total cost of ownership
IBM Workplace Client Technology is designed to address total cost of ownership in the
following ways:
򐂰 By providing central management and specification of client configuration
– Users provisioned at the server
– Applications defined on the server
– Services run on the server
– Access control applied on the server
򐂰 By employing a componentized client infrastructure and application components allowing
for on demand enablement of additional features
– Update manager is leveraged for retrieving the component configuration set.
– Downloadable components are supported for new and upgrade installations.
– Access to components is limited to those that a user has been granted permission to
use.
򐂰 By offering a management system that overlaps with that of browser-based applications
Dynamic/server-based provisioning
IBM Workplace Client Technology plugs into the WebSphere Portal and Lotus Workplace
administration framework so that customers can build on the power of that infrastructure to
deploy and manage IBM Workplace Client Technology users. When end users log on and
download IBM Workplace Client Technology, they are provisioned automatically with the
applications and configuration data that their administrator specified for their category of
requirements. These applications will be refreshed seamlessly when more recent versions
become available or removed when the user no longer has a business need for them.
The granularity of the client component–based architecture means that only those
components of the platform or application that have changed will be refreshed. This ability to
seamlessly upgrade and refresh not only the applications but IBM Workplace Client
Technology itself combines to help reduce the total cost of ownership of rich applications to a
level close to that incurred by browser-based applications.
Policy-based administration
In a IBM Workplace Client Technology environment, administrators can easily manage the
client through the use of policies. These administration policies define which capabilities,
including applications and information, are available to specific sets of users. For example, a
policy called Marketing Group could be configured to define the capabilities that will be
supported for users within the enterprise who are defined in that category. Within that policy,
the administrator can specify which IBM Workplace Client Technology applications should be
available to those users. For example, the administrator could specify that the standard Mail,
Calendar, Document Management, and Discussions applications be dynamically provisioned
for the Marketing Group but that the enterprise’s custom Human Resource application not be.
Dynamic page assembly
The IBM Workplace Clients configuration assembly and page description will be driven
through the portal server itself, using portlets that support a rich client platform “markup
language” as a markup type. The configuration assembly will consist of a description of
components that are required on the client platform to realize views and connect to services
on the portal to support data access and manipulation.
8
IBM Workplace Client Technology
Figure 4 depicts this page assembly process.
6
Render
IBM Workplace Client Technology
1
Application
Manager
Views
Views
Views
Markup
Language
Use
Page
Builder
Aggr.
Perspectives
EJB Client
Container
(EJB Access)
WebSphere Portal
Page
Aggregator
Use
3
Build
Use
Authenticate
Token
Request
2
Page
WebSphere Application Server
Request
Update
4
Update
Manager
Update
Server
New
Components
5
Services
Services
Figure 4 IBM Workplace Client Technology: dynamic page assembly process
1. IBM Workplace Client Technology Application Manager (AM) authenticates to the portal
using the client user’s name and password to a pre-established portal account. A
Lightweight Third Party Authentication (LTPA) single sign-on token is passed back to the
client as the result of a successful logon that will be used in subsequent communication
with the portal.
2. Using a URL to a portal page, the Workplace client retrieves the page from the portal. The
request includes device-type information that lists the full Workplace client as the device
type, causing the aggregator to emit a markup language document that describes the
required components, views, layout information, and update information.
3. Next, the Application Manager queries the update manager using component information
from the markup language to retrieve any missing or updated components to the
Workplace client. A restart of the client may be required at this point, depending on the
type of components that are retrieved.
4. When all required components are present, the Application Manager passes control to the
Page Builder, which aggregates one or more views to create a perspective.
5. Each view may connect with services, as described in the markup language, on the server
for access to relevant data.
6. At this point, the page is fully constructed and presented to the end user on their client for
interaction.
It is important to highlight a concept that is not depicted in Figure 4, that being the
technologies’ offline capabilities. The page assembly process would be similar when users
are functioning with the IBM Workplace Client Technology in offline mode. However, the
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
9
server-side services would be replaced by local services and data storage that are not
represented in the basic online page assembly process that was just discussed.
Offline Secure Store and Synchronization
IBM Workplace Client Technology also provides a storage system that supports multiple kinds
of local document stores according to the needs of a given business component, which will
have diverse storage schemas and matching business logic. Initial application components
that will be supported are the offline Messaging E-mail store and a slimmed-down personal
version of the WebSphere Portal Document Management system for local storage on the end
user’s machine.
This local datastore is based on the IBM Cloudscape Java-based RDB technology. IBM
Cloudscape provides developers a small-footprint, standards-based Java database that can
be tightly embedded into any Java-based solution. It provides for a silent-install, zero-admin
database that supports complex SQL transactions. Additionally, it supports data encryption
on disk via Java Cryptography Extensions for secure operation and data storage.
Applications that are written to IBM Workplace Client Technology will automatically inherit the
ability to use the offline secure store as their storage mechanism. The platform will also
provide the necessary APIs for ISVs to use the offline secure store to extend the capabilities
of their applications. For example, the Lotus Workplace Documents rich client edition, which
will be built on IBM Workplace Client Technology, will provide a user interface for accessing all
of the documents in the Offline Secure Store. This includes launching different editors on
those documents and, in the future, manipulating the security and privacy attributes of those
documents where appropriate. The data in the local store will be encrypted, providing
additional security for user data over local file system controls.
Finally, this offline secure storage technology will be provided with a full synchronization
capability, which is managed by an IBM Workplace Client Technology Sync Manager. This
Sync Manager will allow for users to synchronize data between their offline local store and the
server-based copy in a secure and managed manner. IBM Workplace Client Technology
synchronization leverages the SyncML protocol, which is an industry initiative to develop and
promote an industry-wide single, common data synchronization protocol.
More information about SyncML can be found at:
http://www.openmobilealliance.org/tech/affiliates/syncml/syncmlindex.html
Directory integration and user provisioning
As another part of the IBM goal of helping lower overall TCO, IBM Workplace Client
Technology is designed to support centrally managed provisioning of users who have entries
in an LDAP V3–compliant directory. The administrator can automatically provision users with
accounts in one of two ways:
1. The administrator can configure the system to give accounts to any person with a user
entry in the LDAP directory.
2. The administrator can specify an LDAP user attribute to be used as an account status
attribute. This would allow the administrator to manage accounts, including provisioning,
suspending, and deleting accounts.
Either of these options will enable IBM Workplace Client Technology to automatically provide
accounts for users, on demand. This approach enables IBM Workplace Client Technology to
use the LDAP directory as its own directory and relieve the need to keep a separate internal
directory with redundant attributes that require frequent synchronization.
10
IBM Workplace Client Technology
This provisioning approach also enables users who are renamed in an LDAP directory to
continue to enjoy access to their accounts without the need for frequent directory
synchronization. These IBM Workplace Client Technology capabilities can be configured to
work with virtually any LDAP V3–compliant directory server.
Key value #2 - Improved security and reduced vulnerability
IBM Workplace Client Technology is designed to improve client application security and
vulnerability in the following ways:
򐂰 An encrypted and managed local data store
򐂰 Built-in secure credential storage, providing a single-sign-on user experience
򐂰 Network protection and authentication across all protocols
– Authentication (on supported protocols)
•
HTTP (forms)
•
CSIv2/SAS authentication over IIOP
•
Digest and Basic authentication for SIP (instant messaging)
– SSL/TLS network protection always
򐂰 Support for full administrative security and control of all applications
– Ability to configure trusted application sites
– Ability to digitally sign plug-ins
– Ability to configure trust roots for plug-ins
– Ability to check signatures on download
– Ability to check signatures on plug-ins at execution/load
Overall security features
Downloaded client applications will be secured using one of several options that are available
to the administrator. In the technologies’ first version, the administrator will be able to centrally
configure IBM Workplace Client Technology to limit the downloading of applications to a
predefined set of trusted servers. The servers that provide application components for
download will be validated via the SSL protocol’s strong server authentication mechanism
and compared against the list of sites that are trusted for this purpose. The applications will
be downloaded then using SSL for protection against network attacks.
In future versions of this technology, plans currently exist to support additional security
features, such as:
򐂰 The ability for plug-ins to be digitally signed and the signatures checked on download.
Subsequently, every time the application is launched the signatures will be checked again
to verify that they had not been changed by a virus before being allowed to access the
data stores (client/server). Only after this will the applications have access to local and
server-side data.
򐂰 The ability to validate the trustworthiness of the application provider based on application
signatures. With this feature, it will be possible to centrally configure the execution
privileges allowed to an application to vary depending on the identity of the application
signer. Privileges will include fine-grained Java 2 permissions or course-grained privileges.
These will range from sets of operations known to be innocuous to administrative-level
changes of the client’s security policy.
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
11
Single sign-on
IBM Workplace Client Technology also supports a variety of forms of single sign-on (SSO).
First, SSO with the operating system (OS) uses the OS password to help protect the user’s
credentials, so they will not be prompted for a password when starting the client technology.
Then, protected credential storage helps enable any client applications that are built on the
platform to store passwords or keys safely, so that the SSO experience can be extended to
different servers and different protocols.
The credential storage itself is encrypted via the Triple Data Encryption Algorithm (3DES) and
leverages the Java Cryptography Extension (JCE). The Java Cryptography Extension (JCE)
is a set of packages that provides a framework and implementations for encryption, key
generation, and key agreement. The key that is used for encryption is based on the user’s
password, and the resulting encrypted data is stored directly to the file system.
For the initial release of IBM Workplace Client Technology, the architecture assumes that the
administration of the corporate directory and its passwords are handled using existing
corporate mechanisms. Going forward, support is planned for the next generation of the IBM
Tivoli Identity Manager product to provide extended password management capabilities, as
well as planned support for a password management API to allow other enterprise-level
password management applications to be integrated.
Of course, external HTTP-specific single sign-on providers will continue to work for client
applications that rely on that protocol. IBM Workplace Client Technology will provide
authentication and network protection for each protocol it supports. Initially these protocols
include HTTP, IIOP, and SIP.
Key value #3 – Extending the client environment
A final key-value discussion point for the IBM Workplace Client Technologies architecture is
about its ability to extend the enterprise environment by enabling enterprise applications to be
integrated into the Workplace client and leverage the TCO and security characteristics it
provides.
There are multiple methods in which the client capabilities can be extended including:
򐂰 Tools for building applications
򐂰 Built-in support for pervasive technologies
򐂰 Embedded document editors that can be leveraged through the client
Application development support
IBM Workplace Client Technology provides and exposes several artifacts that enable the tools
that are required in order for customers and ISVs to build their own applications based on the
platform or to extend the applications already provided with the platform itself.
At a basic level, applications to leverage the IBM Workplace Client Technology can be built by
creating Eclipse plug-ins whose parts are then aggregated together into a visual experience
using a concept called templates. These aggregations can also include parts that are shipped
with the platform or acquired from third parties.
At a more advanced level, coarser-grained parts (Eclipse views and editors) can be built
using the standard Eclipse UI framework via Java JFace and Standard Widget Toolkits
(SWT). In fact, special-purpose platform parts such as the calendar viewer, navigator, and
buddy list can be used directly.
Capabilities can also be added without writing completely new UI parts in Java, by instead
extending or customizing existing parts. The Eclipse platform, upon which IBM Workplace
12
IBM Workplace Client Technology
Client Technology is based, is structured around the concept of extension points. Plug-ins can
define their own extension points or simply add extensions to the extension points of other
plug-ins. (Extension points are well-defined places in the system where other application
plug-ins can contribute functionality.) This extension point architecture is used in application
parts to allow for the standard addition of actions, menu items, tool bar items, and so on.
Of course, truly leveraging the full capabilities of IBM Workplace Client Technology goes
beyond the creation of Eclipse plug-ins or user interfaces to the creation of backend
distributed components, which take advantage of the additional services and capabilities that
this platform provides on top of the basic Eclipse framework (for example, EJB components,
and data storage and synchronization).
These capabilities are detailed in upcoming sections of this Redpaper, but the key message is
that this client platform offers a robust set of application development tools and options.
Mobile support
The mobile platform support for applications that are driven by IBM Workplace Client
Technology will be provided by other IBM pervasive groups capabilities. The infrastructure for
support of client applications on mobile devices will closely parallel the stack on the rich
desktop client. It will include a local database (DB2® Everyplace®), a local EJB container,
and an application aggregator similar to the rich client edition.
More information about IBM Workplace Client Technology, Micro Edition, can be found at:
http://www.ibm.com/software/wireless/wme/wctme.html
Embedded document editors
In addition to supporting virtually any editor via its component-based architecture, IBM
Workplace Client Technology also provides cross-platform integrated content editors for word
processing, spreadsheet, and presentation capabilities, including support for open standards
and file formats that are used by many major desktop productivity products. These embedded
capabilities can be leveraged by any application that was created to run on IBM Workplace
Client Technology.
Furthermore, this architecture support for document editor plug-ins is currently planned to
provide dynamic provisioning of such desktop productivity capabilities to disparate end users.
When additional editors, or updates to existing editors, are available at the server they will be
downloaded automatically to the client as part of the client provisioning process. This plug-in
concept for the editors will even support the use of existing local editors for certain sets of
users, such as Microsoft Word, in place of the embedded editors, all based on defined
policies for the users.
Platform and language support
One other consideration in terms of platform extensibility is support for multiple operating
systems and languages. As mentioned earlier, IBM Workplace Client Technology is currently
planned to support Linux standard client distributions from Red Hat and SUSE, as well as
Microsoft Windows 2000 and XP client operating systems. Support for the Macintosh
operating system is currently being evaluated for an upcoming release. On the server side, in
its first release, the client is currently planned to support Lotus Workplace (2.0) only. Going
forward we are evaluating additional options which may only require WebSphere Portal on the
server side.
Additionally, the client technology will also provide native language support for 23 languages
in the initial release, providing full usability in multiple geographic locales.
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
13
Part 3. IBM Workplace Client Technology applications
This section provides a brief summary of IBM Workplace Client Technology application
architecture, a short description of the first set of applications built on IBM Workplace Client
Technology, and an outline of application futures, including brief descriptions of additional
applications built on this platform that are targeted for future release.
The application architecture
IBM Workplace Client Technology has three fundamental foundational aspects that are
important to understand any applications that are built on this platform. These aspects are
business components, wrappered components, and templates.
򐂰 A business component provides a related group of functional capabilities, such as e-mail
capabilities, sectioned into four tiers of distributable components (DC). The four tiers of
distributed components are known as the User, Workspace, Service, and Resource tiers.
򐂰 A wrappered component puts an intelligent Java wrapper around an external program so
that the program can be launched, used, and managed in the context of a template.
򐂰 The templates (expressed as XML) govern the assemblage of the business components,
layout, intercommunication, property settings, page scenes, scene transition semantics,
and interaction with other templates. These template aggregations can also invoke parts
that are shipped with the platform, acquired from third parties, or newly built.
Figure 5 depicts this applications architecture.
Tools
&
Repository
Rich-Mobile
Template
Rich-Desk
Template
Workspace
Tier
Com ponents
Service
Tier
Com ponents
Resource
Tier
Com ponents
Portlet
Template
Component Integration Services
(Property Bus, Java/Web Bridges)
Microbrowser
Template
Component Integration Services
(Property Broker, Java/Web Bridges)
Editors (PocketWord, PowerPoint, ODC, etc.)
Component
Wrappers
(WSRP, OLE, etc.)
User Tier
Components
Java UI
Mobile
Wrappable Components
(For example, Notes
Plugin, Editors,
Portlets)
Device-Side Platform
(IBM Workplace
Client Technology)
User Tier
Components
Java UI
Desktop
User Tier
Components
Portal UI
User Tier
Components
Microbrowser
UI
Workspace
Tier
Components
Service
Tier
Components
Resource
Tier
Components
Wrappable Components
(For example, Notes
Plugin, Editors,
Portlets)
Server-Side Platform
(Lotus Workplace or
WebSphere Portal)
Figure 5 IBM Workplace Client Technology: applications architecture
14
IBM Workplace Client Technology
Component
Wrappers
(WSRP, OLE, etc.)
The triangles in Figure 5 represent templates. The various small boxes below the triangles
represent the distributed components of a given business component. The larger boxes at the
bottom, which represent the client and server-side platform infrastructures, are deliberately
plain of detail, as they simply provide the overall environment in which the various application
components function. This includes providing various resources that are part of these core
platforms, and in some cases common resources between the server-side and client-side
platforms.
The tools and repositories triangle shown on the left side of Figure 5 on page 14 represents
the various tools and builders that will be available to enable developers and users to build
applications. This can include tools for template creation that are targeted toward end users
or power users, or more traditional Java development capabilities for creation of various
distributed components or an entirely new business component. The various IBM Workplace
Client technology tools are discussed in “Part 4. IBM Workplace Client Technology Tools” on
page 23 of this Redpaper.
It is important to note that the templates for the client platform are the same, structurally, as
those for the Web/portal platform, and the instances are managed in the same manner as
well. However, the UI Distributed Components built for the client platform (left-of-center boxes
in Figure 5) would be Eclipse Java views and plug-ins, instead of portlets built for the
Web/portal platform (right-of-center boxes).
Additionally, it is important to highlight that the distributed components that make up a
business component fall into multiple categories:
򐂰 At the top level are the user tier UI implementations, which are Java Eclipse plug-ins
(native to IBM Workplace Client Technology), portlets (native portal or wrappered in IBM
Workplace Client Technology), or Java-wrappered desktop-native code (a Notes plug-in,
for example).
򐂰 Workspace tier distributed components provide the caching and indirection between the UI
and service components.
򐂰 Service tier distributed components provide the business logic implementation, typically
EJB code, for that business component.
򐂰 Resource tier distributed components are the code and schemas that are specific to the
business component’s persistence model.
Of course, all of these distributed components can be written to run all server side, all client
side, or distributed across the two and synchronization-managed.
Example applications
Now that we have introduced both the overall platform and the basic architecture upon which
applications will be built, it is time for a high-level examination of some of the application
templates that will be built on top of the first release of IBM Workplace Client Technology.
The main applications we will cover are the rich-client editions of Lotus Workplace
Messaging™ 2.0 and Lotus Workplace Documents 2.0.
Lotus Workplace Messaging
The Lotus Workplace Messaging 2.0 release is enabled with IBM Workplace Client
Technology to provide a new rich client interface. This rich client will provide users with an
integrated experience for accessing mail, calendaring, instant messaging, and more, with all
of the benefits and cost savings described in this Redpaper surrounding IBM Workplace
Client Technology.
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
15
Design
The primary design goal of these rich client capabilities was to enable users to focus on the
task at hand instead of the tools they use. It was developed following IBM Workplace Client
Technology componentization model and uses components such as mail, calendar,
awareness, and chat. These particular business components require matching server-side
services, so this rich client edition of Lotus Workplace Messaging requires access to a full
Lotus Workplace Messaging server.
You can get a sense of the Lotus Workplace Messaging experience by examining Figure 6.
Figure 6 Lotus Workplace Messaging 2.0: server-managed rich client interface
Features
The features, currently targeted for the first release of Lotus Workplace Messaging, are e-mail
and calendar features, as well as new ways to view information such as the calendar strip
seen on the right side. Moving forward you can expect to see more advanced messaging
capabilities as new and unique ways to provide integration with Lotus Workplace offerings
and Notes/Domino® data and information.
Some of the key features included in this product are:
򐂰 E-mail features: Lotus Workplace Messaging provides navigation, management, and the
display of standard mail folders (such as Inbox), as well as user-defined folders, all using
Eclipse views. Editors for creation, view, and edit of e-mails are provided through a blend
16
IBM Workplace Client Technology
of Eclipse controls and a pluggable rich text editor for the body field. By default, this editor
is the same rich text editor that is seen in the Web UIs of Lotus Workplace. Attachments
are handled in a similar way, in which the default behavior is to launch the associated
program that is registered to the operating system for that document type.
򐂰 Calendar and scheduling features: Multiple calendar views (one day, five days, one week,
one month), a date control, and a minimum set of calendar entry types (Meeting,
Appointment, Reminder, Anniversary, and All Day Event) are supported in the first release
of this rich client for Lotus Workplace Messaging. Meetings support will also be provided
for basic scheduling workflow such as accept and decline, with and without comments.
򐂰 Offline features: There will be full support for a completely synchronized local replica of
e-mail. In fact, even when online, operations will go via that local file first, which will help
offload the server and speed up user response. When disconnected completely, a user will
be able to respond to messages, invitations, and process data in the same manner as if
they were connected.
Note: With the first release, the personal address book (PAB) will not be editable and
the corporate directory will not be accessible when offline. However, an early version of
an advanced feature called Dynamic PAB, which is described below, assists in the area
of addressing when disconnected.
򐂰 Security Features: Policy controlled message encryption and electronic signatures will be
features of the first release. Public-key infrastructure (PKI) support for these features can
either be externally integrated (via support from Domino, Microsoft, and Verisign) or
managed in a more on-demand, peer-to-peer fashion with self-signed certificates if no
central PKI is available. Certificate provisioning is also policy-controlled, and can occur
either when the account is provisioned or on demand when needed by a user requesting
to send a signed e-mail message.
Other security features include support for safe and unsafe document handling. A safe
document type is a document extension associated with an editor that can securely and
safely be used on any document claiming that type. An unsafe document type is
associated with active content with no security model. Only safe documents can be
launched without explicit user intervention, and launching of unsafe documents may be
disabled completely.
With the first release of this technology, safe document types are: .jpg, .bmp, .gif, .pdf, .txt,
.sxi, .sxc, and .sxw.
򐂰 Print features: Basic print capabilities will be provided, though as IBM expands
calendaring & scheduling support, more print options associated with these
enhancements will be seen in upcoming releases.
򐂰 Instant messaging features: If Lotus Workplace Real-time Collaboration has been
purchased as part of Lotus Workplace Messaging, then the Instant Contacts list is not a
separate application, but instead a fully integrated business component. In this case,
standard contacts lists, awareness, and chat will be supported directly in the Lotus
Workplace Messaging client. In fact, this will affect most of the user interface components
by extending all displays of user names (in the Inbox and Calendar, for example) with
presence awareness and right-click menu options for chat. An additional feature to
highlight is the ability to save chats, which are then stored in the Chats folder in the top-left
corner alongside other Messages.
򐂰 Links: The Links section will provide access to other Lotus Workplace browser solutions.
When a link is clicked it will open a browser to that location. A user can also create custom
links to frequently visited Web sites by adding in the URL. Additionally, these links will be
persistent on the server, and thus will be accessible from any machine that the user works
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
17
from, via any Web or IBM Workplace Client Technology renderings of the Links
component.
򐂰 Advanced Features: A simplified version of a dynamic Personal Address Book will power
the e-mail addressing type-ahead to guess the best name based on recently addressed
e-mail, effectively treating all prior e-mails as a source for a virtual personal address book
and presenting names in order of recent activity instead of alphabetical order.
Additionally, a “learning” SPAM filter and the beginning of our unique concept of thread
management will also be incorporated into this initial rich client release.
Lotus Workplace Documents
New with the Lotus Workplace 2.0 products is a low-cost, standards-based collaborative
document management offering for browser users, which includes a server-managed rich
client experience with more advanced capabilities for high-end users. The product makes it
easy to capture, store, manage, and provide access to collaborative business documents
such as engineering drawings, sales proposals, product plans, documentation, e-mail, and
more. It also helps manage the complete life cycle of office documents from collaborative
authoring to review, approval, and archiving.
Design
To provide this new Lotus Workplace Documents capability, IBM built an additional business
component, which we can call the DocStore for the purposes of this paper. The DocStore
business component was created by evolving existing IBM Portal Document Management
(PDM) assets to fit the business component model, and then enabling it to run in a IBM
Workplace Client Technology desktop container context. This approach exactly follows the
pattern that was undertaken with the messaging components of Lotus Workplace described
earlier. It is important to realize that this pattern, which IBM is executing against our own
reusable document storage asset, is a pattern that third parties are likely to want to apply to
their own custom document stores that they have produced under portal.
In its basic form this Lotus Workplace Documents rich client template has no specific
requirement for awareness, chat, team logic, e-mail, or other collaborative capabilities. By the
end of 2004, it is currently planned for this client to require only WebSphere Portal as a
prerequisite server. However, for the initial release, it will require a Lotus Workplace 2.0 server
as the server side of this server-managed client.
You can get a sense of the basic Lotus Workplace Documents experience in Figure 7 on
page 19.
18
IBM Workplace Client Technology
Figure 7 Lotus Workplace Documents: server-managed rich client interface
Features
Some of the key features of this product are:
򐂰 Editors: The client leverages the full function of embedded editors that are available within
IBM Workplace Client Technology for word processing, spreadsheets, and presentations.
Alternatively, any third-party editors can also be utilized, and, of course, any document can
be edited using native editors.
򐂰 Document life cycle management: Workflow capabilities are to be built in to facilitate the
phases of the life cycle of a document, including the utilization of Lotus Workplace
Messaging and other notification infrastructures, if present, to carry out the steps in the life
cycle.
򐂰 Managed document store: Using the local managed storage, with security features
provided by IBM Workplace Client Technology, Lotus Workplace Documents provides a
local document store on the user desktop that can be governed by policies established by
an administrator and remain fully synchronized with server-based master stores. Policies
can include items such as maximum size of local store or limitations on archiving of old
versions of documents.
򐂰 Administration: The remote provisioning capabilities of IBM Workplace Client Technology
push the necessary application components — including the client elements of IBM
Workplace Client Technology such as the local database, synchronization logic, UI
framework, and UI plug-ins — to the desktop of any authorized user. IBM Workplace
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
19
Client Technology automatically keeps those components current with the latest version
installed by the administrator.
򐂰 Security: Security features are extensive and include single sign-on with any other
applications running on IBM Workplace Client Technology, encryption of user credentials
and the local data store, and secure network connections for authentication and
synchronization. The access control model enables administrators and users to easily
grant and revoke access to documents by individual or by groups of users.
Application futures
As IBM moves forward with IBM Workplace Client Technology, more user experiences and
business application environments will be built on this platform. In general, many of these
future experiences can be loosely described as compound templates (that is, built by
combining other templates and existing business components).
The first incarnation of a “compound template” experience is the combination of the Lotus
Workplace Messaging and Lotus Workplace Documents rich client templates. Bringing these
together in a single template results in an integration that is literally greater than the sum of
the parts. For example, names in Lotus Workplace Documents become active, showing
awareness and allowing in-context chat. Conversely, attachments found in e-mail can be
stored to or loaded from the Lotus Workplace Documents document repository.
Figure 8 on page 20 shows this combined experience.
Figure 8 Lotus Workplace Messaging and Lotus Workplace Documents: combined rich client experience
20
IBM Workplace Client Technology
This screenshot is simple but powerful. It represents these two base applications activated as
single, unified user experience. Note the presence of the Messages panel, Inbox tab, Address
Book tab, and Calendar panel – all from Lotus Workplace Messaging. The Documents panel
and the Documents Library tab are Lotus Workplace Documents. The Links view is an
inherent part including in both the base Lotus Workplace Messaging and Documents
experiences. Of course, name awareness is prevalent throughout the interface as well,
providing immediate access to the Lotus Workplace Instant Messaging capabilities.
The most important takeaway from this screenshot is simply the fact that it is not a radically
different experience from standalone Lotus Workplace Messaging or standalone Lotus
Workplace Documents. If another set of capabilities from another application based on IBM
Workplace Technology were added, whether with capabilities built by IBM or by Business
Partners, those capabilities can blend just as seamlessly into the overall user experience.
Other application futures
This “compound template” experience will be an important example of how existing templated
applications could be combined. Later releases of IBM Workplace Client Technology will
support additional base templates for Notes, WebSphere Portal, Lotus Workplace
TeamSpaces, and other IBM and third-party applications, which will be able to be combined in
a similar fashion.
Some of the other applications that are planned to be built on IBM Workplace Client
Technology in the future are:
򐂰 The Notes Application Plug-in will be an IBM Workplace Client Technology experience
that wraps standard Notes applications. The base experience will contain components for
launching Notes client applications as embedded frames inside the client, and provide
ways to navigate through, bookmark, and manage those applications without having to
launch the Notes client shell itself. This will serve both to enhance the shipping templates
and to be a base template for the inclusion of custom third-party applications built on IBM
Workplace Client Technology, which is why it is considered a separable base template.
Plug-in-based Notes applications will require an already deployed Notes/Domino 7.0
infrastructure. Initially, this plug-in capability will also be limited to Microsoft Windows
clients, with additional operating platforms in future releases.
򐂰 A future Portal Places Plug-in will be specifically focused on enriching the experience
around WebSphere Portal portlets. It will contain components for launching portlets as
Web Services for Remote Portlets (WSRP) wrappered windows within IBM Workplace
Client Technology, with mechanisms to navigate among, bookmark, take offline, and
manage those applications. This capability will be added as a selectable option for use
within any client template but could be used on its own. It will also be an important starting
basis for custom third-party applications that are built on IBM Workplace Client
Technology. These capabilities will require a future version of WebSphere Portal server
and involve some optional tooling for portlet developers if they wish to offline-enable an
existing portlet.
It is important to note that the WSRP mechanisms are a first step but in themselves do not
define exactly what has to be done to the average portlet for it to work offline. The Portal
Places application work shall be closely coordinated with the Tooling work to show clearly,
through examples, what must be done to a portlet to enable it to become an
offline-enabled business component.
򐂰 “Mobile Mail” capabilities will be the first example of an IBM Workplace Client
Technology–powered application that runs on a mobile device. This is currently planned to
ship for mobile devices at the end of 2004, atop the micro edition of IBM Workplace Client
Technology. This Mobile Mail will share heritage with the template used for the rich client
edition of the Lotus Workplace Messaging, but features and capabilities will be
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
21
device-appropriate. As with its desktop counterpart, this mobile application will require a
Lotus Workplace server.
Note: The applications described above are currently under consideration for development
using IBM Workplace Client Technology. The specifics of the applications and final
decisions on which applications, if any, will ship remains to be determined.
Third-party applications
To close out the discussion of IBM Workplace Client Technology applications, the most
important part of the future applications to discuss is the growth of third-party applications
built on this platform. In fact, the entire reason that IBM is building templates and components
using these models is to support their reuse in third-party application development
applications.
To further support the development of third-party applications, during 2004 the application
business components that IBM provides will also begin to expose published actions and
extension points. The templates will begin to expose mechanisms for composition and action
grouping intercommunication. The wrapper models for WSRP and ordinary desktop
(device-side) applications will be published. A series of minimum criteria for customizability
will be defined, such as the scenario of an IT shop editing base or compound templates to
add in a custom component or even a reference to a custom template. In short, entering
2005, applications built on the IBM Workplace Client Technology are currently planned to be
published assemblies of components with well-known programming interfaces. Additionally,
IBM will proactively be engaging the application developer community to help determine what
additional interfaces are needed.
The next part of this Redpaper describes the application tools environment, which will support
development of these third-party applications. An additional information source is IBM
Workplace Client Technology: ISV Integration Guide, REDP-3883, which discusses the
various methods that ISVs and business partners can use to evolve their applications and
products toward this new platform.
This Redpaper can be downloaded from:
http://www.ibm.com/redbooks/abstracts/redp3883.html
22
IBM Workplace Client Technology
Part 4. IBM Workplace Client Technology Tools
This section provides a high-level introduction to the types of application development tools
that are planned to support IBM Workplace Client Technology. As introduced earlier in this
Redpaper, IBM Workplace Client Technology works on the basis of concepts first developed
for Portals for creating component-based Web applications. In a portal, components called
Portlets generate markup that is assembled to create a composite Web experience. For IBM
Workplace Client Technology, a similar approach is used: plug-ins generate views that are
assembled to create a composite rich client experience.
The application development model
The model for assembly is identical between portal and the Workplace Client. Given this,
there must be a one-to-one correspondence between the components, portlets and plug-ins,
that form the assembly so the Web experience and the rich client experience offer similar
function with differing capabilities. This similarity in applications architecture means that IBM
Workplace Client Technology shares a common development tool approach with the IBM
WebSphere Portal environment.
This high-level approach for developing applications to be accessed both via the portal and
the Workplace Client is shown Figure 9.
Client
Server
Browser-Based Clients
Markup
JSF
UI
Business
Delegate
Portlet
JFace
UI
Business
Delegate
Business
Service
Business
Data
Plugin
IBM Workplace Client Technology Platform
Figure 9 IBM Workplace Client Technology: application development approach
The model in Figure 9 shows that the Plug-in and the Portlet represent the rich-client-specific
and Web-specific presentation layers for applications. They each have distinct UI
implementations but share a common layer of logic for accessing the Business Service,
called the Business Delegate (following the J2EE Business Delegate Pattern). The Business
Delegate runs locally with the UI implementation. The Business Service (in essense, a
service-focused distributed component) represents the logic layer of the application and is
backed by the data layer, which is represented by Business Data in this model.
Following this model, client-side programmers can either create a plug-in to allow user access
to an existing business service or create both a plug-in and a new corresponding business
service to support that plug-in.
Enterprises in which all programmers are not fully trusted may need to use security measures
to restrict what function programmers can provide in their plug-ins and business services.
Future versions of IBM Workplace Client Technology will provide security measures that
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
23
include multiple trust models that restrict the execution of the code on the server side or client
side.
For the UI implementation of plug-ins for IBM Workplace Client Technology, programmers
should use the JFace toolkit, which is popular within the Eclipse development community. The
JFace toolkit is a platform-independent API that interoperates with the Java SWT. During the
development of the Eclipse platform, the project produced two user interface toolkits: the
SWT and JFace. The JFace library implements the model-view-controller (MVC) framework
over the top of SWT, and it provides a set of components and helper utilities that simplify
many of the common tasks in developing SWT user interfaces. Thus, it is the JFace toolkit
that IBM plans to leverage as the development model for client side plug-ins.
For the development of business services and distributed components, IBM currently plans to
leverage the standard J2EE programming model and any appropriate WebSphere
extensions. In addition, IBM currently plans to offer a range of pre-defined business services
and distributed components, including adapters that interface with existing applications such
as SAP, Siebel, and PeopleSoft, as well as the Workplace Services described earlier.
In addition to plug-in and full distributed component application development options, future
WSRP (Web Services for Remote Portlets) viewer capabilities will enable developers to
create or integrate more traditional portlets into the otherwise Java-based client UI
experience, and enable developers to create a single component that spans both the Web
browser and IBM Workplace Client Technology experiences. Of course, such an experience
will have some loss in richness of capability on the client side but will be able to display with
the common attributes and context of the rest of the Eclipse UI elements, as well as to honor
very specific placements.
However, because the UI is generated on the client in communication with a portlet on a
remote server, WSRP-based parts will not be available when running offline. To remove this
offline limitation, in a future update of the client, IBM will also provide an offline portlet viewer
that runs a local JSR 168 container, and still allows for HTML-based markup to enable it to
seamlessly display with the common attributes of the rest of the client UI. All of the integration
facilities for WSRP will be available here, with the additional advantage of being able to run
the portlet offline. Due to the added complexity of synchronization, and the possible absence
of some services, portlets will likely not be able to be taken as-is from the server and just run
on the client; but with care, it should be possible to write a single portlet that spans both
locations.
Types of tools
To support the development of plug-ins and business services, over time there will be multiple
tools made available for IBM Workplace Client Technology. When discussing the various
types of tools, they can be classified along several different dimensions:
򐂰 Purpose of the tool
There will be tools that are focused on the assembly of plug-ins from existing applications
parts and business services, as well as tools that can be used to develop entirely new
plug-ins.
򐂰 The environment in which the tool is offered
There will be tools that are built into IBM Workplace Client Technology itself, as well as
tools that are offered in a separate dedicated tools environment like the IBM Rational®
Studio.
򐂰 How the tool works
24
IBM Workplace Client Technology
There will be tools that are model-driven and others that are “direct to the runtime.”
Model-driven tools typically expose a set of higher-level concepts than the ones that are
exposed by direct-to-runtime tools. Model-driven tools are also typically more constrained
than the direct-to-runtime tools.
Model-driven approaches can either be interpreted or compiled. Interpreted approaches
involve direct interpretation of the model at runtime, whereas compiled approaches involve
the generation of runtime code from the model.
򐂰 The target audiences for the tool
IBM has identified the multiple target audiences that will each require specialized tools:
– End users are expected to be people who have no knowledge of technical concepts
and only know their domain concepts. Tools are expected to be offered in context and
are used for increasing individual productivity.
– Power users are expected to be people who have some knowledge of technical
concepts (but are not software developers) in addition to domain concepts. Power
users get paid primarily for their domain expertise. Tools are expected to be offered in
the runtime itself, but not necessarily in direct usage context, and are used for
increasing group productivity.
– Script developers are expected to be people familiar with software development
concepts (but with little or no formal training) in addition to some domain concepts.
Script developers get paid primarily for software development. Tools could be in the
runtime or in a dedicated tools environment, and are used for developing applications
that are used by small groups of users.
– Java developers are expected to be people with a formal background in software
development. Tools will be in a dedicated tools environment and are used for
developing enterprise-level applications.
Tool descriptions
IBM will initially focus efforts on tools for the development of new plug-ins rather than tools
providing less developer-focused assembly capabilities. Furthermore, the focus will also
initially be on creating tools for script developers and Java developers, and tools that already
exist for use in or with WebSphere Portal will be leveraged. Based on this, there are currently
two major efforts in terms of tools development for this platform: a forms-based application
development tool aimed at script developers, and the Java Visual Editor aimed at Java
developers.
Forms-based tools
As stated earlier, IBM is working on a model-driven approach that enables script developers
to rapidly develop forms-based applications. Such applications could create their own data
model, or act as a front-end to existing data models or services (such as SAP, Siebel,
PeopleSoft, Domino, Relational DBs, and so on). Applications using their own data model
would be simple data collection, storage, and routing application; while scripting would be
used to add simple logic to the various steps.
For the forms-based applications capabilities, an interpreted model-driven approach will be
used. The Workplace Client will contain a built-in interpreter for forms-based applications that
will render the forms using JFace and SWT. If the applications access existing data models or
services, the interpreter will connect to these via the portal. For applications creating their
own data, the interpreter will use storage on the portal to persist the data. In both cases, data
can be stored temporarily on the client to support disconnected operation.
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
25
Forms-based applications offer an important advantage: They provide a write-once-runanywhere model for application development. A forms-based application, once written, will
run both in the portal to deliver a Web experience and in IBM Workplace Client Technology to
deliver a rich client experience. However, this advantage comes at a cost – forms-based
applications are constrained and cannot provide the same level of flexibility.
Java Visual Editors
A Java Visual Editor (JVE) tool will be offered as part of the IBM Rational Studio family of
offerings and will enable Java developers to develop plug-ins using a highly productive visual
development paradigm. Developers will have a rich palette of controls and data to choose
from to quickly create custom plug-ins for this platform. Developers will be able to easily
incorporate existing data from relational databases, Lotus Domino, and enterprise information
systems such as Siebel, SAP, and PeopleSoft. Support will also exist for the use of existing
Web services to create plug-ins to leverage these services.
The long-term goal is to have the JVE tool be able to create and share the Business Delegate
layer of function with the WebRAD tool also offered in the IBM Rational Studio. The WebRAD
tool can be used to develop portlets. The goal will be to enable developers to create both a
Web experience and a rich client experience while sharing much of the common function.
Traditional Java Development Environments
Finally, when discussing application development tools, it is also important to highlight the fact
that IBM Workplace Client Technology is ultimately a Java-based platform, and as such IBM
expects to eventually provide a full-featured Java API for extending this technology. Thus, any
Java-based development environment will be an option for full programmatic development of
services and components based on this platform.
While in most cases, tools that are geared more toward the power user, script user, or end
user will be utilized for development of basic plug-ins, portlets, forms, and templates; when
full distributed or business components are to be created based on this platform, a traditional
Java development environment such as IBM WebSphere Studio Application Developer or
Borland JBuilder will be utilized. Leveraging a full-feature Java development environment
such as this will allow for the creation of distributed components from scratch, or will allow
developers to create wrappered components by making a Web service out of an existing
custom or off-the-shelf application (such as SAP or Siebel).
26
IBM Workplace Client Technology
Part 5. Summary and other resources
Overall, this document has provided a high-level technical introduction to IBM Workplace
Client Technology. As discussed, this technology platform is fundamentally an extension of
the Eclipse platform, which enables the creation of rich client experiences while retaining full
server-based management, providing the security and low TCO of a less full-featured
browser-based interface.
It is also important to highlight once more in closing that IBM Workplace Client Technology is
not a product itself, but rather an enabling technology upon which IBM, and other ISVs or
Business Partners, will be able to build rich server-managed clients. It is through these
applications built by IBM and IBM Business Partners that this new technology platform will
truly shine.
Additional information and details about IBM Workplace Client Technology can be found in
several places:
򐂰 For white papers and high-level guides, visit:
IBM Workplace Client Technology, Rich Client Edition, at:
http://www.ibm.com/lotus/workplaceclienttechnology
or IBM Workplace Client Technology, Micro Edition, at:
http://www.ibm.com/software/wireless/wme/wctme.html
򐂰 Developers who want to start coding are encouraged to visit the Eclipse Web site:
http://www.eclipse.org
򐂰 Developers will also find useful information at the developerWorks® Web site:
http://www.ibm.com/developerworks
򐂰 Search the Lotus domain on the IBM Redbooks™ Web site for the latest Redbooks and
Redpapers about this topic:
http://publib-b.boulder.ibm.com/redbooks.nsf/portals/Lotus
IBM Workplace Client Technology (Rich Client Edition) Technical Overview
27
The team that wrote this Redpaper
This Redpaper was authored through the contributions of many members of the Lotus
development community, including:
Harish Grama, Director, Lotus IBM Workplace Client Technology Development
Keith Attenborough, Release Manager
John Banks-Binici, Platform Development Manager
Jim Marsden, Application Development Manager
Carl Kraenzel, Applications Architect
Jeff Calow, Platform Architect
Shankar Ramaswamy, Tools Architect
Yu Xin Kou, Rich Text Development Manager
Mary Ellen Zurko, Security Architect
Heidi Votaw, Product Manager
With thanks for assistance on this project to:
William Tworek, IBM ITSO Project Leader, Lotus/Portal technologies
28
IBM Workplace Client Technology
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in other countries. Consult
your local IBM representative for information on the products and services currently available in your area. Any
reference to an IBM product, program, or service is not intended to state or imply that only that IBM product,
program, or service may be used. Any functionally equivalent product, program, or service that does not
infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to
evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document. The
furnishing of this document does not give you any license to these patents. You can send license inquiries, in
writing, to:
IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A.
The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION
PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of
express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made
to the information herein; these changes will be incorporated in new editions of the publication. IBM may make
improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time
without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in any
manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the
materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring
any obligation to you.
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products and cannot confirm the
accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the
capabilities of non-IBM products should be addressed to the suppliers of those products.
This information contains examples of data and reports used in daily business operations. To illustrate them
as completely as possible, the examples include the names of individuals, companies, brands, and products.
All of these names are fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrates programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating platform for which the sample
programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore,
cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and
distribute these sample programs in any form without payment to IBM for the purposes of developing, using,
marketing, or distributing application programs conforming to IBM's application programming interfaces.
© Copyright IBM Corp. 2004. All rights reserved.
29
This document created or updated on August 12, 2004.
®
Send us your comments in one of the following ways:
򐂰 Use the online Contact us review redbook form found at:
ibm.com/redbooks
򐂰 Send your comments in an Internet note to:
redbook@us.ibm.com
Trademarks
The following terms are trademarks of the International Business Machines Corporation in the United States,
other countries, or both:
Cloudscape™
DB2®
developerWorks®
Domino®
Everyplace®
IBM®
Lotus®
Notes®
Rational®
Redbooks (logo)
Redbooks™
Everyplace®
WebSphere®
Workplace Messaging™
™
The following terms are trademarks of other companies:
Microsoft, Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States,
other countries, or both.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun
Microsystems, Inc. in the United States, other countries, or both.
Other company, product, and service names may be trademarks or service marks of others.
30
IBM Workplace Client Technology: ISV Integration Guide
Download