Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Google App Engine situation - Big picture

    Hi all,

    I would like to get an overview of the current situation concerning SmartGWT and GAE.

    I am not asking for instructions about exactly how to do things; right not I am only interested in learning what works, what does not, and what is the recommended approach.

    I am aware that there is (or was) an issue with too many files on the client side; I understand that there are workarounds for this problem (use S3, zip the stuff, whatever), so this is not a critical issue.

    I am much more interested in the server side of things, and the client-server communication.

    What parts of the server side are usable under GAE? (I am talking about the Pro- Power- and EE-versions, with the integrated JAVA server side.) It seems to be that the solutions provided by the non-LGPL part of SmartGWT are somewhat redundant with the GAE. I would like to understand better what parts of these features add value to the the services already provided by the GAE platform.

    I assume the built-in SQL back-end is not usable, since we do not get an SQL interface, right?

    What is the best approach to base a DataSource over the Google DataStore? Is there (or will there be) a built-in backend for that? Or should we use a third-party implementation for that? (Or just do it myself?)

    What about client-server communication? Can the usual stuff (IDACall servlet calls) work as usual, or are we restricted to GWT's RPC solution which is considered highly sub-optimal by Isomorphic, if I recall properly), and as a consequence, to the 3rd party GWT-RPC DataSource - which is obviously inferior compared to the built-in backends?

    Generally, is using GAE encouraged / endorsed by Isomorphic? If no, then what do you recommend us to use instead of it? (For situations where we need to develop and deploy applications with very high scalability requirements, and prefer to do this in a service-based model, instead of managing one server (and then later on, many servers) ourselves?)

    Thank you for sheding some light on these matters.

    #2
    To clarify: I am aware of the contents of http://www.smartclient.com/smartgwte...rsistence.html and http://www.smartclient.com/smartgwte...ataSource.html, but it's not clear to me how much of that applies to GAE.

    (For a starter, I don't even how much of the iscServer can run on GAE, because of the restrictions - see http://code.google.com/intl/en/appen...ml#The_Sandbox, for example.)
    Last edited by csillag; 3 May 2010, 12:40.

    Comment


      #3
      From an other thread:

      Originally posted by Isomorphic
      The core server is compatible with GAE, up to an including custom DataSources, but of course, not the Hibernate or SQL engines. A JPA-based GAE-compatible DataSource is planned (no ETA).
      Sounds great!

      So, most important ones of my remaining questions are:

      1. Until your planned JPA-based GAE-compatible backend arrives, what is the best approach to base a DataSource over the Google DataStore?

      2. Just to be sure: the usual ISC servlets work as usual, right? So, to get data binding going as usual, all I need to do is to implement a custom data source (at the server side), right?

      3. Generally, is using GAE encouraged / endorsed by Isomorphic? If not so much, then what do you recommend us to use instead of it? (For situations where we need to develop and deploy applications with very high scalability requirements, and prefer to do this in a service-based model, instead of managing one server (and then later on, many servers) ourselves?)

      Comment


        #4
        1. Write a custom DataSource similar to the Hibernate-based "Custom DataSource" sample, only use JPA APIs instead

        2. Yes

        3. There's a lot of providers similar to GAE with varying characteristics (Amazon EC2 for one) that may be more or less suitable for your application, we don't really "endorse" one, but we are writing GAE-specific functionality, so obviously we take it seriously.

        Comment


          #5
          Thank you for your answer. Just one more question:

          Originally posted by Isomorphic
          A JPA-based GAE-compatible DataSource is planned (no ETA).
          ... and later:

          [...] we are writing GAE-specific functionality [...]
          Judging from the Hibernate-based custom DataSource example, building the required bridge should not be that hard. On one hand, this is good new, since I have suspected from the beginning that I will have to do this, eventually.

          On the other hand, you can (and will) probably do it in a matter of days, so it might make sense to wait for it ... depending on your plans.

          I understand that you hate deadlines, and never give out ETA-s (and reflexively insert the disclaimer to any sentence about planned features :), but still... can you disclose at least the order of magnitude of the time we will have to wait for this?

          (I mean, days / weeks / months / years )

          Thank you for your help!

          Comment


            #6
            AppScale?

            How about AppScale support? (For the record, AppScale is a free implementation of (most of) the AppEngine APIs. It makes it possible to run AppEngine applications outside the Google cloud, on local infrastructure, for example.)

            Was SmartGWT tested on AppScale?

            Comment


              #7
              Originally posted by csillag
              Judging from the Hibernate-based custom DataSource example, building the required bridge should not be that hard. [...] you can (and will) probably do it in a matter of days
              After doing some more reading, I would like to take this back.
              Unfortunately, it's not _that_ simple...

              Comment

              Working...
              X