Adaptivity Takes New Path to PDA App Development
Adaptivity Takes New Path to PDA App Development
Mobile application developers face tough choices deciding which mobile hardware is the best strategic platform and how to deal with the network connectivity problems that plague mobile workers.
iConverse Inc.s Adaptivity 3.1, which started shipping last month, is built on iConverses Mobile Studio thin-client development tool. Adaptivity enables iConverses thin-client applicationswhich, ordinarily, must have a network connection to the iConverse server to workto run normally on disconnected devices.
Adaptivity applications run locally on a PDA (personal digital assistant) and use a local database to store data if the device is out of range of a wireless link. When the device is back in range, users can initiate synchronization or Adaptivitys client software can do background synchronization. The client software can synchronize based on a timed schedule, when there are pending requests in the queue, when the device enters coverage range or on a server-initiated request.
In disconnected mode, Version 3.1 supports only Pocket PC 2000 and Pocket PC 2002 PDA devices. (Support for Palm Inc. and Research In Motion Ltd. hardware is planned.) Adaptivity applications can also run on Windows 2000- or Windows XP-based laptops, a new feature in this release of Adaptivity. Also new is support for Pocket PC 2002 and for BEA Systems Inc.s WebLogic Application Server.
A key competitive advantage for iConverse is that Adaptivity 3.1 includes all iConverses thin-client development tools. In thin-client mode, it can create Web-style applications for hundreds of devices: a large selection of HTML-, Compact HTML- and Wireless Markup Language-based mobile phones; Palm and Pocket PC PDAs; and RIM pagers. In tests, eWeek Labs could run the same application on connected and disconnected devices, which provides a big development cost savings.
No other mobile application development platform we know of can target this range of devices and styles of operation from a single application code base.
Thick-client competitors, such as Palms Identicon DB, IBMs DB2 Everyplace Mobile Application Builder and Sybase Inc.s iAnywhere m-Business Studio, produce more sophisticated client applications but dont have the breadth of device support with a single code base that Adaptivity has. Identicon requires a network connection to work, while the IBM and Sybase tools use each companys PDA database and allow disconnected operation.
To attain this device independence, iConverse has created its own development tool (see screen) and application scripting language. The language can be extended using Java, or coders can skip iConverse tools and call Adaptivity APIs directly from JSP (Java- Server Pages), but for most, using Adaptivity will require learning its proprietary (but straightforward) language.
Adaptivity requires that database data be retrieved and stored in XML format; iConverse recommends developers write wrapper dynamic Web pages using JSP, Active Server Pages or a similar scripting language for this. Native Java Database Connectivity support in the product would simplify things for developers.
Pricing for Adaptivity starts at $90,000. An Adaptivity test license for pilot projects costs $10,000 for as many as 10 users. Adaptivity requires a Java 2 Enterprise Edition application server and is certified to work with WebLogic or IBMs WebSphere application servers. Oracle Corp. and Microsoft Corp. databases are required on the server.
On the PDA, iConverse uses Microsoft SQL Server CE as its database, although PointBase Inc.s PointBase Micro Java-based database is also an option, as is Microsoft SQL Server 2000 Desktop Engine for laptop users.
iConverse has taken an unusual approach to enable disconnected application support; instead of generating native PDA applications in C or a similar language, the company ported key parts of its Java application server to run on a PDA.
The client applications themselves are still the same Web browser-based applications (in this case, hosted in Pocket Internet Explorer) a user would see when using the online version of the application. In this case, however, the applications Web pages are served from within the PDA itself. To install server applications on the PDA, we simply copied a Java archive file containing Java code and JSP files onto the PDA and registered it there. (This process creates required data tables on the device and creates a link to the Pocket PC Programs menu.)
The iConverse client software installation has a fairly hefty footprint as a result but not as big as we expected, given what it does. The client includes Insignia Solutions Inc.s Jeode Java virtual machine for Pocket PC systems (3,360KB in size) and iConverses SmartClient server, a combination of a mini-Web server, Java application server, message queuing client and SQL database (SmartClient is 2,829KB in size).
iConverse recommends 64MB PDAs be used, but it will run on 32MB systems. We did our testing on a 32MB Hewlett-Packard Co. iPaq 3650 PDA running Pocket PC 2002.
West Coast Technical Director Timothy Dyck is at email@example.com.
: Adaptivity 3.1"> Executive Summary: Adaptivity 3.1
Organizations deploying applications to Pocket PCs using both wireless-enabled and stand-alone devices will find Adaptivitys transparent support for data synchronization, message queuing and local data access a powerfulalthough expensivecombination.
Adaptivity is a big fish in a little pond, so prices are high. Production deployment server licenses start at $90,000 before additional per-user fees. Roll-your-own applications built on top of a PDA-enabled database will be much cheaper in dollar costs but much higher in labor and support costs.
(+) PDA client software is very powerful, including database, message queuing and Web server components; development tool is easy to use and supports PDA and wireless applications.
(-) Supports only Pocket PC 2000 and 2002 clients (BlackBerry and Palm support is planned for the fourth quarter); 64MB of memory is recommended; programming language is proprietary; data sources must return data in XML format.