Author |
Message
|
w |
Posted: Tue Jul 26, 2011 9:47 pm Post subject: Limiting concurrent requests to external Systems |
|
|
Apprentice
Joined: 08 Nov 2010 Posts: 44
|
I have a WMB flow that is exposed as a web service .The WMB flow internally calls three external webservices and then based on the responses from all three gives back a reply.
Now the problem is that one of the external systems can only process a specific no. of concurrent requests.However the WMB flow has started receiving a lot of traffic recently as a result the no. of Concurrent requests to the external system has increased beyond the specific limit
Can any one tell me how to handle this using WMB?
(Please note that the end system change will take a long time so we are looking for alternatives.) |
|
Back to top |
|
 |
WGerstma |
Posted: Tue Jul 26, 2011 10:39 pm Post subject: |
|
|
Acolyte
Joined: 18 Jul 2011 Posts: 55
|
You could evalutate if the traffic to the problematic WebService could be cached. If yes, you could introduce a new flow between your current business flow and the problematic endpoint, that does the caching. Possible chachings can be implemented with SHARED, with a database table or perhaps you may have a look at http://www-01.ibm.com/support/docview.wss?uid=swg24005877
The chaches can be filled either during runtime (just passing cache-miss requests to the endpoint and adding responses to the cache) or time-triggered in a fitting timeframe.
But to design an appropriate solution, you have to gather more details on Load, cacheability, frequency of data changes and so on.
Last edited by WGerstma on Tue Jul 26, 2011 11:35 pm; edited 1 time in total |
|
Back to top |
|
 |
w |
Posted: Tue Jul 26, 2011 10:50 pm Post subject: |
|
|
Apprentice
Joined: 08 Nov 2010 Posts: 44
|
@WGerstma- Thanks for the reply.The problem is that this particular endpoint is used for Authentication purposes and hence results cannot be cached. |
|
Back to top |
|
 |
WGerstma |
Posted: Tue Jul 26, 2011 11:40 pm Post subject: |
|
|
Acolyte
Joined: 18 Jul 2011 Posts: 55
|
This limits possibilities.
If the service is able to anser multiple authentications in a single request, perhaps you can sum up a few requests and pass it as a single request to the backend (which will likely cause other problems) or if the service is just a LDAP wrapper maybe you can access the LDAP yourself (probably a violation to your security regulations). |
|
Back to top |
|
 |
fwsld |
Posted: Wed Jul 27, 2011 12:29 am Post subject: |
|
|
Newbie
Joined: 13 Jul 2006 Posts: 5
|
A short term solution is to match the number of instances of your flow to the maximum number of allowable concurrent calls to the webservice. You will then never exceed the maximum assuming you are the only one invoking this webservice. If not then its out of your hands really.
Caching the response from the call will only be useful if the response is not explicitly linked to the data used to perform the invocation. Otherwise you will cache every response and never use them again. |
|
Back to top |
|
 |
|