2 Defining An Extension
This chapter explains how to define a custom extension in the user interface (UI). Online Help for defining an extension is available in the help topics listed below.
Open the online Help and type the following window or procedure names in the Search field:
-
Extensions window
-
Extension Summary window
-
Extension Parameters window
-
Opening the Extension Summary window
-
Creating a new Extension
-
Editing an existing Extension
-
Deleting an existing Extension
-
Associating an Execution Point to an Extension
-
Disassociating an Execution Point from an Extension
-
Editing an Extension Parameter
-
Filtering the Extensions list
Defining an Extension in the UI
For specific UI instructions on how to define the extension, see the online Help procedures Creating a new Extension, Associating a Process Point to an Extension, and Editing an Extension Parameter.
Type of Extension
When defining an extension, you must select the Type from a drop-down. The following types display in the drop-down, which is defaulted to Logic.
-
Logic
Logic is the only type of extension that is supported at this time. Logic extensions define associated execution points that, when triggered, invoke the custom extension logic Java class defined by the extension name.
-
Viewable
Viewable extensions are not supported at this time.
Name of Extension
When defining an extension, you must define the name of the extension. The name of the extension is the name of the Java class that is to be invoked when an associated execution point is triggered. When naming your extension, be sure to follow Java class naming standards such as starting with an upper case letter, using upper and lower case letters to distinguish words, no spaces, etc. Also, do not include the .java file type extension in the name of the extension. For example, if you are defining an extension to call the Java class MySpecificLogic.java, name the extension MySpecificLogic.
Execution Mode
When defining an extension, you must select the Execution Mode from a drop-down. The following execution modes display in the drop-down, which is defaulted to Synchronous.
-
Synchronous
A synchronous extension executes and returns specified data. The calling process must wait for the extension to finish before continuing.
-
Asynchronous
An asynchronous extension executes and does not return any data, allowing processing to continue without waiting for the extension to finish.
Associating an Execution Point With an Extension
When defining an extension, you must associate one or more execution points with the extension. Execution points are predefined combinations of a building block, process point, and action type. These execution points have "hooks" in the code that, when triggered, invoke the extension Java class. See "Identifying An Execution Point" for more information.
Defining the Extension Parameters
When defining an extension, the parameter IDs and their corresponding default names are displayed on the Extension Parameters window. The types of extension parameters are predefined for each execution point, such as String, int, etc. The corresponding default parameter names may be edited so that is has meaning to your particular usage of it.
Configuring an Extension
This section describes how to configure a custom extension in the gateway.ini file and additional information regarding configuration requirements.
Configuring Gateway.ini
To enable custom extensions, the following changes must be made in the gateway.ini file located in the MSLV_Home/server/appserver/gateway directory, where MSLV_Home is the directory in which the MetaSolv Solution software is installed and server is the name of the WebLogic server.
Specifying the CLASSPATH tells the framework where to find your custom extension Java class, which must reside in the path specified in the gateway.ini.
-
Save a copy of the gateway.ini file.
-
Open the original gateway.ini file for editing.
-
Add the following line at the end of [Custom] section within the file. (If your gateway.ini file does not have the [Custom] section, you need to add it.)
-
For Windows operating systems
CLASSPATH=MSLV_Home/server/appserver/samples/customExtension;
-
For Unix operating systems
CLASSPATH=MSLV_Home//server//appserver//samples//customExtension;
where:
MSLV_Home is the directory in which the MetaSolv Solution software is installed
server is the name of the WebLogic server
-
-
Save and close the file.
Additional Configurations
See MetaSolv Solution Installation Guide for more information on the configuration requirements for using custom extensions.
Note:
You need to manually modify the loggingconfig.xml file and integration.XML file to avoid encountering an error that appears on your Appserver console. Additionally, when using custom extensions, you must manually modify the gateway.ini file. See MetaSolv Solution Installation Guide for more information.
If you have performed a full installation, these configurations are already in place. The configurations described in MetaSolv Solution Installation Guide need to be set up only if you have upgraded from a release prior to 6.0.12.
Note:
Regarding step 3 in "Configuring Gateway.ini", a full installation puts the classpath for custom extensions in the gateway.ini file, but you still need to specify the correct path to your server. For an upgrade, you need to add the classpath for custom extensions to gateway.ini file as well as specify the correct path to your server.
Invoking an Extension
Certain execution points are invoked by polling servers. See "Polling Servers" for more information. Three of these servers are Java-based servers that need to run as part of the appserver. This is accomplished by configuring the gateway.ini file to define the appropriate servers within the [Servers] section as follows:
-
Gateway Event Server
EVENTPROC=MetaSolv.eventServer.S3Startup
-
Integration Server
INTEGRATIONSERVER=com.mslv.integration.integrationServer.S3Startup
-
System Task Server
SYSTEMTASKSERVERPROC=com.mslv.core.api.internal.WM.systemTaskServer.SystemTaskServer
The remaining server, the Background Processor, is not part of the appserver and, therefore, is not configured through the gateway.ini file. To start the background processor, run jmaster.exe located in the MSS directory.