A scalable fulfillment
system is presented that supports business processes, manages the transport and
processing of business-related messages or documents between a
business entity and clients, such as customers, vendors, and business partners, and generally supports business
document processing. The
system intelligently manages the transportation of files from clients, through
processing of files, to generating responses that return to the clients. To accommodate a heterogeneous
interfacing and
processing with different clients in a central
system, a file normalization technique is used that captures a common meta-
data format from the numerous heterogeneous file types used by numerous clients. The meta-data files, also referred to as messages, contain links to their associated data files and are processed separately. Once the messages are entered into the system, an intelligent
queue scheduler (IQS) is used to schedule the processing of messages across a scalable resource of processing engines based on normalized file meta-data parameters. The IQS supports serial processing file requirements in a
parallel processing environment. The IQS in conjunction with processing daemons implement a dynamic
queue that supports initial message entry and prioritization of messages within the IQS
queue during the life cycle processing of a message. The processing daemons dynamically provide processing status, timestamps,
message type information,
client information and other similar information that can be used by the IQS in prioritizing processing steps. Message and file processing is partitioned in a series of separate
action code modules that can be programmatically selected and sequenced in a desired processing pipelined order. By using a multi-pass action
interfacing method, new actions can be defined and allowed to be pluggable in the system for processing new message types and adding new clients with possibly unique file types and interfaces. The ability to define new actions and define a programmable sequence of actions allows new capabilities of
message processing as the system evolves.