Datastore between apps.

43 views
Skip to first unread message

geniesis

unread,
Nov 10, 2009, 10:19:59 AM11/10/09
to Google App Engine
My eventual solution/implmentation will consist of two apps.

The first app is the web-frontend which provides the user interface
and eye-candy for users to view data in the datastore.

The second app is mainly for the backend support software. There will
be a bunch of servers that will be periodically posting data to this
second app. The second app will process this data and store it in the
datastore.

The issue here is, can the two apps share a common datastore?? Or does
it need to all exist in the one app.

I ask this because the frontend will more than likely be in java, but
the backend app will be in python.

Considering you can only have 1 lang running at any one time on an
app, this because an issue.


Also, are there SLA's on App Engine?

Ikai L (Google)

unread,
Nov 10, 2009, 6:51:07 PM11/10/09
to google-a...@googlegroups.com
You won't be able to have direct access to the same datastore from both applications, however, you can write both a Python and Java application running with the same appspot ID: http://googleappengine.blogspot.com/2009/06/10-things-you-probably-didnt-know-about.html. In general, though, if you use this approach, you'd probably opening a can of worms.

A better approach if you absolutely need to write your application using two languages is to have two applications, with one application using URLFetch APIs to post to the application hosting the authoritative data store. Is there a reason you need to write your application in both Java and Python? It may be simpler just to write the entire application in a single language, but even then there is another option: running any JVM version of a language. The community has been successful running Scala, Jython, JRuby, Groovy amongst other languages on the Java flavor of App Engine in conjunction with Java (though there are some caveats).

As far as SLAs go, we do not have any SLAs for applications running on App Engine.
--
Ikai Lan
Developer Programs Engineer, Google App Engine

Barry Hunter

unread,
Nov 11, 2009, 8:43:21 AM11/11/09
to google-a...@googlegroups.com
2009/11/10 Ikai L (Google) :

> A better approach if you absolutely need to write your application using two
> languages is to have two applications, with one application using URLFetch
> APIs to post to the application hosting the authoritative data store.

Doesn't the Terms preclude running two Apps, to function as a single
'Application' ?
(primarily because splitting work into two apps could be a way to
avoid quota issues)

Ikai L (Google)

unread,
Nov 11, 2009, 1:25:24 PM11/11/09
to google-a...@googlegroups.com
Barry,

Per the terms: http://code.google.com/appengine/terms.html:

4.4. You may not develop multiple Applications to simulate or act as a single Application or otherwise access the Service in a manner intended to avoid incurring fees.

So you're correct in that we prohibit using multiple applications acting as one if it's an attempt to dodge quota. That doesn't seem like the intention here. The quota on URLFetch is significantly lower than that of direct Data Store access.

I'm curious as to why two applications are needed, however. It seems like it would introduce a lot of unnecessary work on the part of the developers to solve the requirement of building the application in two languages.

Barry Hunter

unread,
Nov 11, 2009, 2:07:26 PM11/11/09
to google-a...@googlegroups.com
2009/11/11 Ikai L (Google) :

> Per the terms: http://code.google.com/appengine/terms.html:
>
> 4.4. You may not develop multiple Applications to simulate or act as a
> single Application or otherwise access the Service in a manner intended to
> avoid incurring fees.
>
> So you're correct in that we prohibit using multiple applications acting as
> one *if* it's an attempt to dodge quota.

Ah I see, it comes down to semantics :)

I read that as

"You may not develop multiple Applications (to simulate or act as a
single Application) or (otherwise access the Service in a manner intended to
avoid incurring fees)."

rather than

"You may not develop multiple Applications (to simulate or act as a
single Application or otherwise access the Service) in a manner intended to
avoid incurring fees."

thanks for the clarification!

Alex Epshteyn

unread,
Dec 1, 2009, 6:38:00 PM12/1/09
to Google App Engine
Running both python and java runtimes (under different version
strings) is an intriguing idea.

Is it possible to have both the python and java local dev appservers
to use the same local datastore?

(If not, it seems difficult to properly test the apps.)

Are there any other specific worms in this can anyone can think of?

On Nov 10, 6:51 pm, "Ikai L (Google)" <ika...@google.com> wrote:
> You won't be able to have direct access to the same datastore from both
> applications, however, you can write both a Python and Java application
> running with the same appspot ID:http://googleappengine.blogspot.com/2009/06/10-things-you-probably-di....
Reply all
Reply to author
Forward
0 new messages