IBM DB2 Everyplace*

Mobile Application Builder, Version 8.1.4

RELEASE NOTES

(c) Copyright 1999-2003 International Business Machines Corp. All rights reserved.
* Trademark of IBM Corporation, Licensed materials - Property of IBM

Before proceeding with this document and the product installation, review the latest version of the README NOTES (readme.html) on the product Web Site at http://www.ibm.com/software/data/db2/everyplace/ It is recommended that  the Web version of these RELEASE NOTES, as well as other product documentation, be used when installing and using the product.

RELEASE NOTES Contents



Mobile Application Builder Release Notes


DB2 Everyplace Mobile Application Builder (MAB) is an integrated development environment (IDE) that allows you to produce complex relational DB2 Everyplace database applications without the need for programming skills or specific target device attribute knowledge. These "thick client" applications are produced in a programming language that allows logic complexity and usability beyond applications that use wireless markup languages. Typically the applications can work with occasional connection/synchronization, and critical data resides locally on the device.

A. Whats New in Version 8.1.4

Browsing to remote database for table metadata

You can now use a live connection to obtain metadata for device-side tables and columns. DB2 and Oracle databases are supported. In previous versions, you were required to supply a table DDL in a text file and import the DDL into MAB. This feature is not documented in the MAB Setup and User's Guide. To import a table from a remote database table:
  1. Provide the path to the JDBC driver on your workstation.
    1. Click File -> Preferences. The Preferences window opens.
    2. Expand the Application node to see application preferences.
    3. Click JDBC driver locaton.
    4. In the right panel, specify the DB2 or Oracle database version, and the directory where the JDBC driver is located.
    5. Click OK.
    6. Restart MAB so your changes take effect.
  2. Right-click Tables in the MAB Project pane, and click Import table from a remote database table from the pop up menu. A Connection window opens.
  3. In the Connection window, select the type of database you want to support, and fill in all other required fields.
  4. Click OK. An Import window opens.
  5. In the Import window, select tables and columns from the Available tables list, and click > to move them into the Tables to import list. You can select a table, which will import all of the columns in that table, or you can select individual columns. You can also select multiple tables or columns simultaneously.
  6. Optional: Rename the table.
    1. Rightclick the table in the Tables to import list. A window opens where you can specify a new name for the table.
    2. Specify a new name, and click OK.
  7. Click Import. The table metadata will be written into a DDL file in the Projects\ directory, and will also appear in the MAB Project pane under the Tables node.

Browsing to remote database to populate tables on an emulator or device

You can use a live connection to obtain application test data for device-side tables and columns. This avoids the manual procedures that were previously required, such as exporting or importing or data entry in order to populate tables. This feature is not documented in the MAB Setup and User's Guide. MAB creates an initialization application, similar to the NurseInit sample application, that you can run on the emulator or device to populate the tables you need for your application. To populate tables on an emulator or device:
  1. Click Build -> Populate from the main menu, or click the Populate icon on the toolbar. A window opens asking if you want to create a new connection.
    • If you have an existing connection to the database you want to use to populate the device or emulator, click No. The Population dialog opens, with the tables you imported into the project listed in the Available tables list.
    • If you need to create a new connection, click Yes, and the Connection window opens. In the Connection window, select the type of database you want to support, and fill in all other required fields. You must provide the path to the JDBC driver on your workstation. Click OK. The Population dialog opens, with the tables you imported into the project listed in the Available tables list.
  2. In the Available tables list, select one or more tables. You can view the data from the selected tables in the Population list.
  3. Click OK. An application named projectnameInit is created in a new \data folder under your project folder.
  4. Install and run this application to initialize the tables used in your main application.

Reordering events

You can now change the order in which events are executed for a form or a control. Right-click an event in the Properties and Events pane and click Reorder events to open a window where you can reorder existing events. Detailed instructions are provided in the documentation.

New SQL modification options

In past versions, when you modified the SQL for a form or a control, there was no option to go back and have MAB regenerate the SQL. You can now select to use edited SQL or to have MAB regenerate the SQL with the next project save. You can also manually delete modified SQL if you delete the form or control that the modified SQL is associated with. Detailed instructions are provided in the documentation.

Palm application category option

An option has been added to allow you to specify the category under which your application will appear on a Palm device or emulator. The category you specify will be created, if it does not already exist, in the Palm application launcher. Select Palm OS in the Project pane and modify the Category property in the Properties and Events pane.

Palm five-way navigation

An option has been added to allow you to enable Palm five-way navigation for your application. This allows users to navigate among fields or lists using the navigation button on the device. Detailed instructions are provided in the documentation.

BLOB control support

Support has been added for a new BLOB control, that allows users to display a GIF or JPEG image on a device. This control is supported for all Java target platforms. Use of this control requires BLOB support in the device Java Virtual Machine. This control has been tested with the IBM J9 Javatm Virtual Machine. You can add a Save image action to this control that allows users to save the image on the file system on the device. You can add a Choose image action to this control to display a file dialog that allows users to select an image to display on the control. This action allows the user to insert an image from the device into the database. Detailed instructions are provided in the documentation.

Setup changes for Symbian Crystal and Symbian UIQ targets

Password masking for Java platforms

Password entry is now masked when a user is entering a password in the database preferences dialog in a Java application.

Support for synchronizing encrypted databases in Java applications

Support has been added to allow synchronization with encrypted databases in Java applications.

Smarlinker optimization

Generated Java code, for all Java target platforms, is now optimized using the IBM SmartLinker to reduce the application size and memory footprint.

Documentation added for linking forms based on composite primary keys

Documentation has been added to explain how to link forms based on composite primary keys. In the MAB documentation, see the section called "Generating queries with multiple parameters" under Examples -> Defining database queries.

Documentation added for Java scripting

Documentation has been added to explain how to access MAB-generated Java code using Java scripts. In the MAB documentation, see the section called "Accessing MAB-generated code using Java scripts" under Tasks -> Scripting in Mobile Application Builder.

B. What's New in Version 8.1, Version 8.1.1, FixPak, or Version 8.1.2, FixPak

Host variable support for Java platforms

You can use host variables in Java applications. In previous versions, host variables were only supported for Palm applications. Detailed instructions are provided in the documentation.

Improved color support for Java platforms

You can specify color settings in Preferences for forms, controls, and other applicable resources at a project level. You can also specify color settings for individual elements in the Properties and Events pane. You can select whether to use application settings or individual settings for each applicable control.

New application-level font settings

You can specify font settings in Preferences for text display in your application at a project level. You can also specify font settings for individual elements in the Properties and Events pane. Detailed instructions are provided in the documentation. You can select whether to use application settings or individual settings for each applicable control.

Image support for Java platforms

You can display a .gif image on forms and controls using a Form Bitmap control. In previous versions, images were only supported for Palm applications. To display an image on a form or control for Java applications, follow the basic instructions in the documentation for "Creating and displaying bitmaps" for Palm applications, substituting a .gif image for the .bmp image in the documentation. Images cannot be larger than the screen size or they will not display properly. The .gif image is not packaged into the jar, but is installed into the same directory as the jar through the application installable. When creating a Generic Java application that uses images, the application developer must ensure that the application installable installs any .gif images into the appropriate directory.

Support for developing Symbian OS 7.0 UIQ applications

Support for application development for Symbian OS 7.0 UIQ devices, such as the Sony Ericsson P800, is now supported. See the documentation for detailed instructions on how to set up and configure your environment to develop and test Symbian UIQ applications.

Support for developing Sharp Zaurus applications

Support for application development for Sharp Zaurus devices, such as the Zaurus 5500/5600, is now supported. See the documentation for detailed instructions on how to set up and configure your environment to develop and test Sharp Zaurus applications.

Barcode scanning support for WinCE applications

You can now develop applications with barcode scanning for WinCE. See the documentation for detailed instructions.

Radio button support for Java platforms

You can add two or more check box controls and configure them to create radio buttons for your application. Detailed instructions are in the online help. Support for this control varies by target platform.

Java language application support

This version combines the previously available capability of producing C language applications for Palm with new capability for generating Java language applications for supporting devices. See Device/OS support for more information on supported devices and operating systems.

Paths for prerequisite tools paths set within MAB

At launch, MAB automatically does any procedures necessary to link Palm prerequisite tools properly. You no longer have to manually set the System Environment PATH variable, do Bash shell commands, etc. Just install the tools using their separate installation programs (default file system paths recommended), then indicate where you have installed them when you first start MAB by going to File->Preferences->Palm Tools.

Other new preference settings

There are other new preference settings. For some values, there are defaults. Review the default settings and set them the first time you start MAB after installation. You only need to set these preferences once. You only need to set preferences for the target device type that you are developing for. Here are typical suggested settings from the File->Preferences menu:

Breakup of large C code applications into multiple C files.

C code applications are now broken up into multiple C files, to avoid previous limitations involving C code compilation for large applications. When C code applications are compiled, the assembler generates a symbol table containing instructions on how to execute the application. The assembler is not able to jump more than 32K between instructions. This limitation caused problems in the past with large MAB applications. This solution prevents this problem.

The following table provides the names of new files that are now generated when a Palm C Code application is built:
Name of file in version 7.2.1 or earlier Names of files in version 8.1
ibm_pab.c MAB_Main.c
MAB_Common.h
MAB_Tables.h
MAB_Tables.c
MAB_Forms.c
MAB_FormHandler.c

The following table provides a list of files that have been renamed for version 8.1:
Name of file in version 7.2.1 or earlier Name of file in version 8.1
ibm_pab.def MAB.def
ibm_pab.h MAB.h
ibm_pab.makefile MAB.makefile
ibm_pab.rcp MAB.rcp

New suffix for project names

MAB project files now end in the suffix .mab instead of .pab. Either is accepted. If you open a project built in an earlier version of MAB, your application is migrated, and a file with suffix .mab is created. Your old application project file will be renamed, not removed.

New directory structure

The MAB directory structure created at installation has a few changes. A new \Projects directory is created to hold user-developed applications, and the \Samples directory has been moved under it. In addition to the previous samples for the Palm platform, there are now samples for Symbian Crystal (for Nokia Communicator), and WinCE/PocketPC. There is also a Win32 directory with utilities to aid in running WinCE/PocketPC applications on the Windows desktop. When MAB is started for the first time, new projects will by default be located in the \Projects directory. The file browser, when searching for an existing project, will also open there.

Open recent projects from the File menu

Recently opened projects can be opened from the File menu directly without browsing.

Physical delete option available for DELETE actions

You can add an option to a Delete record action that will cause the record deletion to occur on the client (mobile) database only. This option is applicable for users who want to delete a record from the mobile database, but do not want to reflect the delete action on the server (enterprise) database when they synchronize.

C. Device/OS Support

This version can be used for building and testing visual DB2 Everyplace applications for the following target devices:

Device/OS Generated code
Palm OS 3.5 or later. C code
Symbian OS v6.0 for devices such as Nokia Communicator 92XX series (620x200 pixels) Javatm code
Symbian OS v7.0 for UIQ devices such as Sony Ericsson P800 Java code
WinCE/PocketPC/PocketPC 2002/PocketPC 2003 for devices with StrongARM processors such as the Compac iPAQ 38xx series or XScale processors for devices such as the iPAQ 3950 and 3970.** Java code
Embedded Linux for the Sharp Zaurus 5500/5600. Java code
Any other device supporting the PersonalJava 3.0.2 specification API at JDK 1.1.7.* Java code

* The PersonalJava API has been transitioned by Sun Microsystems to the J2ME (http://www.java.sun.com/j2me) Connected Device Configuration (CDC), Personal Profile, which includes JDBC, SQL, and AWT classes.

**Because the XScale is backward compatible with software compiled for the StrongARM processor, software designed to run on the StrongARM chip will run on the XScale as well.

D. Hardware and Software Requirements

Desktop requirements:

Mobile Device Requirements:

E. Installing DB2 Everyplace Mobile Application Builder

  1. Mobile Application Builder is installed as a feature of the IBM DB2 Everyplace Software Development Kit (SDK). During installation, specify the following options:
  2. It is not necessary to uninstall prior versions of MAB. Prior versions can coexist with v8.1.4. If you do want to uninstall a prior version, you must do so from Windows Control Panel -> Add/Remove Programs. The SDK installation program will not remove prior versions of either MAB or the DB2 Everyplace database.
  3. Set up the Mobile Application Builder development environment for building and testing applications. Prerequisite tools for version 8.1.4 Palm C language development are the same as for version 7.2.1 or later and need not be re-installed. For Java language application development, you may need to install some additional tools, depending on the device platform you are developing for. See Mobile Application Builder Setup and Configuration, which is available from the Windows Start menu ([Start] -> [Programs] -> [IBM DB2 Everyplace Software Development Kit] -> [Information] -> [Mobile Application Builder Setup and Configuration]) after installation of MAB, for detailed instructions.

F. Information about DB2 Everyplace Mobile Application Builder

Mobile Application Builder online help is available after the tool is installed.
Click [Start] -> [Programs] -> [IBM DB2 Everyplace Software Development Kit] -> [Information] -> [Mobile Application Builder Online Help]
DB2 Everyplace Web site:
http://www.ibm.com/software/data/db2/everyplace/
DB2 Everyplace Mobile Application Builder Web site:
http://www.ibm.com/software/data/db2/everyplace/mab.html
DB2 Everyplace Documentation Library Web site:
http://www.ibm.com/software/data/db2/everyplace/library.html

G. Important Notes

Supported languages:

The following languages are supported by the MAB desktop application, documentation, and generated device applications:

Migration of pre-version 8.1 project files to work with version 8.1

A migration function is provided to update each previous version project file you attempt to open. A copy of the project file you migrate is saved in the project directory with the suffix "PREVIOUS_VERSION." If you do not choose to migrate a project file when prompted, it will not open in Mobile Application Builder version 8.1.

To migrate a project file created in versions prior to 8.1 to work with version 8.1:

  1. Open Mobile Application Builder version 8.1.
  2. Select File -> Open project.
  3. Mobile Application Builder detects that the project file is from a previous version. A migration dialog opens informing you that you are loading a previous version project file.
  4. Select Yes to migrate the project file to work with version 8.1.
    • If no is selected, nothing is loaded.
    • If yes, the previous version is backed up using its name with a suffix of "PREVIOUS_VERSION."
  5. Migration is complete and the project opens.

Notes: A project file migrated to version 8.1 or created in version 8.1 cannot be opened in previous versions of Mobile Application Builder.

Palm SDK Support:

Mobile Application Builder 8.1.4 requires Palm OS 5.0 SDK to build Palm OS applications. This SDK supports application development for Palm OS versions 3.5, 4.0, 4.1, and 5.0. Applications built using previous versions of Mobile Application Builder will automatically be migrated when an existing project file is opened. You must obtain and install the Palm OS 5.0 SDK from Palm before using Mobile Application Builder version 8.1.4.
Mobile Application Builder supports a subset of Palm functions. See the Mobile Application Builder Online Help for a list of supported resources and functions.

H. Known Problems and Limitations

I. Problems Fixed in Version 8.1, 8.1.1 FixPak, or 8.1.2 FixPak

The following list represents Known Problems from earlier versions that have been fixed in version 8.1, version 8.1.1 FixPak, or version 8.1.2 FixPak.

Terms and conditions

Use of DB2 Everyplace and DB2 Everyplace Mobile Application Builder is subject to the terms and conditions of the International Program License Agreement. Other non-IBM code provided with DB2 Everyplace and DB2 Everyplace Mobile Application Builder is provided for the customer's convenience. The DB2 Everyplace and DB2 Everyplace Mobile Application Builder warranties do not apply to such code. 

Notices

IBM may not offer the products, services, or features discussed in this document in all countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing


IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

For license inquiries regarding double byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:

IBM World Trade Asia Corporation


Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

IBM Canada Limited


Office of the Lab Director
1150 Eglinton Ave. East
North York, Ontario
M3C 1H7
CANADA

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this information and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement, or any equivalent agreement between us.

Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.

This information may contain examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.

COPYRIGHT LICENSE:

This information may contain sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.

Each copy or any portion of these sample programs or any derivative work must include a copyright notice as follows:

(C) (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. (C) Copyright IBM Corp. _enter the year or years_. All rights reserved.

This product includes software developed by 3Com and its contributors.

Copyright (c) 1998 3Com/Palm Computing Division. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by 3Com and its contributors.

  4. Neither 3Com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE 3COM AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 3COM OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 

Trademarks

The following terms, which may be denoted by an asterisk(*), are trademarks of International Business Machines Corporation in the United States, other countries, or both.


ACF/VTAM
AISPO
AIX
AIX/6000
AIXwindows
AnyNet
APPN
AS/400
BookManager
CICS
C Set++
C/370
DATABASE 2
DataHub
DataJoiner DataPropagator DataRefresher
DB2
DB2 Connect
DB2 Extenders
DB2 OLAP Server
DB2 Universal Database
Distributed Relational
Database Architecture
DRDA
eNetwork
Extended Services
FFST
First Failure Support Technology


IBM
IMS
IMS/ESA
LAN DistanceMVS
MVS/ESA
MVS/XA
Net.Data
OS/2
OS/390
OS/400
PowerPC
QBIC
QMF
RACF
RISC System/6000
RS/6000
S/370
SP
SQL/DS
SQL/400
System/370 
System/390
SystemView
VisualAge
VM/ESA
VSE/ESA
VTAM
WebExplorer
WIN-OS/2

The following terms are trademarks or registered trademarks of other companies:

Microsoft, Windows, and Windows NT are trademarks or registered trademarks of Microsoft Corporation.

Java or all Java-based trademarks and logos, and Solaris are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Tivoli and NetView are trademarks of Tivoli Systems Inc. in the United States, other countries, or both.

UNIX is a registered trademark in the United States, other countries or both and is licensed exclusively through X/Open Company Limited.

Other company, product, or service names, which may be denoted by a double asterisk(**) may be trademarks or service marks of others.