SlideShare una empresa de Scribd logo
1 de 25
Google App Engine
Getting started…for Java developers
@LynnLangit
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
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
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
GAE APIs core and more…
Download and Configure Eclipse for GAE

• Download Eclipse
• Get GAE SDK (access to
  APIs)
• Get GAE plug-in for
  Eclipse
Configure Eclipse for GAE - options

• Enable other available APIs, partial list shown below
• Use the GWT (Google Web Toolkit)
GAE Setup in Eclipse

• GAE SDK
• GAE Eclipse plug-in
• GAE developer
  account
   – 5 GB storage free
Hello (Google) World – first application
Viewing Deployed Applications

• Create up to 10 applications
• Click application to view detailed information about each
  instance
Managing your application
Version Control

• Updating current versions
• Using appcfg
Google App Engine –
2. Storage Options
Getting started…for developers
@LynnLangit
Default data storage location – noSQL -- Datastore
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
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
Create your Application




 • Select the
   storage
   options >>>
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
HR Datastore put and get (asList)…from Ikai’s blog
Transactional Put..another example from Ikai
Viewing GAE storage
Cloud Data Storage Options for GAE




                                     Other

   RDBMS

                 NoSQL
Cloud Data Storage Options for GAE
Type             Name                           Notes

noSQL            Datastore – High Replication   Default (Data, Blobs. Queues)

noSQL            Datastore – Master/Slave       For highest consistency

noSQL            Developer Storage              Beta (Experimental)

RSDBMS           mySQL                          Beta - RDBMS

Graph            Freebase                       Beta

MapReduce        Big Query                      Beta (Invite only)

Other            Full-text indexing             Beta (Invite only)

Document-based   None available                 n/a
www.TeachingKidsProgramming.org
• Do a Recipe  Teach a Kid (Ages 10 ++)  free courses
• Teach or Donate
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

Más contenido relacionado

Destacado

Google App Engine Developer - Day3
Google App Engine Developer - Day3Google App Engine Developer - Day3
Google App Engine Developer - Day3Simon Su
 
Google app engine developer
Google app engine developerGoogle app engine developer
Google app engine developerAurel Medvegy
 
Google App Engine Developer - Day4
Google App Engine Developer - Day4Google App Engine Developer - Day4
Google App Engine Developer - Day4Simon Su
 
Web software development
Web software developmentWeb software development
Web software developmentAurel Medvegy
 
Designing the Call of Cthulhu app with Google App Engine
Designing the Call of Cthulhu app with Google App EngineDesigning the Call of Cthulhu app with Google App Engine
Designing the Call of Cthulhu app with Google App EngineChris Bunch
 

Destacado (9)

Google App Engine Developer - Day3
Google App Engine Developer - Day3Google App Engine Developer - Day3
Google App Engine Developer - Day3
 
Google app engine developer
Google app engine developerGoogle app engine developer
Google app engine developer
 
Google App Engine Developer - Day4
Google App Engine Developer - Day4Google App Engine Developer - Day4
Google App Engine Developer - Day4
 
Google websites
Google websitesGoogle websites
Google websites
 
Make google app
Make google appMake google app
Make google app
 
Web 2.0 development
Web 2.0 developmentWeb 2.0 development
Web 2.0 development
 
Web software development
Web software developmentWeb software development
Web software development
 
Google webtools
Google webtoolsGoogle webtools
Google webtools
 
Designing the Call of Cthulhu app with Google App Engine
Designing the Call of Cthulhu app with Google App EngineDesigning the Call of Cthulhu app with Google App Engine
Designing the Call of Cthulhu app with Google App Engine
 

Similar a Google App Engine for Developers

Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaKunal Dabir
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGuillaume Laforge
 
Using Google's Cloud - for Developers
Using Google's Cloud - for DevelopersUsing Google's Cloud - for Developers
Using Google's Cloud - for DevelopersLynn Langit
 
Gaelyk - JFokus 2011 - Guillaume Laforge
Gaelyk - JFokus 2011 - Guillaume LaforgeGaelyk - JFokus 2011 - Guillaume Laforge
Gaelyk - JFokus 2011 - Guillaume LaforgeGuillaume Laforge
 
GraalVM and Oracle's Documentation Trends.pdf
GraalVM and Oracle's Documentation Trends.pdfGraalVM and Oracle's Documentation Trends.pdf
GraalVM and Oracle's Documentation Trends.pdfohupalo
 
Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)wesley chun
 
Drupal 8 Lessons From the Field: Part 3 - The Drupal Backend
Drupal 8 Lessons From the Field: Part 3 - The Drupal BackendDrupal 8 Lessons From the Field: Part 3 - The Drupal Backend
Drupal 8 Lessons From the Field: Part 3 - The Drupal BackendAcquia
 
Database Migrations with Gradle and Liquibase
Database Migrations with Gradle and LiquibaseDatabase Migrations with Gradle and Liquibase
Database Migrations with Gradle and LiquibaseDan Stine
 
A Notes Developer's Journey into Java
A Notes Developer's Journey into JavaA Notes Developer's Journey into Java
A Notes Developer's Journey into JavaTeamstudio
 
Tips For Maintaining OSS Projects
Tips For Maintaining OSS ProjectsTips For Maintaining OSS Projects
Tips For Maintaining OSS ProjectsTaro L. Saito
 
Google appenginejava.ppt
Google appenginejava.pptGoogle appenginejava.ppt
Google appenginejava.pptYoung Alista
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersRob Windsor
 
Gerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big DataGerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big DataStefano Galarraga
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP Eric Johnson
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Integrate Google Drive with Google Apps Script
Integrate Google Drive with Google Apps ScriptIntegrate Google Drive with Google Apps Script
Integrate Google Drive with Google Apps ScriptArun Nagarajan
 
Gradle 2.Write once, builde everywhere
Gradle 2.Write once, builde everywhereGradle 2.Write once, builde everywhere
Gradle 2.Write once, builde everywhereStrannik_2013
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the DataKellyn Pot'Vin-Gorman
 

Similar a Google App Engine for Developers (20)

Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for Java
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Using Google's Cloud - for Developers
Using Google's Cloud - for DevelopersUsing Google's Cloud - for Developers
Using Google's Cloud - for Developers
 
Gaelyk - JFokus 2011 - Guillaume Laforge
Gaelyk - JFokus 2011 - Guillaume LaforgeGaelyk - JFokus 2011 - Guillaume Laforge
Gaelyk - JFokus 2011 - Guillaume Laforge
 
GraphQL-ify your APIs
GraphQL-ify your APIsGraphQL-ify your APIs
GraphQL-ify your APIs
 
GraalVM and Oracle's Documentation Trends.pdf
GraalVM and Oracle's Documentation Trends.pdfGraalVM and Oracle's Documentation Trends.pdf
GraalVM and Oracle's Documentation Trends.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)
 
Drupal 8 Lessons From the Field: Part 3 - The Drupal Backend
Drupal 8 Lessons From the Field: Part 3 - The Drupal BackendDrupal 8 Lessons From the Field: Part 3 - The Drupal Backend
Drupal 8 Lessons From the Field: Part 3 - The Drupal Backend
 
Database Migrations with Gradle and Liquibase
Database Migrations with Gradle and LiquibaseDatabase Migrations with Gradle and Liquibase
Database Migrations with Gradle and Liquibase
 
A Notes Developer's Journey into Java
A Notes Developer's Journey into JavaA Notes Developer's Journey into Java
A Notes Developer's Journey into Java
 
Tips For Maintaining OSS Projects
Tips For Maintaining OSS ProjectsTips For Maintaining OSS Projects
Tips For Maintaining OSS Projects
 
Google appenginejava.ppt
Google appenginejava.pptGoogle appenginejava.ppt
Google appenginejava.ppt
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint Developers
 
Gerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big DataGerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big Data
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Integrate Google Drive with Google Apps Script
Integrate Google Drive with Google Apps ScriptIntegrate Google Drive with Google Apps Script
Integrate Google Drive with Google Apps Script
 
Gradle 2.Write once, builde everywhere
Gradle 2.Write once, builde everywhereGradle 2.Write once, builde everywhere
Gradle 2.Write once, builde everywhere
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
 

Más de Lynn Langit

VariantSpark on AWS
VariantSpark on AWSVariantSpark on AWS
VariantSpark on AWSLynn Langit
 
Serverless Architectures
Serverless ArchitecturesServerless Architectures
Serverless ArchitecturesLynn Langit
 
10+ Years of Teaching Kids Programming
10+ Years of Teaching Kids Programming10+ Years of Teaching Kids Programming
10+ Years of Teaching Kids ProgrammingLynn Langit
 
Blastn plus jupyter on Docker
Blastn plus jupyter on DockerBlastn plus jupyter on Docker
Blastn plus jupyter on DockerLynn Langit
 
Testing in Ballerina Language
Testing in Ballerina LanguageTesting in Ballerina Language
Testing in Ballerina LanguageLynn Langit
 
Teaching Kids to create Alexa Skills
Teaching Kids to create Alexa SkillsTeaching Kids to create Alexa Skills
Teaching Kids to create Alexa SkillsLynn Langit
 
Understanding Jupyter notebooks using bioinformatics examples
Understanding Jupyter notebooks using bioinformatics examplesUnderstanding Jupyter notebooks using bioinformatics examples
Understanding Jupyter notebooks using bioinformatics examplesLynn Langit
 
Genome-scale Big Data Pipelines
Genome-scale Big Data PipelinesGenome-scale Big Data Pipelines
Genome-scale Big Data PipelinesLynn Langit
 
Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids ProgrammingLynn Langit
 
Serverless Reality
Serverless RealityServerless Reality
Serverless RealityLynn Langit
 
Genomic Scale Big Data Pipelines
Genomic Scale Big Data PipelinesGenomic Scale Big Data Pipelines
Genomic Scale Big Data PipelinesLynn Langit
 
VariantSpark - a Spark library for genomics
VariantSpark - a Spark library for genomicsVariantSpark - a Spark library for genomics
VariantSpark - a Spark library for genomicsLynn Langit
 
Bioinformatics Data Pipelines built by CSIRO on AWS
Bioinformatics Data Pipelines built by CSIRO on AWSBioinformatics Data Pipelines built by CSIRO on AWS
Bioinformatics Data Pipelines built by CSIRO on AWSLynn Langit
 
Serverless Reality
Serverless RealityServerless Reality
Serverless RealityLynn Langit
 
Beyond Relational
Beyond RelationalBeyond Relational
Beyond RelationalLynn Langit
 
New AWS Services for Bioinformatics
New AWS Services for BioinformaticsNew AWS Services for Bioinformatics
New AWS Services for BioinformaticsLynn Langit
 
Google Cloud and Data Pipeline Patterns
Google Cloud and Data Pipeline PatternsGoogle Cloud and Data Pipeline Patterns
Google Cloud and Data Pipeline PatternsLynn Langit
 
Scaling Galaxy on Google Cloud Platform
Scaling Galaxy on Google Cloud PlatformScaling Galaxy on Google Cloud Platform
Scaling Galaxy on Google Cloud PlatformLynn Langit
 

Más de Lynn Langit (20)

VariantSpark on AWS
VariantSpark on AWSVariantSpark on AWS
VariantSpark on AWS
 
Serverless Architectures
Serverless ArchitecturesServerless Architectures
Serverless Architectures
 
10+ Years of Teaching Kids Programming
10+ Years of Teaching Kids Programming10+ Years of Teaching Kids Programming
10+ Years of Teaching Kids Programming
 
Blastn plus jupyter on Docker
Blastn plus jupyter on DockerBlastn plus jupyter on Docker
Blastn plus jupyter on Docker
 
Testing in Ballerina Language
Testing in Ballerina LanguageTesting in Ballerina Language
Testing in Ballerina Language
 
Teaching Kids to create Alexa Skills
Teaching Kids to create Alexa SkillsTeaching Kids to create Alexa Skills
Teaching Kids to create Alexa Skills
 
Practical cloud
Practical cloudPractical cloud
Practical cloud
 
Understanding Jupyter notebooks using bioinformatics examples
Understanding Jupyter notebooks using bioinformatics examplesUnderstanding Jupyter notebooks using bioinformatics examples
Understanding Jupyter notebooks using bioinformatics examples
 
Genome-scale Big Data Pipelines
Genome-scale Big Data PipelinesGenome-scale Big Data Pipelines
Genome-scale Big Data Pipelines
 
Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids Programming
 
Practical Cloud
Practical CloudPractical Cloud
Practical Cloud
 
Serverless Reality
Serverless RealityServerless Reality
Serverless Reality
 
Genomic Scale Big Data Pipelines
Genomic Scale Big Data PipelinesGenomic Scale Big Data Pipelines
Genomic Scale Big Data Pipelines
 
VariantSpark - a Spark library for genomics
VariantSpark - a Spark library for genomicsVariantSpark - a Spark library for genomics
VariantSpark - a Spark library for genomics
 
Bioinformatics Data Pipelines built by CSIRO on AWS
Bioinformatics Data Pipelines built by CSIRO on AWSBioinformatics Data Pipelines built by CSIRO on AWS
Bioinformatics Data Pipelines built by CSIRO on AWS
 
Serverless Reality
Serverless RealityServerless Reality
Serverless Reality
 
Beyond Relational
Beyond RelationalBeyond Relational
Beyond Relational
 
New AWS Services for Bioinformatics
New AWS Services for BioinformaticsNew AWS Services for Bioinformatics
New AWS Services for Bioinformatics
 
Google Cloud and Data Pipeline Patterns
Google Cloud and Data Pipeline PatternsGoogle Cloud and Data Pipeline Patterns
Google Cloud and Data Pipeline Patterns
 
Scaling Galaxy on Google Cloud Platform
Scaling Galaxy on Google Cloud PlatformScaling Galaxy on Google Cloud Platform
Scaling Galaxy on Google Cloud Platform
 

Último

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Último (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Google App Engine for Developers

  • 1. Google App Engine Getting 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
  • 12. Version Control • Updating current versions • Using appcfg
  • 13. Google App Engine – 2. Storage Options Getting 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
  • 22. Cloud Data Storage Options for GAE Other RDBMS NoSQL
  • 23. Cloud Data Storage Options for GAE Type Name Notes noSQL Datastore – High Replication Default (Data, Blobs. Queues) noSQL Datastore – Master/Slave For highest consistency noSQL Developer Storage Beta (Experimental) RSDBMS mySQL Beta - RDBMS Graph Freebase Beta MapReduce 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

Notas del editor

  1. https://code.google.com/appengine/
  2. Course outline for GAE - http://www.develop.com/training-course/google-app-engine-training
  3. 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/
  4. 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
  5. 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
  6. 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.
  7. https://code.google.com/appengine/downloads.htmlhttp://code.google.com/apis/storage/docs/pricingandterms.html
  8. https://appengine.google.com/
  9. http://appengine.google.com
  10. https://appengine.google.com/dashboard?&app_id=s~hellofromlynn
  11. http://code.google.com/appengine/docs/java/tools/uploadinganapp.html
  12. https://code.google.com/appengine/
  13. 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.
  14. 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
  15. 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
  16. http://appengine.google.com
  17. http://code.google.com/appengine/articles/storage_breakdown.htmlAnd Ikai’s blog - http://ikaisays.com/
  18. http://code.google.com/apis/storage/docs/developer-guide.html
  19. http://www.freebase.com/- query using MQLhttp://wiki.freebase.com/wiki/What_is_Freebase%3FIf coding in Python can optionally use SQLlite
  20. Courseware at www.TeachingKidsProgramming.orgDonate at www.MonaFoundation.org
  21. Course outline for GAE - http://www.develop.com/training-course/google-app-engine-training