[Progress Communities] [Progress OpenEdge ABL] Forum Post: Asynchronous UI with stateless appserver

Status
Not open for further replies.
I

ian colenutt

Guest
Hi all - I need some advice on introducing async remote procedure calls in to ABL webclient GUI ( or telling whether what I'm trying to achieve is actually advisable / possible with our current architecture ). It's an OE 11.7 webclient which re-uses a single session managed connection to a stateless classic Appserver. Every call from the any client window gets a handle to the same connection. I am able to make an ASYNC call ON LEAVE of a mobile phone field, set a flag with the reponse and later validate this flag on OK press. It looks something like what the documentation suggests: OpenEdge 11.7 Documentation However I'm having a few issues and I don't think I fully understand what's happening... The ON LEAVE event seems to interupted by the WAIT-FOR and it tabs to somewhere else on the screen until the async response comes back, when it returns to the expected next field in the tab order. Something similar happens for a button press where the focus returns to the button. Perhaps there's something I need to do to allow the original event to continue and not disrupt the UX. If I create the async call on the client's existing connection it obviously prevents any regular RPCs. While unlikely since the async response typically takes < 1000ms it means I'd have to check the async-request-count before all potential RPC calls to prevent the user encountering a a 9004 errors. To get around this I can create a new connection for each async call, maintain a separate connection for any async calls in the screen / the entire client, or connect to an entirely separate session-free appserver for async calls. I'm not sure which is best or typical practice here. In all of my testing with the above connections & state modes I've encounter STOP errors when submitting any more than 1 simultanous async request. I presume this is just an issue with the scoping of my async-request or server handle but I'm finding it difficult to debug or find out why the STOP is happening. Apologies for the extended question but any advice much appreciated :)

Continue reading...
 
Status
Not open for further replies.
Top