| JGaska [http://www.IoniaSolutions.com] 2005-05-11, 5:50 pm |
| It is a business requirement that I prioritize message processing based on
source.
We have multiple places I need this functionality. Basically, everything
boils down to 4 orchestrations and we have roughly 40-50 receive locations.
Most receive locations use pipeline's and disassemblers to break the messages
up. The messages are dynamically routed to the orchestrations (after
pipelines) based on schema and filter properties.
The external partners processing priority are weighed based on how much $$
they pay the company. All 40-50 customers flow through the same 4
orchestrations depending on what the message format is. All customers are
not considered equal (FIFO is NO good).
The send ports are based on filters and receive locations with how they
route the outbound messages. Why do send ports have priorities and receive
and orchestration do not? If you put priority in all places I could base
processing on how important a trading partner is to the company.
This seems like a simple fix adding a "Priority" property to receive
locations and a priority on orchestrations. When the processing server
selects the next message to process you order the messages in the messagebox
by OrchPiority and Receive location priority.
Bingo!! this would allow you to control how the business process's data
based on trading partner priority. More money a trading partner gives the
company allows them to jump to the head of the class... FIFO is no good all
customers are not created equal!!
|