Does a ABL Socket server can handle multiples connections sy

Posted by sbrissondeblecx on 17-Mar-2015 10:51

Hi,

I'm asking before I do my own tests.  It is not clearly stated in the documentation and I was unable to find an answer in this forum.  

I expect "No" since the ABL engine is single-threaded. 

The foal is to create an ABL server that will handle wireless payment terminals requests.

Thanks in advance

Stephan

Posted by Marian Edu on 17-Mar-2015 11:09

You're probably interested by asynchronous handling as for a synchronous one there is only one active request that will end when response is sent back and next request is going to be served... the answer is yes, it can handle multiple requests at the same time, it just depends what you're going to do on each request. Given the single-thread nature of Progress runtime the processing time need to be very short in order to be able to actually serve multiple requests at the same time.

Question is, why do you want to do that route while you can build something on appsrv/webspeed/rest/web-services?

All Replies

Posted by Marian Edu on 17-Mar-2015 11:09

You're probably interested by asynchronous handling as for a synchronous one there is only one active request that will end when response is sent back and next request is going to be served... the answer is yes, it can handle multiple requests at the same time, it just depends what you're going to do on each request. Given the single-thread nature of Progress runtime the processing time need to be very short in order to be able to actually serve multiple requests at the same time.

Question is, why do you want to do that route while you can build something on appsrv/webspeed/rest/web-services?

Posted by sbrissondeblecx on 17-Mar-2015 12:06

@Marian:  Yes, I can go with asynchronous handling.  About "multiple requests", this is what I thought, long processing will affect concurrency since the _progress is single threaded (which differ from C#/Java using threads for communication).  I was looking for a confirmation.  

I'm stuck with socket programming because this is the only communication method offered by the wireless POS terminal.  And yes, I'm also thinking of creating a bridge in C#/Java and make use of AppServer/Webspeed to relay POS communication.

Posted by Marian Edu on 17-Mar-2015 12:31

another option will be node.js, if all the broker does is to dispatch requests to agents/workers a single-threaded server using asynchronous io (sockets) will work just fine... more to come on that subject soon ;)

This thread is closed