EM424 Building Smart-Client Wireless Applications Alex Reif Product Manager iAnywhere Solutions areif@sybase.com
Agenda Introduction to the Wireless Landscape Building Smart-Client Applications Summary This is a repeat of content from the Wireless Developer Workshop as well as the morning sessions on building Wireless Applications (Marty & Liam)… There is also a corresponding Thin-Client Application session: EM425 (see TechWave web site for slides)
Emerging Mobile Application Areas Commerce Banking, trading Insurance Healthcare Point of care Prescriptions Retail/Hospitality Point of activity ERP Mobile SAP
Expectations Data access at all times Enterprise integration Require ‘always available’ applications Enterprise integration Access to various kinds of corporate data Oracle, Sybase, IBM, MS ERP (SAP, PeopleSoft) CRM (Siebel) Increased productivity More efficient data entry Reduce time to market
m-Business Challenges Ever-changing wireless environment slows time to market Technical barriers – complex nature of wireless solutions Wireless communications are slow and expensive
The Wireless Challenges iAnywhere Solutions Solves the Complexity Challenge: Speed and Cost Thin client mind-set, limited coverage Low bandwidth networks means slow applications Limited battery life for wireless transmissions Challenge: Time To Market Lack of understanding Competitive pressure Challenge: Complexity Connection “stew” Multiple device, network, and security characteristics Emerging, multiple standards Unique ‘Always Available’ platform ensures fast, reliable access to information at a lower cost Experience and proven technology enables faster time to market with reduced risk All major networks, devices, and operating systems Solution roll-out, optimized 7x24 network center, customer support
iAnywhere Solutions m-Business Platform
Business Case for Always Available Always Available Architecture Less data transferred Work offline/ synch later Connect when necessary Problems Solved Faster response/ lower cost Work anywhere, anytime Dependability Low bandwidth Coverage and penetration Battery life Real-world Problems in Wireless
Key Benefits ‘Always Available’ access to enterprise data Mobile data store Data synchronization Ability to publish content to multiple devices and browsers J2EE Wireless framework Access to Enterprise Data RDBMS, ERP Systems, CRM Systems, mainframe, legacy Security Support for data encryption, authentication and authorization
Application Preview
Enterprise Integration Device Identification Content Transformation Architectural Map Mainframe CRM Database ERP Mobile Data Store Enterprise Integration Messaging Data Synchronization Smart Client Device Identification Content Transformation Security
Smart Client Development - Topics Smart Client Characteristics Development Overview Mobile Data Store Synchronization Messaging
Characteristics of Smart Client Persistent data Mobile data store High-performance data access Data Synchronization Integration with the Enterprise Common characteristics No hard disk Battery-powered, slow CPU Limited memory Device-specific operating system Applications always stay running Examples include palmtops, cellular phones, intelligent appliances
Characteristics of Smart Client Messaging Push important data to mobile devices Rich user experience Contains business logic Sophisticated User Interface Palm, PocketPC, EPOC, RIM, Java clients Common characteristics No hard disk Battery-powered, slow CPU Limited memory Device-specific operating system Applications always stay running Examples include palmtops, cellular phones, intelligent appliances
Development Overview Mobile Data Store Data Synchronization Messaging C/C++ or Java SQL or data access APIs Data Synchronization SQL Messaging Rich User Interface
Other Mobile Data Storage Options Proprietary APIs Palm DB, Flat File Custom-coded solutions Customer built data structures, searching, sorting, and synchronization ‘Shrunk-down’ enterprise database Vendor reduces capabilities of enterprise database to make it fit on small devices
Other Mobile Data Storage Limitations Proprietary APIs One table per ‘database’ Poor performance Limited capabilities Custom-coded solutions Very resource intensive Increased risk Increased maintenance costs ‘Shrunk-down’ enterprise database Pre-chosen limited functionality Architecture not geared for mobile and wireless devices
Mobile Data Store The iAnywhere Solution Advantages of SQL Synchronization to industry standard enterprise databases (robust and secure) Extremely small footprint Hand-coded speed Reduced requirements for platform specific knowledge
Mobile Data Store Development Process Step 1: Develop application code Step 2: Invoke Analyzer Step 3: Compile Step 4: Deploy Step 5: Setup Synchronization
Mobile Data Store How it Works Application Code Reference Database SQL / Data Access Code iAnywhere Analyzer Compiler Customized Data Store you determine in advance the SQL required by your application the analyzer generates C/C++ or Java code that implements the SQL in your application builds a database engine that is specific to your application the end-result only contains functionality that is required by your application Linker Runtime Libraries (Data Store) Application and Embedded Data Store
Mobile Data Store Features SQL compliant Referential integrity Transaction processing Multi-table joins Bi-directional cursors Customized for your application Footprint as low as 50K Data structures and algorithms designed for in-memory database
Mobile Data Store Features Performance Support for indexes Pre-optimized queries Large storage capacity Integrated synchronization
Building the Smart Client Application Step 1: Modify GUI Add alert, menu item Step 2: Add data store code Step 3: Add “glue” code Attach data store code to GUI Step 4: Compile/deploy
Data Synchronization Architecture Database Server Synchronization Server Remote Computers
Data Synchronization How it Works Consolidated Data Store Database Server ODBC 1. Upload Rows Synchronization Server Smart Client 2. Download Rows smart 3. Confirm Receipt
Data Synchronization Integration Features Synchronize to industry standard databases Oracle8, Microsoft SQL Server, IBM DB2 UDB, Sybase ASE, Sybase ASA Synchronization scripts are in native language of the enterprise database Synchronize to other enterprise data sources SAP, Siebel, PeopleSoft etc Accommodated using adapters in server All synchronization is bi-directional
Data Synchronization Simple Example The upload_cursor script is used to insert, update, or delete rows in the consolidated database The download_cursor script is used to insert or update rows in the mobile data store SELECT emp_id, emp_fname, emp_lname FROM employee WHERE emp_id = ? SELECT emp_id, emp_fname, emp_lname FROM employee
Data Synchronization Key Features Security Built-in authentication 128-bit encryption of communication between client and synchronization server Support for subsetting of data Support for horizontal and vertical partitioning of data Scalable Support for thousands of remote users
Data Synchronization Conflict Detection Features Conflicts arise when sending data to enterprise database Data Store maintains old value and current value Synchronization server compares old values with consolidated database If old values match there is no conflict If old values do not match there IS a conflict Conflict Resolution Fully customizable by developer Scripts written in native language of enterprise database Can execute stored procedures or user-defined resolutions steps
Building Smart Client Applications Data Synchronization
Messaging Message Delivery Store and forward message queuing Guaranteed message delivery Push capabilities Delivery and non-delivery acknowledgements Intelligent (program to program) Messages can be used to alert users or to initiate and action, such as data synchronization Store and Forward: Uses queues on both server and client to store messages when the user is out of coverage or offline; Messages are transparently pushed when the network connection is available Push Message Delivery: supports asynchronous environments
Messaging JMS Interface JMS provider for Messaging Server Asynchronous communication from enterprise applications to wireless devices Or between enterprise applications Properties are exposed for communication IP address Server port Provider name Messages can be used to alert users or to initiate and action, such as data synchronization Store and Forward: Uses queues on both server and client to store messages when the user is out of coverage or offline; Messages are transparently pushed when the network connection is available Push Message Delivery: supports asynchronous environments
Messaging Services Network and Device Support Networks ARDIS, Mobitex, CDPD, DataTAC, NORCOM, Analog cellular, GSM, CDMA, Wireless LAN Paging networks HDML alerts, email, SMS Devices Palm, PocketPC, DOS, Windows, EPOC, RIM, phone
Summary
iAnywhere Solutions m-Business Platform
m-Business Platform Key Features Data synchronization services Messaging services Content delivery services Enterprise integration services Application services End-to-end security Wireless gateway services Connectivity: Internet Protocol (IP) connectivity across a diverse set of wireless networks Synchronization: Users can remain productive, even without a network connection Messaging: Secure store-and-forward queuing, push messaging Enterprise Integration: Open enterprise integration into corporate database systems, ERP systems, business applications and messaging systems Content Services: Deliver device-appropriate content to a variety of wireless devices Application Services: Reliable, scalable and available environment with session management capabilities Security: Flexible and open standards approach
Data Synchronization Services Mobile Data Store High performance SQL compliant Customized for your application Data Synchronization Scalable, reliable bidirectional synchronization Script based, written in the native language of the RDBMS Advanced conflict detection and resolution Scripts use standard SQL Enterprise events can initiate data synchronization
Messaging Services Store and forward message queuing Push message delivery Guaranteed message delivery Delivery and non-delivery acknowledgements Intelligent (program-to-program) or simple (e-mail, SMS, paging) Messaging architecture based on Java Messaging Service (JMS) Messages can be used to alert users or to initiate and action, such as data synchronization Store and Forward: Uses queues on both server and client to store messages when the user is out of coverage or offline; Messages are transparently pushed when the network connection is available JMS: offers network and device independence – standards based
End-to-End Security Open standards-based approach allows for integration with existing security systems Addresses new security issues unique to wireless environment Integrates with existing firewall, Virtual Private Network (VPN) and PKI technologies Supports WTLS for encrypting communication with WAP-enabled devices New Issues: Data synchronization; Encryption; Server-side authentication Flexible options for user authentication and role-based security Security management tools simplifies tasks such as adding SSL support to applications Integration with existing security systems Open, standards-based approach Provides for integration of firewall and Virtual Private Network (VPN) technology Native support for the Entrust PKI Enables powerful Entrust features such as single sign-on, key backup, key renewal
End-to-End Security Authentication, Authorization, Encryption Flexible options for user authentication Several options for role-based security Simplifies adding SSL support to your applications Security management tools Data Synchronization Full user authentication 128 bit encryption using Certicom
Summary Smart Client applications provide ‘always available’ access to your data Mobile data store Enterprise synchronization Advanced messaging Overcome the challenges of wireless computing Low bandwidth Unreliable coverage Battery consumption
iAnywhere Solutions Highlights Ask the Experts - about Mobile & Wireless Solutions Mezzanine Level Room 15B Mon./Tues. 11:30 am - 3:30 pm; Wed. 11:30 - 1:30; Thurs. 9 am - 12 noon Exhibit Hall - Demo Center (truck) exhibit hall hours SIG (Special Interest Group) Tuesday 5:30pm Mobile & Wireless SDCC, Upper level, Room 11 Keynote - Enabling m-Business Solutions Wednesday 1:30 pm - 3:00 pm iAnywhere Solutions Developer Community Excellent resource for commonly asked questions, newsgroups, bug fixes, newsletters, event listings - visit www.ianywhere.com/developer There are a number of iAnywhere Solutions activities going on this week -- some to note are; We have a room that is exclusively for Asking our Mobile & Wireless experts about any design, development, deployment -- any questions you have! Please feel free to drop by at the times listed on this slide. There are two locations for this expert area, Mezzanine Level, Room 15B, as well as outside our iAnywhere Demo Center (truck - pictured here) You can also see the latest mobile & wireless technology demos inside this truck - please drop by during exhibit hours Special Interest Group meeting on Mobile & Wireless is Tuesday evening The Keynote address on Wednesday afternoon is Enabling m-Business Solutions -- don’t miss it, you will find it both informative, and entertaining! And, don’t forget about our great Developer Community, an excellent resource for questions, newsgroups, bug fixes and more -- the website is listed here, or we do have more information available at the iAnywhere Demo Center (truck)
Questions?
EM424 Building Smart-Client Wireless Applications Alex Reif Product Manager iAnywhere Solutions areif@sybase.com