A default IFS Middleware Server installation, whether clustered or not, will service all types of server calls, for example from interactive users using IFS Enterprise Explorer or IFS Web Client, for report rendering and for integrations. It is possible to use separate middle-tier installations for these three types of calls (Clients, Integration and Reporting) as a means to minimize one type of server call potentially affecting the response time or availability of unrelated functionality. Read more this separation at High Availability and Scalability.
An External Report Formatter is a Report Formatter that runs in a separate application server instance compared to a non External Report Formatter which runs in the central application server instance (i.e. the same application server instance that serves requests from IFS Connect, IFS Web Client, Solution Manager and so on). Formatting reports can be a quite resource (memory and CPU) intensive operation, especially if it's complex reports or if multiple reports needs to be formatted simultaneously. The purpose of using one or several External Report Formatters is to offload the central application server. To get an overview of how the Report Formatters and the use of external ones fit in to the overall Info Services / printing architecture of IFS Applications it's recommended to look at the About IFS Report Formatters section in the concept section of the Foundation1 overview.
There is currently no fully automated support for setting up an External Report Formatter. A couple of manual steps needs to performed after running the installer. Below you'll find a step by step guide on how to set up an External Report Formatter. The External Report Formatter runs inside it's own application server instance and can be set up on a different machine or on the same machine where the central application server is installed. There's no limitation on how many External Report Formatters can be set up (the physical memory of a single server will obviously limit the number of application server instances that can be set up on a machine).
Detailed information about each step in the installer wizard can be found in the normal/full installation guide. That's where you'll find information about how the installation is made on different operation systems, using different application server types. This step by step guide shows how to setup an External Report Formatter on Windows using the IFS Middleware Server.
In the first step we basically just set up a standard application server instance. Even if we excluded some stuff from the installation, the newly created instance still contains too much. The instance will work as a External Report Formatter, but if we tune it by removing some unnecessary stuff we can free up resources (mainly memory) that can be used to process reports instead (i.e. shutting down the External Report Formatter's Admin Server)
Detailed information on how to configure Report Formatters can be found in the configuration guide. This page shows a typical setup, rather than discussing all options and aspects in detail. The Report Formatters and the settings that are setup below are used when a print job is printed to a logical printer.
In order to make it as flexible as possible to control the number of simulations formatting requests a Report Formatter should be able to process, it's recommended to run each Report Formatter template in it's own queue. This since the Execution Mode is set on the queue and not on the template itself. Therefore we start by creating a new queue (BATCH3) for this Report Formatter.
Setting the Execution Mode to "InOrder" or "InSequence" will make print jobs be processed one at a time. A job that that is printed to one of the logical printers handed by this formatter which takes a long time to process will delay small jobs to the same Report Formatter. On the other hand setting it to this mode will ensure that all available memory can be used to format the report (i.e. you're less likely to run into memory issues). Setting the Execution Mode to "InParallel" will make the job process faster as more then one job is executed at once. Yet, you might have to be cautious about the resource used.
In order to create a new Report Formatter template, select "Duplicate" from the dropdown menu or simple press F6.
You can also, add logical printers which this Report Formatter template should handle and if required you can specify a Locale for this Report Formatter template as well. The Locale is blank by default and you can leave it as it is. Leaving the locale blank or not will affect the data and number formatting of reports which are printed to the logical printers configured to this Report Formatter template.
The step 3 in above section setup the External Report Formatter to handle the print jobs when a report is printed to a logical printer. You need to specify the redirect URL in order to direct the request to the External Report Formatter when previewing or when direct printing to a physical printer (i.e. the users Windows default printer). If you don't specify this all preview and direct physical printer print requests will still be handled by the main application server. Go to Solution Manager > System Parameters and specify the External Report Formatter host and port under the system parameter named External Report Formatter Connect String. Note that you don't have to specify the protocol (i.e. http://) as this will be added by the framework when directing the request.
In order to make the changes we did above affective, we need to restart both the main application server and the External Report Formatter server. This is a mandatory step in this setup process.
You need to specify the External Report Formatter's SSL URL under External Report Formatter URL parameter when configuring a Report Formatter template for an SSL installation of the Report Formatter. There is no change in the system parameter External Report Formatter Connect String as we only specify the host and the port.
Create a print job bound for a logical printer served by the External Report Formatter to verify that it works as intended and you get a printout on the physical printer that you have mapped to the logical printer. If you're doing this for a production environment or any other type of environment where a Print Agent is handling the actual printing/spooling of the PDF documents created by the Report Formatter, then it's the physical printer mapping in the Print Agent configuration that is used. The logical printer still needs to be listed in the Report Formatter template in order for the job to be picked up from the print queue.
After Apps 9 Update 1, you can enable IFS Application logging to check if the requests are correctly redirected to the External Report Formatter server from the main server. To do this set the global logging level of IFS Application logging to DEBUG level. Have a look at the Middleware Server Troubleshooting section for more information. Once the logging is enabled you will see "REPORTING ERFInvokeManager:" prefixed log lines in the ifsapplog-<ManagedServerName>.X.log file.