Hi,this is my firs post on this group.
I'am looking for some clarification about using google app engine with java.
I have this kind of problem to resolve: (It's quite simple for me to do this in java and oracle database with oracle tables and triggers but in this case I must use only google APIs to do so)...
"You are responsible to implement a backend feature for new app. This feature is a internet site. It looks like this:
main point of feature is to notify users when one of their friends overtakes them in a game (lets say it has more experience) thus
each user might have friends (or it might not have)
API call is made to backend each time user gains experience (assume you get this info)
if user has just overtaken some of his friends, a API call is made
to send him a notification (assume function to send notification exists)
if user is registered first time it gains experience API call is made to backend for each new friend user has added (or
removed)
Backend is implemented on Google App Engine (GAE) in Java language.
Describe how would you do the following:
1) use GAE services to store user data (user himself and friend list)
Where would you store user data? By what it would be indexed, based on
requirements/flow above?
Consider cost and performance (scaling).
2) GAE provides memcache service, how would you use it to minimize
reads from datastore (mamcache is free, datastore is not)
3) Product management has come up wiht new feature: friend size badge!
This is a feature that works like this:
10%
users with most friends get gold badge
top
30% get silver badge
top
50% get bronze badge
How would you change your design from question (1) to be able to
determine users badges in realtime (in API call handler)?"
Can someone drive me trough this case or give me some advice on this?