IBM® WebSphere® Everyplace® Deployment for Windows and Linux Version 6Interaction Services IBM® WebSphere® Everyplace® Deployment for Windows and Linux Version 6 Interaction Services This presentation explains the Interaction Services provided by IBM WebSphere Everyplace Deployment for Windows and Linux Version 6. Goals Goals Understand the Interaction Services provided by IBM WebSphere Everyplace Deployment for Windows and Linux Version 6 The goal of this presentation is to understand the Interaction Services provided by IBM WebSphere Everyplace Deployment for Windows and Linux Version 6. Agenda Agenda Interaction Services Overview Eclipse User Interface Technology Workbench Browser Customizations Preferences Help System The agenda of this presentation is to explain the complete set of Interaction Services, which includes core Eclipse user interface technology and extensions from IBM for an integrated Workbench, browser customizations, preferences, and helps. Section Section Interaction Services Now, let’s review the details of the Interaction Services. Interaction Services Interaction Services Value Provides “fit for purpose” application user interface Provides integrated workbench User Interface Models Rich Client Application Model (“Reactive”) Web Application Model (“Request and Response”) Standards Eclipse W3C Client Access Services Platform Management Managed Client Services Interaction Services SWT JFace Web Applications Browser Customizations Workbench Eclipse Preferences Dialog Wrapper for Configuration Admin Help System Eclipse Enhanced UI Capabilities The client platform includes key interaction services provided by Eclipse and adds enhanced user interface capabilities that result in an integrated Workbench window from which your end-users can install, launch and manage one or more applications. You can deliver rich client applications that use Eclipse to present a graphical user interface and Web applications that enable a Web browser to render the user interface. Eclipse Rich Client Platform Architecture Eclipse Rich Client Platform Architecture Plug-in Plug-in Extension Pt. Plug-in Extension Point Extension Point Extension Point Workbench JFace SWT Core Extension Point Framework Service Framework Rich Client Platform SWT JFace Eclipse The Eclipse platform is structured around the concept of extension points. Extension points are well-defined places in the system where other components (called plug-ins) can contribute functionality. Each major subsystem in the platform is itself structured as a set of plug-ins that implement some key function and define extension points. The Eclipse system itself is built by contributing to the same extension points that third party plug-in providers can use. Plug-ins can define their own extension points or simply add extensions to the extension points of other plug-ins. Note that at the core of Eclipse is the OSGi Service Framework. Eclipse User Interface Technology Eclipse User Interface Technology Standard Widget Toolkit (SWT) provides a cross- platform API that is tightly integrated with the underlying OS GUI for a native look and feel JFace Toolkit extends and interoperates with SWT to provide classes for handling common user interface programming tasks: Dialogs, wizards, and rich text edtiors define a framework for building complex interactions with the user Viewers handle the drudgery of populating, sorting, filtering, and updating widgets Actions and contributions introduce semantics for defining user actions and specifying where to make them available SWT JFace Eclipse The Standard Widget Toolkit (SWT) provides a completely platform-independent API that is tightly integrated with the operating system’s native windowing environment. Java widgets actually map to the platform’s native widgets. This gives Java applications a look and feel that makes them virtually indistinguishable from native applications. In cases where native function is not provided, the SWT emulates it in a manner in keeping with the platform’s normal look and feel. This toolkit overcomes many of the design and implementation trade-offs that developers face when using the Java Abstract Window Toolkit (AWT) or Java Foundation Classes (JFC). AWT gives the least common denominator approach and is therefore functionally limited. JFC is more flexible, but because all widgets are painted by the toolkit, JFC always seems to have trouble precisely emulating a native look and feel. The JFace toolkit is a platform-independent user interface API that extends and interoperates with the SWT. This library provides a set of components and helper utilities that simplify many of the common tasks in developing SWT user interfaces. For example, it provides the dialogs, wizards, and rich text editors used by the Eclipse IDE. JFace also has tables and trees that utilize a model view controller (MVC) architecture to separate data access login from data display logic. JFace also provides the mechanisms by which plug-ins programmatically contribute to the workbench. User Interface Organization User Interface Organization Title Bar Displays program title and icon Menu Bar Contains set of actions provided by either default Workbench or by other applications Banner Bar Optionally display a graphic and application name Switcher Bar (new) Lists running applications, each as an icon, from which users select applications Data Area Primary data area contains the perspectives and views for an application Coolbar / Toolbar Optionally displays icons for available actions Status Bar Used by an application to display its status Workbench This figure illustrates the organization of the user interface provided by the client platform. The following parts of the user interface are displayed by default: Title bar Menu bar Banner bar Status bar Switcher bar The main data area contains only a default image when the client platform starts. Once applications have been opened, then the views associated with the application will be displayed. Branding Branding Title Bar Product image icon Banner Bar Visibility Background Images Application Title Coolbar Visibility Status Line Visibility Switcher Bar Visibility Background Image Open Image Data Area Background Image Splash Image About Dialog Workbench You can modify the user interface of the client workbench to include your own branding. You can modify such elements as the title bar, splash screen, icons and images, and the About dialog. This slide shows the user interface elements that you can modify when specifying platform branding. Desktop Desktop Application Switcher Branding Branding Workbench Here is an example of the integrated application desktop provided by the Workbench. Notice that the areas that can be branded and new the application switcher. Platform Integration Platform Integration com.ibm.eswe.workbench.WctApplication This extension point defines an application to be launched. The client uses this extension point to display the menu items that appear in the Application > Open menu, and to display the applications within the Application Switcher com.ibm.eswe.workbench.WctWebApplication This extension point provides the definition of a Web application to be launched The client uses this extension point to display the menu items that appear in the Application > Open menu, and to display the Web applications within the Application Switcher BrowserOptions (optional) - Specifies type of browser to launch, bars and buttons to be displayed in browser, and user id / password tags (NEW) Browser Customization Workbench This slide shows the two extension points used to register applications with the workbench. These extension points are also supported in WCTME-EO 5.8.1 so applications that run WCTME-EO 5.8.1 will run on IBM WebSphere Everyplace Deployment for Windows and Linux Version 6. BrowserOptions have been added to the extension point for Web applications so each Web application can optionally specify the browser to launch, bars and buttons to be displayed in the browser, and user id and/or password tags. BrowserOptions BrowserOptions Specify the type of browser to use. The supported values are “platform”, “MSIE” and “Mozilla”. The default for Windows is MSIE, the default for Linux is Mozilla. A showAddressbar attribute that specifies whether or not the browser address bar should be displayed or not. The supported values are “true” or “false”. The default is “true”. A showToolbar attribute that specifies whether or not the browser tool bar should be displayed or not. The supported values are “true” or “false”. The default is “true”. If showToolbar is set to “false”, then none of the toolbar buttons (Print, History, etc...) will display. A showHistory attribute that specifies whether or not the browser History button should be displayed or not. The supported values are “true” or “false”. The default is “true”. A showHome attribute that specifies whether or not the browser Home button bar should be displayed or not. The supported values are “true” or “false”. The default is “true”. A showPageCtrl attribute that specifies whether or not the browser PageCtrl button should be displayed or not. The supported values are “true” or “false”. The default is “true”. A showPrint attribute that specifies whether or not the browser Print button should be displayed or not. The supported values are “true” or “false”. The default is “true”. A showBookmark attribute that specifies whether or not the browser Bookmark button should be displayed or not. The supported values are “true” or “false”. The default is “true”. A userid attribute that specifies the username to use to replace the %USERID% tag in the web application URL. A password attribute that specifies the password to use to replace the %PASSWORD% tag in the web application URL. Browser Customization Workbench You may select any, all or none of these BrowserOptions for each of your Web applications. Extension Point Examples Extension Point Examples %webapp.name /OrderEntry icons/OEwctwebapp_32x32.gif com.ibm.eswe.workbench.WctApplication %orderentry.application.name com.ibm.pvc.samples.orderentry.richapp.OrderEntryPerspective icons/OEwctapp_32x32.gif com.ibm.eswe.workbench.WctWebApplication Workbench The first example shows an example of how to define a rich client application that can be launched on the Workbench. The second example shows an example of how to define a Web application that can be launched on the Workbench. This example uses the Url element to specify the Web application URL and removes the browser address bar and tool bar. Rich Client Applicationcom.ibm.eswe.workbench.WctApplication Rich Client Application com.ibm.eswe.workbench.WctApplication Workbench This screen shot shows a rich client application running in the workbench. The application has two views so you can submit orders while simultaneously viewing the status of orders they have already submitted. Notice the application switcher, which allows allow you to switch between two applications. Web Applicationcom.ibm.eswe.workbench.WctWebApplication Web Application com.ibm.eswe.workbench.WctWebApplication Browser Customization Workbench This screen shot shows a Web application running in the workbench. Notice that the user experience consists of a single view. Now, you must go to another view to submit new orders for the current customer or to select another customer. Preferences Preferences Applications can contribute their own preferences to the set of Preferences Applications can use the Eclipse Preferences service Persistent store Preference Listeners Applications can use the Configuration Admin service Provides persistent store Notifies applications of configuration changes Enables application preferences to be managed by the Enterprise Management Agent Eclipse Preferences Dialog Wrapper for Configuration Admin The Eclipse platform provides support for storing plug-in preferences and showing them to the user on pages in the workbench Preferences dialog box. IBM WebSphere Everyplace Deployment for Windows and Linux Version 6 extends the Eclipse capabilities by including the Configuration Admin service that can persist configuration information. Applications that use Configuration Admin will be notified when configuration information changes. If Configuration Admin is used to store configuration information, system administrators can query and update configuration values via the Enterprise Management Agent. Preferences Preferences Eclipse Preferences Dialog Wrapper for Configuration Admin Platform Preferences Application Preferences Here is an example of an application, the Order Entry application, displaying preferences in the workbench. Help Framework Help Framework Applications can contribute plug-ins to provide help content Help System aggregates help contents Help System If you are creating a set of Help information for your application, and you intend on using the built-in IBM WebSphere Everyplace Deployment for Windows and Linux Version 6 help plug-ins, you should use the Eclipse PDE to create a help plug-in. The Help Plug-in provides for XML configuration of the Table of Contents, and content specified as HTML. For more information on creating a help plug-in, refer to the section Plug-in Help in the Platform Plug-in Developer’s Guide located in the Eclipse Help system. Slide 19 Trademarks, Copyrights, and Disclaimers The following terms are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both: IBM CICS IMS MQSeries Tivoli IBM(logo) Cloudscape Informix OS/390 WebSphere e(logo)business DB2 iSeries OS/400 xSeries AIX DB2 Universal Database Lotus pSeries zSeries Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are registered trademarks of Microsoft Corporation in the United States, other countries, or both. Intel, ActionMedia, LANDesk, MMX, Pentium and ProShare are trademarks of Intel Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Linux is a registered trademark of Linus Torvalds. Other company, product and service names may be trademarks or service marks of others. Product data has been reviewed for accuracy as of the date of initial publication. Product data is subject to change without notice. This document could include technical inaccuracies or typographical errors. IBM may make improvements and/or changes in the product(s) and/or program(s) described herein at any time without notice. Any statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Any reference to an IBM Program Product in this document is not intended to state or imply that only that program product may be used. Any functionally equivalent program, that does not infringe IBM's intellectual property rights, may be used instead. Information is provided "AS IS" without warranty of any kind. THE INFORMATION PROVIDED IN THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IBM EXPRESSLY DISCLAIMS ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. IBM shall have no responsibility to update this information. IBM products are warranted, if at all, according to the terms and conditions of the agreements (e.g., IBM Customer Agreement, Statement of Limited Warranty, International Program License Agreement, etc.) under which they are provided. 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 in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. IBM makes no representations or warranties, express or implied, regarding non-IBM products and services. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents or copyrights. Inquiries regarding patent or copyright licenses should be made, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. The actual throughput or performance that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput or performance improvements equivalent to the ratios stated here. © Copyright International Business Machines Corporation 2005. All rights reserved. Note to U.S. Government Users - Documentation related to restricted rights-Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract and IBM Corp. Template Revision: 9/28/2005 5:50 PM