SlideShare une entreprise Scribd logo
1  sur  78
Google App Engine for Java ,[object Object],[object Object],[object Object]
Why do I qualify? ,[object Object],[object Object],[object Object],[object Object],[object Object]
What is cloud computing for me? What is the Google App Engine? Development for GAE with Java Persistence without SQL Tools - A fool with a tool is still a fool App Engine Services Testing on the cloud And of course coding
A typical system setup OS +Application Server + DB
You need scaling... Application Server Database Application Server Application Server
So you are fine, right?...
Designed for peek consumption Time Utilization
Cloud computing tries to solve this
What is a cloud computing not? Putting one or more computer in the internet is not necessary cloud computing That is just a server in the internet
What is a cloud computing? Cloud computing is Web-based processing, whereby shared resources, software, and information are provided to computers and other devices (such as smartphones) on demand over the Internet. Blabla, this means nothing...
Cloud: ....some kind of abstracting from the hardware and providing resources on demand Time
What types of cloud computing do we have? Infrastructure as a Service -> Amazon Platform as a Service -> Google App Engine Software as a service -> Salesforce.com, MyERP
Google App Engine Scalable Infrastructure GAE allows you to host webapplications on the Google infrastructure.
Difference to Amazons  Scalable Infrastructure Amazon provides virtual servers App Engine provides an interface to program against  App Engine give no access to the underlying system / hardware
Run your app on the Google Infrastructure Scalable Infrastructure
Google handles the infrastructure, e.g. hardware failures, security patches, OS upgrades
Sometimes there are issues
and the usage of App Engine is free…. within limits in any case you only pay for what your use
Google App Engine - Limits Scalable Infrastructure 10 Applications per User 5 Million Pageviews are free per month. Approx. 6.5 hours of CPU and 1 Gigabyte of inbound and outbound traffic. 100 hits per secs (non-billing) and 500 for billing enabled applications http://code.google.com/intl/en-EN/appengine/docs/billing.html
Real Costs Example - Game ,[object Object],[object Object]
How does Google run thousands of thousands Java apps at the same time? They don’t… applications which are not actively used will be frozen and saved to big table    Initial startup time
App Engine Architecture App Engine FrontEnd App Engine FrontEnd App Engine FrontEnd AppServer AppServer AppServer Load Balancer
So it scales but what about Platform as a service?
Writing Java Webs application is hard from Guillaume Laforge and Patrick Chanezon http://www.slideshare.net/glaforge/google-app-engine-java-groovy-baby
To write a Java Web application ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
...developing a Java Web application from scratch is really, really slow due to the initial setup required
Google App Engine –  Programming Languages Python   Java-isch Scala Groovy JRuby JPython … Still some issues with Grails....
Servlets and JSPs A servlet is a Java class which answers a HTTP request within a web container. JavaServer Pages (JSP) are files which contains HTML and Java code. The web container compiles the JSP into a servlet at the first time of accessing this JSP
Possible Web Frameworks on GAE Basically all Java Web frameworks, e.g. JSP, Servlets based GWT, JSF, Struts, Wicket
App Engine can be more then just a web application platform Scalable Infrastructure Doesn‘t have to be a webapplication, can be a backend for Android or iPhones... Can be used to do some serious number crunching
Access ,[object Object],[object Object]
Develop according to Java standards from Guillaume Laforge and Patrick Chanezon http://www.slideshare.net/glaforge/google-app-engine-java-groovy-baby
Session Support Turned off by default  appengine-web.xml <sessions-enabled>true</sessions-enabled> Persistent and distributed
Configuration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Development Tools
DevApp Server Scalable Infrastructure Emulates the Google App Engine, its service and restrictions Based on Jetty
Eclipse Scalable Infrastructure
Demo – A new project
Deployment Scalable Infrastructure Run your application on  [email_address]  or on your own domain Command line or Eclipse based
Logging ,[object Object],[object Object]
Performance
Be fast ,[object Object],[object Object],[object Object],[object Object]
Example for recent performance work Byte code used to enhanced dynamically, now App Engine does this this statically. JIT  and GC improvements Example Work on reflection Data from Google I/O 2010
Limits
Limits  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Compartibility is increasing Whitelist is growing. More and more libraries are supported
Datastore
Storing data ,[object Object]
Datastore ,[object Object],[object Object],[object Object]
Datastore ,[object Object],[object Object],[object Object],[object Object]
Datastore ,[object Object]
Data Store ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Datastore via JDO  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Indexes ,[object Object],[object Object],[object Object]
Indexes ,[object Object],[object Object]
Other storage possibilities Blobstore Memcache
Memcache ,[object Object],[object Object],[object Object],[object Object]
Blogstore ,[object Object],[object Object],[object Object],[object Object],[object Object]
App Engine  Services
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],API’s
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],URL Fetch
[object Object],[object Object],[object Object],Image Service
[object Object],[object Object],[object Object],Task Queue
Demos Lets write a chat bot for the App Engine using XMPP -  Extensible Messaging and Presence Protocol
Demos Lets send out emails...
Demos Receive email
Testing...
Testing Local Testing - equal functionality as the cloud - not equal in scale -  LocalServiceTestHelper(….services to be tested) Cloud Testing - serving HTTP requests - scalable and fast - all limits apply which apply for standard application -
Local Testing Similar to standard Java testing - JUnit, TestNG, Selenium Difference: Some classes require a certain App Engine setup, e.g. the datastore AppEngine Testing API
API.Proxy Register your own class as proxy for the GAE API calls and interfere them.
GAE 1.4
App Engine Recent Updates Running JVM (3 instances) WarmupRequest via appengine-web.xml The Channel API is now available for all users.  Task Queue released,  Deadline for Task Queue and Cron requests has been raised to 10  minutes.  Added a low-level AsyncDatastoreService for making calls to the datastore    asynchronously.  The whitelist has been updated to include all classes from javax.xml.soap.  Source: http://groups.google.com/group/google-appengine/browse_thread/thread/0f90ef8dda3b8400
Google Cloud for businesses 99.9 % SLA pay 8 Euros per user up to a maximum of 1000 Euro (==125 Users) Hosted SQL SSL (Secure Sockets Layer) for the domain Multi-tendency
Leverage the greatest IT infrastructure of the world Fast development of new functions Just to great to ignore Google App Engine
Photo credits  Please add  http://www.sxc.hu/photo/  to the number if not specified ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thank you ,[object Object],[object Object],[object Object],[object Object]
Hands-on Tutorial The following tutorials give an intro to GAE/J using servlets and JSP‘s http://www.vogella.de/articles/GoogleAppEngineJava/article.html http://code.google.com/intl/de-DE/appengine/docs/java/gettingstarted/ http://www.vogella.de/articles/GoogleAppEngine/article.html
License & Acknowledgements ,[object Object],[object Object]

Contenu connexe

Tendances

Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Introrobinb123
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App EngineChris Schalk
 
Google app engine - Overview
Google app engine - OverviewGoogle app engine - Overview
Google app engine - OverviewNathan Quach
 
Google App Engine
Google App EngineGoogle App Engine
Google App EngineCsaba Toth
 
I've (probably) been using Google App Engine for a week longer than you have
I've (probably) been using Google App Engine for a week longer than you haveI've (probably) been using Google App Engine for a week longer than you have
I've (probably) been using Google App Engine for a week longer than you haveSimon Willison
 
Google app engine
Google app engineGoogle app engine
Google app engineRenjith318
 
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...Naga Rohit
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)Praveen Hanchinal
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest FeaturesChris Schalk
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with PythonBrian Lyttle
 
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 app engine introduction
Google app engine introductionGoogle app engine introduction
Google app engine introductionrajsandhu1989
 
Google App Engine - Overview #3
Google App Engine - Overview #3Google App Engine - Overview #3
Google App Engine - Overview #3Kay Kim
 
Google Application Engine
Google Application EngineGoogle Application Engine
Google Application Engineguestd77e8ae
 

Tendances (20)

Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Intro
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App Engine
 
Google app engine - Overview
Google app engine - OverviewGoogle app engine - Overview
Google app engine - Overview
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
I've (probably) been using Google App Engine for a week longer than you have
I've (probably) been using Google App Engine for a week longer than you haveI've (probably) been using Google App Engine for a week longer than you have
I've (probably) been using Google App Engine for a week longer than you have
 
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
 
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
Google App engine
Google App engineGoogle App engine
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
 
Google app engine introduction
Google app engine introductionGoogle app engine introduction
Google app engine introduction
 
Google App Engine - Overview #3
Google App Engine - Overview #3Google App Engine - Overview #3
Google App Engine - Overview #3
 
Google Application Engine
Google Application EngineGoogle Application Engine
Google Application Engine
 

Similaire à Google App Engine for Java

Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
The 90-Day Startup with Google AppEngine for Java
The 90-Day Startup with Google AppEngine for JavaThe 90-Day Startup with Google AppEngine for Java
The 90-Day Startup with Google AppEngine for JavaDavid Chandler
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Matthew McCullough
 
File Repository on GAE
File Repository on GAEFile Repository on GAE
File Repository on GAElynneblue
 
Hands on App Engine
Hands on App EngineHands on App Engine
Hands on App EngineSimon Su
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Enginecatherinewall
 
Google App Engine - Java Style
Google App Engine - Java StyleGoogle App Engine - Java Style
Google App Engine - Java StylePeter Lind
 
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
 
Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Tony Frame
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? Oikailan
 
Google App Engine With Java And Groovy
Google App Engine With Java And GroovyGoogle App Engine With Java And Groovy
Google App Engine With Java And GroovyKen Kousen
 
Simple stock market analysis
Simple stock market analysisSimple stock market analysis
Simple stock market analysislynneblue
 
App Engine On Air: Munich
App Engine On Air: MunichApp Engine On Air: Munich
App Engine On Air: Munichdion
 
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
 
Azure Functions.pptx
Azure Functions.pptxAzure Functions.pptx
Azure Functions.pptxYachikaKamra
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presentedVijayan Reddy
 
eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introductionvstorm83
 

Similaire à Google App Engine for Java (20)

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
 
The 90-Day Startup with Google AppEngine for Java
The 90-Day Startup with Google AppEngine for JavaThe 90-Day Startup with Google AppEngine for Java
The 90-Day Startup with Google AppEngine for Java
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2
 
File Repository on GAE
File Repository on GAEFile Repository on GAE
File Repository on GAE
 
Hands on App Engine
Hands on App EngineHands on App Engine
Hands on App Engine
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
Google App Engine - Java Style
Google App Engine - Java StyleGoogle App Engine - Java Style
Google App Engine - Java Style
 
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
 
Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? O
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Google App Engine With Java And Groovy
Google App Engine With Java And GroovyGoogle App Engine With Java And Groovy
Google App Engine With Java And Groovy
 
Simple stock market analysis
Simple stock market analysisSimple stock market analysis
Simple stock market analysis
 
App Engine On Air: Munich
App Engine On Air: MunichApp Engine On Air: Munich
App Engine On Air: Munich
 
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
 
Azure Functions.pptx
Azure Functions.pptxAzure Functions.pptx
Azure Functions.pptx
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
 
Google App Engine
Google App EngineGoogle App Engine
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 Introduction
 

Plus de Lars Vogel

Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020Lars Vogel
 
Eclipse platform news and how to contribute to the Eclipse Open Source project
Eclipse platform news and how to contribute to the Eclipse Open Source projectEclipse platform news and how to contribute to the Eclipse Open Source project
Eclipse platform news and how to contribute to the Eclipse Open Source projectLars Vogel
 
Android design and Custom views
Android design and Custom views Android design and Custom views
Android design and Custom views Lars Vogel
 
How to become an Eclipse committer in 20 minutes and fork the IDE
How to become an Eclipse committer in 20 minutes and fork the IDEHow to become an Eclipse committer in 20 minutes and fork the IDE
How to become an Eclipse committer in 20 minutes and fork the IDELars Vogel
 
Building beautiful User Interface in Android
Building beautiful User Interface in AndroidBuilding beautiful User Interface in Android
Building beautiful User Interface in AndroidLars Vogel
 
What is so cool about Android 4.0
What is so cool about Android 4.0What is so cool about Android 4.0
What is so cool about Android 4.0Lars Vogel
 
What is so cool about Android 4.0?
What is so cool about Android 4.0?What is so cool about Android 4.0?
What is so cool about Android 4.0?Lars Vogel
 
Android Jumpstart Jfokus
Android Jumpstart JfokusAndroid Jumpstart Jfokus
Android Jumpstart JfokusLars Vogel
 
Eclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse DayEclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse DayLars Vogel
 
Android C2DM Presentation at O'Reilly AndroidOpen Conference
Android C2DM Presentation at O'Reilly AndroidOpen ConferenceAndroid C2DM Presentation at O'Reilly AndroidOpen Conference
Android C2DM Presentation at O'Reilly AndroidOpen ConferenceLars Vogel
 
Android Overview (Karlsruhe VKSI)
Android Overview (Karlsruhe VKSI)Android Overview (Karlsruhe VKSI)
Android Overview (Karlsruhe VKSI)Lars Vogel
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Lars Vogel
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsLars Vogel
 
Android Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App EngineAndroid Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App EngineLars Vogel
 
Eclipse 4.0 - Dynamic Models
Eclipse 4.0 - Dynamic Models Eclipse 4.0 - Dynamic Models
Eclipse 4.0 - Dynamic Models Lars Vogel
 
Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010Lars Vogel
 
Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Lars Vogel
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easyLars Vogel
 
Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Lars Vogel
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugLars Vogel
 

Plus de Lars Vogel (20)

Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020
 
Eclipse platform news and how to contribute to the Eclipse Open Source project
Eclipse platform news and how to contribute to the Eclipse Open Source projectEclipse platform news and how to contribute to the Eclipse Open Source project
Eclipse platform news and how to contribute to the Eclipse Open Source project
 
Android design and Custom views
Android design and Custom views Android design and Custom views
Android design and Custom views
 
How to become an Eclipse committer in 20 minutes and fork the IDE
How to become an Eclipse committer in 20 minutes and fork the IDEHow to become an Eclipse committer in 20 minutes and fork the IDE
How to become an Eclipse committer in 20 minutes and fork the IDE
 
Building beautiful User Interface in Android
Building beautiful User Interface in AndroidBuilding beautiful User Interface in Android
Building beautiful User Interface in Android
 
What is so cool about Android 4.0
What is so cool about Android 4.0What is so cool about Android 4.0
What is so cool about Android 4.0
 
What is so cool about Android 4.0?
What is so cool about Android 4.0?What is so cool about Android 4.0?
What is so cool about Android 4.0?
 
Android Jumpstart Jfokus
Android Jumpstart JfokusAndroid Jumpstart Jfokus
Android Jumpstart Jfokus
 
Eclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse DayEclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse Day
 
Android C2DM Presentation at O'Reilly AndroidOpen Conference
Android C2DM Presentation at O'Reilly AndroidOpen ConferenceAndroid C2DM Presentation at O'Reilly AndroidOpen Conference
Android C2DM Presentation at O'Reilly AndroidOpen Conference
 
Android Overview (Karlsruhe VKSI)
Android Overview (Karlsruhe VKSI)Android Overview (Karlsruhe VKSI)
Android Overview (Karlsruhe VKSI)
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot Topics
 
Android Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App EngineAndroid Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App Engine
 
Eclipse 4.0 - Dynamic Models
Eclipse 4.0 - Dynamic Models Eclipse 4.0 - Dynamic Models
Eclipse 4.0 - Dynamic Models
 
Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010
 
Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easy
 
Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
 

Dernier

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 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
 
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
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
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
 
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
 
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
 
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
 
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
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
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
 
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
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Dernier (20)

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 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
 
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...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
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
 
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...
 
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
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
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
 
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 ...
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Google App Engine for Java

  • 1.
  • 2.
  • 3. What is cloud computing for me? What is the Google App Engine? Development for GAE with Java Persistence without SQL Tools - A fool with a tool is still a fool App Engine Services Testing on the cloud And of course coding
  • 4. A typical system setup OS +Application Server + DB
  • 5. You need scaling... Application Server Database Application Server Application Server
  • 6. So you are fine, right?...
  • 7. Designed for peek consumption Time Utilization
  • 8. Cloud computing tries to solve this
  • 9. What is a cloud computing not? Putting one or more computer in the internet is not necessary cloud computing That is just a server in the internet
  • 10. What is a cloud computing? Cloud computing is Web-based processing, whereby shared resources, software, and information are provided to computers and other devices (such as smartphones) on demand over the Internet. Blabla, this means nothing...
  • 11. Cloud: ....some kind of abstracting from the hardware and providing resources on demand Time
  • 12. What types of cloud computing do we have? Infrastructure as a Service -> Amazon Platform as a Service -> Google App Engine Software as a service -> Salesforce.com, MyERP
  • 13. Google App Engine Scalable Infrastructure GAE allows you to host webapplications on the Google infrastructure.
  • 14. Difference to Amazons Scalable Infrastructure Amazon provides virtual servers App Engine provides an interface to program against App Engine give no access to the underlying system / hardware
  • 15. Run your app on the Google Infrastructure Scalable Infrastructure
  • 16. Google handles the infrastructure, e.g. hardware failures, security patches, OS upgrades
  • 18. and the usage of App Engine is free…. within limits in any case you only pay for what your use
  • 19. Google App Engine - Limits Scalable Infrastructure 10 Applications per User 5 Million Pageviews are free per month. Approx. 6.5 hours of CPU and 1 Gigabyte of inbound and outbound traffic. 100 hits per secs (non-billing) and 500 for billing enabled applications http://code.google.com/intl/en-EN/appengine/docs/billing.html
  • 20.
  • 21. How does Google run thousands of thousands Java apps at the same time? They don’t… applications which are not actively used will be frozen and saved to big table  Initial startup time
  • 22. App Engine Architecture App Engine FrontEnd App Engine FrontEnd App Engine FrontEnd AppServer AppServer AppServer Load Balancer
  • 23. So it scales but what about Platform as a service?
  • 24. Writing Java Webs application is hard from Guillaume Laforge and Patrick Chanezon http://www.slideshare.net/glaforge/google-app-engine-java-groovy-baby
  • 25.
  • 26. ...developing a Java Web application from scratch is really, really slow due to the initial setup required
  • 27. Google App Engine – Programming Languages Python Java-isch Scala Groovy JRuby JPython … Still some issues with Grails....
  • 28. Servlets and JSPs A servlet is a Java class which answers a HTTP request within a web container. JavaServer Pages (JSP) are files which contains HTML and Java code. The web container compiles the JSP into a servlet at the first time of accessing this JSP
  • 29. Possible Web Frameworks on GAE Basically all Java Web frameworks, e.g. JSP, Servlets based GWT, JSF, Struts, Wicket
  • 30. App Engine can be more then just a web application platform Scalable Infrastructure Doesn‘t have to be a webapplication, can be a backend for Android or iPhones... Can be used to do some serious number crunching
  • 31.
  • 32. Develop according to Java standards from Guillaume Laforge and Patrick Chanezon http://www.slideshare.net/glaforge/google-app-engine-java-groovy-baby
  • 33. Session Support Turned off by default appengine-web.xml <sessions-enabled>true</sessions-enabled> Persistent and distributed
  • 34.
  • 36. DevApp Server Scalable Infrastructure Emulates the Google App Engine, its service and restrictions Based on Jetty
  • 38. Demo – A new project
  • 39. Deployment Scalable Infrastructure Run your application on [email_address] or on your own domain Command line or Eclipse based
  • 40.
  • 42.
  • 43. Example for recent performance work Byte code used to enhanced dynamically, now App Engine does this this statically. JIT and GC improvements Example Work on reflection Data from Google I/O 2010
  • 45.
  • 46. Compartibility is increasing Whitelist is growing. More and more libraries are supported
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56. Other storage possibilities Blobstore Memcache
  • 57.
  • 58.
  • 59. App Engine Services
  • 60.
  • 61.
  • 62.
  • 63.
  • 64. Demos Lets write a chat bot for the App Engine using XMPP - Extensible Messaging and Presence Protocol
  • 65. Demos Lets send out emails...
  • 68. Testing Local Testing - equal functionality as the cloud - not equal in scale - LocalServiceTestHelper(….services to be tested) Cloud Testing - serving HTTP requests - scalable and fast - all limits apply which apply for standard application -
  • 69. Local Testing Similar to standard Java testing - JUnit, TestNG, Selenium Difference: Some classes require a certain App Engine setup, e.g. the datastore AppEngine Testing API
  • 70. API.Proxy Register your own class as proxy for the GAE API calls and interfere them.
  • 72. App Engine Recent Updates Running JVM (3 instances) WarmupRequest via appengine-web.xml The Channel API is now available for all users. Task Queue released, Deadline for Task Queue and Cron requests has been raised to 10 minutes. Added a low-level AsyncDatastoreService for making calls to the datastore   asynchronously. The whitelist has been updated to include all classes from javax.xml.soap. Source: http://groups.google.com/group/google-appengine/browse_thread/thread/0f90ef8dda3b8400
  • 73. Google Cloud for businesses 99.9 % SLA pay 8 Euros per user up to a maximum of 1000 Euro (==125 Users) Hosted SQL SSL (Secure Sockets Layer) for the domain Multi-tendency
  • 74. Leverage the greatest IT infrastructure of the world Fast development of new functions Just to great to ignore Google App Engine
  • 75.
  • 76.
  • 77. Hands-on Tutorial The following tutorials give an intro to GAE/J using servlets and JSP‘s http://www.vogella.de/articles/GoogleAppEngineJava/article.html http://code.google.com/intl/de-DE/appengine/docs/java/gettingstarted/ http://www.vogella.de/articles/GoogleAppEngine/article.html
  • 78.