Patent ID: 8205202

Claim:
A computer system, comprising: a plurality of computers; a plurality of front-end applications that transmit a plurality of service requests, the plurality of front-end applications executing on at least one of the plurality of computers; a messaging service that receives the plurality of service requests from the front-end applications and places each service request on one of a plurality of queues based on a type of the plurality of service requests, the messaging service executing on at least one of the plurality of computers; and an enterprise integration application executing on at least one of the plurality of computers, comprising a plurality of business logic modules, each business logic module dedicated to acting on one type of the plurality of service requests from the plurality of front-end applications, each business logic module comprising: at least one interface thread that retrieves service requests of the one type from a queue of the plurality of queues associated with the one type of the plurality of service requests associated with a corresponding business logic module, at least one handling thread that acts on the service requests of the one type retrieved by the at least one interface thread from the queue, and at least one management thread that dynamically creates additional interface threads and additional handling threads as more interface threads and handling threads are needed by the corresponding business logic module based on processing load placed upon the corresponding business logic module by the plurality of front-end applications, wherein the management thread manages the number of handling threads to equal the number of service requests that are in-progress and manages the relationship between the number of handling threads and the number of interface threads so that the number of handling threads is greater than the number of interface threads, and wherein the at least one management thread comprises a counting thread that accumulates counts of the activity of the interface threads and the activity of the handling threads and a creator thread that manages the number of interface threads and handling threads based at least in part on the counts accumulated by the counting thread.