Using ELBs and shared images

Your Synergy server routines must reside in one or more ELBs or shared images. (Although we use the term “ELB”, the information in this topic applies to both ELBs and shared images, except where noted.) When you define your routines in the Method Definition Utility or attribute your code, you will include the name of the ELB, so that xfServerPlus can find the routine. The ELBs are opened and closed by xfServerPlus.

Tip

When you are designing your xfServerPlus-xfNetLink application, the ideal approach is to group related routines into ELBs. For example, you might group your utility routines (such as string handling and date calculations) into one ELB, your order entry application logic into another ELB, and your order entry data access into yet another ELB. These routines can be called by any application that can make use of them, particularily if you do not maintain global or common data inside the ELB. With remote execution of ELBs, you can position each ELB where the application that uses it is located.

Considerations and restrictions

(OpenVMS) When you create the primary shared image, link it against the secondary shared image. Note that if the call to the routine in the secondary shared image is made directly or with XCALL, you’ll get an error if the secondary shared image is not linked. However, if the call is made with XSUBR, you won’t get an error, and will simply have to remember to link the shared images or use one of the other options listed below to access the routine in the secondary shared image.

For more information on ELBs and shared images, see Building and Running Synergy Applications.

Defining logicals

If you use logicals to point to the directories that your ELBs or shared images reside in, and you use those logicals when defining routines in the Synergy Method Catalog, you must define the logicals so that xfServerPlus knows how to resolve them.

Defining logicals on Windows and UNIX

On Windows and UNIX, define logicals in the xfpl.ini file, which is located by default in DBLDIR. (Note that it is possible to specify a different location for xfpl.ini, as well as to have more than one xfpl.ini file; see Using the xfpl.ini file.)

The maximum length for an XFPL_LOGICAL translation value is 1,024 characters.

Important

If any of your ELBs are linked to dependent ELBs (see Considerations and restrictions), you must define the logicals for both the primary and the dependent ELBs in the xfpl.ini file.

Define logicals like this:

XFPL_LOGICAL:LOGICAL_NAME=path

Defining logicals on OpenVMS

We recommend defining logicals in the file DBLDIR:SERVER_INIT.COM.

$ DEFINE/SYS LOGICAL_NAME value
$ DEFINE/TABLE=LNM$RSDMS$MGR_port /USER LOGICAL_NAME value

where port is the port number on which xfServerPlus is running.

For additional information about defining logicals on OpenVMS, see Defining logical names for xfServer processes.