![]() | Application Development | ![]() |
Before delivering an application to its users, you need to package it for delivery. There are some basic constructions to remember that will make packaging your application more modular. This chapter describes general information about:
Basic Deployment Steps | ![]() |
Your Panther application consists of at least one to three Panther libraries, depending on the application's architecture: a library for storing the objects that define the user interface (client.lib); a library for storing the objects required by application servers (server.lib); and, for JetNet/Oracle Tuxedo, a common library (common.lib) for the objects that are needed by both client and server.
If, however, the components are to be made memory-resident, extract the desired components from their respective libraries before building your executables.
For web applications, alternatively, you can place your graphics files in the htdocs directory on your HTTP server and set the ImageDir variable in the web initialization file to point to that location.
formlib -o to lock the libraries. This step is irreversible. (After locking the library, you must use formlib -x to extract the contents and formlib -c to create a new library for editing or formlib -m to condense and unlock the library).SMBASE should point to your application directory (for example, setenv SMBASE /usr/myapp).
SMTERM should define the platform (for example, setenv SMTERM X).
SMVARS to point to smvars.bin in the config subdirectory of your application directory. The variables can be defined in your application's initialization file (prol5w32.ini) or in autoexec.bat.
Note:
Remember to run var2bin if you edit the smvars file. Then include the newly compiled smvars.bin in your distribution.
smvars or in the initialization file for clients).
On Windows, libraries are delineated with a ; or |.
On UNIX, libraries are delineated with a : or a |.
proserv.env, progserv.env, and machine.env using SMFLIBS.
Required Files | ![]() |
All Panther applications require the following files:
prorun5.lib) containing all screens and JPL used by Panther.
msgfile.bin).
Prolifics resource file.
prol5w32.ini.
smvars.bin, or specified in the system's initialization file.
lib/*.so.* on Sun).
bin directory.
locale and udataobj directories.
jetman, rbboot, rbshutdown).
Jetman) or initialization file for Windows (jetman.ini).
env files)
Optional Files | ![]() |
The following files are optional, depending on your application's components, requirements, and how it is configured:
grafcap, symbold, and symbols1 in your distribution. Include any graph-specific font files that are used in your application (for example, aldine.fnt, centry.fnt, duplex.fnt from the distributed config directory).
You also need the following platform-specific files:
gdsp and swsdrvr.
ldb.scr), include them in the appropriate library.
Specifying Files and Directories | ![]() |
For the client portion of your application, you can use the smvars file to specify all the libraries and directories that Panther needs to run. The only variables that must be set by the user would be SMTERM and SMVARS, which tell Panther which binary configuration files to use and where to find the application's files. Refer to page 2-1 in the Configuration Guide for more information about setting up the system environment.
Alternatively, your application can specify required files through calls to Panther functions:
Detailed information on each function and their variants is available in the Programming Guide.
Customizing the Distribution | ![]() |
This section describes additional measures you can take when you package your application. To ensure that these changes take effect, it is best to build your executable after customizing the appropriate files.
For JetNet/Oracle Tuxedo applications, if you are administering the setup of your deployed application, you can provide a middleware configuration file that is similar to the one built when the application was being developed. If the application is being setup by your customer, you can provide documentation for using the JetNet manager and/or scripts for defining the number of client workstations, the number of machines, and the number of application servers that will be used to run your application.
When your application starts up it uses an initialization file (prol5w32.ini or prol5w64.ini) under Windows and a resource file (Prolifics) under Motif. For Motif, instead of using the distributed files, you can change the name to reflect your application's name and specify the file in piinit.c (found in the link directory). To include the name of your resource file, for example:
sm_pi_xm__setup("myAppSetup");
For Windows, you can specify the name of the ini file on the Start Menu command line. For example, the PlayMusic application would place PlayMusic.ini in the Windows directory and call that ini file with the following command setting:
C:\Prolifics\Panther\prorun.exe -ini PlayMusic
You can design your own splash screen, just like the one that displays when you startup the screen editor, that will display when your application is initialized. The screen can be a BMP, JPEG, or GIF format. You specify the name of the screen in your startup file:
Prolifics), add the line:
Prolifics*introPixmap: "
titleScreen.ext"prol5w32.ini), include the name on the line:
When you minimize your application in Windows, the default Panther icon is used. You can replace the default icon with one of your own. Edit the Specifying Your Own Icon
prorun.rc file located in the link directory to include the name of your .ico file, for example:
#define ICONFILE myIcon.ico