Title: Title: Arial 28pt'
1MES902 Introduction to Mobile Application
Development with iAnywhere
Alex Reif Product Manager areif_at_ianywhere.com Augu
st 15-19, 2004
2Agenda
- iAnywhere Overview
- Smart Client Applications
- Mobile Data Synchronization
- Message-based Applications
- Mobile Web Applications
- Next Steps
3iAnywhere Overview
- Headquartered in Dublin, CA, with RD centers in
Alpharetta, Dublin and Waterloo - Global operations in more than 50 countries
- Subsidiary of Sybase, Inc.
4The Enterprise. Unwired.
5The Enterprise. Unwired.
Industry and Cross Platform Solutions
Unwire People
Unwire Information
Manage Information
- Adaptive Server Enterprise
- Adaptive Server Anywhere
- Sybase IQ
- Dynamic Archive
- Dynamic ODS
- Replication Server
- OpenSwitch
- Mirror Activator
- PowerDesigner
- Connectivity Options
- EAServer
- Industry Warehouse Studio
- Unwired Accelerator
- Unwired Orchestrator
- Unwired Toolkit
- Enterprise Portal
- Real Time Data Services
- SQL Anywhere Studio
- M-Business Anywhere
- Pylon Family (Mobile Email)
- Mobile Sales
- XcelleNet Frontline Solutions
- PocketBuilder
- PowerBuilder Family
- AvantGo
Sybase Workspace
6iAnywhere Design Principles
- Enable always available data access
- Provide wide support of open standards
- Enable end-to-end security
- Ensure positive developer experience
- Deliver market leading, innovative solutions
7Broadest Technology Capabilities
- Systems Management
- Security
- Database management
- Web content applications
- E-Mail
- Mobile Sales
- RFID / Machine to Machine
- Natural language interface
- Mobile Media Service
- Mobile Subscription Services
- Data management and enterprise data
synchronization for - Desktop
- Server
- Mobile
- Remote office environments
8Product Portfolio
- XcelleNet Afaria
- SQL Anywhere Studio
- M-Business Anywhere
- Pylon
- XcelleNet RemoteWare
- Mobile Sales
9SQL Anywhere Studio
- Industry leading data management and enterprise
data synchronization solution enabling anywhere
anytime access to corporate information - Data Management
- Relational database management systems (RDBMS)
for desktop, server, mobile and remote
deployments (Adaptive Server Anywhere, UltraLite) - Data Exchange
- Middleware technologies for secure, reliable data
exchange between client databases and enterprise
systems (MobiLink, QAnywhere) - Design Management Tools
- Suite of tools and utilities for designing and
monitoring applications and solutions, and for
generating reports
10SQL Anywhere Studio - Tools
- Administration
- Sybase Central
- Design
- PowerDesigner Physical Architect
- Development
- Interactive SQL (dbisql)
- Database Object Debugger
- Stored procedure profiler
- Index Consultant
- Reporting
- InfoMaker
- Many other utilities dbbackup, dbdsn, dbinfo,
dblocate, dbupgrad, dbunload, dbvalid,
11M-Business Anywhere
- Delivering Web-based content and applications to
mobile devices - Supports the widest variety of mobile devices
- Provides application deployment and updating
- Content and applications can be managed by user
or group - Enables synchronization (wireless and wired) of
content or application data - Provides compression and formatting
12XcelleNet Afaria
- Systems and Security Management for Business
Front Lines - Goes beyond systems management with capabilities
including security, process automation and data
and content management - Optimized for limited bandwidth or intermittent
connections - An enterprise-class, scalable solution that
allows you to manage frontline activities from a
browser - Supports all the devices used on the front lines
of business, including laptops, handhelds,
tablets, POS devices, and desktops
13Mobile Applications
- Application classes
- Smart client applications
- Data synchronization
- Message-based applications
- Mobile web applications
- Development tools
- Too many to mention them all!
- PowerBuilder, PocketBuilder
- Visual Studio.NET
- CodeWarrior
14Agenda
- iAnywhere Overview
- Smart Client Applications
- Mobile Data Synchronization
- Message-based Applications
- Mobile Web Applications
- Next Steps
15Smart Client Applications
- Smart client applications include
- Local data store
- Rich application
- C, Java, .NET, etc.
- Supported devices
- Laptops, tablets
- Handhelds
- Which iAnywhere technologies can be used?
- Laptops and tablets Adaptive Server Anywhere
- Handhelds mostly UltraLite, some Adaptive
Server Anywhere
16Adaptive Server Anywhere Design Goals
- Ease of use
- Performance out of the box
- Embeddability
- Interoperability/Open
- Cross platform support
- Being responsive to our customers
17ASA Features
- Rich SQL
- Referential integrity, transaction processing,
multi-table joins, bi-directional cursors,
advanced OLAP functions. - Enterprise functionality
- Row-level locking, SQL Java triggers and stored
procedures, external stored procedures, XML
support, built-in Web Services server. - Self-maintenance features
- Job-scheduling and event monitors, automated
back-up and recovery - Small footprint
- 8 MB for Windows
- 4 MB for Pocket PC
18ASA Features
- High performance
- Support for indexes, self-tuning query optimizer,
dynamic cache size adjustment. - Strong Security
- 128-bit encryption for data store, Transport
Layer Security (TLS) for client/server
communications - Open Tools Support
- PowerBuilder and Pocket PowerBuilder, Microsoft
Visual Studio, Microsoft Visual Studio .NET,
others - Cross Platform Support
- Support for multiple operating systems, database
files are binary-compatible across platforms
19Supported Platforms
- Windows NT/2000/XP/2003, 95/98/Me, CE
- NetWare
- Mac OS X
- UNIX
- Solaris
- Linux
- HP-UX
- AIX
- Tru64
- Details on versions/processors/etc. on the web
- http//www.ianywhere.com/products/supported_platfo
rms.html
20Development Tools and Interfaces
- Tools
- Most development tools supported
- PowerBuilder, PocketBuilder, Visual Studio,
Visual Studio.NET, Delphi, JBuilder, - Interfaces
- ODBC
- OLE DB
- JDBC
- ADO.NET
- Embedded SQL
- Perl
21ASA - Demo
22ASA Demo - Architecture
.NET
Sybase ASE Sybase ASA Oracle IBM DB2 MS SQL
Server
CLR
iAnyAdjuster
Compact Framework
ASA .NET Provider
TCP/IP HTTP HTTPS (wired or wireless)
ODBC
Pocket PC/ CE.NET Device
MobiLink
23UltraLite
- Small-fingerprint database in SQL Anywhere
Studio - High-performance mobile data store
- Data synchronization with the enterprise
- Aimed at small, mobile and embedded devices
- PDAs, smart phones
- Point-of-sale devices
- Typical constraints
- No hard disk
- Limited memory
- Slow processors
- Limited power
24Goals of UltraLite
- Provide advantages of SQL
- Transaction processing, dynamic SQL, data types
(including numeric and date/time), built-in
functions and operators, multi-table joins,
referential integrity, indexing, standard
interface - Provide synchronization to industry standard
enterprise databases (robust and secure) - Maintain extremely small footprint
- Maintain good speed on limited devices
- Reduce the requirement for platform specific
knowledge
25UltraLite Features
- Rich dynamic SQL
- Referential integrity, transaction processing,
multi-table joins, many data types (including
numeric and date/time) - Enterprise functionality
- Indexes, over 100 built-in functions including
aggregate functions, commit and rollback
features, automated failure recovery - Small footprint
- 150 KB
- Strong Security
- 128-bit encryption for data store, Transport
Layer Security (TLS) for synchronization - Cross Platform Support
- Windows CE, Palm OS, Java (J2ME Personal
Profile), Windows XP
26UltraLite Interfaces
- UltraLite.NET
- Works with any .NET language (C and VB.NET)
- UltraLite ActiveX
- Used with Embedded Visual Basic, tested in
PocketIE (JavaScript) - M-Business Anywhere (UltraLite POD)
- Provides database storage in M-Business Anywhere
Web applications - Other UltraLite Components
- UltraLite MobileVB (AppForge MobileVB and
Crossfire) - UltraLite C
- UltraLite ODBC
- Native UltraLite for Java
- PocketBuilder
27UltraLite Platforms
- Palm (3.x or higher, min 4 MB)
- CodeWarrior, AppForge, M-Business Anywhere
- Windows CE (3.0 or higher, includes Smartphone
2002/2003) - eMbedded Visual C, eMbedded Visual Basic,
Visual Studio.NET, Pocket IE, AppForge,
M-Business Anywhere - Jeode or CrEme Java VMs for Native UltraLite for
Java - Windows XP (including Tablet PC)
- Visual C, Visual Studio.NET, M-Business Anywhere
28UltraLite - Demo
- CustDB
- Source code is supplied for each UltraLite
platform
29UltraLite Demo - Architecture
Device
Enterprise
Consolidated Database (Sybase/Oracle/ Microsoft/IB
M)
CustDB Application
TCP/IP HTTP HTTPS HotSync (wired or wireless)
MobiLink
UltraLite
30Agenda
- iAnywhere Overview
- Smart Client Applications
- Mobile Data Synchronization
- Message-based Applications
- Mobile Web Applications
- Next Steps
31Mobile Data Synchronization
- Smart client applications include a local data
store - Mobile data sync allows us to get that local data
to/from the enterprise - Two data sync technologies
- SQL Remote
- MobiLink
32SQL Remote
- Data synchronization using a file or message
based store and forward architecture such as FTP
or email - Provides sync between ASA and ASA or ASE
- Ideal for environments with no connectivity
33What is MobiLink?
- A two-way synchronization technology for large
scale mobile database deployment - Remote database (mobile, embedded, or workgroup
database server) - Consolidated database (enterprise, workgroup, or
desktop database) - A server that processes synchronization requests
from remote databases - Adaptive Server Anywhere
- UltraLite
34What is MobiLink?
35MobiLink Design Goals
- Heterogeneous consolidated database
- Scalable and robust (thousands of remotes)
- Manageable in large deployments
- Support handheld and wireless devices
- Flexible
36MobiLink Key Features
- Bi-directional synchronization
- Data subsetting, priority sync, synchronize only
changes, automated conflict detection and much
more - Heterogeneous environments
- Synchronize with enterprise data sources
including ASA, Sybase ASE, Oracle, Microsoft SQL
Server and IBM DB2 - Support for Multiple Networks
- TCP/IP, HTTP, HTTPS, WiFi, GPRS, CDMA 1X, CDPD,
HotSync, ActiveSync - Server-initiated synchronization
- Secure
- Built-in authentication, 128-bit encryption of
communication between client and synchronization
server - Scalable
- Support for thousands of remote users
37MobiLink Consolidated Databases
- Oracle 8, 9
- Microsoft SQL Server
- IBM DB2 UDB
- Adaptive Server Enterprise (ASE)
- Adaptive Server Anywhere (ASA)
- List of Recommended ODBC Drivers
- http//www.ianywhere.com/developer/technotes/odbc_
mobilink.html
38Supported Synchronization Streams
- ASA Remote Databases
- TCP/IP, HTTP(S), ActiveSync (WinCE only)
- UltraLite Remote Databases
- Windows CE / PocketPC / Smartphone
- TCP/IP, HTTP(S), ActiveSync
- Palm OS
- TCP/IP, HTTP(S), HotSync
- Java
- TCP/IP, HTTP(S)
- 128-bit strong encryption of synchronization
stream supported using Certicom TLS
39How Synchronization Works
- Upload
- ASA or UltraLite keep track of all changes since
previous synchronization - All changes are sent in a single upload stream
- MobiLink applies changes in a single transaction
- Download
- Scripts in the consolidated database determine
changes that need to be downloaded - All changes are sent in a single download stream
- Acknowledge download
- Optional
40ASA Synchronization
41UltraLite Synchronization
1. Upload
UltraLite
MobiLink
Database
2. Download
3. Ack Download(optional)
ODBC
Consolidated
DB
42MobiLink Demo
- Weve already seen MobiLink in action
- Lets look at some of the admin tools
43Agenda
- iAnywhere Overview
- Smart Client Applications
- Mobile Data Synchronization
- Message-based Applications
- Mobile Web Applications
- Next Steps
44Message-based Applications
- Message-based applications
- Store-and-forward
- Tolerant of network faults always available
- Why message-based applications?
- Dont want to sync directly to back-end database
- Messaging complements data synch model
- Developers more comfortable with a messaging API
- Using JMS, MQSeries, Sybase Integration
Orchestrator, etc. for enterprise systems and
wishing to extend them to mobile
45QAnywhere
- A comprehensive messaging API provides a powerful
and flexible programming model for building
mobile messaging applications - Transmission rules optimize the performance,
cost, and bandwidth of message delivery - Reliable and efficient message delivery with
compression and transactional capabilities - Secure message storage and transmission
- Push notification of messages waiting to be
delivered - Connectors to back-end JMS-based enterprise
systems
46Example Scenario
- Mobile sales reps
- Notebook PCs with 802.11 and CDMA connectivity
- ASA and MobiLink in current configuration
- Synchronize product information from server to
laptop - Work offline, make changes, synchronize changes
- Now with QAnywhere
- Enterprise order-entry system is implemented
using JMS - Reps can now generate orders in the fields
- QAnywhere stores orders (messages) and delivers
them - Also can receive order information in the field
directly from JMS system
47Agenda
- iAnywhere Overview
- Smart Client Applications
- Mobile Data Synchronization
- Message-based Applications
- Mobile Web Applications
- Next Steps
48Mobile Web Applications
- Why take web applications mobile?
- Existing web applications (intranet content)
- Existing web development skills
- Doesnt the web need a network connection?
- Not if you cache web pages locally
49M-Business Anywhere Architecture
50M-Business Anywhere Server
- Sync Server
- HTTP client, HTML parser and layout engine
- JavaScript syntax checker and compiler
- XML document synchronization
- Compression, caching, optimization
- Personalization, security
- User Interface Server
- User and content management
- Access control central to user
- Internal directory or NT Domain, LDAP as add-on
- End-user interface
51M-Business Anywhere Client
- The other half of our browser
- HTML 4.01 rendering engine
- Document Object Model 1.0
- DOM Level two event model
- ECMA 1 and 2 compliant JavaScript
- Caches channel, online
- Form queue
- Bookmarks, history, add new channels from device
- API to extend the client scanner, XML data,
UltraLite, others include magstripe reader,
printing, GPS
52M-Business Anywhere Smart Client
53Data-Driven Apps Deployment Architecture
54M-Business Anywhere - Demo
- MAST Mobile-Accessible Sales Tool
- Internal Sybase web applications
- Synchronized using M-Business Anywhere
- Forms manager used to request information
- Browse offline
55Agenda
- iAnywhere Overview
- Smart Client Applications
- Mobile Data Synchronization
- Message-based Applications
- Mobile Web Applications
- Next Steps
56Next Steps
- SQL Anywhere Studio
- Developer Editionhttp//www.ianywhere.com/downloa
ds/sqlany.html - M-Business Anywhere
- Developer Editionhttp//crm.sybase.com/sybase/www
/iAS/mbusiness_developer_download.jsp - iAnywhere Developer Community
- http//developer.ianywhere.com
57Other TechWave Sessions
- Afternoon sessions
- MES905 Building Mobile Web Applications with SQL
Anywhere - MES906 Introduction to Off-line Mobile Web
Development - SQL928 Building Hand-held Database Applications
Using UltraLite - MES908 Mobile Messaging with SQL Anywhere
- Morning courses
- AM23 Adaptive Server Anywhere Fundamentals 9.0
- AM24 Building UltraLite Applications for
Handheld Devices - AM25 Building Mobile Web Applications with
M-Business Anywhere - AM35 Synchronizing Data Using MobiLink
58iAnywhere at TechWave2004
- Ask the iAnywhere Experts on the Technology
Boardwalk (exhibit hall) - Drop in during exhibit hall hours and have all
your questions answered by our technical experts! - Appointments outside of exhibit hall hours are
also available to speak one-on-one with our
Senior Engineers. Ask questions or get your
yearly technical review ask us for details! - TechWave ToGo Channel
- TechWave To Go, an AvantGo channel providing
up-to-date information about TechWave classes,
events, maps and more also, keep up to date
with the TechWave Newsletter now available via
your handheld device! - www.ianywhere.com/techwavetogo
- Mobile and Wireless Email using Pylon Anywhere
- iAnywhere is providing access to your corporate
email at TechWave using Pylon Anywhere. You can
keep up-to-date with your latest email, calendar,
contacts, and tasks from your PDA or any
Web-client! Visit the iAnywhere demo station in
the Sybase booth or our Ask the Experts area in
the Technology Boardwalk (Exhibit Hall) for
details on how you can evaluate Pylon Anywhere
yourself!
59iAnywhere at TechWave2004
- Wi-Fi Hotspots brought to you by Intel
- You can enjoy wireless internet access via Wi-Fi
hotspots provided by Intel. Using either a
laptop or PDA that is Wi-Fi 802.11b
wirelessly-enabled, visitors can access personal
email, the internet and TechWave ToGo - Developer Community
- A one-stop source for technical information!
- Access to newsgroups,new betas and code samples
- Monthly technical newsletters
- Technical whitepapers,tips and online product
documentation - Current webcast,class,conference and seminar
listings - Excellent resources for commonly asked questions
- All available express bug fixes and patches
- Network with thousands of industry experts
- http//www.ianywhere.com/developer/
60Questions?
Alex Reif Product Manager areif_at_ianywhere.com
61Doesnt the Web Require a Network Connection?
- The solution make the web work without a
connection - Cache web pages
- Server cache parse and compress pages
- Device cache pages are always available
- HTTP headers give developer control over the
cache - Store and forward form posts
- Raw post/get data is stored on device between
syncs - Pending posts are posted in batch at beginning of
sync - Support Personalization
- User agent string lets server know its an
M-Business browser - http headers contain information about user,
device profile - http cookies
- Ensure security
- Full support for round trip SSL from device to
web application and back - Support HTTP and NTLM challenge response and
cookies
M-Business Anywhere