your last mile to soa and web 2.0- lotus expeditor for devices - eric mf hsu, ibm

36
June 10-11, 2008 Berlin, Germany Your last mile to SOA and Web 2.0 - Lotus Expeditor for Device Eric MF Hsu (IBM)

Upload: mfrancis

Post on 18-Aug-2015

56 views

Category:

Technology


0 download

TRANSCRIPT

June 10-11, 2008 Berlin, Germany

Your last mile to SOA and Web 2.0

- Lotus Expeditor for Device

Eric MF Hsu (IBM)

!

•! Lotus Expeditor Overview

•! What is Lotus Expeditor for device

•! Last mile to SOA

•! Mobile Web 2.0

•! Toolkit Demo

Agenda

"

•! It supports multiple user experiences, access points, and forms of connectivity

enabling flexible and cost effective access to people, business processes,

applications, and content.

Desktop

Laptop

Specialized

devices

PDA

Mobile

Phone

Server Managed

Extendable platform

Use current programming skills

Supports online / offline

operations

Run same applications across

different devices

Supply Chain

ERP

CRM

Customer Service

Collaboration

Industry, Logistics

IT Data Center

IBM’s Server Managed Client Solution

#

What is Lotus Expeditor

•! A tool for developing powerful managed client applications on various platforms: desktops, laptops, tablets, and handheld devices.

•! Lotus Expeditor client •! Supports desktops, laptops, tablet computers, kiosks and

mobile devices.

•! Lotus Expeditor server •! Allows you to centrally manage software deployed to the client

and provides connectors to enterprise applications and data.

•! Lotus Expeditor toolkit •! Rapid application development and deployment of managed

client applications.

$

Why Expeditor : Built on Open Standards

•! Built on Eclipse platform that has millions of users

•! Large base of skilled developers and participating companies

•! Developers can use their current programming skills and tools

•! Compliant with open standards such as OSGi, Web services

•! Able to interface with other standards based software

%

Lotus Expeditor Client Support

Desktop

Kiosk mode

Single Sign-on

Portal-driven layout (Pagebuilder)

Embedded Browser

Managed Native Application Launcher

Multi-user workstation support

OS Integration (syslib)

Eclipse preference admin

OSGi core

Portlet Container

Property Broker

Themes/UI

Database Sync (DB2e)

Messaging Gateway (MQe)

Local Database (DB2e)

Web Services (JSR 172)

Local Database (Cloudscape)

Web Container

Transaction Container

Enterprise Mgmt Agent

Eclipse RCP

JSE 5.0 DesktopEE

Microbroker

KeyStore

Network Awareness

Personalities

Web Services (Axis, Security)

Update Manager

Database Sync (Cloudscape)

UI Mobile Extensions

Database Sync (DB2e)

Messaging Gateway (MQe)

Local Database (DB2e)

Web Services (JSR 172)

Enterprise Mgmt Agent

Eclipse eRCP

eUpdate

DeviceEE

Seamless application launcher switcher

Device

OSGi core

Web Container

Transaction Container

Microbroker UI Mobile Extensions

&

Lotus Expeditor as an Application

Platform

•! Use Lotus Expeditor to develop the following types of

client applications: •! Java

•! OSGi

•! Eclipse (RCP and eRCP)

•! Web

•! Embedded Transaction Applications

•! Portlets

•! Web Services

•! Database

•! Messaging

'

Lotus Expeditor for Device

!"#$%&'(")*+,"-&,./0&"0*.&,12&"%*"3&"3*,(&,4&--"

(

What’s in the platform?

•! Core Platform •! JVM and DeviceEE (based on JavaME

® CDC/Foundation 1.1)

•! OSGi Service Platform R4

•! Eclipse eRCP 1.0.3

•! Application Manager

•! Enterprise Management Agent

•! Optional Components •! Provided via update site

•! Install only what’s needed

)*

JRE Configurations

JSE 5.0 41 MB

DesktopEE 14.5 MB

java.applet java.awt java.nio

DeviceEE 4.6MB

javax.accessibility javax.sound javax.swing javax.transaction org.omg javax.naming

java.sql javax.sql javax.rmi java.beans

java.util.regex java.util.logging java.util.prefs

java.io java.lang java.lang.ref java.lang.reflect java.math java.net java.security java.util java.util.zip

java.security.interfaces java.security.acl java.security.cert java.security.spec java.text java.util.jar

javax.m

icro

editio

n.io

JavaME Foundation1.1

))

Device Architecture

Everyplace Deployment

WM 2003 SE WM 5/6(Pro/Std) WinCE 5.0 Nokia S60

Supported Devices

eWorkbench UI

Expeditor Value Add

IBM JavaME

MQTT/Micro

Broker MQe

JMS

JNDI JDBC (JSR 169)

DB2e Web Services

(JSR 172) SyncML

Framework

OSGi Services

Transaction Container

Web Container (Servlet/JSP)

Enterprise Mgmt Agent

Provisioning

eJFace eSWT UI Mobile Extensions Application Manager

(eUpdate)

eWorkbench Seamless Application Launcher/Switcher

Enterprise / ISV Applications

Java Virtual Machine (IBM J9 Technology)

Java Class Library (IBM “DeviceEE”)

Embedded Rich Client Platform Framework MicroXML OSGi R4

)!

•! Support for following devices: •! Microsoft

® Windows Mobile

® 2003SE, 5 (PPC & Phone), 6

(Classic & Pro & Std)

•! Microsoft WinCE® 5 Professional

•! Nokia® S60 Platform

•! HW requirements: 16MB FS/16MB RAM available

•! Devices under test: Symbol MC70, MC9090, iPAQ (hx4700, hx2790), i-mate JASJAR, Nokia E90, HTC S710, HTC S730 and others

•! Microsoft Windows XP® and Vista for development

What Devices are supported?

)"

OSGi – The Core of Lotus Expeditor

•! Broadly accepted community standard

•! The most suitable cross-platform runtime for use in

mobile handsets.

•! Run multiple applications in a single JVM

•! Dynamically install/update/uninstall bundles & apps

•! Share code and services

•! Complementary to other technologies and standards

•! Lightweight footprint

)#

Eclipse eRCP

•! Embedded version of the popular Eclipse Rich Client Platform

•! Open source project of Eclipse

•! Reduces RCP size/function to fit on devices (~3MB)

•! Runs on JavaME CDC/Foundation Profile

•! Utilizes same OSGi Platform as RCP

•! Adds components to enable application binary compatibility across a wide range of devices

•! Mature project that is being adopted in many industry projects

)$

eRCP Architecture!

•! ++!

)%

Rich UI

•! eSWT •! Basic widgets

•! Basic graphical support

•! Embedded browser

•! Table, Tree

•! Layouts

•! eSWT Mobile Extensions •! Widgets and function specifically for mobile devices

•! eJFace •! MVC style widgets and resource manager

)&

Screenshots

)'

Why is eRCP important?

•! There are a HUGE number of devices out there that are becoming quite capable Java application platforms

•! Brings OSGi to devices

•! Has extensive rich UI capabilities that are lacking in MIDP

•! Higher level of device abstraction and integration

•! eRCP can be the next step up from MIDP

•! Great platform for mobile mash-ups

)(

Device Integration

•! Seamless integration with native desktop

!*

•! Improvement in Lotus Expeditor for Device 6.2

•! Provide platform builder to customize the runtime

•! Jxed classes improve startup time and ram usage

•! Early-start option: Start the runtime when device is started up

•! Performance Indices:

•! RAM Usage: 8.9 MB

•! Startup Time of entire stack with application manager: 19s

•! Startup Time when early-start option is enabled: less than 3s

Footprint and performance

!)

Last mile to SOA

!"51'12/'2"&.&,)%6/'2"+3/7+/%*+-4)"

!!

Lotus Expeditor Client for Device

End-to-End Connections

Lotus Expeditor Client

for Device

Lotus Expeditor

Server

Client

Applications Applications

Enterprise Server(s)

WebSphere App Server

DB2e

MQe

Managed Client Services

Enterprise Mgmt Agent

Web Services

SyncML Libraries

Web Services

{SyncML Libraries}

DB2e Sync Server

MQe Server

DMS

Send and receive secure transactions

Synchronize relational data

Synchronize objects

Consume web services

Server-managed software installation

and maintenance

DB

Eclipse eUpdate Site Application Manager User-driven software installation and

maintenance

!"

OSGi and web services

•! JSR-172 compliant

•! Only Web Services consumer is provided

•! Client applications can consume Web Services

in a secure manner

•! Web services application can be encapsulated

as OSGi bundle to plug into Expeditor runtime

!#

Pervasive messaging!

•! MQe (MQ Everyplace)

•! Provides point-to-point messaging service for once-only,

ensures messaging delivery and supports offline operations

•! Micro Broker

•! Supports publish and subscribe messaging for one-to-many

messaging

•! Offers message notification, event service, quality of service

level and durable subscription

•! Either MQe or Micro Broker fulfills SOA connectivity

requirement by providing end-to-end messaging service

!$

•! An embedded database solution helps service

providers deploy offline service to mobile users

•! DB2e enables an integrated database solution for

enterprise to enter to mobile SOA world

DB2e and DB2e sync server

!%

Platform Management

•! Local Management •! User uses Application Manager

•! Install features from local or remote update sites

•! Easy update of installed features

•! Remove installed features

•! Remote Management •! Enterprise Management Agent runs on device

•! Polls enterprise server for jobs

•! Install/Update/Remove features & bundles

•! Query & Set properties

•! Install/Remove native files

•! These extend SOA coverage to mobile devices in a managed manner!

!&

Web 2.0 on mobile

!"8*''&0%/'2"9&*94&"&.&,):6&,&"

!'

Mobile Mashup

+ WebKit

!(

•! Introduction of Web 2.0 application model

•! Access to native function from browser, eg. GPS, phone call, etc.

•! Pros :

•! Enable mashup of eSWT applications and browser-based

applications

•! Support offline application

•! Optionally could be a standalone light-weight eclipse-based

browser

•! Cons:

•! Heavy solution: 8MB ROM + 9MB RAM

•! Porting effort is required: WebKit + Lotus Expeditor (mostly java)

WebKit runtime as an Expeditor service

"*

WebKit Browser

web

2.0

ap

p

web

2.0

ap

p

Mobile mashup applications with

mobility features

Architecture

Native OS

JSRs

JSR 232 (OSGi)

eSWT

eRCP

eR

CP

ap

p 1

eR

CP

ap

p n

Rich application with native look & feel

web container w

idg

et 1

wid

get n

Light-weight applications.

Thin UI in the browser,

business logic implemented in

Java!

browser

bu

nd

le 1

bu

nd

le k

Service components

and shared libraries

JVM CDC 1.1/Foundation Profile 1.1

")

Demo of Lotus Expeditor Toolkit

!";*"(&.&4*9"1'("(&94*)"1994/01%/*'"*'%*"(&./0&"

"!

•! Use Eclipse IDE

•! Developers can apply desktop development skills to devices

•! Reuse code already written

•! Take advantage of plentiful books and articles

•! Enjoy a vibrant community of a million+ developers

•! Easily develop for device on a desktop machine

•! Use device runtime for Win32

•! Use integrated device emulators

•! Remotely deploy and debug applications

•! Use breakpoints, watches, etc

•! Step through source code

Lotus Expeditor Toolkit

""

Toolkit Demo – Debug on device

"#

Reference

•! Lotus Expeditor official site http://www-306.ibm.com/software/lotus/products/expeditor/

•! Lotus Expeditor infocenter http://publib.boulder.ibm.com/infocenter/ledoc/v6r1/index.jsp

•! Lotus Expeditor introduction http://www.ibm.com/developerworks/lotus/library/expeditor-intro/

•! WebKit http://webkit.org/

•! eRCP http://www.eclipse.org/ercp

"$

"%

Legal Notices & Disclaimer

•! IBM and Lotus are trademarks or registered trademarks of International

Business Corp. in the United States and other countries

•! Java and all Java-based trademarks are trademarks of Sun Microsystems,

Inc. in the United States, other countries, or both

•! Microsoft, Windows, and the Windows logo are trademarks of Microsoft

Corporation in the United States, other countries, or both.

•! Other company, product, or service names may be trademarks or service

marks of others

•! The talk is presented in the view of the author rather than IBM