Organizations running the legacy Calligo Istream system typically integrate their Istream Publisher system via a custom module, which monitors and polls for requests from a database table and submits them to Istream Publisher queues. These organizations typically face some critical integration hurdles when migrating their legacy system to newer platforms such as GhostDraft, Quadient, Exstream or similar enterprise-scale CCM solutions.
We recently worked with a client who chose to migrate their legacy Istream system to GhostDraft, and helped them to automate resource/document conversion and designed a streamlined integration solution that greatly simplified processing orchestration. Leveraging this new integration model with GhostDraft, the customer realized a 400% improvement in document generation throughput compared to the performance of their legacy Istream Publisher-based system.
The GhostDraft integration model consisted of the following four components:
- Batch Request Database – contains a set of Request Definitions, each of which can associate a number of Requests in the database. The end-user can submit requests to the Batch Request Database for batch or on-demand processing.
- Windows Service Workers – periodically checks the Batch Request Database for new requests, and dispatches individual requests to specified Workers for processing. Each Worker can be configured to pick up requests associated with specified Request Definitions and runs on multiple threads. Based on each Request’s parameters and its associated Request Definition, the Worker can deliver the composition content to a specified output location or send to a specific local printer. To scale for greater throughput processing, you can simply add more threads to existing Workers. You can also add more Workers to process more Request Definitions. For example, you can create an on-demand Request Definition and dedicate a Worker for it. This will guarantee that the on-demand requests will be processed on-time by the dedicated Worker without being queued on other batch Workers.
- Custom Data Adapter – a set of data adapters, each of which is responsible for acquiring data from customer databases and executing business logic for a GhostDraft Project. A Custom Data Adaptor is essentially a C# component which contains the logic to execute business functions, perform database queries and return transactional data in XML. This XML data maps to the GhostDraft Model Library via the GhostDraft Mapping API (built using Data Workbench).
- GhostDraft Server – composes the electronic document output responsive to a web service call to the GhostDraft Workflow service’s MapDataAndAssembleDocument method.