|
|||||||||||||||||
Architecture Harmoni is a CORBA framework and software development kit (SDK), appropriate for use by experienced developers in the construction of custom, high performance applications. Developers interact with Harmoni through its published Java, COM, and .NET programming interfaces. Dynalivery uses CORBA to partition its servers and clients (middle-tiers) and enable communication among them. The Harmoni server architecture is based on the Open Source TAO C++ ORB and Microsoft C++. Clients begin jobs by communicating with the Harmoni Server's multi-threaded gateway (or dispatcher). The gateway in turn starts the original desktop applications, now acting as print engines in their own Windows processes, to receive parameters, access databases, render documents, and return completed documents back to clients. At the end of each job (or group of related jobs), Harmoni closes and clean ups the Windows process for each print engine, allowing even non-thread-safe desktop applications like Crystal Reports 7 (circa 1999) to safely operate as servers. All actions of the Harmoni gateway and server are recorded in log files which are key debugging and monitoring tools. Harmoni's client is fundamentally a Java/CORBA library. Dynalivery provides COM and .NET support through a proprietary wrapper around this library. Harmoni servers do not make any distinction in their processing of requests from Java, COM, or .NET users. Harmoni's load balancing and failover service uses CORBA communication within a cluster (also called "channel") to communicate availability, as well as current load. The load balancing service offers both round-robin and least-loaded-node ("load-factor") allocation of jobs. Harmoni includes a limited use edition of another Dynalivery product, the Saffron Document Server, for use as a back-end, final rendering process. Harmoni print engines generate PostScript as an intermediate format which Saffron renders into formats appropriate for printing and/or web delivery such as PDF. (Saffron is also available as an independent product.) |
|||||||||||||
| BACK TO TOP BACK TO START |
|