Your SlideShare is downloading. ×
0
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Google App Engine for Developers
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Google App Engine for Developers

1,829

Published on

Slides from web

Slides from web

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,829
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • https://code.google.com/appengine/
  • Course outline for GAE - http://www.develop.com/training-course/google-app-engine-training
  • Billing - http://code.google.com/appengine/kb/billing.htmlFeatures - http://code.google.com/appengine/docs/features.htmlWhy App Engine - http://code.google.com/appengine/whyappengine.htmlVideos - http://code.google.com/appengine/docs/videoresources.htmlSample Apps - http://code.google.com/p/google-app-engine-samples/
  • Good list of which APIs are implemented on which languages, Python or Java or bothhttp://code.google.com/appengine/tools_tips.htmlAnd more at---https://code.google.com/apis
  • https://code.google.com/appengine/SDK for Eclipse - https://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_JavaPlug-in for Eclipse - https://code.google.com/eclipse/docs/getting_started.htmlTutorial - http://googcloudlabs.appspot.com/whatgae.html
  • https://code.google.com/apisGWT - http://code.google.com/webtoolkit/The GWT SDK provides a set of core Java APIs and Widgets. These allow you to write AJAX applications in Java and then compile the source to highly optimized JavaScript that runs across all browsers, including mobile browsers for Android and the iPhone.
  • https://code.google.com/appengine/downloads.htmlhttp://code.google.com/apis/storage/docs/pricingandterms.html
  • https://appengine.google.com/
  • http://appengine.google.com
  • https://appengine.google.com/dashboard?&app_id=s~hellofromlynn
  • http://code.google.com/appengine/docs/java/tools/uploadinganapp.html
  • https://code.google.com/appengine/
  • From the GAE documentation - https://code.google.com/appengine/docs/whatisgoogleappengine.htmlThe DatastoreApp Engine provides a distributed data storage service that features a query engine and transactions. Just as the distributed web server grows with your traffic, the distributed datastore grows with your data. You have the choice between two different data storage options differentiated by their availability and consistency guarantees. The App Engine datastore is not like a traditional relational database. Data objects, or "entities," have a kind and a set of properties. Queries can retrieve entities of a given kind filtered and sorted by the values of the properties. Property values can be of any of the supported property value types.Datastore entities are "schemaless." The structure of data entities is provided by and enforced by your application code. The Java JDO/JPA interfaces and the Python datastore interface include features for applying and enforcing structure within your app. Your app can also access the datastore directly to apply as much or as little structure as it needs.The datastore is strongly consistent and uses optimistic concurrency control. An update of a entity occurs in a transaction that is retried a fixed number of times if other processes are trying to update the same entity simultaneously. Your application can execute multiple datastore operations in a single transaction which either all succeed or all fail, ensuring the integrity of your data.The datastore implements transactions across its distributed network using "entity groups." A transaction manipulates entities within a single group. Entities of the same group are stored together for efficient execution of transactions. Your application can assign entities to groups when the entities are created.
  • Google IO video comparing - http://www.google.com/events/io/2011/sessions/more-9s-please-under-the-covers-of-the-high-replication-datastore.htmlPaxos algorithm - http://en.wikipedia.org/wiki/Paxos_algorithm*for non-ancestor entity group queries (with unknown entity group)About the HR datastore for Java developers - http://code.google.com/appengine/docs/java/datastore/overview.html
  • Google IO video comparing - http://www.google.com/events/io/2011/sessions/more-9s-please-under-the-covers-of-the-high-replication-datastore.htmlPaxos algorithm - http://en.wikipedia.org/wiki/Paxos_algorithm*for non-ancestor entity group queries (with unknown entity group)About the HR datastore for Java developers - http://code.google.com/appengine/docs/java/datastore/overview.html
  • http://appengine.google.com
  • http://code.google.com/appengine/articles/storage_breakdown.htmlAnd Ikai’s blog - http://ikaisays.com/
  • http://code.google.com/apis/storage/docs/developer-guide.html
  • http://www.freebase.com/- query using MQLhttp://wiki.freebase.com/wiki/What_is_Freebase%3FIf coding in Python can optionally use SQLlite
  • Courseware at www.TeachingKidsProgramming.orgDonate at www.MonaFoundation.org
  • Course outline for GAE - http://www.develop.com/training-course/google-app-engine-training
  • Transcript

    • 1. Google App EngineGetting started…for Java developers@LynnLangit
    • 2. New Course Preview – Google App Engine for Developers• 4 day class ‘Intro to GAE’ • Course in Java • www.Develop.com • On Site or at DevelopMentor• New Developer User Group for GAE • first meeting at DevelopMentor in LA • Monthly – first meeting March 20 @LynnLangit www.lynnlangit.com www.TeachingKidsProgramming.org
    • 3. Full Course Objectives• Understanding GAE – Setup for development with GAE – Creating first simple site with IDE templates – Simple deployment• Understanding Google’s Cloud Storage Options – Non-relational, relational and more…• Using Google Cloud Storage• Using Google Relational Cloud Storage• Using Authentication• Understanding other APIs• Deploying• Next Steps
    • 4. What is Google App Engine? Why use it?• What – Google’s cloud hosting and storage environment – Java or Python are supported – NoSQL (High-Replication Datastore) and/or mySQL supported• Why – Easy and free to try it out – Interesting feature set • Automatic compute scaling • Flexibility on data storage / queries • Authentication choices • Access to other Google APIs
    • 5. GAE APIs core and more…
    • 6. Download and Configure Eclipse for GAE• Download Eclipse• Get GAE SDK (access to APIs)• Get GAE plug-in for Eclipse
    • 7. Configure Eclipse for GAE - options• Enable other available APIs, partial list shown below• Use the GWT (Google Web Toolkit)
    • 8. GAE Setup in Eclipse• GAE SDK• GAE Eclipse plug-in• GAE developer account – 5 GB storage free
    • 9. Hello (Google) World – first application
    • 10. Viewing Deployed Applications• Create up to 10 applications• Click application to view detailed information about each instance
    • 11. Managing your application
    • 12. Version Control• Updating current versions• Using appcfg
    • 13. Google App Engine –2. Storage OptionsGetting started…for developers@LynnLangit
    • 14. Default data storage location – noSQL -- Datastore
    • 15. Two types of Datastores I – About High-Replication• Data is replicated across multiple data centers – using a system based on the Paxos algorithm – in synch, multi-master• Provides the highest level of availability for reads and writes (99.999% SLA) – at the cost of higher latency on writes due to the propagation of data (2x slower on write than other datastore type [master/slave]) – Results in most queries being eventually consistent*• Reads from ‘fastest source’ (usually local)• Reads are transactional
    • 16. Two types of Datastores II – About Master/Slave• Data written to a single master data center is replicated async to all other (slave) data centers• Offers strong consistency for all reads and queries• Results in periods of temporary unavailability during data center issues or planned downtime (99.9% SLA)• Reads from master only
    • 17. Create your Application • Select the storage options >>>
    • 18. Configure your GAE Application for Data Storage• Configure the data storage in Eclipse – HR Datastore (default) -- noSQL • JDO/JPA (optional) • JDBC/nHibernate not supported – Cloud mySQL (optional) -- RDBMS • Use local mySQL instance for testing – Can also use Developer Storage -- buckets
    • 19. HR Datastore put and get (asList)…from Ikai’s blog
    • 20. Transactional Put..another example from Ikai
    • 21. Viewing GAE storage
    • 22. Cloud Data Storage Options for GAE Other RDBMS NoSQL
    • 23. Cloud Data Storage Options for GAEType Name NotesnoSQL Datastore – High Replication Default (Data, Blobs. Queues)noSQL Datastore – Master/Slave For highest consistencynoSQL Developer Storage Beta (Experimental)RSDBMS mySQL Beta - RDBMSGraph Freebase BetaMapReduce Big Query Beta (Invite only)Other Full-text indexing Beta (Invite only)Document-based None available n/a
    • 24. www.TeachingKidsProgramming.org• Do a Recipe  Teach a Kid (Ages 10 ++)  free courses• Teach or Donate
    • 25. New Course Preview – Google App Engine for Developers • 4 day class ‘Intro to GAE’ • Course in Java • www.Develop.com • On Site or at DevelopMentor • New Developer User Group for GAE • first meeting at DevelopMentor in LA • Monthly – first meeting March 20 @LynnLangit www.lynnlangit.com www.TeachingKidsProgramming.org

    ×