160 likes | 284 Views
MES908: Mobile Messaging with SQL Anywhere. Roger Kehl Sr. Product Manager kehl@sybase.com August 15-19, 2004. Agenda. What is QAnywhere? Who would use QAnywhere? Why not just roll your own messaging? MobiLink and QAnywhere Architecture QAnywhere Features
E N D
MES908: Mobile Messaging with SQL Anywhere Roger Kehl Sr. Product Manager kehl@sybase.com August 15-19, 2004
Agenda • What is QAnywhere? • Who would use QAnywhere? • Why not just roll your own messaging? • MobiLink and QAnywhere Architecture • QAnywhere Features • Getting started with messaging
QAnywhere is… QAnywhere provides a comprehensive store and forward messaging solution for mobile users. QAnywhere leverages extended functionality in MobiLink that allows it to function as a messaging server. With QAnywhere it is possible to reliably send and receive messages between mobile applications and enterprise systems. • Delivers … • Secure, store-and-forward messaging for smart client applications. • Reliable communication that is tolerant of network faults. • Rules-based delivery of messages between occasionally-connected devices and JMS-based enterprise systems. • Faster time to market. • Reduced risk.
The Enterprise. Unwired. Industry and Cross Platform Solutions Manage Information Unwire Information Unwire People • 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
Target Market • Mobile ASA applications that need to interact with enterprise systems • Don’t want to synch 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
Why not roll your own? • You could! • Many applications do this today and MobiLink has many new features to support this model • However, QAnywhere makes this process much easier • No synchronization scripts required • No database creation required • Transmission rules automatically supported • Transactional messaging automatically supported • Intelligent logic for reading large messages • Message compression automatically supported • Simple connectors to JMS-based messaging systems • Automatic server-initiated synch using pre-built notifier • Register listeners, no polling for messages required
QAnywhere Architecture Moves messages to and from the server-side message store and an external JMS system. Server Message Store Notifies the QAnywhere Agent that messages are waiting on the server for delivery to the client. QAnywhere Notifier MobiLink Server JMS Connector External JMS System Moves messages to and from the server-side message store and the QAnywhere Agent. Listener QAnywhere Agent Moves messages to and from the client-side message store and the MobiLink server. Implements the messaging API and moves messages to and from the client-side message store. Local Message Store QAnywhere Client Application
QAnywhere Feature Summary • Comprehensive messaging API • Transmission rules • Reliable and efficient delivery of messages • Connectors to enterprise systems • Push notification
Comprehensive Messaging API • Application uses QAnywhere API for messaging • Send, receive, acknowledge, set priority, set message properties, etc. • Windows: C++, .NET (C#, C++, VB) • Pocket PC: C++, .NET compact framework
Transmission Rules • Policies • Automatic, on-demand, scheduled, or custom • Rules-based delivery of messages • Based on priority, size, network, day/time, message properties, etc. • Schedule and condition • E.g. • automatic = ias_ContentSize < 100000 and ias_Priority > 7 \ • or ias_CurrentDayOfWeek in ( ‘Saturday’, ‘Sunday’ ) \ • or ias_CurrentTime < ‘8:00AM or ias_CurrentTime > ‘6:00PM’
Reliable and Efficient Delivery of Messages • Gracefully handles network interruptions • Leverages MobiLink capabilities • Resumable download • Transaction-level uploads • Transactional Messaging • Will only deliver a message to an application once all messages in a transaction are received • Message compression • Security • Leverage capabilities of ASA • Optional message store encryption • Leverage capabilities of MobiLink • Optional message encryption
Connectors to Enterprise Systems • A connector properties file specifies how to connect to the external JMS system and the queues to use, compression, etc. • Maps QAnywhere properties to JMS equivalents and vice-versa
Push Notification • Pre-built MobiLink notifier that alerts the QAnywhere Agent that messages are waiting on the server for delivery to the client • Leverages device tracking support in MobiLink • Listener sends info on modem used and IP address and/or SMS number • Can use any configured MobiLink gateway • UDP or SMS
Getting Started with Messaging • QAnywhere is an optional MobiLink feature • Installed as part of SQL Anywhere starting in 9.0.1 • Server and client pieces • Windows and CE platforms • Documentation • QAnywhere User’s Guide • QAnywhere C++ API reference • QAnywhere.NET API reference • Shortcuts to sample projects and test application • Deployment licenses purchased separately
More Information • Note: This presentation is provided for inclusion on the TechWave conference CD so attendees can preview some of the information that will be presented in the session. • There will be additional content and demonstrations when presented at TechWave.