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.

  1. Save a copy of the gateway.ini file.

  2. Open the original gateway.ini file for editing.

  3. 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

  4. 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.