Platform:DB2 Family

Extending DB2 data to mobile devices

Leon Katsnelson IBM Toronto Lab leon@ca..com Session: E04 Tuesday, October 25 8:30 AM - 9:30 AM Room 5

1 This session …

… will not have marketing charts on why mobility is important … will tell you how to make things happen. No previous experience with mobile devices or programming is required. Materials are targeted to DB2 professionals. • Mobile application architectures and factors that drive selection of one architecture vs. another • Connectivity choices and criteria • Examples of application development tools and processes in simple language …will use demos to illustrate the concepts and to show how DB2 professionals can get started with mobile applications

2

2 What kind of mobile applications are we talking about?

• Applications that utilize mobile devices as one of its components • Performs business function (Java games not included) • Allows user to perform business transactions • Goes beyond email, PIM and voice • Rely on enterprise data to achieve its objectives

3

3 Mobile Devices What really matters

• Connectivity • Form factor • Battery life • Availability of peripherals • Barcode, RFID scanners • Printers • Cameras • Operating system • Provisioning and maintenance • Security

4

4 Mobile Devices Connectivity

• On-premises: Wi-Fi • Wi-Fi is very inexpensive and is now considered secure • Most modern mobile devices have Wi-Fi capability built in or can be retrofitted with via cards etc. • Mobile Wireless • Lower speed wireless (GPRS, EDGE) is widely available • Higher speed rollouts picking up speed with UMTS, HSDPA and EV-DO • Newer devices are starting to come out with high speed data built in

5

Deploying on premises wireless is no longer a question for any organization. With the Wi-Fi network gear being very inexpensive and with the recent security protocols greatly improving Wi-Fi security reputation, Wi-Fi has become ubiquitous in the enterprises. Majority of business mobile devices come with Wi-Fi built in. Even BlackBerry has a device with Wi-Fi built in. Companies can often count on Wi-Fi for off premises connectivity for traveling workers. There is relative an abundance of public Wi-Fi hotspots where secure VPN communications can be obtained. However, coverage is not wide enough for off- premises mission critical applications. Wireless (cellular) data technologies is the natural choice for off-premises mission critical applications. There is reasonable coverage for low speed wireless data with GPRS and x1 RTT. The 3G wireless data technologies such as HSDPA and EV-DO are delivering speeds that approach broadband to wireless devices. Coverage is currently very sparse but it appears that we are on the verge of major rollouts by all of the network operators world wide.

5 Wireless Technologies High-Speed Downlink Packet Access • Mobile broadband at ADSL speed • HSDPA is an enhancement to WCDMA, a technology that is also referred to as UMTS (Universal Mobile Telecommunications System), the 3G path chosen by most GSM operators around the world. • Europe • T-Mobile trials start in Sept. 2005, roll out in 2006 in Germany, Netherlands, UK etc. • Vodafone Italy conducting demonstrations/trials • Austria: mobilkom, tele.ring • Russia: Mobile TeleSystems, MegaFon, VimpelCom • Israel: Partner Communications • mmO2, Orange • North America • Cingular Wireless began trials in US • Rogers “has plans”

6

High-Speed Downlink Packet Access (HSDPA) is an upcoming standard for data transmission over GSM networks. We can transmit data over the cellular network today, but it's considerably slower than Wi-Fi and not really much use for Internet access from a mobile computer. The first version of HSDPA will have a theoretical top speed of 1.8 megabit per second. In real-world usage on a busy cell, it will probably deliver more like 700 or 800 kilobits. That's not as fast as Wi-Fi, but it is as fast as many hotspots, because the bottleneck for hotspots is often the backhaul to the Internet. And it's also not the whole story, because future generations of HSDPA are expected to double the top speed at least twice, eventually reaching 7.2 megabits per second, which would outrun DSL and cable modems. HSDPA technology is an optional upgrade available for WCDMA/UMTS networks and terminals. It offers a seven-fold increase in theoretical data speeds (14Mbps) for the downlink compared to today's WCDMA networks (2Mbps). In real life, these theoretical maximum data rates are rarely achieved, but the practical performance of HSDPA can be compared with current ADSL broadband, whereas WCDMA is more comparable to basic ISDN. HSDPA not only offers higher raw data rates but also it is much better designed to handle IP traffic. Therefore, end-users will experience faster response times and shorter download times. They can also download packet-data over HSDPA at the same time as having a speech call. HSDPA is an enhancement to WCDMA, a technology that is also referred to as UMTS (Universal Mobile Telecommunications System), the 3G path chosen by most GSM operators around the world. Today, there are already some 75 UMTS networks in operation around the world. In the US, Cingular (via its purchase of AT&T Wireless) has UMTS available in six cities. However, the company is planning an aggressive deployment of HSDPA, with 15 to 20 cities planned by the end of 2005 and most major metropolitan areas by the end of 2006. The six cities with current UMTS service will be upgraded to HSDPA as well.

6 Wireless Technologies WiMax • Initially being deployed as a wireless backhaul solution • Will be deployed as a mobility application starting in 2007-2008 when the 802.16e standard is ratified and WiMax-capable devices are available. • WiMax has been greatly over hyped • There are many pre-certification deployments but certification has been delayed i.e. network rollouts are delayed • Intel is a major backer

7

WiMAX is initially being deployed as a wireless backhaul solution, but will be deployed as a mobility application starting in 2007-2008 once the 802.16e standard is ratified and WiMAX-capable devices enter the market. WiMax has been greatly over hyped and at the same time has been plagued by delays. Inability to meet these exaggerated expectations can put it on the endangered list. Intel has thrown its weight behind WiMax. Since Intel is a major provider of chipsets for mobile devices and carrier gear, this may prove to be the most important factor for the viability of WiMax.

7 Wireless Technologies OFDMA • Flarion’s Proprietary technology • Qualcomm is purchasing Flarion for $600 million • T-Mobile trials in the The Hague, the Netherlands: • Impressive speeds: • downstream speed 1.5Mbps, • upstream speed 500kbps, • latency 30ms • 18 cell cites • 200 Enterprise Customers • Other trials/deployments by Telstra, Vodafone, Digita (Finland), Citizen Wireless (USA) , Cellular-One (USA), Nextel (USA) • OFDMA variant of OFDM is considered by many to be one of the most promising 4G wireless technology • It is going to take a while before any of us can use OFDMA. Carriers are too busy with HSDPA deployments

8

The progress in wireless technologies is not stopping. Wireless equipment maker, Flarion, brought to market its proprietary Flash OFDM technology which is showing great promise. The basic OFDM technology is already used as the radio interface in fixed wireless for 802.11g and 802.11a, for digital TV broadcast systems such as Digital Video Broadcast (DVB), and for Fixed WiMax systems based on the 802.16-2004 standards. Qualcomm has entered in to an agreement to purchase Flarion and transaction is expected to close before the end of 2005. Many expect that Qualcomm will champion OFDM as the next iteration of its wireless technologies. OFDMA,

8 Mobile Devices Common form factors

• Tablet PC • Function specific data terminals • PDA • Smart Phone

9

Mobile devices come in many form factors. Along with available connectivity, form factor is often the determining factor for choosing one device over another for an enterprise application. When it comes to mobile devices many people think of consumer devices and PDAs and smart phones are the first devices that come to mind. In commercial world, however, devices such as tablet PCs and mobile data terminals play an important role. Commercial deployments often value attributes of specific form factors that are not important in consumer devices. For example factors such as impact and vibration tolerance, water resistance, ability to function in harsh environmental conditions that include low or high temperatures etc. are all key to many applications. Other form factor attributes such as vehicle mounts, “wearability”, ability to perform operations with one hand, availability of keyboard and handwriting and voice input, ability to provide good visibility in low and bright light and so on all play a very important role. At the same time, many knowledge workers can be well served by consumer grade devices such as PDAs an smart phones, however, many IT considerations still apply. For example, guarding against device loss, over the wire device provisioning, support by the chosen carrier and ability to get support while out of the territory of the network carrier (roaming).

9 Mobile Devices Operating systems

• Windows XP Tablet PC Edition • Windows CE: Windows Mobile 2003, Windows Pocket PC Phone Edition, Windows Mobile 2005 • RIM BlackBerry OS • Palm OS • Symbian • Linux

10

Unlike the world of the PCs and servers, the choice of the operating system for the device is not nearly as important. The choice of the OS is almost always made by the device manufacturer. Therefore device operating system is pretty much determined by the choice of he form factor. For example, choosing to use Tablet PC almost guarantees that Windows XP Tablet PC Edition will be the target device operating system. On the other hand, choosing a function specific data terminal will most likely mean that a variant of Windows CE will be running on the device. Choosing RIM BlackBerry means that BlackBerry OS will be the target platform. At the same time, a choice of Nokia phone as the mobile platform will lead to the use of Symbian OS. Other OS choices include Palm OS and Linux. Both have become niche players. Palm OS is pretty much dead as the commercial device OS and with the Palm company embracing Windows Mobile 2005 for the new Treo Smart Phones it is questionable if it can survive even in the consumer market. Linux is used by a number of consumer mobile devices and its use is growing however it pails in comparison to the share that the other OS such as Symbian and Windows Mobile have garnered. In he commercial space, it is almost completely absent. Most industrial device manufacturers (eg. Symbol) have standardized on Windows CE derivatives.

10 Tablet PC Form Factor

• Great for applications where size and handwriting is an asset (eg. rich client) • Option of using keyboard or handwriting • Insufficient battery life • Regular PC hardware and Windows XP • Excellent connectivity • IT organizations familiar with security, provisioning and ongoing support

11

Tablet PC has proven to be a very popular portable device form factor in many industries but especially in medical, pharmaceutical and life sciences, education, government and many others. Tablet PC is prized for its large display and ability to use it with both a keyboard and stylus. These attributes are key for rich client applications that make extensive use of graphics (eg. display X-rays or a patient chart) and require filling out of complex forms etc. Tablet PC are well suited as portable devices especially when used on premises as they provide excellent connectivity via Wi-Fi. Because Tablet PCs are basically a variation of a standard notebook PC, they are easily accommodated in to existing IT infrastructure.

11 Tablet PC Enabling for DB2 applications

• Always connected: • Client-server apps i.e. regular Win XP client (rich client) • Web-based apps • Occasionally connected: • DB2 Personal Edition • DB2 Everyplace • Cloudscape • Other considerations: • Use of stylus for writing • Character recognition • Most likely will have Wi-Fi

12

When it comes to building applications, Tablet PC provides a very easy target due to two main factors: 1. It is basically a Windows XP PC, and 2. It most likely has excellent network connectivity. As a result, most DB2 applications built for Tablet PC are identical to client applications built for any Windows PC. In other words, most are rich client applications with ADO.NET, ODBC, OLE DB connectivity to DB2 servers. Alternatively, it can be used as a client for web-based applications because of its always connected nature. The only distinguishing features typically deal with handwriting recognition and digital ink. There are situations where tablet PC acts as an occasionally connected device. In these cases, a local data store is required. DB2 Personal Edition, DB2 Everyplace and Cloudscape can all fill this role and data replication and synchronization functions can be used to synchronize data and transactions when Tablet PC has connectivity.

12 Demo

Building a simple “Always Connected” Tablet PC DB2 application

13

13 Function specific data terminals, PDAs and Smart Phones

• Lots of choices for both hardened industrial devices and consumer grade devices • Selection of peripherals: • printers, • barcode, RFID scanners • Magnetic stripe and smart card readers encoders • Vehicle mounts/power • Most are Windows CE based • Typically have good on-premises connectivity i.e. typically always connected

14

14 Data terminals, PDAs and Smart Phones 3 Application models

• Terminal: • Citrix, • Windows Terminal Services • Always connected applications • Browser-based apps using HTML, WML etc. browser to display UI • Device appliations • Occasionally connected with local persistent data store

15

15 Data terminals, PDAs and Smart Phones Device as a terminal

• Citrix, Windows Terminal Services project Windows console on to a device • Very high bandwidth uninterrupted connectivity is a must • No application code of any kind on the device • Terminal server has a virtual image of the user and runs all of the code

Terminal Server Runs Application code Windows console

DB2

16

16 Data terminals, PDAs and Smart Phones Always connected Web-based applications

• Device is simply a web browser that renders application UI • Device can be any OS or even no OS at all (e.g. regular cell) • No device code. Application code is regular HTML, WML formatted to fit the device screen better. Use JSP, PHP, ASP.NET etc. to build • HTTP Connectivity required between the device and the web server • No integration with built-in device functions Web Application Web Server browser

DB2

17

17 Data terminals, PDAs and Smart Phones Always connected device applications

• Device runs application code (typically UI only) • Device has to have an OS suitable application development (e.g. Windows Mobile, Palm OS, Symbian, Linux) • Connectivity required between the device and the app. server • Full integration with built-in device functions possible Application Server Device specific code

DB2

18

18 Demo

Building a simple DB2 web application for the mobile device

19

19 DB2 and ASP.NET Mobile Applications What will you need • Non-DB2 Development Tools • Visual Studio .NET 2003 • ASP.NET Mobile Controls (http://msdn.microsoft.com/mobility/othertech/asp.netmc/default.aspx) • Device emulator: • OpenWave Phone Simulator http://developer.openwave.com/dvl/tools_and_sdk/openwave_mobile_sdk/phone_simu lator/index.htm) • IDE integration: http://developer.openwave.com/dvl/tools_and_sdk/ide_integration/ • DB2 Development tools • Application Development Client • Access to a DB2 family server

20 http://samples.gotdotnet.com/mobilequickstart/(kd3cyz45qnf5laeq134zf4qg)/default.aspx

20 ASP.NET Mobile Controls

• Enables ASP.NET to deliver markup to a wide variety of mobile devices. Devices do not have to be .NET or other MS technologies enabled. • See list of tested devices at http://www.asp.net/mobile/testeddevices.aspx?tabindex=6 • ASP.NET Mobile Controls are a part of the Microsoft .NET Framework 1.1. You will want to get device updates from the ASP.NET Mobile Controls Device Updates web site http://msdn.microsoft.com/mobility/othertech/asp.netmc/mobileweb/aspmobiledrivers /default.aspx • Get additional info from ASP .NET Mobile Controls web site http://msdn.microsoft.com/mobility/othertech/asp.netmc/default.aspx

21

The mobile controls deliver markup language specifically adapted for each browser that accesses the application.

21 DB2 applications for occasionally connected devices

Sooner or later you are going to find that you need to have persistent data on the device. And when you do, you will also find that this data has to be synchronized with your enterprise data

22 DB2 Mobility on Demand / DB2 Everyplace Solution for device data storage and synchronization

1. DB2 database for mobile and embedded platforms • Very small: ~200KB on the device • Rich relational capabilities - SQL92/99 compliant subset • Per table data encryption • Extensive device support • Easy Application: .Net, C/C++, VB, Java 2. Synchronization Server: • Multi-platform: Windows, Linux, AIX, Solaris • Multi-data source: DB2 Family, MS SQL Server, Oracle, Informix, Sybase, Domino DB

23

23 DB2 Mobility OnDemand and DB2 Everyplace Components

Component Name Description

Database Engine DB2 Everyplace High performance data store for managing and using Database data on mobile and embedded devices

Synchronization Server DB2 Everyplace Mobile user management and synchronization of Sync Server enterprise data with mobile and embedded devices

DB2 Everyplace FREE Application Development Tool RAD tools, development plug-ins, whitepapers and Software Development Kit samples enabling developers to create DB2 Everyplace applications quickly

24

DB2e really comes with 3 components. The DB2e database, the DB2e SyncServer (along with the Mobile Devices Administration Center (MDAC)), and the DB2e MAB. A version of DB2e is available without the SyncServer, for imbedded solutions that do not require synchronization, but do require relational data storage.

The MAB can be downloaded free of charge at: http://www- 4.ibm.com/software/data/db2/everyplace/downloads.html.

24 DB2 Everyplace Database What devices?

25

The DB2e database is supported on the most popular operating systems, including:

Windows 9x, ME, NT, and 2000 Linux and embedded Linux Palm OS QNX Neutrino Symbian EPOC V5 Symbian V6 (Quartz and Crystal)

25 DB2 Everyplace Database What devices?

• Windows PC, notebooks, Tablet PC etc.: • Windows XP • Windows XP Tablet PC Edition • Windows Media Center Edition • Windows XP Embedded • Embedded Devices: • Windows CE • QNX Neutrino • PDAs • Windows Mobile • Palm OS • Linux • Smart Phones • Symbian • Windows Mobile • J2ME MIDP devices

26

26 The DB2 Everyplace Database in a Nut Shell

• Design Objectives • ZERO administration on the mobile device • Smallest mobile relational database available • Approx. 180-220KB: but a true database server unlike other offerings • High performance design using main memory database techniques, scrollable cursors, and advanced indexing • Support for relational operations: DDL, DML, DCL, Join, Group By, Order By etc. • Support for table-level and over the wire encryption • Very fast performance • Interfaces for C/C++, JAVA, DB2 CLI/ODBC, .NET, ODBC driver on Windows and JDBC • Globalized for major languages (NLS)

27

This slide presents the key points and strengths of the DB2e database.

27 DB2 Everyplace Database DB2 persistent data store for mobile devices

• Small-footprint relational database (approx. 200KB) and enterprise synchronization architecture for mobile and embedded devices. • Components written in Java, while the engine is written in C for performance gains • Mobility on Demand is: • Easy to use with standardized interfaces: CLI, ODBC, JDBC, ADO, ADO.Net • Easy to write applications for: C, C++, Java, .Net, and MAB • Easy to deploy with existing enterprise applications: a subset of the ASNI standard DB2 SQL language • Extensible with adapters – open adapter framework and published APIs • Its DB2!!

28

So, now that we recognize the need for IT to participate in pervasive computing, what companies are supplying the infrastructure upon which the next generation of “killer apps” can be built.

For mobile relational , IBM’s solution is DB2 Everyplace (DB2e). DB2e offers the smallest footprint of any mobile database (at 150K) and the most scalable and robust synchronization solution in the industry.

The DB2e components are all written in Java, with the exception of the engine. The DB2e engine is written in C for performance gains, since the Java implementation on mobile devices like Palm OS isn’t mature enough to handle the performance demands for today’s e-business requirements. An implementation of the DB2 Everyplace engine on Java is also available (formerly known as the Informix Cloudscape offering) for environments where a suitable Java environment exists (such as a laptop).

DB2e is easy to use. Developers will be happy to know that JDBC and CLI/ODBC are the interfaces used to access the databases. This means they can quickly adapt to this new environment without the need for new skills

Applications are easily written for DB2. You can write applications using native programming languages like JAVA, C, or C++ using standard off-the-shelf development tools. On Palm OS, DB2e even comes with the Mobile Application Builder (MAB), which is a point-and-click CASE tool that can be used to rapidly build or prototype applications. 28 Managing Device Data Store DB2 Everyplace Database Autonomics Features Self Configuring Self Healing

  Zero admin database with self- Automatic "resume" if canceled/failed reclaiming unused space  optimized recovery of messages  Guarantee data delivery to the  Automatic retry upon network errors source database during sync  Automated management of DB2 functions on sync  Intelligent defaults (out of the box) Self Optimizing Self Protecting

 Auto-increment in “Identity Column”  Table level encryption fordata on device for table creation  End-to-end encryption  Configuration Advisor Wizard  Password protection with encryption  Automatic database REORG after  synchronization Removable memory card support  Automatic removal of server traces, logs and outdated data

29

DB2 Everyplace database is designed to be deployed to mobile devices … hundreds or even thousands of mobile devices. Obviously having database administrators manage thousands of databases is not practical no matter what kind of tools are available. DB2 Everyplace Database employs autonomic features to ensure that no human interaction is required for maintaining a healthy well performing and protected data store on a large number of distributed and often disconnected devices. DB2 Everyplace Database autonomic features are group in to four main areas: 1. Self Configuring 2. Self Healing 3. Self Protecting and 4. Self optimizing

29 DB2 Everyplace Database SQL Programming • Data Definition Language (DDL) • CREATE TABLE with encryption, DROP TABLE,CREATE INDEX, DROP INDEX, etc. • CHECK Constraints, DEFAULT VALUE, Identity Columns • Multiple-column primary key, foreign key & Bi-directional indexes • SMALLINT, INT, DEC, CHAR, VARCHAR, BLOB, DATE, TIME, TIMESTAMP • Data Manipulation Language (DML) • INSERT, INSERT w/ SUBSELECT, DELETE, UPDATE IN predicate, LENGTH, RTRIM, etc. • SELECT (records), Scrollable Cursor, JOIN, LENGTH, RTRIM • IN list, GROUP BY, ORDER BY • Scrollable Cursor, Joins • Expression and aggregate functions

30

The pervasive market operates in a constrained environment. Palm Pilots and cellular phones can only store so much memory (though this is changing with Flash memory support) and their displays are only so powerful. For this reason, DB2e was designed to minimize footprint and offer zero administration on the pervasive device. While maintaining minimal footprint, DB2e still has to have the power of a relational database system. This slide shows the DDL and DML (along with data types) that are supported in DB2e.

30 DB2 Everyplace Database SQL Programming (continued)

• Transaction support – includes AUTOCOMMIT • Remote stored procedure call • Automatic Online REORG • Reclaims space: tries to use it for new data before truncation back to O/S • All without user intervention • SQL EXPLAIN: Check for index usage for SQL statement • Utilities • List Index - "list index TABLE-NAME" in CLP return list of indexes • Cleanup database – BLASTDB in CLP drops all tables in database • IMPORT/EXPORT, etc. • Languages supported (SBCS, DBCS, and UNICODE engine) • Arabic, Chinese (Simplified/Traditional), Czech, English, French, German, Hebrew, Italian, Japanese, Korean, Spanish, and Polish

31

More features of the DB2e database.

31 DB2 Everyplace Database Programming: Remote Stored Procedure Adapter

• Allows devices to execute stored procedures on a remote database (RSPs) for real-time query or transactions • Parameterize a RSP that encapsulates a query and store it on the server • Real-time mobile BI with data mining algorithms for fraud detection via Web Services etc. • Allows a DB2e application to create a new database handle while maintaining its existing handle with the local DB2e db. • Result set stored locally in temporary DB2e table.

A doctor has a PDA application that allows her to write prescriptions and check allergies to drugs. Due to security reasons, patient data cannot be stored on the PDA. The RSP Adapter allows the doctor to run a stored procedure on the PATIENT database and retrieve a drug history for that patient, including allergies - then prescribe a drug at the touch of a button 32

The DB2 Everyplace engine has a Remote Query & Stored Procedure adapter. This adapter allows a DB2 Everyplace application to open a new database handle while maintaining its existing handle with the local DB2 Database. This new database handle is used to make a query to a remote database and receive the data back into a DB2 Everyplace table for local manipulation.

32 DB2 Everyplace Database Extended Data Storage support

• DB2 Everyplace supports ubiquitous memory expansion media via secondary storage and extended storage APIs • IBM Microdrive • Compact Flash • Sony Memory Stick • S/D MemoryCard • MultiMediaCard • Connect to expansion paths via SQLConnect() statement • Specify a server name of the form "#:/path/“ • Some PDAs support more than one expansion slot (ie/ Palm OS V4) • use "#0:/path/", "#1:/path/" to specify slot • Read only media support • When possible, stored in O/S native record storage format for better performance • Palm and Windows CE have record storage versus regular file system storage

33

DB2 Everyplace supports Compact Flash devices by using the Palm OS V4 Secondary Storage API to support all secondary storage types implemented on Palm OS. This allows DB2 Everyplace to support databases residing in the TRG Pro Compact Flash slot or newer devices’ expansion slots such as Sony CLIE Memory Stick slots and upcoming Palm devices’ SD Card slots. This enables DB2 Everyplace to store data on Memory Sticks, Compact Flash Storage Cards, IBM Microdrive (a Compact Flash device), MMC Storage cards, SD Storage Cards.

33 DB2 Everyplace Database More on Data Storage support • Can run DB2 Everyplace on Windows, Linux, and Neutrino devices directly from read-only media such as CD-ROMs DVDs, and ROM chips in embedded devices • Example: Quarterly updates for insurance quotes for a sales field that does not have reliable real-time connections • Data could be stored on CD and DB2e engine and application on device • Data,DB2e engine, and application could be on a CD-ROM • Allows you to run DB2 Everyplace applications without deployment considerations or wrappers around applications • No installation • No maintenance • No prerequisite of database

34

The DB2 Everyplace database and an application can now be run directly from read-only media such as CD-ROMs or ROM chips in embedded devices. A quarterly product catalog distributed on CD-ROM to sales representatives in an example of such an application. Each quarter the Sales Rep receives a CD-ROM containing the complete company product catalog and a DB2 Everyplace application to browse, display, and query product information for products meeting a customer’s specific needs. The DB2 Everyplace application runs directly from the CD-ROM without having to be installed on a workstation first.

34 DB2 Everyplace Database Query By Example

• Visual Table Browser look at your data without writing a single line of code • Scroll through data using table or record views • Horizontal and vertical scrolling via scrollable cursors • SELECT, INSERT, UPDATE, DELETE rows or fields • Navigate table relationships using primary/foreign key links (business rules through referential integrity, etc.) • Filter data based on multiple criteria • Sort columns in ascending/descending order • Includes a command line processor (CLP) • Available for PocketPC/Windows CE on Web

35

On PalmOS, DB2e comes with the Query By Example (QBE) tool. This tool can be used to look at data without writing a single line of code or issuing a single SQL statement.

35 DB2 Everyplace Database Command Line Processor • Use like any CLP • Now an application, no longer a sample • Support a wide array of commands • Export/IMPORT • BLASTDB • LISTINDEX • AUTOCOMMIT OFF/ON • ROLLBACK WORK (or ROLLBACK) • COMMIT WORK (or COMMIT) • VERSION • ENABLE PHYSICAL DELETE • DISABLE PHYSICAL DELETE • ENABLE REORG • EXPLAIN • DISABLE REORG …

36

36 DB2 Everyplace Database Mobile Application Builder (MAB)

• Enables mobile application development without writing a single line of code in PRC and Java format • AppForge Booster support for agnostic application development • Free download from the Web • Point-and-click application development tool • Ships powerful sample applications as MAB project files and tutorials, as well as white papers on application development in various environments

37

This slides presents the key points and strengths of the DB2e MAB.

37 DB2 Everyplace Synchronization Server DB2 Handles the Synchronization Logic

• Secure bi-directional synchronization of to DB2 Family and other JDBC-compliant data sources • Support for high availability clustering of SyncServer farms and online administration • Efficient messaging and fast performance for synchronizations • Adapters can be written to access any data source. • Adapters provides for file, DB2, or any JDBC-compliant data source • Supports SyncML-frameworks • Centralized administration through the MDAC - zero administration on client devices

38

This slide presents the key points and strengths of the DB2e SyncServer.

38 39

Client platforms: PalmOS, WindowsCE/PocketPC/Windows 32-bit, Symbian V6, QNX Neutrino, embedded Linux, Linux, Windows & J2ME MIDP

SyncServer platforms: Windows, AIX, z/i/xLinux, Solaris

39 DB2 Everyplace Database and Sync Server Security

• Security and accountability is one of the premier concerns for pervasive applications • Government regulations – HIPAA, Sarbanes/Oxley, Patriot Act • Break down into 3 distinct categories • DEVICE: A lost or stolen device's data is protected by native device security functions (user name, password, etc.). Encryption of local data supported at the table level. • TRANSPORT: Data communication between a device and server is protected by encrypted messaging and queuing. A communication channel should additionally be protected using a Point-to-Point Tunneling Protocol (PPTP) or Virtual Private Network (VPN) connection. SSL is supported. • SERVER: Group and User access is controlled by the server. Device users cannot gain access to data that they are not authorized to receive. The Device ID controls hardware access to prevent movement of user ID and password to different devices.

40

The security options available in DB2e.

40 DB2 Everyplace Value Proposition

Mobile Info Management for Enterprises of Powerful Bi-direction Synchronization Solution All Sizes • Reliability ensured • 250KB footprint zero admin database to fit on • Supports JDBC compliant data sources resource-constrained mobile devices • Advanced conflict detection with logging and • Table level encryption data protection for the customized resolution most sensitive data

Application Development Freedom • Tight integration with key development platforms such as .NET and J2EE • Support the popular Integrated Development Environment such as RAD, WSDD, Eclipse and Visual Studio.NET and third party mobile application development tools • Support popular languages including Java, Visual Basic, C/C++ and .NET

Investment Protection Simple to Install, Manage and Deploy • Open standards compliance  Easily scalable to support enterprise mobility • spanning all major mobile devices from requirement on demand handhelds to smart phones and beyond Autonomic  Zero administration database • Multi-platform synchronization server support Computing  Simple installation and configuration out-of- • Award winning 24 X 7 product support for your the-box peace of mind  End-to-end encryption support

41

41 Always Connected Devices Content delivery format

• XHTML Mobile Profile 1.0 (XHTML-MP) with Cascading Style Sheets (CSS), and • Wireless Markup Language (WML)

42

42 BlackBerry Form Factor

• Very popular with knowledge workers and highly addictive • Push email and PIM are key features • Single hand operation and usable (almost) keyboard • Long battery life • More then just a device: a complete end to end system

43

43 BlackBerry 2 Distinct Types of Service

• BlackBerry Internet Service • Wireless email, phone and data for individual users and small business • Hosted email integration (AOL, Hotmail, POP3 etc.) • Internet connectivity and HTML support • Java J2ME apps can connect directly to the internet • BlackBerry Enterprise Solution • Designed for enterprise customers • BlackBerry Enterprise Server installed behind the firewall and integrated with corporate servers (eg. Email server) • Provides secured connectivity to INTRAnet for browsers and applications

44

44 BlackBerry Enabling for DB2 applications

• 3 Application types: • Client J2ME applications • BlackBerry (web) browser applications • New with MDS Studio 4.1; Rich-Client applications • All use BES and MDS (Mobile Data Services) infrastructure

45

BlackBerry offers a very comprehensive and versatile platform for mobile application development. The major drawback is that the target device must be a BlackBerry. There are some non-RIM devices that have licensed BlackBerry software on them but these devices have very limited market presence. BlackBerry devices are not hardened and have limited peripheral support so they are most appropriate for knowledge workers. BlackBerry has for a while now offered programmers 2 ways of building data- aware applications: 1. Custom J2ME applications and 2. BlackBerry browser applications By late 2005, RIM will be releasing a new MDS Studio 4.1 which promises to allow development of rich-client applications using rapid application development techniques and tools without a need to be skilled in J2ME programming.

45 BlackBerry Java J2ME applications

• Provide rich-client user • Requires deep J2ME experience: programming skill. Very • Rich UI hard to find and retain • Off-line data (local cache store, • J2ME programming is not not DB2) for weekend programmers • Responsive the application resides on the device • Need to learn BlackBerry • Fast (can reduce trips across Java Development Kit wireless) • J2ME applications are more • Can be integrated with other complex to deploy and BlackBerry applications manage (email, PIM etc.)

46

46 BlackBerry Java J2ME applications

• Java ME is a standard subset of Java SE API • Popular with mobile device manufacturers • BlackBerry supports MIDP/CLDC 2.0 • BlackBerry-specific extensions to exploit unique features of the device (GPS, VoiceNotes etc.) • Build and test applications using BlackBerry Java Development Environment (JDE)

47

47 BlackBerry Example of a Java J2ME applications

48

48 BlackBerry Browser applications

• Very easy to get an • Can’t integrate with other application up and running device applications (eg. • Lots of qualified developers Email, PIM) (HTML, WML) • Performance can be slow • Simple to deploy and manage • Rudimentary off-line • Some off-line support in capability BlackBerry Browser 4.0 • Ability to push pages out to devices. Deliver messages to a unified inbox.

49

Off-line support in Browser 4.0 includes off-line form submission. Forms can be filled out while out of coverage and submitted when in coverage area. Off-line forms is the only way to have on-device data storage.

49 BlackBerry Browser applications

50

50 BlackBerry Rich-Client MDS 4.1 applications

• Fast easy to build using included IDE (VB-like paradigm) • Uses SOA (Web Services) for integration with enterprise back-end systems and databases (like DB2) • Deploys to the same BES and MDS infrastructure that is used for push email and other applications • Centralized deployment and administration of applications • Best of both worlds i.e. J2ME and browser!

51

51 BlackBerry Rich-Client MDS 4.1 applications

• BlackBerry MDS Studio: • build time IDE • visual drag and drop application creation • BlackBerry MDS Run-time: • resides on the device • provides run-time services for all MDS 4.1 applications • on-device application lifecycle management (deploy, update etc.) • BlackBerry MDS Services: • resides on the BlackBerry Enterprise Server in your IT organization. • handles interaction with DB2 • provides central management for devices and applciations

52

52 BlackBerry Rich-Client MDS 4.1 applications

53

53 BlackBerry Rich-Client MDS 4.1 applications

• Drag-and-drop IDE. No coding required • Applications are assembled from components: • UI Components • Data Components • Message Components • Link components together • Can use JavaScript

54

54 IBM’s Pervasive Computing (PvC) Group Comprehensive mobile applications infrastructure solution

55 IBM Offers a Unified Pervasive Software Stack • Provide the core services necessary to build, deploy, manage pervasive applications • Core features built into every IBM pervasive application • Security • User administration and device management • Optimized protocol and network independence • Addresses the unique characteristics of pervasive solutions • User context - device, task, locale, modality, profile, etc., content adaptation engine and aggregators, data synchronization for data portability, intelligent notification services, assured transactions, connectivity modalities (on-line, off-line, intermittent) • Robust development environments in step with proven application models • Common programming model across elements • Leverage and extend framework for an OnDemand business

56

56 IBM Pervasive Partners

TEMs/Device Partners Wireless Operators

ISVs/ASPs, System/Web Integrators

R/GA INTERACTIVE

US INTERACTIVE

57

57 WES Integration and the IBM Unified Client

WebSphere Everyplace Access Server Browser Access (selected Domino Everyplace devices)

Enterprise 2.7 s

Connected t

e

l t

ie/ WAP r LDAP Directory

IBM Everyplace o

P

Client n o

(Unified Client) i

t

a

c i

Enterprise Sync l

Client p Admin Portlets Admin (PIM, eMail, database) p Services Portlets Services A Enterprise Sync Mobile Notes Client Server WebSphere Portal 4.1 (PIM, eMail, Device Mgmt

Services database) Client technology

Offline Content Connected, Offline Content Transcoding Services Services(PPC) or sync

Native Device SW WebSphere Application Server 4.1 (Browser, PIM, email, ...)

Pocket PC, Pocket PC 2002 Windows 2000

58

58 The IBM Pervasive Computing Solution

DB2 Everyplace DB2 Everyplace IncludedIncluded WebSphere IncludedIncluded Embedded Edition WebSphere Everyplace Server Service Provider Internet WebSphere Applications Micro Environment Offering

Everyplace WebSphere Wireless Gateway Voice / Multimodal Portal Server Support

Server Corporate Platform WebSphere Data Application WebSphere Server Corporate Data Everyplace WebSphere Edge Server

AccessServices Advanced Corporate Unified Client Core Services Core WebSphere Voice Data Tools 2003DB2 Everyplace Server IncludedIncluded WebSphere WebSphere Commerce Suite Everyplace MQ Series Access Lotus

59

59 Connectivity Content Security Application Management Optimization Gateways Adpation Device Access Subscriber Load balancing IT & Content authentication management transformation Web application Caching communications User servlet engine Aplication network interface Personalization Wireless authentication Application management Protocol Reliable WebSphere Everyplace development Device Edge Server translation messaging Authentication tools management Everplace Transcoding Server, Content Tivoli Publisher, MQ Wireless Everyplae development Personalized Series Gateway (GSM, Encryption, tools Services CDMA/TDMA, Everyplace, Firewall Manager, ISDN, GPRS, Everyplace Sync Secureway Support, VPN Directory Everyplace SMS) Manager and support Server Console DB2e SyncServer (LDAP) IBM WebSphere Everyplace Suite Functional Elements

60

Connectivity Everyplace Wireless Gateway: Provides security-rich wired and wireless connectivity between the IT network and the Communications Network (e.g. GSM, CDMA/TDMA, ISDN, GPRS), protocol translation (e.g. TCP/IP - WAP), and support for short messaging (SMS).

Content Adaptation WebSphere Transcoding Publisher: Transforms arbitrary content into a form that can be presented on a device that is different from the originally intended target, such as changing HTML content intended for desktop PCs to WML content suitable for the new class of , fully supporting XML/XSL both directly and via proxy. MQSeries Everyplace: Enables pervasive devices to queue messages and transactions, and complete their completion (once and only once), in a security-rich and efficient manner in both connected and disconnected end user scenarios. Everyplace Synchronization Manager: Enables pervasive devices to operate applications "off-line", and synchronize the results of their activities with a server database when connectivity is re-established. In addition to IBM's own DB2 and other ODBC-enabled relational databases such as Oracle, synchronization support is provided for Microsoft Exchange and Lotus Notes to allow users to synchronize e- mail, calendars, contacts, and tasks. DB2 Everyplace Sync Server: Enables pervasive devices to synchronize rich relational data from enterprise data sources such as DB2 as well as other JDBC- enabled sources such as Oracle, MS SQL Server, and Sybase. Advanced synchronization options such as vertical and horizontal filtering customize data 60 Mobile Devices Symbian-based devices • Symbian handsets shipments triple from last year • Mobile OS developer Symbian said that shipments of handsets running on its mobile OS tripled in the first half of 2005 compared to the same time period last year. In the second quarter, 7.8 million handsets shipped with the Symbian OS, up from 2.4 million a year ago. In the first half of 2005, 14.5 million phones shipped with the Symbian OS, an increase of 191 percent from H1 2004. Symbian also claims traction in the 3G market, with 16 Symbian-powered WCDMA phones now available. • Despite its continued growth, Symbian has yet to capture the mobile phone OS market. Symbian is clearly the mobile OS market leader, but the company continues to face competition from proprietary handset operating systems used by handset vendors and the threat of Microsoft's Windows Mobile.

61

61 What can you build with “Stinger” DB2 for DB2 DB2 (Linux for (partitioned zSeries) zOS across a cluster)

DB2 for DB2 (UNIX) .NET VSE & VM Application DB2 (Windows & Linux) DB2 DB2 for DB2 (Linux for iSeries) iSeries Everyplace

62

62 Web Services .NET DB2 Application WS • DB2 as a collection of Web SQL Services: (turn stored procedures or SOAP WS SQL in to WS) XML • 2 deployment models: UDF • Deploy to Microsoft IIS WS • Deploy to DB2 Embedded SP Application Server (multi-os) • Use DB2 add-ins for Visual Studio .NET to build, test, debug, and deploy • SQL access to WS via DB2 UDFs

SOAPDB2SQLWS . XMLWSSP NADO.Net WS AE SOAPWSWS XML.NET DT O A. 63 Np Ep

63 Enter Web Services

Web Business Container Logic Container WS SOAP API Tran SOAP XML

XML

P

L

A M

O WS

X S API WS SOAP XML SPs

HTTP Server HTML/XML HTTP(S)

firewall

64

64 DB2 and Web Services

Business Business Logic Logic Web Container Container Container SOAP

XML WS WS

P L

A SOAP SQL

O M X S WS XML

WS WS Fnctn

SOAP XML WS SOAP XML SP

HTML/XML HTTP Server HTTP(S)

firewall

65

65 DB2 as a Web Services Consumer

Business Logic Application Container using WS Web Services SQL WS WS WS WS Application Fnctn using WS SQL SP

WS Application WS using WS XQuery

66

66 Summary

• Mobile application development is really not as complicated as it may appear • Building mobile application does not always mean developing for devices. There are several architectures; native device code is only one of them • If you do need or want to write native device code there are tools visual programming tools that do not require deep Java etc. skill • There is DB2 that you can use on mobile devices. It is small, fast easy to work with and fully compatible with your “enterprise DB2” • If you store data on the device, there are tools to synchronize it with your enterprise DB2 • Secure, reliable infrastructure is important. Use what is in place e.g. BlackBerry and remember that IBM offers a complete mobile infrastructure solution for other devices.

67

67 Session: E04 Extending DB2 data to mobile devices Thank You!

Leon Katsnelson IBM Toronto Lab [email protected]

681