Reports
This document describes the overall design of the reporting mechanism of modernized applications.
This document assumes knowledge of modernized application concepts such as DataManagerControl
(TODO ADD LINK TO DATAMANAGER DOC). Also basic knowledge of concepts from the original platform is required.
Overview of report processing in the original platform
In PowerBuilder reports are DataWindows that are created for printing. Some kinds of DataWindows are usually used as reports (for example: Label, Composite) . However all other kinds of DataWindows (ex. FreeForm) could also be used as reports. The rendering process is performed in-process by the runtime environment..
In the modernized application the DataWindows are converted to DataManagers (TODO LINK TO DATAMANAGER DOC). DataManager classes are converted to C# , For example a simple DataManager looks like this:
DataManager instances are converted at runtime to the format used for rendering the report. The following sections describe the process of converting these objects to a PDF representation of the report.
Rendering in the target platform
ReportWatcher service
Since .NET Core is a new implementation of the .NET environment, there is no binary compatibility with existing .NET assemblies. There are APIs defined in the full .NET Framework that are not compatible with .NET Core. This is true for Microsoft's ReportViewer.As described in the previous section, this is the component used to render report . This component depends on the ASP.NET WebForms infrastructure. Having a direct dependency in this control implies that the modernized application cannot take advantage of the .NET Core features. This is the reason of having an external service that take care of rendering the report. This service is called ReportWatcher.
The ReportWatcher service is a small webservice dedicated to render reports on modernized applications. It has a dependency on ReportViewer and the full .NET Framework. This service can be hosted on a server different from the one that runs the modernized application. When a report needs to be rendered, the modernized application invokes this web service with everything required to render the report (report definition and data) and returns a PDF .
More information how to configure or use this service is provided in the following sections.
Last updated
Was this helpful?