Deploying Winshuttle FormWorker
Winshuttle FormWorker runs Winshuttle Transaction scripts that have either Launch GUI enabled, or are recorded in GUI scripting mode.
When the Server Manager receives a transaction script with LaunchGui enabled or a script recorded in GUI scripting mode, it forwards the request to special queues in RabbitMQ that are dedicated to these requests.
A FormWorker is attached to these specific queues and receives the request for processing. The request can be either an AutoPost request or a published service use request.
- FormWorker is a windows application. The user cannot log-off from the Server because it runs in the context of the user’s account credentials. If the user logs off, then the FormWorker will close and all currently running calls will be lost.
- FormWorker does not run requests concurrently. Requests are processed 1 at a time. If there is a request being processed and another request arrives, the new request will not be processed until the current one is completed.
- FormWorker is not scalable for large number of requests and is not suitable for service clients that have low timeout values; InfoPath (for example) has timeout of only 30 seconds.
- Because the Launch GUI function launches SAP GUI in the background, its performance is not equivalent to running the services without these functionalities.
Note: Due to the limitations described above, Winshuttle recommends using other recording modes instead of GUI scripting, or using Launch GUI.
FormWorker interacts with SAP GUI directly and runs in the desktop user's account context, so there can be instances where it opens a dialog box for user input. Because FormWorker operates as a server, the user is unavailable to respond to the dialog box. This can cause a request to hang and delay the subsequent requests.
Below are some instances when a dialog or windows can appear for user input:
- Under a fresh SAP GUI installation, when a Transaction script is executed that was recorded in GUI scripting mode. A security dialog asks for permission (with options ‘Allow access’, ‘Always Allow Access’ and ‘Deny Access’) can appear. Select ‘Always Allow Access’ in this dialog.
- When the user needs to configure SAP GUI on worker machine in case of dialog popups. One example: When a GUI script starts executing, a warning message can appear saying ‘A script is trying to attach with GUI’.
Make sure no dialog prompts occur during script execution.
Deploying FormworkerBack to top
Note: If you need to install Winshuttle FormWorker, please contact Winshuttle Support. Winshuttle Support will provide the necessary files and some additional guidance for installation and configuration.
- Copy the FormWorker build to the following path: C:\Program Files\Winshuttle\Server. Note that a Worker and a FormWorker can be placed in the same folder on the same machine, or on different machines.
- Using any text editor (Windows Notepad, for example), open the WinshuttleServer.FormWorker.exe.config file.
- Define the Winshuttle Manager URL in the <winshuttleWorkerConfiguration> section (example below).
- Enable Transaction Autopost (TXAUTOPOSTGUI) and/or Transaction published Web services (TXSERVICESGUI) for this worker by setting its corresponding value to True as shown in the example below. Briefly, these capabilities are:
- TXAUTOPOSTGUI: Enables Transaction AutoPost requests with Excel data source to run for Launch GUI and GUI scripting requests
- TXSERVICESGUI: Provides execution capability of Transaction published web services.
- Save the configuration file and close the text editor.
- Double-click WinshuttleServer.FormWorker.exe to run FormWorker.
- During this process, FormWorker registers itself with Winshuttle Manager and gets attached with corresponding queues.
- If Server Manager and RabbitMQ are communicating successfully, FormWorker will start and show the Winshuttle Server URL in corresponding text field.
- Minimize the Winshuttle Worker Form dialog box. It will continue running in the system tray.
- You can right-click the Form Worker system tray icon to open, stop, or close Winshuttle Form Worker.
NOTE: To run WinshuttleServer.FormWorker automatically when a user logs on to the computer, place the shortcut to FormWorker.exe in the Windows Startup programs folder.