UltraXML Server is a black-box Windows service designed to queue print jobs for conversion of XML to Postscript and PDF format. UltraXML uses the WebX Systems UltraXML print formatting engine. The service employs the WS-I Basic Profile 1.1 and 1.2 SOAP protocol to listen for commands from multiple remote clients.
UltraXML Server interface uses Microsoft WCF (Windows Communication Foundation) and uses an XML configuration file which allows for simple adjusting of the required binding and endpoints of the service without having to rebuild the server code. The config file allows control of service throttling to prevent overloading and can easily be load balanced to use multiple servers using standard load balancing techniques or using the API functions to request current server load.
UltraXML Server interface runs in a different thread to the UltraXML print engine and incoming requests are handled by the Windows thread manager to provide a responsive server when handling client message requests. Each running server instance batch queues jobs from the multiple client inputs and feeds the queued job list to the UltraXML print engine. There is no fixed limit to the size of the job queue per server instance.
UltraXML Server can also upload and download files via either HTTP or MTOM encoded streaming. This allows for the remote client to stream download the resulting PDF output files from the server or to stream upload graphics files that might be required by the print job's stylesheet.
UltraXML Server allows for installation of an unlimited number of separate service instances per machine with a single license. Each service instance is given a different port number and jobs can be queued in each separate service instance. The separate parallel instances utilize the total number of CPU cores in the system.
UltraXML Server is supplied with a utility to easily install, configure and remove the multiple UltraXML service instances. Instances are kept separate such that if one server instance should fail and stop, it will not impact the running of the other services.
The client software can be written in any language and platform that can supports the WS-I Basic Profile 1.1 or 1.2 SOAP standards.