This documentation supports the 22.1 version of Action Request System.
To view an earlier version, select the version from the Product version menu.

Converting applications from User tool to Mid Tier

The following video provides information about advantages of converting Remedy applications from the User tool to  Mid Tier .


To convert Remedy applications from the User tool to Mid Tier  

  • Replace all the macros with Run Process active link commands.

    In Remedy applications, macros are used for operations such as running reports, click buttons, menus and so on. You should convert all such macros to active link run process commands. See Process commands.

  • Replace all unsupported keywords with active links. See Keywords such as $FIELDHELP$, $HARDWARE$, $TCPPORT$, $OS$, $GUIDETEXT$.

Best practices  

Best practiceDetails
Keep minimum traffic between client and server

High amount of traffic between a client and a server, especially in WAN environment, can lead to decrease performance in a browser. Here are some common checks that will help you reduce traffic between client and server:

  • Evaluate all the traffic that flows between client and server on window open, window loaded, and on major operations and combine to a single service call operation.
  • Identify the redundant operations and remove the operations when you modify the features.
  • Identify the redundant operations that can be executed once and save the output of these operations in global variables.

See Examples for keeping minimum traffic between client and server

If possible, defer operations
  • Defer operations for the data that you do not need immediately.
  • If any information is not visible for the user, do not retrieve this information till the user needs the information or requests for the information.
  • Deferring operations provides better responsiveness. A series of small delays is better response than one long delay, so divide long delays in series of small delays.

Some optimizations occur automatically in the Mid Tier , like postponing all UI updates and refreshing table fields at the end of processing. 

See Examples for deferring operation.

Develop or move business logic to run from the serverBusiness logic is a workflow that drives or validates a business process, which should be run by filters. Client or server interactions performed at the server, reduce the number of active links on the form, which improves the performance on the client.

You must perform the following workflows at the server side:

  • Transaction validation processing
  • State transition workflow processing
  • Process workflows
  • Assignment routing
  • Notification processing
  • Permission validation
  • Row-level security processing
Avoid fiddling with web forms

Avoiding unnecessary fiddling on the web form makes the web form more responsive. You should avoid unnecessary screen fiddling, if it provides minimal value to the end user.

See Example of avoid screen fiddling.

Remove obsolete fields
  • Delete fields and trim fields that are defined on the form but are not present in any view.
  • Check the field cross-reference. If the field is obsolete, delete the field or remove the field from the view. You can use the Developer Studio Analyzer to find the unused fields and other application objects.
    See Using Analyzer to find problems in your applications.

Do not remove the following fields:

  •  Selection fields that need to be localized
  • Table fields that are used in workflow
  • Fields where the enable or disable change flag is required
  • Fields for save buttons 
Tune form and field definitions 
  • Build effective searches
    • Limit the use of Query-by-Example (QBE) searches for fields configured for Anywhere.
    • For the frequently searched fields, create necessary indexes.
  • Do not use 1 equal to 1 type of searches. If you are using external qualifications ensure that the qualifications are NOT NULL, because such qualifications translate to a 1 equal to 1 query.

Examples for keeping minimum traffic between client and server

All examples use  BMC Helix ITSM as a service management system.

Use service call to consolidate round-trip communication with the server

BMC Helix ITSM  gets data (system rules, application rules, people data, and support group data) from multiple source forms when a ticket is opened.

To get data, a window loaded active link needs to issue four round-trip calls to the server.

Data can be consolidated to one service call, which is managed and returned from the server side. When you use the service call, the window loaded active link makes one round trip service call to the server, and on the server side filters related to that service gets data from the different areas.

You must run the filter as an end user and not as an administrator.

Use web developer tools to examine all backchannel calls

Use hidden table columns to prepopulate other fields

The table fields in a form retrieve data from the server, based on the table qualification. If you need additional information based on the retrieved records, for other workflow, you should include that information in the table fields as hidden columns.

Use global variables

Store the data that is used for multiple forms in a global variable. This eliminates the need to retrieve the data multiple times in standard form variables on each form that requires the data.

Before using global variables

After using global variables

Reduce redundant workflow

Evaluate the workflows that are executed multiple times and reduce the redundant workflows. You can use active link logging and analyzer to find the redundant workflows.

Examples for deferring operation

Turn off the automatic table refreshes

Turning off automatic table refreshes prevents round-trip communication to server when you scroll through incident tickets. 

Make active links smart enough to refresh only when a tab is selected.

Example of avoid screen fiddling

Was this page helpful? Yes No Submitting... Thank you