AD105 Introduction to Application Development for the IBM Workplace Managed Client Rama Annavajhala, IBM Workplace Software, IBM Software Group Sesha Baratham, IBM Workplace Software, IBM Software Group
Agenda Goals and Benefits Architectural Overview Application Development Eclipse Public Programming Interfaces Application assembly and deployment Tools Integrating external Applications Futures Summary References Q&A
Goal Achieve rich client functionality at low total cost of ownership Low Traditional Browser Applications Server-Managed Rich Client Goal: Rich portal-like applications enhanced with rich user experience Cost of Ownership High Traditional Client/Server Applications Rich, Windowscentric applications with connection to network, server resources (e.g. Office, Notes) Basic Richness of Applications and Environment Rich
Goal: Extend Portal Value Proposition to Rich Clients Goal: Extend Portal value proposition to enable layout & aggregation of rich client applications Combines application user interfaces together into one unified presentation Delivers a highly personalized experience, considering User s job role Security settings Administrators Personal settings Device settings Provides application integration, collaboration, single sign-on services and much more
Key Benefits Extensible client platform Collaboration, Document management, Business Applications No Touch Deployment Low TCO Server-managed delivery of rich client Rich user experience Desktop integration, native UI and disconnection Built-in Data Management and Security Using local and server managed encrypted data stores Disconnection Run client applications disconnected from network Multi-Platform Client Support Linux, Windows
Agenda Goals and Benefits Architectural Overview Application Development Eclipse Public Programming Interfaces Application assembly and deployment Tools Integrating external Applications Futures Summary References Q&A
Architectural Overview FRONT -END INTEGRATION BACK-END INTEGRATION The power of one architectural model, one programming model, one consistent tool set IBM WORKPLACE BUSINESS PROCESSES Rich client Browser Business Context & Activities Collaboration Services Interaction & Access Services Managed Client Services Monitoring Workflows INFORMATION Application Adapters Mobile Clients Search & Analysis Integration Data & Content
IBM Workplace Managed Client Architecture Application 1 Application 2 Application N 3 rd Party Extensions and Plugins IBM Value Added Extensions Local App Server EJB Container, JRE/JSR s Local Data Store (Derby, DB2e) Provisioning/ Management (Tivoli & RPCML Agent) Data Synchronization & Offline (SyncML4J) Client Middleware Eclipse 3.0 Foundation User experience framework, windowing, component interaction Operating System (Windows, Linux, Mac [future])
Agenda Goals and Benefits Architectural Overview Application Development Eclipse Public Programming Interfaces Application Assembly and Deployment Tools Integrating external Applications Futures Summary References Q&A
Application Development Concepts Packaging Developer Application Integrator Java Views Business Logic Component Assembly View View View Page View View View Plugins Features Publish Portal End User Accesses Portal Controlled deployment Portal Access Control
Eclipse Architecture Overview JFace Workbench SWT Platform Runtime OS
Eclipse Development Concepts Plugin Component/Object that provides some service Feature Allows for deployment of a related set of plugins Extension Points Allows a host plugin to identify functionality that can be extended by other plugins E.g. Plugin A creates a context menu Plugin A specifies an extension point that will allow other plugins to add to its context menu Plugin B uses the extension-point mechanism to add a menu item to Plugin A s context menu
Workplace User Interface 7LWOH%DU 0HQX%DU 7DEEHG9LHZV 6HDUFK%DU,QFOXGHV%DQQHU*UDSKLFV $FWLRQ%DU 6LGH%DU 1DYLJDWRU $SSOLFDWLRQ6ZLWFKHU 6WDWXV%DU
Public APIs User Interface Platform UI customization A set of extension points, related interfaces and abstract classes that support the creation of a UI personality, i.e. a distinct customization of the Eclipse Workbench Window Default platform UI An out of the box personality which can be sub classed if required by offering products to implement their own custom personality Presentation A factory for creating UI artifacts that embody the look and feel of Workplace applications
Public APIs User Interface Widgets Custom button rendering widget and action bar Alerts A framework for defining, signaling and handling custom alert (event) types Browser Launch and configuration of an embedded browser window
Public APIs Rich text editor DOM based editor which provides HTML and plain text editing functionality Includes spellchecking capability with pluggable dictionary in 27 languages File type registry A repository that stores platform-supported file types Can be used by ISVs to extend our existing WMC applications like Documents and Standalone Editors which leverage this registry
Public APIs Database JDBC access to relational database Support for Derby and DB2 Everyplace Data encryption Security Manage credentials in local credential store Authenticate over HTTP and IIOP protocol Implement Single Sign On with Operating system Managed provisioning Allows refreshing the client configuration from server
Public APIs Offline Provides the framework to create offline and network aware applications Synchronization Provides framework to synchronize data between client and server Includes isync client runtime to synchronize DB2e database with DB2 Everyplace sync server
Disconnected Application Model Application uses a local database as a cache Application synchronizes local data with remote data when ONLINE Client (WMC) PIM UI Server (WCS) Mail Service Calendar Service Sync Service Sync Server Mail Service Calendar Service Database Database
Public APIs - Collaboration Live Names Selectable objects that represent users logged into IBM Workplace Collaborative Application Services Mail, Calendar and Document library service APIs Application, Application Template, Discussion, Web conference
WMC Platform Services - Other Transactional, assured messaging services through MQ Everyplace provides support for the Java Message Service (JMS) MQ Everyplace is the messaging provider for JMS, and includes support for point-to-point messaging Web application support through integrated browser controls and an integrated web application container Based on the J2EE 1.3 Web Application specification that includes Servlet 2.3 and JSP 1.2 capabilities Web Applications can make use of technologies such as Tag Libraries, Templates, and other standard Web Application features Web Services client and hosting capabilities (JSR 172) Provides for both client connectivity to server hosted web services and the hosting of local web services
Application Assembly - Portal Pages Provide layout and features My Work Page Mail Folders com.ibm.rcp.mail com.ibm.rcp.common com.ibm.rcp.folders Documents com.ibm.rcp.docs com.ibm.rcp.common com.ibm.sodc Instant Msg com.ibm.im com.ibm.im.names Contacts com.ibm.rcp.contact com.ibm.rcp.common
Application Deployment - Portal Driven Content and Binaries Portal Server - Pages Web Browser Activities Applications Calendar Lotus Notes 3270 Emul Email Sametime Portal Access Control Sametime Sametime Lotus Notes Web Browser Email 3270 Emul Applications Activities Lotus Notes Web Browser Jo Exec Susan Teller Dan Developer
Deploying WMC Applications From an IBM Workplace Collaboration Services server Supports Server Managed Client capability From a CD Image Upgrades need to be initiated by end user Allows switching to Server Managed Client capability From a HTTP server Upgrades need to be initiated by end user Allows switching to Server Managed Client capability
IBM Workplace Software Development Kit Getting started with developing WMC applications Prerequisites Eclipse Development Experience Portal Development Portlets, Pages, Admin Tools Eclipse IDE Rational Application Developer (RAD) or Rational Architect IBM Workplace Managed Client tooling
IBM Workplace Software Development Kit Documents and demonstrates the public programming model supported on WMC platform today Contains Programmer s guide Java docs for public APIs Sample code and Demo Application Client side Workplace collaboration services API plug-in IBM Workplace Managed Client tooling
IBM Workplace Managed Client Tool Extends Eclipse or RAD IDE to facilitate creation and deployment of WMC Applications The tool requires the following components Eclipse Modeling framework (EMF) SDK Graphical Editing Framework (GEF) SDK Visual Java Editor (VJE) Comes with a variety of samples to help you get started
Live Name Awareness in call Centre sample
Integrating Existing Applications in WMC WMC Supports integrating existing (non-wmc) applications within a WMC application for a single coherent user experience Swing/AWT Web and Portal applications Notes Applications Leverage WMC model and infrastructure for application layout, packaging, assembly, access control and distribution
Integrating Web and Portal Applications in WMC Leverage embedded browser to seamlessly integrate web and portal applications Web Services for Remote Portlets (WSRP Tech. Preview) Rich Client with WSRP Viewer WSRP Web Services IBM WebSphere Portal IBM WSRP Producer WSRP Web Services Portal End User + WSRP Consumer WSRP Producer
Agenda Goals and Benefits Architectural Overview Application Development Eclipse Public Programming Interfaces Application Assembly and Deployment Tools Integrating external Applications Futures Summary References Q&A
Futures Portal Projection brought down to the client Client side Property Broker Policies Hannover Integration with Lotus Notes and Domino UI extensions and skinning Composite Applications Portal Managed Client Signed plug-ins
Summary WMC is an extensible, standards-based platform for developing rich, server managed, offline-enabled desktop applications with low TCO WMC supports a programming model based on Eclipse and WebSphere Portal includes a broad set of public APIs and a toolkit that enable the development of third party applications that leverage the WMC infrastructure Many more capabilities will be available in future releases of WMC
References Related Sessions Labs AD401: IBM Workplace Managed Client Development Best Practices AD402: Advanced Application Development for IBM Workplace Managed Client Meet the Developers, Dolphin Asia1 & 2 Other references API Toolkit : http://www.lotus.com/ldd/lwpapi Red paper Draft http://w3.itso.ibm.com/redpieces/abstracts/redp4119.html
Q&A