SlideShare une entreprise Scribd logo
1  sur  274
Google App Engine
a JVM cloud computing workshop




                                 by Matthew McCullough, Ambient Ideas, LLC
Matthew McCullough
 ★ Open Source Architect
   Ambient Ideas, LLC
 ★ Twitter
   @matthewmccull
 ★ Email
   matthewm@ambientideas.com
 ★ Web
   ambientideas.com/blog
90 min   90 min
on ?
               Le ss
      sto ry
H i
v elo pe rs!
We ’re De
Let’s build an app!
Google App Engine SDK
Google Web Toolkit SDK
Google Eclipse Plugin
Let’s code!
deploy to

local   development server
debugging defaults
Success!
Why the cloud?
I have an idea for an app!
scrounge up money
LD
SO
going great, then...
Spiked Traffic
D LD
   LO
S OS
Whew! We survived!
Not again!
D LD LD
   LO O
S OS S
can’t afford to keep doing this!
success = crowds
crowds can be good
crowds can be bad
crowds are sudden
crowds are transient
fu nds!
No   Re
pay-per-use!
brilliant!
GAE Account
before a real deployment
sign up for GAE
http://appengine.google.com
Google account
SMS-delivered code
demo of signup
Production Deployment
reserve App ID
http://appengine.google.com

Control Panel
demo reserving App ID
set App ID & Version
demo setting App ID
deploy...
demo deploying to
production GAE from
     eclipse
<appid>.appspot.com
Pay-as-you-go?
who thought of this?
Joh
      nM
           cCa
               r   thy
1960
1960
1960
“com putation may  someday
            d as a publ ic utility”
 be organize
                       -John McCarthy
with the premise that the data services and
“It starts
                       be on servers. We c all it cloud computing
  architecture should
                       be in a cloud      somewhere.”
 – they should
                                           -Eric Schmidt, 8/9/2006
what does this solve?
New Signups         Active Users
Users




    Jan   Feb   Mar   Apr   May       Jun       Jul      Aug         Sep
minimal cost for
short-lived peaks
Command Line (SDK)
appcfg.sh
 appcfg.cmd
production maintenance
> appcfg.sh help

Action must be one of:
  help: Print help for a specific action.
  request_logs: Write request logs in Apache common log format.
  rollback: Rollback an in-progress update.
  update: Create or update an app version.
  update_indexes: Update application indexes.
  update_cron: Update application cron jobs.
  update_queues: Update application task queue definitions.
  update_dos: Update application DoS protection configuration.
  version: Prints version information.
  cron_info: Displays times for the next several runs of each
cron job.
Use 'help <action>' for a detailed description.
demo appcfg help
push to production
appcfg.sh update war
fetch logs
appcfg.sh request_logs war mylogs.log
demo appcfg fetch logs
dev_appserver.sh
dev_appserver.cmd
Jetty Servlet Container
demo dev_appserver
The WAR
WAR folder format
no actual WAR
optimized to upload delta
Logging
log4j
java.util.logging
System.out == info
System.err == warning
The Datastore
A place to store data
Filesystem
Relational database
column-oriented
List ( Maps ( Maps ) )
schema-less
Persisting Easily


★ Low Level Datastore API
★ com.google.appengine.api.datastore
low level API
full control

      but...

       vendor lock in
DataNucleus
Who?
DataNucleus
JDO
JPA
demo JDO persistence
demo two rows with
 columns differing
Why Google’s cloud?
free to start
generous free quotas
no hardware to own
no OS to patch
no network to secure
SaaS
PaaS
IaaS
Python
      +
JVM languages
Java Runtime 1.6
Jetty servlet container
Google uptime
Google scaling brilliance
freedom through constraints
freedom through constra
                       ints
The Whitelist
the allowed classes
Banned




         ⅘
         Java
The JRE Class White List
A Java App Engine application's access to the classes in the Java standard library (the Java Runtime Environment, or JRE)
is limited to the following classes:
     java.awt.datatransfer.DataFlavor
     java.awt.datatransfer.MimeType
     java.awt.datatransfer.Transferable
     java.beans.AppletInitializer
     java.beans.BeanDescriptor
     java.beans.BeanInfo
     java.beans.Beans
     java.beans.ConstructorProperties
     java.beans.Customizer
     java.beans.DefaultPersistenceDelegate
     java.beans.DesignMode
     java.beans.Encoder
     java.beans.EnumPersistenceDelegate
     java.beans.EventHandler
     java.beans.EventSetDescriptor
     java.beans.ExceptionListener
     java.beans.FeatureDescriptor
     java.beans.IndexedPropertyChangeEvent
     java.beans.IndexedPropertyDescriptor
     java.beans.IntrospectionException
     java.beans.Introspector
     java.beans.MethodDescriptor
     java.beans.ParameterDescriptor
     java.beans.PersistenceDelegate
     java.beans.PropertyChangeEvent
     java.beans.PropertyChangeListener
org.xml.sax.DocumentHandler
org.xml.sax.EntityResolver
org.xml.sax.ErrorHandler
org.xml.sax.HandlerBase
org.xml.sax.InputSource
org.xml.sax.Locator
org.xml.sax.Parser
org.xml.sax.SAXException
org.xml.sax.SAXNotRecognizedException
org.xml.sax.SAXNotSupportedException
org.xml.sax.SAXParseException
org.xml.sax.XMLFilter
org.xml.sax.XMLReader
org.xml.sax.ext.Attributes2
org.xml.sax.ext.Attributes2Impl
org.xml.sax.ext.DeclHandler
org.xml.sax.ext.DefaultHandler2
org.xml.sax.ext.EntityResolver2
org.xml.sax.ext.LexicalHandler
org.xml.sax.ext.Locator2
org.xml.sax.ext.Locator2Impl
org.xml.sax.helpers.AttributeListImpl
org.xml.sax.helpers.AttributesImpl
org.xml.sax.helpers.DefaultHandler
org.xml.sax.helpers.LocatorImpl
org.xml.sax.helpers.NamespaceSupport
org.xml.sax.helpers.ParserAdapter
org.xml.sax.helpers.ParserFactory
org.xml.sax.helpers.XMLFilterImpl
org.xml.sax.helpers.XMLReaderAdapter
org.xml.sax.helpers.XMLReaderFactory
controversial
you agree with Sun     policing it or not,
 “Whether                         all very well for
Java compatib ility has served us
over a decade.

            es being sure as a d eveloper that all
That includ                           ll platforms.
core classes a     re present on a
                -sets of the cor   e classes in the
Creating sub
           tform was forb      idden for a really
Java pla                         nd irresponsible to
good reaso   n, and it's wanton a
 casually flaunt the rules.”
                                                         s
              -Simon Phipps, OSS Manager, Sun Microsystem
what about

J2ME?
No threads
No File I/O
No Sockets
No JNI
demo violating the
 whitelist locally
demo violating the
whitelist remotely
Why another vendor’s cloud?
better response times
3000




           ‘hello world’
2250   GAE response times
             in milliseconds



1500




 750
OS neutrality
choice of programming language
avoiding G
             AE
platform l
          ock-in
EC2
SimpleDB
S3 Storage
CloudServers
Windows OS
Linux OS
CDN
open networking
root access
1.5 cents/hour
0.66 rupees/hour
Dashboard
web console
logging
datastore inspector
usage graphs
Memcache
retrieve,
 but don’t calculate
why the 2nd data source?
tested, measured, proven
JSR-107 / JCache
demo memcache
Mail
email services
common for web apps
realiable delivery
URL Fetch
only means of port
   connectivity
10 second limit
10 MB request limit
demo URLFetch
demo fail on 10MB get
Task Queue
webhook pattern
outbound = API
inbound = HTTP POST
scheduled
queues
worker, processing
but still limited to

30 seconds
Quotas
why?
multi-tenancy
cumulative
per day
per minute
30 seconds max
    per request
demo quota limit grid
profiling usage
demo quota code
demo app stats
Costs
very affordable
great for startups
great for
weekend experiments
demo cost grid
Security
helped by constraints
built-in authentication
developer roles
web.xml
demo security config
spring security
   (formerly acegi)
Co-Developers
dev invite process
https://
only for appspot domains
Domain Names
CNAME entries
Real World
Comparisons
Limits too tight?
Blobs > 50MB?
Throughput > 72GB / day?
Throughput > 1TB / day?
Transactions > 43,000,000 / day?
Blob Store
images, zips, audio
Datastore, 1 MB limit
50MB max
XMPP
Jabber, Google Talk, Google Wave
instant message service
why in a GAE app?
webhook pattern
demo XMPP console,
       API
Image Manipulation
convenience functions
AWT on blacklist
Secure Data Connector
Enterprise
Concerns
p s
  ck u
ba
no binary solution
csv export
Resources
Official Blog
App Gallery
http://vancouver2010.crosspollinate.org/search
Issue Tracker
Datastore Archive Feature Request
Maven Support Feature Request
The takeaways
What is the single
biggest benefit of GAE?


Scalability
What type of business
best fits GAE?


Startups
What types of apps
best fit GAE?


Web Mashups
What is the hardest
limit of GAE to work
around?

30 sec. processing
Google App Engine
a JVM cloud computing workshop




                                 att end ing!
       you for
Th ank


                                     by Matthew McCullough, Ambient Ideas, LLC
Resources

SDK Downloads: http://code.google.com/appengine/downloads.html

App Gallery: http://appgallery.appspot.com/

Issue Tracker: http://code.google.com/p/googleappengine/issues/list

Secure Data Connector Install: http://code.google.com/securedataconnector/docs/1.0/installing.html
Photo Credits
Various Clouds: http://www.ambientideasphotography.com

Newspaper: http://www.flickr.com/photos/12836528@N00/1202823367

Flickr Chart: http://www.flickr.com/photos/85494010@N00/84912961

No Refunds: http://www.flickr.com/photos/8804814@N08/2591957763

Cell Phone Number Pad: http://www.flickr.com/photos/88543347@N00/2243527026

Men Conversation: http://www.flickr.com/photos/99037763@N00/2314463032

Backup Tape: http://www.flickr.com/photos/48615294@N00/75622824
Photo Credits
Clouds: http://www.flickr.com/photos/cindy47452/1624383308/

Big Chair: http://www.flickr.com/photos/annapickard/20988642/sizes/o/

Yellow Crowd: http://www.flickr.com/photos/twose/887903401/sizes/l/

Multicolor Crowd: http://www.flickr.com/photos/akc77/3370167184/sizes/l/

Jet Truck: http://www.flickr.com/photos/85819182@N00/301495633

Puzzled Power Plug: http://www.flickr.com/photos/95492938@N00/3203311346

Power Towers: http://www.flickr.com/photos/97544179@N00/3317530283

Reporter: http://www.flickr.com/photos/19953384@N00/4101633839

Idea Lightbulb Head: http://www.flickr.com/photos/17731548@N00/981372736

Contenu connexe

Tendances

GWT Introduction and Overview - SV Code Camp 09
GWT Introduction and Overview - SV Code Camp 09GWT Introduction and Overview - SV Code Camp 09
GWT Introduction and Overview - SV Code Camp 09Fred Sauer
 
High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010Nicholas Zakas
 
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM Europe
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM EuropeBlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM Europe
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM EuropeMariano Carrizo
 
Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Matt Raible
 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsAmazon Web Services
 
JAX London 2015: Java vs Nodejs
JAX London 2015: Java vs NodejsJAX London 2015: Java vs Nodejs
JAX London 2015: Java vs NodejsChris Bailey
 
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019Matt Raible
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - MozillaRobert Nyman
 
A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019Matt Raible
 
Mobile Development with Ionic, React Native, and JHipster - ACGNJ Java Users ...
Mobile Development with Ionic, React Native, and JHipster - ACGNJ Java Users ...Mobile Development with Ionic, React Native, and JHipster - ACGNJ Java Users ...
Mobile Development with Ionic, React Native, and JHipster - ACGNJ Java Users ...Matt Raible
 
Bootiful Development with Spring Boot and React - UberConf 2018
Bootiful Development with Spring Boot and React - UberConf 2018Bootiful Development with Spring Boot and React - UberConf 2018
Bootiful Development with Spring Boot and React - UberConf 2018Matt Raible
 
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020Matt Raible
 
不只自動化而且更敏捷的Android開發工具 gradle mopcon
不只自動化而且更敏捷的Android開發工具 gradle mopcon不只自動化而且更敏捷的Android開發工具 gradle mopcon
不只自動化而且更敏捷的Android開發工具 gradle mopconsam chiu
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdecWojciech Dec
 
Building framework with shared code on Android and iOS using React Native. UA...
Building framework with shared code on Android and iOS using React Native. UA...Building framework with shared code on Android and iOS using React Native. UA...
Building framework with shared code on Android and iOS using React Native. UA...UA Mobile
 
Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019Matt Raible
 
Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Matt Raible
 
Gradle for Android Developers
Gradle for Android DevelopersGradle for Android Developers
Gradle for Android DevelopersJosiah Renaudin
 
DEVIEW2013: Automating Performance Tests for Android Applications
DEVIEW2013: Automating Performance Tests for Android ApplicationsDEVIEW2013: Automating Performance Tests for Android Applications
DEVIEW2013: Automating Performance Tests for Android ApplicationsKyungmin Lee
 

Tendances (20)

Agility Requires Safety
Agility Requires SafetyAgility Requires Safety
Agility Requires Safety
 
GWT Introduction and Overview - SV Code Camp 09
GWT Introduction and Overview - SV Code Camp 09GWT Introduction and Overview - SV Code Camp 09
GWT Introduction and Overview - SV Code Camp 09
 
High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010
 
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM Europe
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM EuropeBlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM Europe
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM Europe
 
Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021
 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer Tools
 
JAX London 2015: Java vs Nodejs
JAX London 2015: Java vs NodejsJAX London 2015: Java vs Nodejs
JAX London 2015: Java vs Nodejs
 
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
 
A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019
 
Mobile Development with Ionic, React Native, and JHipster - ACGNJ Java Users ...
Mobile Development with Ionic, React Native, and JHipster - ACGNJ Java Users ...Mobile Development with Ionic, React Native, and JHipster - ACGNJ Java Users ...
Mobile Development with Ionic, React Native, and JHipster - ACGNJ Java Users ...
 
Bootiful Development with Spring Boot and React - UberConf 2018
Bootiful Development with Spring Boot and React - UberConf 2018Bootiful Development with Spring Boot and React - UberConf 2018
Bootiful Development with Spring Boot and React - UberConf 2018
 
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
 
不只自動化而且更敏捷的Android開發工具 gradle mopcon
不只自動化而且更敏捷的Android開發工具 gradle mopcon不只自動化而且更敏捷的Android開發工具 gradle mopcon
不只自動化而且更敏捷的Android開發工具 gradle mopcon
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
 
Building framework with shared code on Android and iOS using React Native. UA...
Building framework with shared code on Android and iOS using React Native. UA...Building framework with shared code on Android and iOS using React Native. UA...
Building framework with shared code on Android and iOS using React Native. UA...
 
Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019
 
Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021
 
Gradle for Android Developers
Gradle for Android DevelopersGradle for Android Developers
Gradle for Android Developers
 
DEVIEW2013: Automating Performance Tests for Android Applications
DEVIEW2013: Automating Performance Tests for Android ApplicationsDEVIEW2013: Automating Performance Tests for Android Applications
DEVIEW2013: Automating Performance Tests for Android Applications
 

En vedette

Wonder%20 character%20power%20point
Wonder%20 character%20power%20pointWonder%20 character%20power%20point
Wonder%20 character%20power%20point20pence_j
 
Bachelor programs offered at centennial college result in respected degrees
Bachelor programs offered at centennial college result in respected degreesBachelor programs offered at centennial college result in respected degrees
Bachelor programs offered at centennial college result in respected degreesjasonw93
 
InSync10 Cerebos_DSI - Mobility
InSync10 Cerebos_DSI - MobilityInSync10 Cerebos_DSI - Mobility
InSync10 Cerebos_DSI - MobilityInSync Conference
 
Σημεία Συνέντευξης του κ. Γιάννη Μανιάτη στην πρωινή εκπομπή του ΑΝΤ1
Σημεία Συνέντευξης του κ. Γιάννη Μανιάτη στην πρωινή εκπομπή του ΑΝΤ1Σημεία Συνέντευξης του κ. Γιάννη Μανιάτη στην πρωινή εκπομπή του ΑΝΤ1
Σημεία Συνέντευξης του κ. Γιάννη Μανιάτη στην πρωινή εκπομπή του ΑΝΤ1NTUA
 
Kona credentials 2016
Kona credentials 2016Kona credentials 2016
Kona credentials 2016Kona Group
 
Fluid resus adverse outcomes (feb 05-09)
Fluid resus adverse outcomes (feb 05-09)Fluid resus adverse outcomes (feb 05-09)
Fluid resus adverse outcomes (feb 05-09)Bolbol Nabil
 
Chapter 35 nervous system ppt
Chapter 35 nervous system pptChapter 35 nervous system ppt
Chapter 35 nervous system pptsheenaconj
 
tics comfenalco
tics comfenalcotics comfenalco
tics comfenalcooip2007
 
Jawa silabus+rkh
Jawa silabus+rkhJawa silabus+rkh
Jawa silabus+rkhBoyolali
 
Vortrag A-Recruiter Tage 2012 "Ausbildung im Land des Lächelns"
Vortrag A-Recruiter Tage 2012 "Ausbildung im Land des Lächelns"Vortrag A-Recruiter Tage 2012 "Ausbildung im Land des Lächelns"
Vortrag A-Recruiter Tage 2012 "Ausbildung im Land des Lächelns"U-Form:e Testsysteme
 

En vedette (13)

Wonder%20 character%20power%20point
Wonder%20 character%20power%20pointWonder%20 character%20power%20point
Wonder%20 character%20power%20point
 
Bachelor programs offered at centennial college result in respected degrees
Bachelor programs offered at centennial college result in respected degreesBachelor programs offered at centennial college result in respected degrees
Bachelor programs offered at centennial college result in respected degrees
 
Sample reportforclarity4d
Sample reportforclarity4dSample reportforclarity4d
Sample reportforclarity4d
 
Timeline
TimelineTimeline
Timeline
 
InSync10 Cerebos_DSI - Mobility
InSync10 Cerebos_DSI - MobilityInSync10 Cerebos_DSI - Mobility
InSync10 Cerebos_DSI - Mobility
 
Σημεία Συνέντευξης του κ. Γιάννη Μανιάτη στην πρωινή εκπομπή του ΑΝΤ1
Σημεία Συνέντευξης του κ. Γιάννη Μανιάτη στην πρωινή εκπομπή του ΑΝΤ1Σημεία Συνέντευξης του κ. Γιάννη Μανιάτη στην πρωινή εκπομπή του ΑΝΤ1
Σημεία Συνέντευξης του κ. Γιάννη Μανιάτη στην πρωινή εκπομπή του ΑΝΤ1
 
Kona credentials 2016
Kona credentials 2016Kona credentials 2016
Kona credentials 2016
 
Manifest van Overijssel 2 0 2015
Manifest van Overijssel 2 0 2015Manifest van Overijssel 2 0 2015
Manifest van Overijssel 2 0 2015
 
Fluid resus adverse outcomes (feb 05-09)
Fluid resus adverse outcomes (feb 05-09)Fluid resus adverse outcomes (feb 05-09)
Fluid resus adverse outcomes (feb 05-09)
 
Chapter 35 nervous system ppt
Chapter 35 nervous system pptChapter 35 nervous system ppt
Chapter 35 nervous system ppt
 
tics comfenalco
tics comfenalcotics comfenalco
tics comfenalco
 
Jawa silabus+rkh
Jawa silabus+rkhJawa silabus+rkh
Jawa silabus+rkh
 
Vortrag A-Recruiter Tage 2012 "Ausbildung im Land des Lächelns"
Vortrag A-Recruiter Tage 2012 "Ausbildung im Land des Lächelns"Vortrag A-Recruiter Tage 2012 "Ausbildung im Land des Lächelns"
Vortrag A-Recruiter Tage 2012 "Ausbildung im Land des Lächelns"
 

Similaire à Google App Engine for Java v0.0.2

Cloud Computing Bootcamp On The Google App Engine [v1.1]
Cloud Computing Bootcamp On The Google App Engine [v1.1]Cloud Computing Bootcamp On The Google App Engine [v1.1]
Cloud Computing Bootcamp On The Google App Engine [v1.1]Matthew McCullough
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Enginecatherinewall
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
App engine devfest_mexico_10
App engine devfest_mexico_10App engine devfest_mexico_10
App engine devfest_mexico_10Chris Schalk
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Developing Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineDeveloping Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineTahir Akram
 
Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Tony Frame
 
Porting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability SystemsPorting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability SystemsMarcelo Pinheiro
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applicationshchen1
 
Massaging the Pony: Message Queues and You
Massaging the Pony: Message Queues and YouMassaging the Pony: Message Queues and You
Massaging the Pony: Message Queues and YouShawn Rider
 
Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)Yan Cui
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop OverviewShubhra Kar
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaAmazon Web Services
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with PythonBrian Lyttle
 
OGCE Project Overview
OGCE Project OverviewOGCE Project Overview
OGCE Project Overviewmarpierc
 
Castles in the Cloud: Developing with Google App Engine
Castles in the Cloud: Developing with Google App EngineCastles in the Cloud: Developing with Google App Engine
Castles in the Cloud: Developing with Google App Enginecatherinewall
 
Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Codemotion
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekDr. Felix Raab
 

Similaire à Google App Engine for Java v0.0.2 (20)

Cloud Computing Bootcamp On The Google App Engine [v1.1]
Cloud Computing Bootcamp On The Google App Engine [v1.1]Cloud Computing Bootcamp On The Google App Engine [v1.1]
Cloud Computing Bootcamp On The Google App Engine [v1.1]
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
App engine devfest_mexico_10
App engine devfest_mexico_10App engine devfest_mexico_10
App engine devfest_mexico_10
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Developing Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineDeveloping Java Web Applications In Google App Engine
Developing Java Web Applications In Google App Engine
 
Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01
 
Porting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability SystemsPorting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability Systems
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
Massaging the Pony: Message Queues and You
Massaging the Pony: Message Queues and YouMassaging the Pony: Message Queues and You
Massaging the Pony: Message Queues and You
 
Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
 
OGCE Project Overview
OGCE Project OverviewOGCE Project Overview
OGCE Project Overview
 
Castles in the Cloud: Developing with Google App Engine
Castles in the Cloud: Developing with Google App EngineCastles in the Cloud: Developing with Google App Engine
Castles in the Cloud: Developing with Google App Engine
 
Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...
 
Vaadin codemotion 2014
Vaadin codemotion 2014Vaadin codemotion 2014
Vaadin codemotion 2014
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
 
Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
 

Plus de Matthew McCullough

Using Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveUsing Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveMatthew McCullough
 
All About GitHub Pull Requests
All About GitHub Pull RequestsAll About GitHub Pull Requests
All About GitHub Pull RequestsMatthew McCullough
 
Git Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh MyGit Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh MyMatthew McCullough
 
Git and GitHub at the San Francisco JUG
 Git and GitHub at the San Francisco JUG Git and GitHub at the San Francisco JUG
Git and GitHub at the San Francisco JUGMatthew McCullough
 
Migrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHubMigrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHubMatthew McCullough
 
Build Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUGBuild Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUGMatthew McCullough
 
Git Going for the Transylvania JUG
Git Going for the Transylvania JUGGit Going for the Transylvania JUG
Git Going for the Transylvania JUGMatthew McCullough
 
Transylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting AnnouncementsTransylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting AnnouncementsMatthew McCullough
 
Game Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUGGame Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUGMatthew McCullough
 
Cascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUGCascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUGMatthew McCullough
 

Plus de Matthew McCullough (20)

Using Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveUsing Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge Interactive
 
All About GitHub Pull Requests
All About GitHub Pull RequestsAll About GitHub Pull Requests
All About GitHub Pull Requests
 
Adam Smith Builds an App
Adam Smith Builds an AppAdam Smith Builds an App
Adam Smith Builds an App
 
Git's Filter Branch Command
Git's Filter Branch CommandGit's Filter Branch Command
Git's Filter Branch Command
 
Git Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh MyGit Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh My
 
Git and GitHub at the San Francisco JUG
 Git and GitHub at the San Francisco JUG Git and GitHub at the San Francisco JUG
Git and GitHub at the San Francisco JUG
 
Finding Things in Git
Finding Things in GitFinding Things in Git
Finding Things in Git
 
Git and GitHub for RallyOn
Git and GitHub for RallyOnGit and GitHub for RallyOn
Git and GitHub for RallyOn
 
Migrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHubMigrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHub
 
Git Notes and GitHub
Git Notes and GitHubGit Notes and GitHub
Git Notes and GitHub
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Build Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUGBuild Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUG
 
Git Going for the Transylvania JUG
Git Going for the Transylvania JUGGit Going for the Transylvania JUG
Git Going for the Transylvania JUG
 
Transylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting AnnouncementsTransylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting Announcements
 
Game Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUGGame Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUG
 
Cascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUGCascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUG
 
JQuery Mobile
JQuery MobileJQuery Mobile
JQuery Mobile
 
R Data Analysis Software
R Data Analysis SoftwareR Data Analysis Software
R Data Analysis Software
 
Please, Stop Using Git
Please, Stop Using GitPlease, Stop Using Git
Please, Stop Using Git
 
Dr. Strangedev
Dr. StrangedevDr. Strangedev
Dr. Strangedev
 

Dernier

SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 

Dernier (20)

SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 

Google App Engine for Java v0.0.2