ad105 introduction to application development for the ibm ...gcc.upb.de › www › wi › wi2 ›...
TRANSCRIPT
AD105Introduction to Application Development for the IBM Workplace Managed Client
Rama Annavajhala, IBM Workplace Software, IBM Software GroupSesha 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
Rich, Windows-centric applications with connection to network, server resources(e.g. Office, Notes)
Traditional Client/Server Applications
Traditional Browser
Applications
Goal: Rich portal-like applications enhanced with rich user experience
Server-ManagedRich Client
Low
High
Richness of Applicationsand Environment
Basic Rich
Cost ofOwnership
Achieve rich client functionality at low total cost of ownership
§ 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
Goal: Extend Portal Value Proposition to Rich Clients
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
Application Adapters
BUSINESS PROCESSES
FRONT-ENDINTEGRATION
BACK-ENDINTEGRATION
Monitoring WorkflowsBusiness Context
& Activities
Collaboration Services
Interaction &Access Services
Managed ClientServices
Rich client
Browser
Mobile Clients
IBM WORKPLACE
INFORMATION
Data & ContentIntegrationSearch & Analysis
The power of one architectural model, one programming model, one
consistent tool set
IBM Workplace Managed Client Architecture
Operating System (Windows, Linux, Mac [future])
Eclipse 3.0 FoundationUser experience framework, windowing, component interaction
Local App Server EJB Container, JRE/JSR’s
Local Data Store(Derby, DB2e)
Provisioning/ Management
(Tivoli & RPCML Agent)
Data Synchronization
& Offline(SyncML4J)
Client
Middlew
are
3rd Party Extensions andPlugins
IBM Value AddedExtensions
Application1
Application2
ApplicationN
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
Java•Views
•Business Logic•Plugins
•Features
Packaging
Developer
Application Integrator
Component Assembly
View
View
View
Page
View
ViewView
Publish
Portal
End User
Portal
Access
ControlControlled deployment
Accesses Portal
JFace
Workbench
SWT
OS
Eclipse Architecture Overview
Platform Runtime
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 Interface7LWOH�%DU 0 HQX�%DU 7DEEHG�9LHZ V 6HDUFK�%DU�,QFOXGHV�%DQQHU�* UDSKLFV
$SSOLFDWLRQ�6 Z LWFKHU
$FWLRQ�%DU
1 DYLJDWRU
6 LGH�%DU
6 WDWXV�%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
Client (WMC)
Server (WCS)
Disconnected Application Model
PIM UI
CalendarService
MailService
Sync Service
Sync Server
CalendarService
MailService
Database Database
§ Application uses a local database as a cache
§ Application synchronizes local data with remote data when ONLINE
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 PageMy Work PageMail FoldersMail Folders
ContactsContacts
DocumentsDocuments Instant MsgInstant Msgcom.ibm.rcp.mail
com.ibm.rcp.common
com.ibm.rcp.folders
com.ibm.rcp.mail
com.ibm.rcp.common
com.ibm.rcp.folders
com.ibm.rcp.contact
com.ibm.rcp.common
com.ibm.rcp.contact
com.ibm.rcp.common
com.ibm.rcp.docs
com.ibm.rcp.common
com.ibm.sodc
com.ibm.rcp.docs
com.ibm.rcp.common
com.ibm.sodc
com.ibm.im
com.ibm.im.names
com.ibm.im
com.ibm.im.names
Application Deployment - Portal Driven Content and Binaries
Portal Server - PagesPortal Server - PagesWeb BrowserWeb Browser
Jo Exec Susan Teller Dan Developer
Lotus NotesLotus Notes
ActivitiesActivities
3270 Emul3270 Emul
ApplicationsApplications
EmailEmail
CalendarCalendar
SametimeSametime
Web Browser
Lotus Notes
Sametime
3270 Emul
Portal Access ControlPortal Access Control
Web Browser
Lotus Notes
Activities
Applications
Sametime
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
Portal
IBM WebSphere Portal
End User + WSRP Consumer WSRP Producer
IBM WSRP Producer
WSRP Web Services
WSRP Web Services
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§ AD401: IBM Workplace Managed Client Development Best
Practices
§ AD402: Advanced Application Development for IBM Workplace Managed Client
Labs§ 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