ad105 introduction to application development for the ibm ...gcc.upb.de › www › wi › wi2 ›...

35
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

Upload: others

Post on 07-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 2: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 3: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 4: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

§ 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

Page 5: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 6: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 7: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 8: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 9: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 10: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 11: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

JFace

Workbench

SWT

OS

Eclipse Architecture Overview

Platform Runtime

Page 12: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 13: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 14: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 15: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 16: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 17: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 18: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 19: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 20: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 21: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 22: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 23: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Email

Portal Access ControlPortal Access Control

Web Browser

Lotus Notes

Activities

Applications

Sametime

Page 24: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 25: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 26: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 27: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 28: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

Live Name Awareness in call Centre sample

Page 29: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 30: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 31: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 32: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 33: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 34: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

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

Page 35: AD105 Introduction to Application Development for the IBM ...gcc.upb.de › www › wi › wi2 › wi2_lit.nsf › 35ae96bebc983d53... · Introduction to Application Development for

Q&A