Skip to content

SAIF.Services.Printing overview

Documentation context: Embedded Library Component Documented via: LegalMaintenance (LegalMaintenance/LegalMaintenance.vbproj)

SAIF.Services.Printing is the document output/rendering service layer for the application. It wraps the EMC/Dell xPression document-composition web service (xpresso.clsGenerate) and the SQL Server Reporting Services ReportExecution2005 web service, adds an asynchronous MSMQ distribution channel that carries an OnBase imaging index payload (clsImageImport from SAIF.Services.Imaging.Import), and provides a small Reporting framework (IReport / ReportBase / XDesignXDocument / XDesignXElement) for building xPression-format XML data documents and driving them through preview, print, distribute, and save flows. The library performs no database access of its own.

Purpose

  • Provide print/preview/distribute clients for the xPression document-composition service and the SSRS ReportExecution2005 reporting service
  • Provide a reusable report lifecycle framework (IReport / ReportBase) that consuming libraries subclass to build, render, print, distribute, and save concrete reports
  • Serialize xPression-aware XML data documents (XDesignXDocument / XDesignXElement) with key propagation for nested repeating sections (BR-PRT-016)
  • Resolve all environment-specific configuration (service endpoints, MSMQ path, imaging drop path) exclusively through the SAIF Environment API (EnvironmentServiceBase)

Responsibilities

  • clsPrint: xPression protocol/transport gateway — endpoint resolution, request assembly, synchronous-versus- queued dispatch, and MSMQ transaction lifecycle
  • clsRSPrint: SSRS protocol gateway — report path, parameters, format/extension mapping, rendering
  • Reporting.* (IReport, ReportBase, XDesignXDocument, XDesignXElement, ErrorDetail): report lifecycle orchestration, xPression XML document construction, and non-throwing error accumulation
  • Delegating imaging-index payload construction to SAIF.Services.Imaging.Import.clsImageImport

Key components

  • clsPrint: xPression client — preview, print, and (synchronous or MSMQ-queued) distribute operations
  • clsRSPrint: SSRS ReportExecution2005 client — parameterised report rendering
  • IReport / ReportBase: report lifecycle contract and abstract implementation (Create → Render → Print/Distribute/Save)
  • XDesignXDocument / XDesignXElement: xPression-aware XDocument/XElement subclasses that serialize to the xPression XML dialect
  • ErrorDetail: non-throwing error record collected by ReportBase during render/distribute failures

Sources

  • SAIF.Services.Printing/clsPrint.vb
  • SAIF.Services.Printing/clsRSPrint.vb
  • SAIF.Services.Printing/Reporting/IReport.vb
  • SAIF.Services.Printing/Reporting/ReportBase.vb
  • SAIF.Services.Printing/Reporting/XDesignXDocument.vb
  • SAIF.Services.Printing/Reporting/XDesignXElement.vb
  • SAIF.Services.Printing/clsPrint.vb
  • SAIF.Services.Printing/clsRSPrint.vb
  • SAIF.Services.Printing/Reporting/ReportBase.vb
  • SAIF.Services.Printing/Reporting/IReport.vb