Online documentation - WebsydianExpress v3.0 |
In several situations, the WebsydianExpress runtime makes dynamic calls to functions. These dynamic calls means that the calling program does not contain a function call to a specific function. Instead, the name of the function to call is resolved when the call is to be made.
This happens in the following situations:
1. When a ProcessEntryPoint is called (when a frame is loaded or when a menu item has been pressed).
2. When an EventHandler is called (when a button or link is pressed inside the WebsydianExpress application).
3. When a DynamicChildPageGenerator is called (When a /(CHILDFNC-xxx) replacement marker is found in a template that is used to generate a page.
4. When a CustomFieldFunction is being called (When a custom field that has a function defined for validation is being updated or when a custom field that has a function defined for formatting is being shown on a page).
5. When service handlers and service processors are called when handling web service requests.
In the RPG and WinC versions, the only thing that is necessary for this to work is that the function object used by the program that is being called is available for the application.
For the iSeries version this means that the program must be available in the library list used by the application service jobs.
For the WinC version this means that the program must be available in the path used by the application service jobs.
For the Java version, there is not really a path/library list concept. But when making a call to a Java function it is necessary to specify the package, which the function is a part of in addition to the name of the function.
This means that the functions performing the dynamic calls must know which packages the functions which must be called dynamically is placed in. WebsydianExpress stores this information in a list, which must contain all the packages that contains functions that can be called dynamically.
The order of the packages in the list is insignificant. This means that if you add two packages that both contains a function with the same name to the list, it is not possible to control which function that is being called.
When WebsydianExpress for Java is installed, the package list only contains the packages used by the runtime and the administration interface. These packages can't be removed or changed.
You must add any packages necessary for your own application to the package list.
To make this possible, a business process had been added to the administration interface. The menu item for the business process can be found under the "Utilities" group of the administration menu.
All packages that contains either EventHandlers, ProcessEntryPoints, DynamicChildPageGenerators, CustomFieldFunctions, service handlers, or service processors must be added to the list.