SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
Google App Engine

    Anil Saldhana
Important Stuff To Remember

 Use an IDE such as Eclipse and the Google App Engine
 Plugin.
 Take a look at the JRE White List to see the API that is
 supported.
 Run the application in local mode first before deploying in
 the app engine.
    App Engine in local mode : http://localhost:8888/_ah/admin




                                                         2
Google App Engine Project

 Install the Google Eclipse Plugin
 Click on the "New Web Application Project" icon
 Project Name: cjug, Package: cjug
 Uncheck "Use Google Web Toolkit"
 Retain the check on "Use Google App Engine"
 Thats it.
     You get a full fledged web application that you can run
     on GAE.
         HelloWorld Servlet.
         web.xml declaring the servlet
         index.html
         appengine-web.xml
         WEB-INF/logging.properties
                                                        3
Configuration for GAE

  Deployment Descriptor : web.xml
  AppEngine DD: appengine-web.xml
  Datastore Indexes : datastore-indexes.xml
  Task Queues : queues.xml
  Scheduled Jobs : cron.xml
  DOS Protection: dos.xml




                                              4
Configuration : appengine-web.xml
  The main configuration file for your web application.
  Define your application id (<application>)
  Define your application version (<version>)
  Define your system properties
  Define your static and resource files
  (formats/includes/excludes)
  Mandate SSL (<ssl-enabled/>)
  Enable sessions (GAE uses datastore and memcache)




                                                          5
Configuration : datastore-indexes.xml
  The GAE uses indexes on queries made by applications.
  You can predefine your queries and indexes.

   <?xml version="1.0" encoding="utf-8"?>
   <datastore-indexes
    autoGenerate="true">
     <datastore-index kind="Employee" ancestor="false">
       <property name="lastName" direction="asc" />
       <property name="hireDate" direction="desc" />
     </datastore-index>

     <datastore-index kind="Project" ancestor="false">
        <property name="dueDate" direction="asc" />
     </datastore-index>
   </datastore-indexes>




                                                          6
Configuration: Cron based scheduler
     cron.xml in WEB-INF directory
<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
 <cron>
  <url>/recache</url>
  <description>Repopulate the cache every 2 minutes</description>
  <schedule>every 2 minutes</schedule>
 </cron>
 <cron>
  <url>/weeklyreport</url>
  <description>Mail out a weekly report</description>
  <schedule>every monday 08:30</schedule>
  <timezone>America/New_York</timezone>
 </cron>
</cronentries>




                                                                    7
Configuration: Task Queues
       You can use QueueFactory.getDefaultQueue() or
       Have a queue.xml in your WEB-INF directory
      Without uploading entire app, you can update config
      ./appengine-java-sdk/bin/appcfg.sh update_queues
      myapp/war
<queue-entries>
 <queue>
  <name>default</name>
  <rate>1/s</rate>
 </queue>
 <queue>
  <name>mail-queue</name>
  <rate>2000/d</rate>
  <bucket-size>10</bucket-size>
 </queue>
 <queue>
  <name>background-processing</name>
  <rate>5/s</rate>
 </queue>

</queue-entries>



                                                            8
Configuration : DOS Protection
       dos.xml in WEB-INF directory
<?xml version="1.0" encoding="UTF-8"?>
<blacklistentries>
 <blacklist>
  <subnet>1.2.3.4</subnet> <description>a single IP address</description> </blacklist>
 <blacklist>
  <subnet>1.2.3.4/24</subnet> <description>an IPv4 subnet</description>
 </blacklist>
 <blacklist>
  <subnet>abcd::123:4567</subnet> <description>an IPv6 address</description>
 </blacklist>
 <blacklist>
  <subnet>abcd::123:4567/48</subnet> <description>an IPv6 subnet</description>
 </blacklist>
</blacklistentries>




                                                                                         9
Other Services
 Google Users Service
    Integrate with Google user accounts.
 Memcache
    Distributed in-memory cache
    Can either use JCache (JSR107) API or Low Level API.
 URL Fetch API
    Applications interact with other hosts on the internet
    using http or https with this API.
    java.net.URLConnection is supported
        No persistent HTTP Connections
        No explicit connection time outs.
 Mail Services
    Java Mail or Low Level API
    Send and receive emails.
                                                       10
Other Services
 XMPP Services
    Application can get XMPP messages from GTalk/Jabber
 BlobStore API
    Service large data objects (50MB limit)
    Billing required to be enabled
    Experimental
    Eg: Application users want to upload a file. An opaque
    blobstore key is returned.
 Images Java API
    API to deal with images - resize, crop etc




                                                      11
For More Information

  Online Documentation
  Google Discussion Group
     http://code.google.com/appengine/community.html




                                                       12

Mais conteúdo relacionado

Mais procurados

Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsTips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsSarvesh Kushwaha
 
Weblogic performance tuning1
Weblogic performance tuning1Weblogic performance tuning1
Weblogic performance tuning1Aditya Bhuyan
 
Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...Maarten Balliauw
 
Lecture 3: Servlets - Session Management
Lecture 3:  Servlets - Session ManagementLecture 3:  Servlets - Session Management
Lecture 3: Servlets - Session ManagementFahad Golra
 
ACL in CodeIgniter
ACL in CodeIgniterACL in CodeIgniter
ACL in CodeIgnitermirahman
 
Glassfish JEE Server Administration - Module 4 Load Balancer
Glassfish JEE Server Administration - Module 4 Load BalancerGlassfish JEE Server Administration - Module 4 Load Balancer
Glassfish JEE Server Administration - Module 4 Load BalancerDanairat Thanabodithammachari
 
Building drupal web farms with IIS - part 1
Building drupal web farms with IIS - part 1Building drupal web farms with IIS - part 1
Building drupal web farms with IIS - part 1Alessandro Pilotti
 
Web Deployment With Visual Studio 2010
Web Deployment With Visual Studio 2010Web Deployment With Visual Studio 2010
Web Deployment With Visual Studio 2010Rishu Mehra
 
State management in ASP.NET
State management in ASP.NETState management in ASP.NET
State management in ASP.NETOm Vikram Thapa
 
Jboss App Server
Jboss App ServerJboss App Server
Jboss App Serveracosdt
 
the Spring 4 update
the Spring 4 updatethe Spring 4 update
the Spring 4 updateJoshua Long
 
SpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSLSpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSLSunghyouk Bae
 

Mais procurados (20)

Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsTips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC Applications
 
Weblogic performance tuning1
Weblogic performance tuning1Weblogic performance tuning1
Weblogic performance tuning1
 
Power shell
Power shellPower shell
Power shell
 
Drupal 8 Services
Drupal 8 ServicesDrupal 8 Services
Drupal 8 Services
 
Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...Sherlock Homepage - A detective story about running large web services - NDC ...
Sherlock Homepage - A detective story about running large web services - NDC ...
 
Lecture 3: Servlets - Session Management
Lecture 3:  Servlets - Session ManagementLecture 3:  Servlets - Session Management
Lecture 3: Servlets - Session Management
 
ACL in CodeIgniter
ACL in CodeIgniterACL in CodeIgniter
ACL in CodeIgniter
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Glassfish JEE Server Administration - Module 4 Load Balancer
Glassfish JEE Server Administration - Module 4 Load BalancerGlassfish JEE Server Administration - Module 4 Load Balancer
Glassfish JEE Server Administration - Module 4 Load Balancer
 
Road Show Asp Net
Road Show Asp NetRoad Show Asp Net
Road Show Asp Net
 
Weblogic plug in
Weblogic plug inWeblogic plug in
Weblogic plug in
 
Mule esb :Data Weave
Mule esb :Data WeaveMule esb :Data Weave
Mule esb :Data Weave
 
Building drupal web farms with IIS - part 1
Building drupal web farms with IIS - part 1Building drupal web farms with IIS - part 1
Building drupal web farms with IIS - part 1
 
Web Deployment With Visual Studio 2010
Web Deployment With Visual Studio 2010Web Deployment With Visual Studio 2010
Web Deployment With Visual Studio 2010
 
State management in ASP.NET
State management in ASP.NETState management in ASP.NET
State management in ASP.NET
 
Jboss App Server
Jboss App ServerJboss App Server
Jboss App Server
 
the Spring 4 update
the Spring 4 updatethe Spring 4 update
the Spring 4 update
 
Spring introduction
Spring introductionSpring introduction
Spring introduction
 
Connection Pooling
Connection PoolingConnection Pooling
Connection Pooling
 
SpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSLSpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSL
 

Destaque

What Can I Do With My Worry
What Can I Do With My WorryWhat Can I Do With My Worry
What Can I Do With My Worrytatianasimpson
 
Working Together Diocese of Bath and Wells
Working Together Diocese of Bath and WellsWorking Together Diocese of Bath and Wells
Working Together Diocese of Bath and WellsKatherine Lyddon
 
[電子書][教學]超級速讀法
[電子書][教學]超級速讀法[電子書][教學]超級速讀法
[電子書][教學]超級速讀法Birgit Lin
 
Dogs and people
Dogs and peopleDogs and people
Dogs and peoplebymafe
 
Turismo Emilia Romagna: un'APT alla scoperta del web sociale
Turismo Emilia Romagna: un'APT alla scoperta del web socialeTurismo Emilia Romagna: un'APT alla scoperta del web sociale
Turismo Emilia Romagna: un'APT alla scoperta del web socialetagbologna lab
 
La sostenibilità la green economy e gli effetti sul marketing territoriale
La sostenibilità la green economy e gli effetti sul marketing territorialeLa sostenibilità la green economy e gli effetti sul marketing territoriale
La sostenibilità la green economy e gli effetti sul marketing territorialetagbologna lab
 
Bubbles for leaders taster session
Bubbles for leaders taster sessionBubbles for leaders taster session
Bubbles for leaders taster sessionKatherine Lyddon
 
Numerical literacy t22010
Numerical literacy t22010Numerical literacy t22010
Numerical literacy t22010laburns
 
नेपाल भूकंप त्रासदी फाइनल
नेपाल भूकंप त्रासदी फाइनलनेपाल भूकंप त्रासदी फाइनल
नेपाल भूकंप त्रासदी फाइनलITC Infotech
 
Internet per Umarells&Zdaore
Internet per Umarells&Zdaore Internet per Umarells&Zdaore
Internet per Umarells&Zdaore tagbologna lab
 
Jakamistalous, työmarkkinat ja digitalisaatio muuttavat työelämää
Jakamistalous, työmarkkinat ja digitalisaatio muuttavat työelämääJakamistalous, työmarkkinat ja digitalisaatio muuttavat työelämää
Jakamistalous, työmarkkinat ja digitalisaatio muuttavat työelämääVesa Vuorenkoski
 
งานนำเสนอ1.2
งานนำเสนอ1.2งานนำเสนอ1.2
งานนำเสนอ1.2sirivadee
 
C:\documents and settings\alumno\mis documentos\cuidados en la sala de inform...
C:\documents and settings\alumno\mis documentos\cuidados en la sala de inform...C:\documents and settings\alumno\mis documentos\cuidados en la sala de inform...
C:\documents and settings\alumno\mis documentos\cuidados en la sala de inform...BEHEMOTH
 
Good practice in church school partnerships Diocese of Bath and Wells
Good practice in church school partnerships Diocese of Bath and WellsGood practice in church school partnerships Diocese of Bath and Wells
Good practice in church school partnerships Diocese of Bath and WellsKatherine Lyddon
 
In Spirit and in Truth Diocese of Chichester
In Spirit and in Truth Diocese of ChichesterIn Spirit and in Truth Diocese of Chichester
In Spirit and in Truth Diocese of ChichesterKatherine Lyddon
 

Destaque (20)

Usa jeopardy
Usa jeopardyUsa jeopardy
Usa jeopardy
 
What Can I Do With My Worry
What Can I Do With My WorryWhat Can I Do With My Worry
What Can I Do With My Worry
 
Working Together Diocese of Bath and Wells
Working Together Diocese of Bath and WellsWorking Together Diocese of Bath and Wells
Working Together Diocese of Bath and Wells
 
Kidz Klubs
Kidz KlubsKidz Klubs
Kidz Klubs
 
[電子書][教學]超級速讀法
[電子書][教學]超級速讀法[電子書][教學]超級速讀法
[電子書][教學]超級速讀法
 
Dogs and people
Dogs and peopleDogs and people
Dogs and people
 
Progetto co/Auletta
Progetto co/AulettaProgetto co/Auletta
Progetto co/Auletta
 
Turismo Emilia Romagna: un'APT alla scoperta del web sociale
Turismo Emilia Romagna: un'APT alla scoperta del web socialeTurismo Emilia Romagna: un'APT alla scoperta del web sociale
Turismo Emilia Romagna: un'APT alla scoperta del web sociale
 
La sostenibilità la green economy e gli effetti sul marketing territoriale
La sostenibilità la green economy e gli effetti sul marketing territorialeLa sostenibilità la green economy e gli effetti sul marketing territoriale
La sostenibilità la green economy e gli effetti sul marketing territoriale
 
Bubbles for leaders taster session
Bubbles for leaders taster sessionBubbles for leaders taster session
Bubbles for leaders taster session
 
Numerical literacy t22010
Numerical literacy t22010Numerical literacy t22010
Numerical literacy t22010
 
नेपाल भूकंप त्रासदी फाइनल
नेपाल भूकंप त्रासदी फाइनलनेपाल भूकंप त्रासदी फाइनल
नेपाल भूकंप त्रासदी फाइनल
 
Internet per Umarells&Zdaore
Internet per Umarells&Zdaore Internet per Umarells&Zdaore
Internet per Umarells&Zdaore
 
Jakamistalous, työmarkkinat ja digitalisaatio muuttavat työelämää
Jakamistalous, työmarkkinat ja digitalisaatio muuttavat työelämääJakamistalous, työmarkkinat ja digitalisaatio muuttavat työelämää
Jakamistalous, työmarkkinat ja digitalisaatio muuttavat työelämää
 
งานนำเสนอ1.2
งานนำเสนอ1.2งานนำเสนอ1.2
งานนำเสนอ1.2
 
State of the Sass - The Mixin
State of the Sass - The MixinState of the Sass - The Mixin
State of the Sass - The Mixin
 
C:\documents and settings\alumno\mis documentos\cuidados en la sala de inform...
C:\documents and settings\alumno\mis documentos\cuidados en la sala de inform...C:\documents and settings\alumno\mis documentos\cuidados en la sala de inform...
C:\documents and settings\alumno\mis documentos\cuidados en la sala de inform...
 
Good practice in church school partnerships Diocese of Bath and Wells
Good practice in church school partnerships Diocese of Bath and WellsGood practice in church school partnerships Diocese of Bath and Wells
Good practice in church school partnerships Diocese of Bath and Wells
 
El liderazgo en las organizaciones
El liderazgo en las organizacionesEl liderazgo en las organizaciones
El liderazgo en las organizaciones
 
In Spirit and in Truth Diocese of Chichester
In Spirit and in Truth Diocese of ChichesterIn Spirit and in Truth Diocese of Chichester
In Spirit and in Truth Diocese of Chichester
 

Semelhante a Google App Engine

eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introductionvstorm83
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
File Repository on GAE
File Repository on GAEFile Repository on GAE
File Repository on GAElynneblue
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Developing Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineDeveloping Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineTahir Akram
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineIMC Institute
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java3Pillar Global
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
 
SpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSUFYAN SATTAR
 
Deploying applications to Cloud with Google App Engine
Deploying applications to Cloud with Google App EngineDeploying applications to Cloud with Google App Engine
Deploying applications to Cloud with Google App EngineAlexander Zamkovyi
 
Java servlet technology
Java servlet technologyJava servlet technology
Java servlet technologyMinal Maniar
 
Andy Bosch - JavaServer Faces in the cloud
Andy Bosch -  JavaServer Faces in the cloudAndy Bosch -  JavaServer Faces in the cloud
Andy Bosch - JavaServer Faces in the cloudAndy Bosch
 
Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Tony Frame
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1Kay Kim
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performanceAbhishek Sur
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Enginecatherinewall
 
Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011Opevel
 
Scale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricScale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricWim Van den Broeck
 

Semelhante a Google App Engine (20)

eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introduction
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
File Repository on GAE
File Repository on GAEFile Repository on GAE
File Repository on GAE
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
 
Developing Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineDeveloping Java Web Applications In Google App Engine
Developing Java Web Applications In Google App Engine
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
SpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptx
 
Deploying applications to Cloud with Google App Engine
Deploying applications to Cloud with Google App EngineDeploying applications to Cloud with Google App Engine
Deploying applications to Cloud with Google App Engine
 
Java servlet technology
Java servlet technologyJava servlet technology
Java servlet technology
 
Andy Bosch - JavaServer Faces in the cloud
Andy Bosch -  JavaServer Faces in the cloudAndy Bosch -  JavaServer Faces in the cloud
Andy Bosch - JavaServer Faces in the cloud
 
Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performance
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011Google app-engine-cloudcamplagos2011
Google app-engine-cloudcamplagos2011
 
Scale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabricScale Your Data Tier with Windows Server AppFabric
Scale Your Data Tier with Windows Server AppFabric
 

Mais de Anil Saldanha

Saml vs Oauth : Which one should I use?
Saml vs Oauth : Which one should I use?Saml vs Oauth : Which one should I use?
Saml vs Oauth : Which one should I use?Anil Saldanha
 
Securing Applications With Picketlink
Securing Applications With PicketlinkSecuring Applications With Picketlink
Securing Applications With PicketlinkAnil Saldanha
 
Anil saldhana cloudidentitybestpractices
Anil saldhana cloudidentitybestpracticesAnil saldhana cloudidentitybestpractices
Anil saldhana cloudidentitybestpracticesAnil Saldanha
 
Anil saldhana cloud identity
Anil saldhana cloud identityAnil saldhana cloud identity
Anil saldhana cloud identityAnil Saldanha
 
Oasis Identity In The Cloud Technical Committee
Oasis Identity In The Cloud Technical CommitteeOasis Identity In The Cloud Technical Committee
Oasis Identity In The Cloud Technical CommitteeAnil Saldanha
 
Oasis IDCloud TC - Anil Saldhana
Oasis IDCloud TC - Anil SaldhanaOasis IDCloud TC - Anil Saldhana
Oasis IDCloud TC - Anil SaldhanaAnil Saldanha
 
Anil saldhana identitycloud
Anil saldhana identitycloudAnil saldhana identitycloud
Anil saldhana identitycloudAnil Saldanha
 
Secure Middleware with JBoss AS 5
Secure Middleware with JBoss AS 5Secure Middleware with JBoss AS 5
Secure Middleware with JBoss AS 5Anil Saldanha
 
Advances inbrowsersecurity
Advances inbrowsersecurityAdvances inbrowsersecurity
Advances inbrowsersecurityAnil Saldanha
 
Anil saldhana securityassurancewithj_bosseap
Anil saldhana securityassurancewithj_bosseapAnil saldhana securityassurancewithj_bosseap
Anil saldhana securityassurancewithj_bosseapAnil Saldanha
 
Anil saldhana oasisid_cloud
Anil saldhana oasisid_cloudAnil saldhana oasisid_cloud
Anil saldhana oasisid_cloudAnil Saldanha
 

Mais de Anil Saldanha (11)

Saml vs Oauth : Which one should I use?
Saml vs Oauth : Which one should I use?Saml vs Oauth : Which one should I use?
Saml vs Oauth : Which one should I use?
 
Securing Applications With Picketlink
Securing Applications With PicketlinkSecuring Applications With Picketlink
Securing Applications With Picketlink
 
Anil saldhana cloudidentitybestpractices
Anil saldhana cloudidentitybestpracticesAnil saldhana cloudidentitybestpractices
Anil saldhana cloudidentitybestpractices
 
Anil saldhana cloud identity
Anil saldhana cloud identityAnil saldhana cloud identity
Anil saldhana cloud identity
 
Oasis Identity In The Cloud Technical Committee
Oasis Identity In The Cloud Technical CommitteeOasis Identity In The Cloud Technical Committee
Oasis Identity In The Cloud Technical Committee
 
Oasis IDCloud TC - Anil Saldhana
Oasis IDCloud TC - Anil SaldhanaOasis IDCloud TC - Anil Saldhana
Oasis IDCloud TC - Anil Saldhana
 
Anil saldhana identitycloud
Anil saldhana identitycloudAnil saldhana identitycloud
Anil saldhana identitycloud
 
Secure Middleware with JBoss AS 5
Secure Middleware with JBoss AS 5Secure Middleware with JBoss AS 5
Secure Middleware with JBoss AS 5
 
Advances inbrowsersecurity
Advances inbrowsersecurityAdvances inbrowsersecurity
Advances inbrowsersecurity
 
Anil saldhana securityassurancewithj_bosseap
Anil saldhana securityassurancewithj_bosseapAnil saldhana securityassurancewithj_bosseap
Anil saldhana securityassurancewithj_bosseap
 
Anil saldhana oasisid_cloud
Anil saldhana oasisid_cloudAnil saldhana oasisid_cloud
Anil saldhana oasisid_cloud
 

Último

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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
#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
 
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
 
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
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 

Último (20)

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...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
#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
 
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
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 

Google App Engine

  • 1. Google App Engine Anil Saldhana
  • 2. Important Stuff To Remember Use an IDE such as Eclipse and the Google App Engine Plugin. Take a look at the JRE White List to see the API that is supported. Run the application in local mode first before deploying in the app engine. App Engine in local mode : http://localhost:8888/_ah/admin 2
  • 3. Google App Engine Project Install the Google Eclipse Plugin Click on the "New Web Application Project" icon Project Name: cjug, Package: cjug Uncheck "Use Google Web Toolkit" Retain the check on "Use Google App Engine" Thats it. You get a full fledged web application that you can run on GAE. HelloWorld Servlet. web.xml declaring the servlet index.html appengine-web.xml WEB-INF/logging.properties 3
  • 4. Configuration for GAE Deployment Descriptor : web.xml AppEngine DD: appengine-web.xml Datastore Indexes : datastore-indexes.xml Task Queues : queues.xml Scheduled Jobs : cron.xml DOS Protection: dos.xml 4
  • 5. Configuration : appengine-web.xml The main configuration file for your web application. Define your application id (<application>) Define your application version (<version>) Define your system properties Define your static and resource files (formats/includes/excludes) Mandate SSL (<ssl-enabled/>) Enable sessions (GAE uses datastore and memcache) 5
  • 6. Configuration : datastore-indexes.xml The GAE uses indexes on queries made by applications. You can predefine your queries and indexes. <?xml version="1.0" encoding="utf-8"?> <datastore-indexes autoGenerate="true"> <datastore-index kind="Employee" ancestor="false"> <property name="lastName" direction="asc" /> <property name="hireDate" direction="desc" /> </datastore-index> <datastore-index kind="Project" ancestor="false"> <property name="dueDate" direction="asc" /> </datastore-index> </datastore-indexes> 6
  • 7. Configuration: Cron based scheduler cron.xml in WEB-INF directory <?xml version="1.0" encoding="UTF-8"?> <cronentries> <cron> <url>/recache</url> <description>Repopulate the cache every 2 minutes</description> <schedule>every 2 minutes</schedule> </cron> <cron> <url>/weeklyreport</url> <description>Mail out a weekly report</description> <schedule>every monday 08:30</schedule> <timezone>America/New_York</timezone> </cron> </cronentries> 7
  • 8. Configuration: Task Queues You can use QueueFactory.getDefaultQueue() or Have a queue.xml in your WEB-INF directory Without uploading entire app, you can update config ./appengine-java-sdk/bin/appcfg.sh update_queues myapp/war <queue-entries> <queue> <name>default</name> <rate>1/s</rate> </queue> <queue> <name>mail-queue</name> <rate>2000/d</rate> <bucket-size>10</bucket-size> </queue> <queue> <name>background-processing</name> <rate>5/s</rate> </queue> </queue-entries> 8
  • 9. Configuration : DOS Protection dos.xml in WEB-INF directory <?xml version="1.0" encoding="UTF-8"?> <blacklistentries> <blacklist> <subnet>1.2.3.4</subnet> <description>a single IP address</description> </blacklist> <blacklist> <subnet>1.2.3.4/24</subnet> <description>an IPv4 subnet</description> </blacklist> <blacklist> <subnet>abcd::123:4567</subnet> <description>an IPv6 address</description> </blacklist> <blacklist> <subnet>abcd::123:4567/48</subnet> <description>an IPv6 subnet</description> </blacklist> </blacklistentries> 9
  • 10. Other Services Google Users Service Integrate with Google user accounts. Memcache Distributed in-memory cache Can either use JCache (JSR107) API or Low Level API. URL Fetch API Applications interact with other hosts on the internet using http or https with this API. java.net.URLConnection is supported No persistent HTTP Connections No explicit connection time outs. Mail Services Java Mail or Low Level API Send and receive emails. 10
  • 11. Other Services XMPP Services Application can get XMPP messages from GTalk/Jabber BlobStore API Service large data objects (50MB limit) Billing required to be enabled Experimental Eg: Application users want to upload a file. An opaque blobstore key is returned. Images Java API API to deal with images - resize, crop etc 11
  • 12. For More Information Online Documentation Google Discussion Group http://code.google.com/appengine/community.html 12