Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu, IBM
1. June 10-11, 2008 Berlin, Germany
Your last mile to SOA and Web 2.0
- Lotus Expeditor for Device
Eric MF Hsu (IBM)
2. !
â˘! Lotus Expeditor Overview
â˘! What is Lotus Expeditor for device
â˘! Last mile to SOA
â˘! Mobile Web 2.0
â˘! Toolkit Demo
Agenda
3. "
â˘! 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
4. #
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.
5. $
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
6. %
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
7. &
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
12. )!
â˘! 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?
13. )"
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
14. )#
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
18. )'
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
20. !*
â˘! 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
22. !!
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 SiteApplication Manager User-driven software
installation and
maintenance
23. !"
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
24. !#
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
25. !$
â˘! 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
26. !%
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!
27. !&
Web 2.0 on mobile
!"8*''&0%/'2"9&*94&"&.&,):6&,&"
29. !(
â˘! 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
30. "*
WebKit Browser
web2.0app
web2.0app
âŚ
Mobile mashup
applications with
mobility features
Architecture
Native OS
JSRs
JSR 232 (OSGi)
eSWT
eRCP
eRCPapp1
eRCPappn
âŚ
Rich application
with native look & feel
web container
widget1
widgetn
âŚ
Light-weight
applications.
Thin UI in the
browser,
business logic
implemented in
Java!
browser
bundle1
bundlek
âŚ
Service
components
and shared
libraries
JVM CDC 1.1/Foundation Profile 1.1
31. ")
Demo of Lotus Expeditor Toolkit
!";*"(&.&4*9"1'("(&94*)"1994/01%/*'"*'%*"(&./0&"
32. "!
â˘! 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
36. "%
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