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