The jadclient executable program enables you to automate the running of non-GUI client applications. You can run a non-GUI client JADE application (defined as application type Non-GUI in the Define Application dialog) as a service under Windows Enterprise (that is, Windows 10, Windows 8, Windows 7, Windows Server 2016, Windows Server 2012, or Windows Server 2008) or you can run it from the command line, to add processing nodes to your JADE network.
To debug a non-GUI application, you must first change the application type to GUI, No Forms (by using the Application Type combo box in the Application sheet of the Define Application dialog).
The jadclient executable program uses the specified schema and app values, in conjunction with the optional signonUser and signonPassword values, to sign on to the JADE database. It performs no user logic in this sign‑on process and it signs off as soon as it has issued an
The jadclient executable program will not run server applications specified in a JADE initialization file
If you are a standard user, you cannot install or remove an application as a service, as you do not have the necessary privileges. (For details, see "
The jadclient executable starts the application specified in the app parameter. The specified application may start other application or they may be started by the
Run the non-GUI client program (for example, from a command script), specifying the following.
jadclient schema=schema-name app=application-name path=database-path ini=JADE-initialization-file-path [server=multiUser|singleUser] [causeEventOnSystem=[cause-event-number]] [host=host-server-node-name or host-IP-address] [port=host-port-name or host-port-number] [interface=client-TCP/IP-name or client-IP-address] [localport=client-port-name or client-port-number] [service=install|remove|cmdline] [nodeName=name-of-service] [nodeNameDescription="descriptive-name-of-service"] [noReorgRecovery=true|false] [delta=delta-name] [executeClass=class-name executeMethod=method-name] [executeParam=string] [executeSchema=schema-name] [executeScript=file-name] [executeTransient=true|false] [signonPassword=password] [signonUser=user-name] [endJade] [user-defined-parameters]
The jadclient program treats processing arguments enclosed in double (" ") or single (' ') quotation marks after the endJade parameter as single-string entries in the huge string array. The handling of strings in this huge string array is application-specific. For example, path= "program files" is treated as a two‑string entry and "path= program files" is treated as a one-string entry. How these entries are handled is determined by your application.
You can call the
The following are examples of the command prompt that runs a non-GUI client application.
jadclient schema=ASchema app=NonGUIApp ini=c:\jade\test\jade.ini path=c:\jade\system delta=foxtrot
jadclient schema=ASchema app=CSharpGenerator ini=c:\jade\test\jade.ini path=c:\jade\system delta=foxtrot
You can run the ExtractAllExposures application from the jadclient command prompt to generate C# code for all classes in a schema. The generated code for each class contains get and set methods for every property in every class. (Note that methods and constants are not included in this generation.) The following is an example of the command prompt that generates code for the .NET interface.
jadclient path=c:\jade\system ini=c:\jade\system\jade.ini app=ExtractAllExposures schema=JadeSchema endJade FCSchema FCSchema e:\temp\fcschema
The parameters following the endJade parameter specify the schema name, the namespace, and the folder to which the .NET exposures are extracted. The ExtractAllExposures application exit code returns:
0, if successful
1, if the three parameters are not specified
2, if the specified schema does not exist
3, if the path name is invalid
For details about .NET exposures, see "
The following is an example of the command prompt that installs a non-GUI client application as a service.
jadclient service=install nodeName=bgapp1 nodeNameDescription="NonGuiApp in ASchema on c:\jade\system" schema=ASchema app=NonGUIApp ini=c:\jade\test\jade.ini path=c:\jade\system
The following is an example of the command prompt that removes a non-GUI client application service.
jadclient ini=c:\jade\test\jade.ini service=remove nodeName=bgapp1
The following is an example of the command prompt that externally causes an event on the JADE System object.
jadclient path=c:\jade\system ini=c:\jade\test\jade.ini causeEventOnSystem=12345
A progress report is created as the server node initializes. Standard initialization information is output to stdout and error information is output to stderr. For details about displaying and redirecting the output from JADE batch utilities, see the
Use the
If the jadclient program fails, a non-zero exit code is returned and an error message is displayed; for example, if the schema is invalid or you attempt to run a GUI application.
The jadclient program uses the parameters in the JADE initialization file [
If you have installed your non-GUI client application as a service, you can control it by using standard Windows features. (For details, see "Controlling Non-GUI Client Application Services", later in this chapter.)
If you are a standard user, you cannot install or remove an application as a service, as you do not have the necessary privileges. (For details, see "
You can also initiate a non-GUI application when the server is initiated or at a specific time. For details, see "
The non-GUI client program parameters are described in the following subsections. For details about using non‑GUI client (jadclient) applications to:
Automate the extraction of schemas, see "
Convert a database from one operating system or hardware platform to another or to convert the data between ANSI and Unicode formats, see "Converting a User Database", in Chapter 4.
Reorganize a schema from the command line, see "
Create a JCF file that includes all excluded table and columns for an RPS mapping that you can then use as input to the batch JADE Schema load utility (jadloadb) to reapply all excluded RPS mapping tables and columns to a deployed application, see "
Extract and load a patch history, see "
Automate the batch running of unit tests to improve the quality and reliability of the JADE applications, see "
See also "Passing Parameters to Non-GUI Applications using jadclient", "Inserting a Schema into the Schema Hierarchy", "Reblocking Collection Class Maps", and "Ad Hoc Index Batch Interface", later in this section.
If you reimplement the