Thursday, February 23, 2012

Work Manager vs Throttling in OSB

Work Manager with Proxy Service:
Work Manager configured on Proxy Service is used to limit the number of threads running a Proxy Services.
Oracle Service Bus: Work Manager with Proxy Service
_____________________________________________________________________________________________________________________________
Work Manager with Business Service:
Work Manager configured on Proxy Service is used to limit the number of threads that process responses from the back-end system.
Oracle Service Bus: Work Manager with Business Service
_____________________________________________________________________________________________________________________________
Throttling with Business Service:
Throttling configured on Business Service only limited loads (requests) to back-end services and to avoid overloading the back-end.
Oracle Service Bus: Throttling with Business Service
Throttling is used to restrict the message flow to a business service however work managers are used to prioritize service work.
Eg: The WorkManager with MaxThreadsConstraint only limits the number of threads which can be used for example to limit the number of listening threads on a queue. 
If business service cannot cope with too many concurrent messages, you can edit your business service and go to the Operational Settings tab. There you can set the Throttling State to enabled and enter the number of simultaneous messages in the field Maximum Concurrency.
In case of throttling there is possibility of message loss however with work manager setup there is no such possibility.
Ref:
http://blog.xebia.com/2009/12/02/restricting-the-number-of-jms-mq-connections-made-by-the-osb/