RIC Print Service

Overview

We utilize a third-party program, Batch and Print Pro, to monitor directories and spool HTML files to printers. This works well in that it allows our server-side applications to print files. One challenge, however, is that the web applications need to keep track of the various print directories (and have appropriate filesystem rights to write to them). To further complicate matters, accessing remote file systems under Windows requires SMB protocol use which is generally frowned upon across firewall boundaries (given the history of security problems caused by exposure of SMB).

The PrintService developed in RIC allows us to achieve the same goal described above (sending HTML content to various printers) but without resorting to SMB traffic. Instead PrintService exposes a SOAP endpoint with a "PrintHTML" service. Sending content to this endpoint will place the HTML into files within the appropriate Batch and Print Pro pick up directories.

Service Invocation Parameters

  • destApp - The unique application ID (as defined in the server-side service configuration), for example "srs".
  • destEnvironment - The application environemnt ID (as defined in the server-side service configuration), for example "local", "dev", ...
  • token - A unique/random token for the app/environment combination. This is a security measure to prevent easy/accidental invocation of the service. See KeePass for tokens.
  • content - The HTML payload that you would like to have printed.

Sample Code (C# .NET)

In TFS, see the command line test client project located at $/PrintService/Printing/Printing.Client/Program.cs.

Sample Code (Ruby/JRuby)

In TFS, see the command line test client project located at $/PrintService/Printing/Printing.Client/RemotePrintingExample.rb.

Development/Test Environement (on ServerRESRICDEV02)

Production Environment (TBD)

(This service has not yet been deployed to Production. We anticipate deployment to the IIS environemnt on ServerRESC3PROD.)

Topic revision: r2 - 07 Oct 2010 - 19:01:36 - EricKramer
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback