-
Google App Engine for Java: TSS First Look (22 messages)
- Posted by: Eugene Ciurana
- Posted on: April 08 2009 08:08 EDT
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)
- Groovy support in Google App Engine by Guillaume Laforge on April 08 2009 09:09 EDT
- Re: Groovy support in Google App Engine by augustientje bloem on April 08 2009 10:21 EDT
- spring framework by imran khawaja on April 08 2009 10:40 EDT
-
Re: spring framework by Thai Dang Vu on April 08 2009 10:59 EDT
- Re: spring framework by Michael Dowling on April 08 2009 11:29 EDT
-
Re: spring framework by Georges Goebel on April 09 2009 05:12 EDT
- Re: spring framework by Peter Backlund on April 25 2009 01:28 EDT
-
Re: spring framework by Thai Dang Vu on April 08 2009 10:59 EDT
- More Languages for GAE by Stefan Edlich on April 08 2009 17:37 EDT
- My prediction of the next language on the AppEngine. by Richard Burton on April 09 2009 12:19 EDT
- Data access for Google App Java by Eric Samson on April 08 2009 12:03 EDT
- Re: Data access for Google App Java by c b on April 08 2009 12:10 EDT
-
Re: Data access for Google App Java by Eugene Ciurana on April 08 2009 01:07 EDT
-
JPA implementation by Robin de Silva Jayasinghe on April 09 2009 03:13 EDT
-
Re: JPA implementation by ^C^ ^C^ on April 09 2009 04:27 EDT
-
Re: JPA implementation by Mark N on April 09 2009 10:55 EDT
-
Re: JPA implementation by ^C^ ^C^ on April 09 2009 11:22 EDT
- Re: JPA implementation by Mark N on April 09 2009 12:26 EDT
-
Re: JPA implementation by ^C^ ^C^ on April 09 2009 11:22 EDT
-
Re: JPA implementation by Mark N on April 09 2009 10:55 EDT
- Re: JPA implementation by Brian Silberbauer on April 09 2009 04:31 EDT
-
Re: JPA implementation by ^C^ ^C^ on April 09 2009 04:27 EDT
-
JPA implementation by Robin de Silva Jayasinghe on April 09 2009 03:13 EDT
-
Re: Data access for Google App Java by Eugene Ciurana on April 08 2009 01:07 EDT
- Re: Data access for Google App Java by c b on April 08 2009 12:10 EDT
- Equinox OSGi experiments on App Engine by Jochen Krause on April 10 2009 17:42 EDT
- Seam on Google App Engine by bas zero on April 21 2009 11:05 EDT
- Re: Google App Engine for Java: TSS First Look by J Dev on October 13 2009 02:25 EDT
-
Groovy support in Google App Engine[ Go to top ]
- Posted by: Guillaume Laforge
- Posted on: April 08 2009 09:09 EDT
- in response to Eugene Ciurana
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/ -
Re: Groovy support in Google App Engine[ Go to top ]
- Posted by: augustientje bloem
- Posted on: April 08 2009 10:21 EDT
- in response to Guillaume Laforge
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? -
spring framework[ Go to top ]
- Posted by: imran khawaja
- Posted on: April 08 2009 10:40 EDT
- in response to Guillaume Laforge
I'm guessing you should be able to use a standard Spring MVC app with app engine as well then right? -
Re: spring framework[ Go to top ]
- Posted by: Thai Dang Vu
- Posted on: April 08 2009 10:59 EDT
- in response to imran khawaja
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. -
Re: spring framework[ Go to top ]
- Posted by: Michael Dowling
- Posted on: April 08 2009 11:29 EDT
- in response to Thai Dang Vu
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 -
Re: spring framework[ Go to top ]
- Posted by: Georges Goebel
- Posted on: April 09 2009 05:12 EDT
- in response to Thai Dang Vu
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 -
Re: spring framework[ Go to top ]
- Posted by: Peter Backlund
- Posted on: April 25 2009 13:28 EDT
- in response to Georges Goebel
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 -
More Languages for GAE[ Go to top ]
- Posted by: Stefan Edlich
- Posted on: April 08 2009 17:37 EDT
- in response to Guillaume Laforge
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. -
My prediction of the next language on the AppEngine.[ Go to top ]
- Posted by: Richard Burton
- Posted on: April 09 2009 12:19 EDT
- in response to Guillaume Laforge
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 -
Data access for Google App Java[ Go to top ]
- Posted by: Eric Samson
- Posted on: April 08 2009 12:03 EDT
- in response to Eugene Ciurana
Interesting to see they support both JDO 2 and JPA. -
Re: Data access for Google App Java[ Go to top ]
- Posted by: c b
- Posted on: April 08 2009 12:10 EDT
- in response to Eric Samson
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.comInteresting to see they support both JDO 2 and JPA.
-
Re: Data access for Google App Java[ Go to top ]
- Posted by: Eugene Ciurana
- Posted on: April 08 2009 13:07 EDT
- in response to c b
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 -
JPA implementation[ Go to top ]
- Posted by: Robin de Silva Jayasinghe
- Posted on: April 09 2009 03:13 EDT
- in response to Eugene Ciurana
Actually it would be interesting which JPA/JDO implementation they reused or whether they implemented it on their own.. -
Re: JPA implementation[ Go to top ]
- Posted by: ^C^ ^C^
- Posted on: April 09 2009 04:27 EDT
- in response to Robin de Silva Jayasinghe
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 -
Re: JPA implementation[ Go to top ]
- Posted by: Mark N
- Posted on: April 09 2009 10:55 EDT
- in response to ^C^ ^C^
Wonder if we can deploy OSGi plugins then or if that is just for the infrastructure.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 -
Re: JPA implementation[ Go to top ]
- Posted by: ^C^ ^C^
- Posted on: April 09 2009 11:22 EDT
- in response to Mark N
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. -
Re: JPA implementation[ Go to top ]
- Posted by: Mark N
- Posted on: April 09 2009 12:26 EDT
- in response to ^C^ ^C^
Maybe if I click my heels three times ... :)Wonder if we can deploy OSGi plugins then or if that is just for the infrastructure.
Wishful thinking ;-) -
Hi,[ Go to top ]
- Posted by: Yrng Weng
- Posted on: June 27 2011 07:46 EDT
- in response to Mark N
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.
-
Re: JPA implementation[ Go to top ]
- Posted by: Brian Silberbauer
- Posted on: April 09 2009 04:31 EDT
- in response to Robin de Silva Jayasinghe
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
-
Equinox OSGi experiments on App Engine[ Go to top ]
- Posted by: Jochen Krause
- Posted on: April 10 2009 17:42 EDT
- in response to Eugene Ciurana
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. -
Seam on Google App Engine[ Go to top ]
- Posted by: bas zero
- Posted on: April 21 2009 11:05 EDT
- in response to Eugene Ciurana
related and very interesting: http://ctpjava.blogspot.com/2009/04/jboss-seam-on-google-app-engine-first.html -
Re: Google App Engine for Java: TSS First Look[ Go to top ]
- Posted by: J Dev
- Posted on: October 13 2009 02:25 EDT
- in response to Eugene Ciurana
I am trying to use Appfuse on GAE, seems that it will works. SN jsptube