app engine/gwt overview (stlic 02-10)
DESCRIPTION
Google App Engine enables large and small businesses alike to host and run their web-based applications on Google's highly scalable infrastructure -- Google takes care of the maintenance, load balancing, and other server-side management tasks so you can focus on building out the core functionality of your web app. On the other end of the spectrum, Google Web Toolkit (GWT) enables developers to create rich, AJAX-enabled, web applications using a familar language (Java) and environment (Eclipse), which then get compiled to optimized JavaScript. This presentation will open with an introduction to Google's Eclipse plugin and demonstrate how to create a new servlet-based Java web application and deploy it to the cloud within 30 seconds -- all without leaving Eclipse!I'll then shift into a deep dive of both GWT and App Engine, showing how both work, how much they cost (hint: free to start!), the various features and services included for both, and more, and there should be plenty of time for Q&A afterward.You don't have to be entrenched in the Web 2.0 world to gain insight from this session. GWT makes it easy for businesses that are just starting to move their applications into the cloud, while maintaining an advanced feature set for those that have been there for years, and App Engine makes it especially easy to get your apps up and running in a scalable fashion. Whether you're just starting to investigate web development and cloud hosting providers or you are already a seasoned pro with other solutions, this session is for you.TRANSCRIPT
![Page 1: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/1.jpg)
Using App Engine and Google Web Toolkit to power your start-ups
Jason CooperDeveloper Programs Engineer
February 27th, 2010St. Louis Innovation Camp
![Page 2: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/2.jpg)
Two* classes of apps
(* intentionally broad)
![Page 3: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/3.jpg)
Apps that don't need a back-end...
![Page 4: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/4.jpg)
Apps that don't need a back-end...
![Page 5: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/5.jpg)
And apps that do...
All interesting applications
![Page 6: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/6.jpg)
![Page 7: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/7.jpg)
![Page 8: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/8.jpg)
?
![Page 9: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/9.jpg)
?
http://www.flickr.com/photos/befuddledsenses/CC BY 2.0
![Page 10: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/10.jpg)
X
http://www.flickr.com/photos/befuddledsenses/CC BY 2.0
![Page 12: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/12.jpg)
![Page 13: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/13.jpg)
Don't reinvent the wheel:leverage others' strengths
![Page 14: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/14.jpg)
Enter App Engine...
![Page 15: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/15.jpg)
Google App Engine pitch #1
"Run your apps on Google's scalable infrastructure"
![Page 16: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/16.jpg)
Google App Engine pitch #2
"Run your apps in Google's managed cloud"
![Page 17: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/17.jpg)
Google App Engine pitch #3
"Get your apps running reliably and ready to scale in
30 seconds"
![Page 18: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/18.jpg)
Reliability:Building web applications is hard
![Page 19: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/19.jpg)
Scalability:
...tools, platform and design don't matter too much
With just a few users...
![Page 20: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/20.jpg)
Scalability:
...you must design for scalability
With lots and lots of users...
![Page 21: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/21.jpg)
WhiteHouse.gov/openforquestions
![Page 22: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/22.jpg)
![Page 23: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/23.jpg)
Scale dynamically and automatically
User
App Engine
Frontend
App’sRuntime
![Page 24: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/24.jpg)
Scale dynamically and automatically
User
App Engine
Frontend
App’sRuntime
![Page 25: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/25.jpg)
Scale dynamically and automatically
User
App Engine
Frontend
App’sRuntime
User
User
User
User
![Page 26: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/26.jpg)
Scale dynamically and automatically
App’sRuntime
App’sRuntime
User
App Engine
Frontend
App’sRuntime
User
User
User
User
![Page 27: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/27.jpg)
Multiple versions
User
App Engine
Frontend
Version 1.1
Version 2.1
Datastore
http://2.1.fredsa.appspot.com/
http://fredsa.appspot.com/
![Page 28: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/28.jpg)
Runtimes
* and other JVM-compatible languages
![Page 29: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/29.jpg)
Services and APIs
Datastore URL FetchMemcacheMailXMPP ImagesGoogle AccountsBackground tasks
![Page 30: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/30.jpg)
Ensuring portability
![Page 31: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/31.jpg)
Administrative Console
![Page 32: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/32.jpg)
Google Plugin for Eclipse
![Page 33: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/33.jpg)
Google Apps + your apps
Your custom applicationsOur Google Apps
Google's scalable serving architecture
![Page 34: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/34.jpg)
How much?
![Page 35: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/35.jpg)
Always free to get started
Free Quota~5M pageviews/month
6.5 CPU hrs/day2,000 recipients emailed1 GB/day bandwidth
![Page 36: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/36.jpg)
Purchase Additional Resources
![Page 37: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/37.jpg)
App Engine in three bullets
Easy to use
Easy to scale
Easy to manage
Deploy your apps to a platform that is
![Page 38: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/38.jpg)
Google Web Toolkit
![Page 39: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/39.jpg)
Google Web Toolkit
Mission statement
"GWT's mission is to radically improvethe web experience for users by
enabling developers to use existingJava tools to build no-compromise
AJAX for any modern browser."
![Page 40: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/40.jpg)
Google Web Toolkit
GWT is all about
Productivity for developersLanguage, IDEs, tools, librariesPeople, ecosystemPerformance
'Perfect' cachingWhole program optimizationBetter than practical hand written code
![Page 41: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/41.jpg)
Google Web Toolkit
IE
Firefox
SafariChrome
Opera
![Page 42: App Engine/GWT overview (STLIC 02-10)](https://reader034.vdocuments.mx/reader034/viewer/2022042713/54805023b4af9fea158b5bf3/html5/thumbnails/42.jpg)
Complete Java development stack
+