S1. Bundle Engine Overview
XDOC Bundle Engine Overview
The XDOC Bundle Engine (the Engine) provides a comprehensive and flexible framework for packaging documents into a wide variety of formats and specifications, and delivering those packages to third-party systems, business partners, and other destinations. The Engine is a mature, highly configurable component capable of supporting virtually any package structure, output format, or delivery requirement. Supported delivery methods include common internet protocols such as HTTPS, SFTP, FTP, and email, as well as local and network-based file system locations.
The execution of a Bundle for a Container consists of two distinct processes:
- Package Generation – The assembly and formatting of the selected documents according to the rules, settings, and output specifications defined in the associated Bundle Profile.
- Package Delivery – The transmission of the generated package to the destination specified in the Bundle Profile.
Note: Package Generation is performed only once for each bundle execution. The resulting package file(s) are stored within the XDOC repository for future reference and delivery processing. Package Delivery may be attempted multiple times until delivery succeeds or the configured retry limit is exceeded.
Like most XDOC frameworks and components, the Bundle Engine is implemented as a collection of service classes that follow Service-Oriented Architecture (SOA) principles. These services provide a robust API for package generation, delivery, monitoring, and administration.
The Bundle Engine also includes specialized Workflow Task Processors that integrate with the XDOC Workflow Engine, enabling both Package Generation and Package Delivery to be executed as background processes. This allows large-scale or long-running bundle operations to be performed asynchronously without impacting user productivity.
XDOC provides multiple user interfaces for initiating bundle execution. These interfaces support executing bundles for:
- An individual Container (for example, a single Loan)
- A group of Containers defined by the Integrated Application
- An ad hoc set of Containers selected by the user
Depending on the use case, bundle execution can be performed either synchronously or asynchronously. Synchronous execution processes the bundle immediately and presents the results directly to the user. Asynchronous execution schedules the bundle operation through the XDOC Workflow Engine, allowing processing to occur in the background while users continue working within the system.
This architecture provides the scalability, reliability, and flexibility required to support a broad range of mortgage document packaging and delivery scenarios, from on-demand document exports to high-volume automated distribution processes.