SlideShare uma empresa Scribd logo
1 de 28
Introduction To
    Google
   app engine
About speaker




   Speaker:    NAGA ROHIT S
   COnTACT:    snagarohit@gmail.com

 education:    Final Year Under Graudate,
               Department of CSE,
               Indian Institute of Technology Guwahati

Experience: The speaker has explored about an year
               developing applications on Google App
               Engine.
What we will learn today

•   Why Cloud ?
•   Platform as a Service
•   Who are in the race ?
         • Why Google App Engine is the Ge3k’s choice ?
•   Languages Supported
•   Getting Started
•   Hello World App
•   Frameworks
         • Webapp Framework
•   Users API
•   Handling GET & POST
         • Guest Book App
•   What’s Next ?
         •   BigTable
         •   GQL (Not SQL)
                                   INTRODUCTION
         •   Static Content
         •   Templates & Stuff
•   Creating & Uploading Your Application
•   Problems with IITG Proxy
•   Problems Patched 
Why cloud ?



• Scalability
• Redundancy
• Security
• High Initial Investment
• Pay As You Grow
• Pay only for What You Use
•…
• Cloud is the future of Internet
Platform as a service
Who are in the race ?



• Microsoft Azure  (not free)
• Amazon AWS         (free + meh! :P)
• Google App Engine  (free + awesome)
•…
•…
Languages supported



• PYTHON [2.5 + 2.7]
• GO [EXPERIMENTAL]
• JAVA [JAVA 6 JVM]
Getting started



• Minimum Requirements
     • Python 2.5+
     • Linux (Windows Fan? Sorry, You are alone )
•Download App Engine SDK
                 https://developers.google.com/appengine/downloads
                          [Google App Engine SDK for Python]

• Extract SDK
• cd to google_appengine
• Lock and Load!
Hello world app



• Inside the google_appengine directory, create a
  directory with the name helloworld
• Create a file named helloworld.py inside
  helloworld directory.
google_appengine/helloworld/helloworld.py:

                                                    HTTP Header.
                                                    Never mind! Just accept that you
                                                    need to write this line when you want
                                                    to print to the client’s browser



                                    This actually goes to the browser
Hello world app



• App engine application has a configuration file
  called app.yaml which tells the app engine
  about the application being developed and its
  configuration.
• Create a file app.yaml in the helloworld
  directory.
• Wait! What is YAML ?
     • YAML Ain’t Markup Language
     • Yet Another Markup Language
 In short, it’s a more human readable form of
 data storage.
Hello world app



google_appengine/helloworld/app.yaml:
                                        Application Identifier


                                        Version of the Application you are building


                                        Python/Java/Go/whatever

                                        Google API version that this application
                                         is built on. Basically this is for supporting
                                        legacy applications in case APIs change

                                        Handles every request of
                                        http://localhost/<AnyJunkHere>


                                        The script which needs to be run for
                                        the above handle match
Hello world app



• Summarizing,
google_appengine/helloworld/
           • helloworld.py
           • app.yaml

• Now, RUN!
$ ~/google_appengine/dev_appserver.py           helloworld/




       Starts the server by default on   Folder in which the app.yaml
       port 8080. Can be changed by      file for helloworld application resides
       command line options
Voila! It works!



• In your browser, type:
                 http://localhost:8080 ⏎
Framework support



• Supports any Python-CGI Framework including
     •   Django
     •   CherryPy
     •   Pylons
     •   Web2Py
• Natively supports webapp Framework.
Webapp framework


google_appengine/helloworld/helloworld.py:                 Import webapp and
                                                           run_wsgi_app modules



                                             Set Headers




HTTP Get Request                                            Print this to browser




                        URL Match


                                                             Handling Class
Voila! It works!



• In your browser, type:
                 http://localhost:8080 ⏎
USERS API


• Users API uses Google Accounts Sign-In
google_appengine/helloworld/helloworld.py:
                                              Import users module




                                               If user signs himself using Google Accounts
                                               to your web site, do the following




                              Otherwise, redirect to Sign-In/Sign-Up powered by Google Accounts
Voila! It works!



• In your browser, type:
                 http://localhost:8080 ⏎
Guest book app (hadnling forms)


google_appengine/helloworld/helloworld.py:
                                             Good Ol’ HTTP Form that POSTs to
                                             http://localhost:8080/sign page




                                                      http://localhost:8080/sign
                                                      is handled by Guestbook class
Voila! It works!



• In your browser, type:
                 http://localhost:8080 ⏎
What’s next ?



• Using DataStore
  • Using GQL
                                     Explore!
• Using Templates
• Using Static Files in App Engine
• Uploading Your Application
Uploading application



• We use appcfg.py for application deploying
• Create and Manage your application at
                https://appengine.google.com/
• Click “Create Application”




• Follow the instructions and create an Application
  ID
• Application ID is unique throughout App Engine!
Uploading application



• Edit app.yaml file from your helloworld directory
 and change the value of “application:” setting
 from “helloworld” to your registered ID
• Now, RUN!
$ ~/google_appengine/appcfg.py update helloworld/
• If you setup a free *.appspot.com domain name,
  the URL of your application begins with the
  application ID.
                 http://your_app_id.appspot.com
Is that it ?



• That’s all ?


                  NO
problems



• App Engine SDK doesn’t work with Proxy!!

                          

• So, basically, your time is wasted in hearing this
  lecture!
solution



• Kidding!

• I have patched an SDK. I will inform you shortly
 about its download link 
questions
Thanks




 Drop me a mail at

snagarohit@gmail.com

Mais conteúdo relacionado

Mais procurados

Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App EngineChris Schalk
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App EngineAndrea Spadaccini
 
Cloud Computing Bootcamp On The Google App Engine v1.2.1
Cloud Computing Bootcamp On The Google App Engine v1.2.1Cloud Computing Bootcamp On The Google App Engine v1.2.1
Cloud Computing Bootcamp On The Google App Engine v1.2.1Matthew McCullough
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest FeaturesChris Schalk
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)Praveen Hanchinal
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?weschwee
 
Introduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentIntroduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentColin Su
 
Google App Engine
Google App EngineGoogle App Engine
Google App EngineCsaba Toth
 
Platform as a service google app engine
Platform as a service   google app enginePlatform as a service   google app engine
Platform as a service google app engineDeepu S Nath
 
App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010Chris Schalk
 
Google Application Engine
Google Application EngineGoogle Application Engine
Google Application Engineguestd77e8ae
 
Google App Engine - Overview #3
Google App Engine - Overview #3Google App Engine - Overview #3
Google App Engine - Overview #3Kay Kim
 
Google app engine - Overview
Google app engine - OverviewGoogle app engine - Overview
Google app engine - OverviewNathan Quach
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Introrobinb123
 
Getting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud FunctionsGetting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud FunctionsMuhammad Samu
 

Mais procurados (20)

Google app engine
Google app engineGoogle app engine
Google app engine
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App Engine
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Cloud Computing Bootcamp On The Google App Engine v1.2.1
Cloud Computing Bootcamp On The Google App Engine v1.2.1Cloud Computing Bootcamp On The Google App Engine v1.2.1
Cloud Computing Bootcamp On The Google App Engine v1.2.1
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?
 
Introduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentIntroduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API Development
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Platform as a service google app engine
Platform as a service   google app enginePlatform as a service   google app engine
Platform as a service google app engine
 
App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Google Application Engine
Google Application EngineGoogle Application Engine
Google Application Engine
 
Google App Engine - Overview #3
Google App Engine - Overview #3Google App Engine - Overview #3
Google App Engine - Overview #3
 
Google app engine - Overview
Google app engine - OverviewGoogle app engine - Overview
Google app engine - Overview
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Intro
 
Getting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud FunctionsGetting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud Functions
 
Introduction to Firebase from Google
Introduction to Firebase from GoogleIntroduction to Firebase from Google
Introduction to Firebase from Google
 

Destaque

Google App Engine At A Glance
Google App Engine At A GlanceGoogle App Engine At A Glance
Google App Engine At A GlanceStefan Christoph
 
Create first-web application-googleappengine
Create first-web application-googleappengineCreate first-web application-googleappengine
Create first-web application-googleappenginemarwa Ayad Mohamed
 
Hello World Python featuring GAE
Hello World Python featuring GAEHello World Python featuring GAE
Hello World Python featuring GAEMaito Kuwahara
 
Google App Engine - Simple Introduction
Google App Engine - Simple IntroductionGoogle App Engine - Simple Introduction
Google App Engine - Simple IntroductionLenny Rachitsky
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Enginerajdeep
 
Google app engine
Google app engineGoogle app engine
Google app engineSuraj Mehta
 

Destaque (7)

Google App Engine At A Glance
Google App Engine At A GlanceGoogle App Engine At A Glance
Google App Engine At A Glance
 
Create first-web application-googleappengine
Create first-web application-googleappengineCreate first-web application-googleappengine
Create first-web application-googleappengine
 
Hello World Python featuring GAE
Hello World Python featuring GAEHello World Python featuring GAE
Hello World Python featuring GAE
 
Google App Engine - Simple Introduction
Google App Engine - Simple IntroductionGoogle App Engine - Simple Introduction
Google App Engine - Simple Introduction
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
HBase Storage Internals
HBase Storage InternalsHBase Storage Internals
HBase Storage Internals
 

Semelhante a Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google Developers Group, Web & Coding Club

Infinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineInfinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineMarian Borca
 
App Engine On Air: Munich
App Engine On Air: MunichApp Engine On Air: Munich
App Engine On Air: Munichdion
 
Google app-engine-with-python
Google app-engine-with-pythonGoogle app-engine-with-python
Google app-engine-with-pythonDeepak Garg
 
App_Engine_PPT..........................
App_Engine_PPT..........................App_Engine_PPT..........................
App_Engine_PPT..........................HassamShahid2
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1Kay Kim
 
Google Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaumsandeephegde
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP Eric Johnson
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Apigility-powered API's on IBM i
Apigility-powered API's on IBM iApigility-powered API's on IBM i
Apigility-powered API's on IBM ichukShirley
 
Build Android App using GCE & GAE
Build Android App using GCE & GAEBuild Android App using GCE & GAE
Build Android App using GCE & GAELove Sharma
 
Jaggery Introductory Webinar
Jaggery Introductory WebinarJaggery Introductory Webinar
Jaggery Introductory WebinarNuwan Bandara
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? Oikailan
 
Wso2 product release webinar introducing jaggery
Wso2 product release webinar   introducing jaggeryWso2 product release webinar   introducing jaggery
Wso2 product release webinar introducing jaggeryWSO2
 

Semelhante a Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google Developers Group, Web & Coding Club (20)

Infinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineInfinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App Engine
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
App Engine On Air: Munich
App Engine On Air: MunichApp Engine On Air: Munich
App Engine On Air: Munich
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 
App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 
Google app-engine-with-python
Google app-engine-with-pythonGoogle app-engine-with-python
Google app-engine-with-python
 
App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 
App_Engine_PPT..........................
App_Engine_PPT..........................App_Engine_PPT..........................
App_Engine_PPT..........................
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1
 
Webapi
WebapiWebapi
Webapi
 
Google Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaum
 
Appium solution
Appium solutionAppium solution
Appium solution
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Apigility-powered API's on IBM i
Apigility-powered API's on IBM iApigility-powered API's on IBM i
Apigility-powered API's on IBM i
 
Build Android App using GCE & GAE
Build Android App using GCE & GAEBuild Android App using GCE & GAE
Build Android App using GCE & GAE
 
Jaggery Introductory Webinar
Jaggery Introductory WebinarJaggery Introductory Webinar
Jaggery Introductory Webinar
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? O
 
Wso2 product release webinar introducing jaggery
Wso2 product release webinar   introducing jaggeryWso2 product release webinar   introducing jaggery
Wso2 product release webinar introducing jaggery
 

Último

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
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
 
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
 
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
 

Último (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
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
 
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
 
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...
 

Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google Developers Group, Web & Coding Club

  • 1. Introduction To Google app engine
  • 2. About speaker Speaker: NAGA ROHIT S COnTACT: snagarohit@gmail.com education: Final Year Under Graudate, Department of CSE, Indian Institute of Technology Guwahati Experience: The speaker has explored about an year developing applications on Google App Engine.
  • 3. What we will learn today • Why Cloud ? • Platform as a Service • Who are in the race ? • Why Google App Engine is the Ge3k’s choice ? • Languages Supported • Getting Started • Hello World App • Frameworks • Webapp Framework • Users API • Handling GET & POST • Guest Book App • What’s Next ? • BigTable • GQL (Not SQL) INTRODUCTION • Static Content • Templates & Stuff • Creating & Uploading Your Application • Problems with IITG Proxy • Problems Patched 
  • 4. Why cloud ? • Scalability • Redundancy • Security • High Initial Investment • Pay As You Grow • Pay only for What You Use •… • Cloud is the future of Internet
  • 5. Platform as a service
  • 6. Who are in the race ? • Microsoft Azure  (not free) • Amazon AWS  (free + meh! :P) • Google App Engine  (free + awesome) •… •…
  • 7. Languages supported • PYTHON [2.5 + 2.7] • GO [EXPERIMENTAL] • JAVA [JAVA 6 JVM]
  • 8. Getting started • Minimum Requirements • Python 2.5+ • Linux (Windows Fan? Sorry, You are alone ) •Download App Engine SDK https://developers.google.com/appengine/downloads [Google App Engine SDK for Python] • Extract SDK • cd to google_appengine • Lock and Load!
  • 9. Hello world app • Inside the google_appengine directory, create a directory with the name helloworld • Create a file named helloworld.py inside helloworld directory. google_appengine/helloworld/helloworld.py: HTTP Header. Never mind! Just accept that you need to write this line when you want to print to the client’s browser This actually goes to the browser
  • 10. Hello world app • App engine application has a configuration file called app.yaml which tells the app engine about the application being developed and its configuration. • Create a file app.yaml in the helloworld directory. • Wait! What is YAML ? • YAML Ain’t Markup Language • Yet Another Markup Language In short, it’s a more human readable form of data storage.
  • 11. Hello world app google_appengine/helloworld/app.yaml: Application Identifier Version of the Application you are building Python/Java/Go/whatever Google API version that this application is built on. Basically this is for supporting legacy applications in case APIs change Handles every request of http://localhost/<AnyJunkHere> The script which needs to be run for the above handle match
  • 12. Hello world app • Summarizing, google_appengine/helloworld/ • helloworld.py • app.yaml • Now, RUN! $ ~/google_appengine/dev_appserver.py helloworld/ Starts the server by default on Folder in which the app.yaml port 8080. Can be changed by file for helloworld application resides command line options
  • 13. Voila! It works! • In your browser, type: http://localhost:8080 ⏎
  • 14. Framework support • Supports any Python-CGI Framework including • Django • CherryPy • Pylons • Web2Py • Natively supports webapp Framework.
  • 15. Webapp framework google_appengine/helloworld/helloworld.py: Import webapp and run_wsgi_app modules Set Headers HTTP Get Request Print this to browser URL Match Handling Class
  • 16. Voila! It works! • In your browser, type: http://localhost:8080 ⏎
  • 17. USERS API • Users API uses Google Accounts Sign-In google_appengine/helloworld/helloworld.py: Import users module If user signs himself using Google Accounts to your web site, do the following Otherwise, redirect to Sign-In/Sign-Up powered by Google Accounts
  • 18. Voila! It works! • In your browser, type: http://localhost:8080 ⏎
  • 19. Guest book app (hadnling forms) google_appengine/helloworld/helloworld.py: Good Ol’ HTTP Form that POSTs to http://localhost:8080/sign page http://localhost:8080/sign is handled by Guestbook class
  • 20. Voila! It works! • In your browser, type: http://localhost:8080 ⏎
  • 21. What’s next ? • Using DataStore • Using GQL Explore! • Using Templates • Using Static Files in App Engine • Uploading Your Application
  • 22. Uploading application • We use appcfg.py for application deploying • Create and Manage your application at https://appengine.google.com/ • Click “Create Application” • Follow the instructions and create an Application ID • Application ID is unique throughout App Engine!
  • 23. Uploading application • Edit app.yaml file from your helloworld directory and change the value of “application:” setting from “helloworld” to your registered ID • Now, RUN! $ ~/google_appengine/appcfg.py update helloworld/ • If you setup a free *.appspot.com domain name, the URL of your application begins with the application ID. http://your_app_id.appspot.com
  • 24. Is that it ? • That’s all ? NO
  • 25. problems • App Engine SDK doesn’t work with Proxy!!  • So, basically, your time is wasted in hearing this lecture!
  • 26. solution • Kidding! • I have patched an SDK. I will inform you shortly about its download link 
  • 28. Thanks Drop me a mail at snagarohit@gmail.com