Business Problem
Remote warehouses are not directly connected to the central office and thus are not connected to the ERP System (Microsoft Dynamics Ax 2009). Employees at remote warehouses need to perform inventory transactions on iTouch devices and some of these transactions require a label to be printed on a Zebra label printer. Label printing typically involves a centralized print server that formats and streams the print job to a Windows Print Queue. Remote printing using a Microsoft Print Queue is not feasible across the internet.
Solution
The solution to this problem was to build a simple Windows Service which self hosts a WCF service. The Windows Service has the ability to function as both a server and a client. The service can poll other services for print jobs, if the print job is local the job is sent to a local label printer, if the job is remote it is queued for a remote server to poll (via WCF Services). Print jobs are archived which allows a user to load the Status Monitor application and reprint a label.

Users can reprint labels using the above status screen.

User’s can configure the print server, start and stop the service, and update the application using the configuration screen.
This software is written in .NET 4.0 using WPF/XAML as the UI. The application implements the Model-View-ViewModel MVVM pattern. The Windows Service is written in .NET 4.0 and self hosts a WCF Service. Remote printing is implemented using WCF with client/server X.509 certificates for security.
f915090a-5e84-427f-9291-7016e16165c3|0|.0