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