Page 1 of 1

Multiple requests to a webservice in ISD

Posted: Wed May 13, 2015 11:41 am
by suryadev
Hello,
A webservice is created and deployed in ISD. WSDL has been generated and shared with the user who calls the webservice.

Their requirement is to call the webservice by sending thousands of requests in a minute. so they expect the responses same time. Is there any limit on that or they can call as many requests as possible?

please suggest how to make this work

Posted: Wed May 13, 2015 12:20 pm
by chulett
Thousands of individual requests per minute? :shock:

Posted: Wed May 13, 2015 12:29 pm
by suryadev
Chulett,

I will put this in an other way...

Can number of records be passed as single request to the webservice?

as an array or xml?

Posted: Wed May 13, 2015 1:04 pm
by eostic
Yes. But to clarify, there are two variables being discussed here...

1. Requests --- from one or more independently connected SOAP clients. ISD can have many incoming clients. There are performance considerations, of course, but it is fully supported to have this scenario.


2. Arrays (rows) that might be included in "one" of those requests. ISD can define an "array" for the request and/or for the response. This reduces the "chattiness" for the client in making SOAP calls. This is done in the Application workspace after you have selected the DS Job (the lower Operation tabs) and is reflected in the WSDL.

Ernie

Posted: Wed May 13, 2015 1:11 pm
by chulett
Right... hadn't gotten down into the weeds yet since that's usually Ernie territory. :wink:

1. Meaning you can have many instances of the service running and from what I remember they can increase dynamically based on need until you hit a configured limit. Each will support a queue of requests up to another limit you define.

2. That's what I was going to suggest as well, create the job so it can process essentially what are 'batches' of requests.

Posted: Wed May 13, 2015 2:23 pm
by eostic
As a side note .....in discussions like this, it is useful to separate the idea of "rows" from the idea of "requests". An array in a single "request" is a "batch of rows".

Leave "requests" to solely mean "individual SOAP invocations [requests] and their response".

Ernie

Posted: Wed May 13, 2015 2:31 pm
by chulett
Duly noted!

Posted: Wed May 13, 2015 3:03 pm
by qt_ky
There is always a limit, and you can probably increase it by tuning the ISD settings. It would be nice to know if there were any tuning guidelines documented. The only documentation I have found so far is descriptions of each setting, from the online help.

Posted: Wed May 13, 2015 3:23 pm
by ray.wurlod
The most obvious setting is the maximum number of instances of a multi-instance ISD job.

Posted: Thu May 14, 2015 10:07 am
by suryadev
Thank you very much for your inputs.

1) This can be used if the service is being called from different clients.

2)This can be used if single client is sending multiple requests.


As my requirement is single client sending multiple requests, I will check for the array options where number of requests are sent as single array.

Please correct me if I am going to a different route.

can you please guide me through any document that has the array settings or such scenarios?

Thanks again

Posted: Thu May 14, 2015 8:53 pm
by eostic
As noted earlier, a single client can issue any number of requests.....and those requests can send and receive one row.....or many (an array) rows.

How? In the operation secrion you can declare that the sevice Operation will support arrays.....

.....and then your soap client will need to be able to use the. Resukting wsdl and know how to send/receive arrays.

Ernie