The following sections enable you to package and publish your mobile application definitions using the Packaging Wizard.
After you have completed the code implementation for your application, you need to define the SQL commands that retrieve the data for the user snapshot—also known as a publication. MDW (as described in Chapter 4, "Using Mobile Database Workbench to Create Publications") is a graphical tool that enables you to define the publications for your application. Then, use the Packaging Wizard to package the application and publish the final application product to the mobile server to complete the subscription.
In general, you can create a publication—or components of a publication—using one of the following methods:
SQL on the back-end Oracle database
Consolidator APIs
MDW
Packaging Wizard
Note:
If you create your publication using the Packaging Wizard, you cannot use remote databases for your application.If you create the publication using any method other than the Packaging Wizard, you can import the definition into the Packaging Wizard. However, these tools and the Packaging Wizard are separate. Thus, once the publication is published by the Packaging Wizard, you can only modify it through the Packaging Wizard.
Important: If you modify the publication or any component of the publication using any method other than the Packaging Wizard, then it not show up in your published application.
The following is the recommended method for creating the publication for the application:
Create a new mobile application definition—An application definition is more than the code that you have implemented. It consists of the implementation, the publication with its publication items, and other components. Use the Mobile Database Workbench (MDW) tool (as described in Chapter 4, "Using Mobile Database Workbench to Create Publications" for performing an iterative approach to defining your publications.
Edit an existing mobile application definition within the Packaging Wizard—You can always go back and edit an existing mobile application definition for tuning purposes, to modify the publication, or other reasons.
Package a mobile application definition for easy deployment within the Packaging Wizard—Once the application is finished with development, you need to package the components into a JAR file before you can publish the application definition.
Publish an application definition to the mobile server—You can either publish your application definition to the mobile server with the Packaging Wizard or through the Mobile Manager.
The following sections describe how to use the Packaging Wizard tool:
To launch the Packaging Wizard, enter the following using a Command Prompt window.
runwtgpack
Note:
If you enable the mobile server to be SSL-Enabled, then you have to change the configuration on the host where the Packaging Wizard is located in order for it to successfully communicate with the mobile server.In order for Packaging Wizard to be SSL-Enabled, set the SSL
parameter to TRUE
in the mobile.ora
file located on the host where the MDK is installed.
Figure 5-1 shows the Welcome screen for the Packaging Wizard, which enables you to create, edit, or remove the mobile application definition as described fully in Table 5-1.
Figure 5-1 Packaging Wizard - Make A Selection Dialog
Table 5-1 Make a Selection Dialog
Feature | Description |
---|---|
Create a new application definition |
Define a new mobile application definition with the application implementation, publication items, and so on. |
Edit an existing application definition |
Edit an existing mobile application definition. When selected, all existing application definitions are presented in a drop-down box. Users can select the desired mobile application definition from the list. All applications listed in this list have been created or published using the Packaging Wizard. Any application definition created by MDW not appear in this list. |
Remove an existing application definition |
Remove an existing mobile application definition. When selected, all existing application definitions are presented in a drop-down box. Users can select the desired mobile application definition from the list. This option removes the application definition from the Packaging Wizard; it does not delete the application from within the mobile server. |
Open a Packaged application definition |
Select an application definition that has been packaged a JAR file. You can enter the name of the packaged application or locate it using the 'Browse' button. |
Click OK. This brings up the 'Select the client application attributes' dialog, with which you want to package your application definition. As Figure 5-2 displays, this dialog has a radio button group from which you can specify the database type, a pull-down menu from which you can specify the platform, and a pull-down menu from which you can specify the locale. The available platforms in the Platform pull-down menu only provide those options which are applicable to the selected database type.
For Berkeley DB, the available platform options are as follows:
Java All Platforms stands for all Java platforms where Berkeley DB Java client is available
Windows 32/64 stands for Berkeley DB WIN32 in the Mobile Manager
Linux 32/64 stands for Berkeley DB Linux x86 in the Mobile Manager
Windows CE/Mobile ARMv4i stands for Berkeley DB PPC50 and Berkeley DB PPC60 ARMV4I in the Mobile Manager
Android stands for Berkeley DB Android in the Mobile Manager
For SQLite, the available platform options are as follow:
Java All Platforms stands for all Java platforms where SQLite Java client is available
Windows 32/64 stands for SQLite WIN32 in the Mobile Manager
Linux 32/64 stands for SQLite Linux x86 in the Mobile Manager
Windows CE/Mobile ARMv4i stands for SQLite PPC60 ARMV4I in the Mobile Manager
Android stands for SQLite Android in the Mobile Manager
BlackBerry stands for SQLite BlackBerry in the Mobile Manager
Once selected, click Next.
Note:
For iOS client, select Linux 32/64 option.The Application dialog enables you to name a new application and specify its storage location on the mobile server.
Table 5-2 describes the Application dialog.
Table 5-2 Application Dialog Description
Field Name | Description | Required |
---|---|---|
Application Name |
The name of the new mobile application definition. |
Yes |
Virtual Path |
A path that is mapped from the root directory of the server repository to the mobile application itself. The virtual path eliminates the need to refer to the application entire directory structure. It indicates that all of the subdirectories and all of the files that are in the virtual path be uploaded exactly as they are in the directory structure to the mobile server repository when the application is published. It also provides the application with a unique identity. The name that you enter as the virtual path of the application becomes the application root directory within the mobile server repository, when the application is published. Consequently, you can specify the application root directory by the name that you enter in the virtual path field. This name can be different from the application name, but should not contain spaces. For example, your application name can be 'Sales Office' and your virtual path '/Admin'. In this case, '/Admin' becomes the name of the application root directory within the mobile server repository. The application root directory is the location where the actual application files are stored within the mobile server repository. When the administrator publishes the application, the Packaging Wizard automatically uses the name that you entered in the virtual path as the name of the application root directory in the mobile server repository. However, the administrator can change the name of the application root directory in the mobile server repository by entering a different name for it when the administrator publishes the application. |
Yes |
Description |
A brief description of the mobile application. |
Yes |
Local Application Directory |
The directory on the local machine that contains all components of the application. You can type this location or locate it using the 'Browse' button. During development, the application root directory is set to the local application directory. |
Yes |
Publication Name |
Publication name of an existing application in the Mobile Server repository. You can enter the publication name or locate it using the "Browse" button. If you choose to enter the publication name, ensure that the publication already exists in the Mobile Server repository where you will publish the application. If you choose to locate the publication using the "Browse" button, ensure that it satisfies either of the following conditions:
Note: these two Mobile servers should have the same base tables for your publication For example, you have two Mobile servers with matching repository user and application schema names:
If you have a publication based on base table MASTER.T1 in the test environment and it was created with Mobile Database Workbench, you do the following to publish an application associated with this publication to the production environment:
When you locate a publication using the "Browse" button, you need to specify schema name, password and JDBC url. The schema name, password and JDBC url is the mobile server repository user name, password (with administrator privilege) and JDBC url where the publication already exists. The default mobile server repository user name is MOBILEADMIN. For the example above, the schema name is MOBILEADMIN and the JDBC url is the connection to MOBILEADMIN in database instance A. |
No |
Click Next to advance to the next screen.
Use the Files screen to list your application files and to specify their location on the local machine. The Packaging Wizard analyzes the contents of the Local Application Directory and displays each file's local path.
Figure 5-4 displays the Files screen.
Table 5-3 Files Tab Description
Field | Description | Required |
---|---|---|
Local Path |
The absolute path of each mobile application file. Each entry on the list includes the complete path of the individual file or directory. |
Yes |
You can add, remove, or load any of the files that are listed in the 'Files' dialog. If you are creating a new application, the Packaging Wizard automatically analyzes and loads all files listed under the local directory when you proceed to the 'Files' dialog. If you are editing an existing application, upload your individual application files using the 'Load' button.
When you click the 'Load' button, the 'Input' dialog appears. You can use the 'Input' dialog to create a comma-separated list of filters that either include or exclude application files from the upload process. To exclude a file, type a preceding minus sign (-) before the file name. For example, to load all files but exclude files with the .bak
and .java
suffixes, enter the following.
*,-*.bak,-*.java
Figure 5-5 displays the Input dialog.
Once you have loaded all relevant files, click Finish to complete the packaging and start the publishing of your application.
Once the packaging is complete, the Packaging Wizard brings up the following screen, so you can choose whether to start the publishing or to complete the packaging to be published at another time.
On this screen, you can choose one of the following:
Create files: You can package all the information you have gathered for the application and its files into a JAR file. This JAR file can be used at a future date to be published to any mobile server repository. If chosen, you are asked for a location on where to store the JAR file.
The Packaging Wizard has an option to generate SQL scripts for database objects. This option has been deprecated as of release 11.1.
Publish the current application: This publishes all of the information you have gathered for the application and its files directly to the mobile server repository.
If chosen, you be prompted for the URL, user name and password for the mobile server repository. You also be asked for the repository directory and if you want to make this application public.
Restart wizard: This does not save any of your work for this application and starts the Packaging Wizard without any saved data.
You can edit application definitions by launching the Packaging Wizard and selecting "Edit an existing application definition."
The Packaging Wizard also supports development mode. In this mode, the Packaging Wizard only enables you to define application information, list the application files, and make registry changes. Since the application is packaged to your local machine, it requires neither connectivity nor database information.
To launch the Packaging Wizard in development mode, enter the following using the Command Prompt.
runwtgpack -d
The Packaging Wizard and the Mobile Manager provide the ability to perform the most commonly used functions of the publish and subscribe model, package and publish applications, create or drop users, and create or drop subscriptions. More sophisticated functionality is provided by the Consolidator Manager and Resource Manager APIs. Table 5-4 describes basic features.
Table 5-4 Packaging Wizard Synchronization Support
Function | Packaging Wizard | Mobile Manager | API |
---|---|---|---|
Open Connection |
No |
No |
Yes |
Create User |
No |
Yes |
Yes |
Drop User |
No |
Yes |
Yes |
Create Publication |
Yes |
No |
Yes |
Create Publication Item |
Yes |
No |
Yes |
Create Publication Item Index |
Yes |
No |
Yes |
Drop Publication |
No |
Yes |
Yes |
Drop Publication Item |
Special - See the Packaging Wizard documentation for more details. |
No |
Yes |
Drop Publication Item Index |
Yes |
No |
Yes |
Create Sequence |
Yes |
No |
Yes |
Create Sequence Partition |
Yes |
No |
Yes |
Drop Sequence |
Yes |
No |
Yes |
Drop Sequence Partition |
Yes |
No |
Yes |
Add Publication Item |
Yes |
No |
Yes |
Remove Publication Item |
No |
No |
Yes |
Create Subscription |
No |
Yes |
Yes |
Deinstantiate Subscription |
No |
No |
Yes |
Set Subscription Parameter |
No |
Yes |
Yes |
Drop Subscription |
No |
Yes |
Yes |
Commit Transaction |
No |
No |
Yes |
Rollback Transaction |
No |
No |
Yes |
Close Connection |
No |
No |
Yes |
More advanced features of Data Synchronization are only generally available by using the Consolidator Manager and Resource Manager APIs. Table 5-5 describes these features.
Table 5-5 Data Synchronization Advanced Function Description
Function | Packaging Wizard | Mobile Manager | API |
---|---|---|---|
Create Virtual Primary Key Column |
Yes |
No |
Yes |
Drop Virtual Primary Key Column |
Yes |
No |
Yes |
Add Mobile DML Procedure |
Yes |
No |
Yes |
Remove Mobile DML Procedure |
Yes |
No |
Yes |
Reinstantiate Publication Item |
No |
No |
Yes |
Parent Hint |
Yes |
No |
Yes |
Dependency Hint |
Yes |
No |
Yes |
Remove Dependency Hint |
Yes |
No |
Yes |
Enable Publication Item Query Cache |
No |
No |
Yes |
Disable Publication Item Query Cache |
No |
No |
Yes |
Primary Key Hint |
Yes |
No |
Yes |
Purge Transaction |
No |
No |
Yes |
Execute Transaction |
No |
No |
Yes |
Complete Refresh |
Yes |
Yes |
Yes |
Execute Statement |
No |
No |
Yes |
Generate Metadata |
No |
No |
Yes |
Reset Cache |
No |
No |
Yes |
Cache Dependencies |
No |
No |
Yes |
Remove Cache Dependencies |
No |
No |
Yes |
Get Current Time |
No |
No |
Yes |
Authenticate |
No |
Yes |
Yes |
Set Restricting Predicate |
No |
No |
Yes |
Alter Publication |
Yes |
No |
Yes |