Hi Shane You might also be interested in GAE's full-text indexing capabilities...
I don't quite understand all of the technical nuances but this thread might point you in the right direction... http://groups.google.ca/group/google-appengine/browse_thread/thread/a7f984d30fe8b6ea/afbfd1140f64a3e9?hl=en&lnk=gst&q=full-text#afbfd1140f64a3e9 Regards. On Jun 2, 9:45 pm, Shane <shanelstev...@gmail.com> wrote: > Hi Nick, > > Thanks for your responses, very helpful! > > I intend on programming in Java instead of Python, given it's > similarity to C++ for me, so can you recommend a Java session library > like Beaker? > > Cheers, > Shane > > On Jun 3, 3:42 am, "Nick Johnson (Google)" <nick.john...@google.com> > wrote: > > > Hi Shane, > > > Good questions! Replies inline. > > > On Tue, Jun 2, 2009 at 7:32 AM, Shane <shanelstev...@gmail.com> wrote: > > > > Hello, > > > > Having watched what is possible with GWT and GAE during the Wave > > > keynote, I feel inspired to to finally delve into Web programming! > > > > I am an extremely experienced programmer, but my experience has been > > > 20+ years in C/C++ in the video game industry (C64->MAC/PC->PS3), so > > > please excuse me if I these questions are stupid/too basic; I feel > > > like a total n00b in this domain. I just want to get my head around a > > > few things, and hopefully get pointed in the right direction, before I > > > start. > > > > In short, I love the fact that there is no concept of a 'server' > > > running an instance of my app, or some database server. I love that > > > the physical architecture is completely abstracted away, allowing > > > applications to scale. However this leads me to my questions: > > > > 1. Given HTTP requests are stateless, how does my app in the cloud > > > keep track of data between requests? Do I store what I need into a > > > cloud state object? > > > This depends on the nature of the data. For per-user data, it's standard to > > use cookie-based sessions, or if the user is logged in with the Users API, > > you can store data keyed off their user ID. Since App Engine is distributed > > across many computers, you need to store this in the datastore and/or > > memcache so it's accessible from all instances. > > > > 2. What is considered a session request? I.e. Does GAE see HTTP > > > requests from a certain IP address as a session? Or is some sort of > > > session ID stored on the client and transmitted with each HTTP Get? > > > HTTP - and App Engine - have no built in concept of sessions. It's up to you > > to build session support on top of it, usually using cookies as outlined > > above. If you want a straightforward session implementation for Python, > > Beaker is one: http://beaker.groovie.org/ > > > > 3. How does GAE authenticate users? How does GAE ensure the requests > > > are coming from the real client, and not a man-in-the-middle? > > > If you want to use the Users API, users are authenticated by redirecting > > them to a page on Google's servers, where they sign in. This page is served > > over HTTPS, to prevent man-in-the-middle attacks and to protect the > > confidentiality of their password. Once they're signed in, they're > > redirected back to a special URL on your app (which is not directly > > accessible to your code) with a URL containing an authentication token. The > > special URL verifies the authentication token, issues a cookie for the user, > > and finally redirects back to your handler. Subsequent requests check for > > the presence of the cookie and use it to verify the logged-in user. > > > > I guess my questions are all centering around the problem of, what is > > > a session, and how do I deal with it? > > > > Once I understand this, then I will know how to customise my > > > application to a user, keep track of data between page requests and > > > remember information about them and be on my way. > > > > Thanks in advance, > > > Shane > > > -Nick Johnson --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---