Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

SVCC Google App Engine: Java Runtime

In this session, we will go step by step through the creation of a Google App Engine (GAE) application using the Java Runtime. This will be a beginner level session with respect to Google App Engine, but, a good understanding of how to build web applications in Java will be assumed. The code of the twitter bot sample application is available online.

  • Inicia sesión para ver los comentarios

SVCC Google App Engine: Java Runtime

  1. 1. Google App Engine: Java Runtime <ul><li>Michael &quot;Van&quot; Riper </li></ul><ul><li>Silicon Valley Code Camp </li></ul><ul><li>October 3, 2009 </li></ul><ul><li>Kritter </li></ul><ul><li>a twitter bot written in Java </li></ul><ul><li>and deployed on App Engine </li></ul>
  2. 2. Google App Engine: Java Runtime <ul><li>Kritter Demo </li></ul><ul><li>Follow @KrillionKritter </li></ul><ul><li>Two minutes later, check messages </li></ul><ul><li>d krillionkritter u 883974183913 94041 </li></ul><ul><li>One minute later, check messages </li></ul>
  3. 3. Google App Engine: Java Runtime <ul><li>Caveats </li></ul><ul><li>I am a neophyte Eclipse user =) </li></ul><ul><li>No Google Web Toolkit coverage </li></ul><ul><li>Dependency on Twitter service </li></ul>
  4. 4. Google App Engine: Java Runtime <ul><li>Getting Started </li></ul><ul><li>App Engine Docs code.google.com/appengine/ </li></ul><ul><li>Kritter Source Code code.google.com/p/kritter/ </li></ul><ul><li>Twitter4J Project j.mp/twitter4j </li></ul>
  5. 5. Google App Engine: Java Runtime <ul><li>WEB-INF Configuration </li></ul><ul><li>appengine.xml </li></ul><ul><li>logging.properties </li></ul><ul><li>web.xml </li></ul><ul><li>queue.xml </li></ul><ul><li>cron.xml </li></ul>
  6. 6. Google App Engine: Java Runtime <ul><li>META-INF Configuration </li></ul><ul><li>jdoconfig.xml </li></ul><ul><li>Kritter Server Configuration </li></ul><ul><li>kritter.properties </li></ul>
  7. 7. Google App Engine: Java Runtime <ul><li>FollowerServlet </li></ul><ul><li>Test manually first </li></ul><ul><li>Automate with cron job later on </li></ul><ul><li>Uses Datastore to save cron state </li></ul><ul><li>Uses “followers” Task Queue </li></ul>
  8. 8. Google App Engine: Java Runtime <ul><li>FollowerWorkerServlet </li></ul><ul><li>Handles “followers” Task Queue </li></ul><ul><li>Saves new “friends” in Datastore </li></ul>
  9. 9. Google App Engine: Java Runtime <ul><li>MessageServlet </li></ul><ul><li>Test manually first </li></ul><ul><li>Automate with cron job later on </li></ul><ul><li>Uses Datastore to save cron state </li></ul><ul><li>Uses “messages” Task Queue </li></ul>
  10. 10. Google App Engine: Java Runtime <ul><li>MessageWorkerServlet </li></ul><ul><li>Handles “messages” Task Queue </li></ul><ul><li>Saves new “replies” in Datastore </li></ul>
  11. 11. Google App Engine: Java Runtime <ul><li>Datastore: Why I Chose JDO </li></ul><ul><li>Better documented: Using JDO with App Engine </li></ul><ul><li>Nice default JDO Support in Eclipse </li></ul><ul><li>Datastore: PMF </li></ul><ul><li>PersistenceManager Singleton </li></ul>
  12. 12. Google App Engine: Java Runtime <ul><li>Datastore: FollowerStat </li></ul><ul><li>Used by FollowerServlet </li></ul><ul><li>Stores new follower history </li></ul><ul><li>Datastore: MessageStat </li></ul><ul><li>Used by MessageServlet </li></ul><ul><li>Stores new message history </li></ul>
  13. 13. Google App Engine: Java Runtime <ul><li>Datastore: Friend </li></ul><ul><li>Used by FollowerWorkerServlet </li></ul><ul><li>Stores friends and their preferences </li></ul><ul><li>Datastore: Reply </li></ul><ul><li>Used by MessageWorkerServlet </li></ul><ul><li>Stores messages and replies </li></ul>
  14. 14. Google App Engine: Java Runtime <ul><li>Deploy & Monitor </li></ul><ul><li>Local vs Remote Deployment </li></ul><ul><li>appengine.google.com </li></ul><ul><ul><li>Versions </li></ul></ul><ul><ul><li>Logs </li></ul></ul><ul><ul><li>Cron Jobs </li></ul></ul><ul><ul><li>Task Queue </li></ul></ul><ul><ul><li>Data Viewer </li></ul></ul><ul><ul><li>Quota Details </li></ul></ul>
  15. 15. Google App Engine: Java Runtime <ul><li>Kritter: Unfinished Business </li></ul><ul><li>Securing URLs for Cron Jobs </li></ul><ul><li>Add GWT sample code </li></ul><ul><li>Add proper command parser </li></ul><ul><li>Documentation </li></ul>
  16. 16. Google App Engine: Java Runtime <ul><li>Additional Resources </li></ul><ul><li>Building Scalable, Complex Apps </li></ul><ul><li>Rick Hightower on developerWorks </li></ul><ul><li>Gaelyk, a Groovy Toolkit </li></ul><ul><li>Scala on Google App Engine </li></ul>
  17. 17. Google App Engine: Java Runtime <ul><li>That's All Folks </li></ul><ul><li>Questions? </li></ul>

×