You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "John Armstrong (JIRA)" <ji...@apache.org> on 2010/11/12 20:59:14 UTC

[jira] Created: (WICKET-3165) Queueing model for multiple AJAX requests

Queueing model for multiple AJAX requests
-----------------------------------------

                 Key: WICKET-3165
                 URL: https://issues.apache.org/jira/browse/WICKET-3165
             Project: Wicket
          Issue Type: New Feature
          Components: wicket
            Reporter: John Armstrong


Currently wicket ajax requests can block.

This feature request suggests a queuing model where multiple ajax requests made during some given time horizon (100ms for example, configurable) are bundled together and sent as one request to a dispatcher. The server satisfies these and then returns them as a single result.

Wicket on the client side would then dispatch these to their callers.

The result is what appears to be multiple simultaneous AJAX requests.

EXT-JS uses this concept and even though it is a pure client side framework it may be an interesting model to reference.

>From Users list

Thread title: Wicket design incompatible with Web 2.0

Specific Excerpt
-----------------------
not a bad idea. we already have a concept of "channels", but right now
they can only queue or drop requests. with some work it should be
possible to add an "aggregate" mode and process multiple callbacks
within the same request. please file a jira issue.

-igor
- Hide quoted text -

On Fri, Nov 12, 2010 at 11:44 AM, John Armstrong <si...@siberian.org> wrote:
> EXT-JS does a nice queueing model where you can set a queue timer (say
> 100ms) and any AJAX requests get bundled up into a single package that
> goes across the wire at once, returning and then being sent back to
> their callers.
>
> This lets a page update many components at once in what appears to be
> real-time without blocking.
>
> Might be an interesting model for wicket at some point in the future.
>
> Yes, I know, EST-JS is a client-side framework. I am only using it as
> an example of how some stacks are resolving these sorts of issues.
>
> John-

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WICKET-3165) Queueing model for multiple AJAX requests

Posted by "John Armstrong (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-3165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12931524#action_12931524 ] 

John Armstrong commented on WICKET-3165:
----------------------------------------

Wait time would be configurable. Probably at the application level. 

This would (I think) need to be a combination of client and server side implementation

The client would need to queue requests and know how to send the individual requests back to their callers

The server would need to understand how to accept this meta-request, break it out, send to the receivers, wait for response, aggregate response and reply.

There may be interesting edge cases when one request in a batch exceeds some time threshold. In that case the bundle should be returned without that delayed response.

The client would need to intelligently deal with 'left over queue items' in this case.

Its not trivial, thats for sure. The other wicket projects that deal with long-polling may be more appropriate then rolling this feature into wicket.

> Queueing model for multiple AJAX requests
> -----------------------------------------
>
>                 Key: WICKET-3165
>                 URL: https://issues.apache.org/jira/browse/WICKET-3165
>             Project: Wicket
>          Issue Type: New Feature
>          Components: wicket
>            Reporter: John Armstrong
>
> Currently wicket ajax requests can block.
> This feature request suggests a queuing model where multiple ajax requests made during some given time horizon (100ms for example, configurable) are bundled together and sent as one request to a dispatcher. The server satisfies these and then returns them as a single result.
> Wicket on the client side would then dispatch these to their callers.
> The result is what appears to be multiple simultaneous AJAX requests.
> EXT-JS uses this concept and even though it is a pure client side framework it may be an interesting model to reference.
> From Users list
> Thread title: Wicket design incompatible with Web 2.0
> Specific Excerpt
> -----------------------
> not a bad idea. we already have a concept of "channels", but right now
> they can only queue or drop requests. with some work it should be
> possible to add an "aggregate" mode and process multiple callbacks
> within the same request. please file a jira issue.
> -igor
> - Hide quoted text -
> On Fri, Nov 12, 2010 at 11:44 AM, John Armstrong <si...@siberian.org> wrote:
> > EXT-JS does a nice queueing model where you can set a queue timer (say
> > 100ms) and any AJAX requests get bundled up into a single package that
> > goes across the wire at once, returning and then being sent back to
> > their callers.
> >
> > This lets a page update many components at once in what appears to be
> > real-time without blocking.
> >
> > Might be an interesting model for wicket at some point in the future.
> >
> > Yes, I know, EST-JS is a client-side framework. I am only using it as
> > an example of how some stacks are resolving these sorts of issues.
> >
> > John-

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Commented] (WICKET-3165) Queueing model for multiple AJAX requests

Posted by "Martin Grigorov (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-3165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13233359#comment-13233359 ] 

Martin Grigorov commented on WICKET-3165:
-----------------------------------------

Calling several listener interfaces in one Ajax request and returning <ajax-response> for each of them is easy to do. The complexity comes when an Ajax call makes form submittion or needs to send custom headers. In these cases it wont be easy to differentiate which headers/parameters are part of which Ajax call at the server side. I can imagine this implemented with prefixes for the headers and parameters for the different parts of the combined Ajax call but this will be too complex.
                
> Queueing model for multiple AJAX requests
> -----------------------------------------
>
>                 Key: WICKET-3165
>                 URL: https://issues.apache.org/jira/browse/WICKET-3165
>             Project: Wicket
>          Issue Type: New Feature
>          Components: wicket
>            Reporter: John Armstrong
>
> Currently wicket ajax requests can block.
> This feature request suggests a queuing model where multiple ajax requests made during some given time horizon (100ms for example, configurable) are bundled together and sent as one request to a dispatcher. The server satisfies these and then returns them as a single result.
> Wicket on the client side would then dispatch these to their callers.
> The result is what appears to be multiple simultaneous AJAX requests.
> EXT-JS uses this concept and even though it is a pure client side framework it may be an interesting model to reference.
> From Users list
> Thread title: Wicket design incompatible with Web 2.0
> Specific Excerpt
> -----------------------
> not a bad idea. we already have a concept of "channels", but right now
> they can only queue or drop requests. with some work it should be
> possible to add an "aggregate" mode and process multiple callbacks
> within the same request. please file a jira issue.
> -igor
> - Hide quoted text -
> On Fri, Nov 12, 2010 at 11:44 AM, John Armstrong <si...@siberian.org> wrote:
> > EXT-JS does a nice queueing model where you can set a queue timer (say
> > 100ms) and any AJAX requests get bundled up into a single package that
> > goes across the wire at once, returning and then being sent back to
> > their callers.
> >
> > This lets a page update many components at once in what appears to be
> > real-time without blocking.
> >
> > Might be an interesting model for wicket at some point in the future.
> >
> > Yes, I know, EST-JS is a client-side framework. I am only using it as
> > an example of how some stacks are resolving these sorts of issues.
> >
> > John-

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (WICKET-3165) Queueing model for multiple AJAX requests

Posted by "Rodolfo Hansen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WICKET-3165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12931521#action_12931521 ] 

Rodolfo Hansen commented on WICKET-3165:
----------------------------------------

Would this would be implemented on the client side?
Would the wait time configurable?

> Queueing model for multiple AJAX requests
> -----------------------------------------
>
>                 Key: WICKET-3165
>                 URL: https://issues.apache.org/jira/browse/WICKET-3165
>             Project: Wicket
>          Issue Type: New Feature
>          Components: wicket
>            Reporter: John Armstrong
>
> Currently wicket ajax requests can block.
> This feature request suggests a queuing model where multiple ajax requests made during some given time horizon (100ms for example, configurable) are bundled together and sent as one request to a dispatcher. The server satisfies these and then returns them as a single result.
> Wicket on the client side would then dispatch these to their callers.
> The result is what appears to be multiple simultaneous AJAX requests.
> EXT-JS uses this concept and even though it is a pure client side framework it may be an interesting model to reference.
> From Users list
> Thread title: Wicket design incompatible with Web 2.0
> Specific Excerpt
> -----------------------
> not a bad idea. we already have a concept of "channels", but right now
> they can only queue or drop requests. with some work it should be
> possible to add an "aggregate" mode and process multiple callbacks
> within the same request. please file a jira issue.
> -igor
> - Hide quoted text -
> On Fri, Nov 12, 2010 at 11:44 AM, John Armstrong <si...@siberian.org> wrote:
> > EXT-JS does a nice queueing model where you can set a queue timer (say
> > 100ms) and any AJAX requests get bundled up into a single package that
> > goes across the wire at once, returning and then being sent back to
> > their callers.
> >
> > This lets a page update many components at once in what appears to be
> > real-time without blocking.
> >
> > Might be an interesting model for wicket at some point in the future.
> >
> > Yes, I know, EST-JS is a client-side framework. I am only using it as
> > an example of how some stacks are resolving these sorts of issues.
> >
> > John-

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.