Hello,

I have a system with client-server architecture. The client is
actually some java code and the server is some python code running in
GAE. When i need to query the kind (table) i defined in GAE data
store, i actually call a java function and it takes the query (e.g
select * from Person where age < 90) and send the query to the server
(some python code) through a http request. The server get and run the
query and finally generate the whole result tuples. Then the whole
result tuples will be sent back by server through a http response to
the client. Finally the client will print out the result tuples.

As you can see, the whole system architecture is just that the client
sends a http request with query and the server returns the query
result in just a http response. However, this will not work when the
result tuples are too big (e.g 500MB data) so that a http response can
not bring the whole result tuples back to the client.

I have two ideas for this problems:
1 Let the client recursively sending the query and cursor information
through a http request to server and the server generates partial
result tuples for every http request and returns the partial result
tuples back to the client through a http response. As you can imagine,
there will be many http requests sending from client and many http
response sending back from the server.

2 Let the client sending the query only once to server and the server
recursively generate partial result tuples each time and send these
partial result tuples back to client. As you can imagine, there will
be just one http request sending from client and many http response
sending back to the server. Actually the server streams the partial
result tuples to the client.

I prefer to implement the second idea. However, the second idea seems
impossible to be implemented because the GAE document says "App Engine
does not support sending data to the user's browser before exiting the
handler. Some web servers use this technique to "stream" data to the
user's browser over a period of time in response to a
single request. App Engine does not support this streaming technique."
The quote is from http://code.google.com/appengine/docs/python/runtime.html.

Now i can only implement the first idea.

Do you have other good suggestions, ideas for me?

You can of course correct me if you feel i misunderstand the GAE
document that i quote.

Thank you very much for your valuable views.

Bruce

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to