Google App Engine for Java: TSS First Look

Home

News: Google App Engine for Java: TSS First Look

  1. Google App Engine for Java: TSS First Look (22 messages)

    Google App Engine celebrates its first anniversary with a slew of announcements that increase the robustness (and enterprise appeal) of Google App Engine: flexible pricing, real cron support, ability to import/export data, a secure data connector, and the main feature: 100% Java App Engine. The new features were announced at Campfire One, a gathering of technology evangelists (both from Google and independent) who support the Google App Engine platform. The new features are intended for providing the robustness and flexibility to make App Engine a viable option in the enterprise: Flexible Billing The current billing model is expanded with more flexible options. Users may set a budget for their application usage, and billing doesn't kick in until after the default free time/storage/network resources have been consumed. cron Support The original event-driven model for App Engine prevented periodic task execution. The cron model for App Engine was released today and it'll support localized time (multiple locales across even the same cron configuration), URL access, and it will be configured using YAML, like other App Engine components. Large Scale Database Import/Export Several tools were announced for exporting and importing data from the enterprise in a secure manner. Data transfer operations may start or stop arbitrarily, provide error correction and recovery, and come with a powerful export tool (is it bye bye for GAEBAR?). Secure Data Connector SDC provides an agent for secure, robust real-time data exchange between enterprise applications behind the firewall and App Engine applications running on the cloud. Google provides SDC Agent, a code component that lives in the data center, for the data exchange. SDC Agent supports granular policy enforcement at the application, URL, or user level, and it's released as an open source project for maximum transparency and scrutiny. It's goals are to expose RESTful URLs to/from the enterprise application in a simple, secure, and open environment. Users may use their regular Google Accounts login, with intended support for Google domains down the road. More than 50 vendors support SDC, including Oracle CRM and SalesForce.com. Oracle showed real-time integration with their Siebel products during the presentation. Java 1.6 for Google App Engine This was the best part of the presentation. Standard Java 6 support at the JRE level, GWT for the front-end, and Eclipse plug-ins ready for download. Deploying an app to App Engine will be no different than deploying it to any garden variety servlet container like Jetty or Tomcat. Configuration will be familiar to Java developers, using the standard web.xml file and servlets API, file layout, and .war files. Though App Engine code may need some tweaking, overall structure, deployment, and operation should be familiar to Java folks. Google App Engine supports Datastore and Memcached to leverage the Google infrastructure. Google announced a commitment to implement access to their infrastructure via standar Java APIs, such as: * Web App Container: servlets, under JSR-154 * Datastore: JDO & JPA, JSR-220 and JSR-243 * HTTP: java.net packages, URL from the Java Standard Edition library * Mail: javax.mail, JSR-919 * Memcache: javax.cache, JSR-107 The Eclipse plugins may be used for running a local App Engine environment for full testing and debugging as part of the development cycle, tools for editing GWT code, and the ability to publish applications directly to the Google App Engine servers. The same tools are also available as stand-alone programs so that they may be integrated into IDEA, Vim, NetBeans, emacs, or any other IDE or editor of the programmer's choice. Google App Engine for Java will have limited availability to the first 10,000 developers who sign up. Get there early! Disclaimer: I'm the author of Developing with Google App Engine, that covers the Python API, and also of the upcoming Beginning Google App Engine that will cover the new Java features.

    Threaded Messages (22)

  2. What's nice is that beyond just Java, the language, that is support, it is really a JVM which is running in Google App Engine. And that means that alternative languages for the JVM can also run in their environment: for instance, Groovy! I've written a little tutorial on how to write a Groovy application on Google App Engine: http://blog.springsource.com/2009/04/07/write-your-google-app-engine-applications-in-groovy/
  3. This is very interesting development, although I would have loved to see some EJB3 support being thrown into the mix (for really lightweight declarative transactions and things like entity manager injections, which eases development a lot). Is anyone btw actually using the JSR Cache API currently, or is Google the first party to actually support this?
  4. spring framework[ Go to top ]

    I'm guessing you should be able to use a standard Spring MVC app with app engine as well then right?
  5. Re: spring framework[ Go to top ]

    I'm guessing you should be able to use a standard Spring MVC app with app engine as well then right?
    Since GAE supports servlets & jsp, I guess everything related to Spring, JSF, Facelets, Seam POJO ... can run on the GAE. I'm looking for a confirmation to my guess, but haven't found any.
  6. Re: spring framework[ Go to top ]

    Since GAE supports servlets & jsp, I guess everything related to Spring, JSF, Facelets, Seam POJO ... can run on the GAE. I'm looking for a confirmation to my guess, but haven't found any.
    Yes, it does. Just load the spring listener in your web.xml as you would any other spring app to load your spring context. Question I have is - GAE does not support JMS *natively* according to their docs. If I were to, say, load an ActiveMQ instance in my spring config, would it work properly? :) (oh, and not break any rules) :) -Michael
  7. Re: spring framework[ Go to top ]

    Hi, I tried to deploy a simple JSF application and had some exceptions. The jsf-lib (sun ri) could not read the faces-config.xml du to security exceptions. Furthermore if you check the supported api's the status of JSF is unknown :-( Check this url for supported libs http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine Georges
  8. Re: spring framework[ Go to top ]

    Blowing my own horn here :-) I wrote a sample application in Spring that interacts with all the Google services on GAE, that might be useful to study: http://peterbacklund.blogspot.com/2009/04/running-spring-on-google-app-engine.html
  9. More Languages for GAE[ Go to top ]

    What's nice is that beyond just Java, the language, that is support, it is really a JVM which is running in Google App Engine. And that means that alternative languages for the JVM can also run in their environment: for instance, Groovy!
    Does this really mean we have the entire JVM language family on GAE? As Clojure, Scala, ...? The web says there are at least 240 of them. Would be cool even if most of them are not web ready.
  10. I believe that it'll be Ruby since Google can leverage the JRuby project. The JRuby team (Charles Nutter, Ola Bini, Thomas Enebo, etc..) are not only exceptionally smart people, but very passionate about the project. Keep up the good work Google team, JRuby team, Eugene, and all of the many other people that really bring value back to Java and OpenSource. Cheers, Richard L. Burton III http://www.easyshout.com http://twitter.com/rburton
  11. Data access for Google App Java[ Go to top ]

    Interesting to see they support both JDO 2 and JPA.
  12. Re: Data access for Google App Java[ Go to top ]

    So, I haven't read any documentation yet.. but is the JPA going against BigTable? or what are they using for data store? Chris www.binaryfrost.com
    Interesting to see they support both JDO 2 and JPA.
  13. Re: Data access for Google App Java[ Go to top ]

    So, I haven't read any documentation yet.. but is the JPA going against BigTable? or what are they using for data store?resting to see they support both JDO 2 and JPA.
    The plan is to support Datastore, not BigTable. BigTable is several levels of abstraction below Datastore. Cheers, E Developing with Google App Engine
  14. JPA implementation[ Go to top ]

    Actually it would be interesting which JPA/JDO implementation they reused or whether they implemented it on their own..
  15. Re: JPA implementation[ Go to top ]

    Actually it would be interesting which JPA/JDO implementation they reused or whether they implemented it on their own..
    The implementation is DataNucleus Access Platform which utilises OSGi plugins, hence allowing the AppEngine team to develop their own BigTable plugin to be used with the core DataNucleus product. DataNucleus is JDO2/JPA1 compliant (and is the "RI" for JDO2+ releases), supporting persistence to not just BigTable but also to RDBMS, db4o, Neodatis, LDAP, XML, Excel spreadsheets, JSON and ODF spreadsheets. --Andy DataNucleus
  16. Re: JPA implementation[ Go to top ]

    Actually it would be interesting which JPA/JDO implementation they reused or whether they implemented it on their own..

    The implementation is DataNucleus Access Platform which utilises OSGi plugins, hence allowing the AppEngine team to develop their own BigTable plugin to be used with the core DataNucleus product. DataNucleus is JDO2/JPA1 compliant (and is the "RI" for JDO2+ releases), supporting persistence to not just BigTable but also to RDBMS, db4o, Neodatis, LDAP, XML, Excel spreadsheets, JSON and ODF spreadsheets.

    --Andy DataNucleus
    Wonder if we can deploy OSGi plugins then or if that is just for the infrastructure.
  17. Re: JPA implementation[ Go to top ]

    Wonder if we can deploy OSGi plugins then or if that is just for the infrastructure.
    Wishful thinking ;-) The mechanism that will (almost certainly) be in use in AppEngine is a fallback registry (absence of a real OSGi container) that we use for detecting which DataNucleus plugins are present so we know what capabilities to present to the user.
  18. Re: JPA implementation[ Go to top ]

    Wonder if we can deploy OSGi plugins then or if that is just for the infrastructure.

    Wishful thinking ;-)
    Maybe if I click my heels three times ... :)
  19. Hi,[ Go to top ]

    I like your post its quite informative and i love to visit you again as you have done a wonderful job. i love to bookmark this site and would send it to other friends to read it and visit it to get upto date and quite interesting information pass4sure 642-637, i like the way you are working,keep it up, i will be here again as i get some time from pass4sure 642-062 because they make me little busy, but i would love to stuck here again image pass4sure 650-393. Thanks for sharing nice information with us.

  20. Actually it would be interesting which JPA/JDO implementation they reused or whether they implemented it on their own..
    Have a look at this link from 'Google Code Blog': http://google-code-updates.blogspot.com/2009/04/standards-based-persistence-for-java.html. To quote from the article:
    ..we have the DataNucleus project (formerly JPOX), which provides plugins that connect these standards [JDO/JPA] to various types of datasources
  21. Chris has done some experiments with Equinox on the App Engine and while it is not yet working this looks interesting: http://eclipsesource.com/blogs/2009/04/10/osgi-on-appengine/ But not having threads available seems like a major impediment for getting arbitrary bundles to work.
  22. Seam on Google App Engine[ Go to top ]

    related and very interesting: http://ctpjava.blogspot.com/2009/04/jboss-seam-on-google-app-engine-first.html
  23. I am trying to use Appfuse on GAE, seems that it will works. SN jsptube