Google App Engine
Versprechen der App Engine
1.Anwendung reagiert transparent auf
  wechselnde Lastsituationen
2.Planbare und transparente Kosten
3.Einfache Programmierung




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   2
Struktur
* Platform as a Service
* Konzepte der App Engine
* Anwendungsentwicklung




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   3
Platform as a Service
Hosting von Webanwendungen




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   5
Ressourcen und Verbrauch
* App Engine stellt der Anwendung
  ausreichend Ressourcen zur
  Verfügung
* Überwachung der konsumierten
  Ressourcen
* Obergrenzen werden festgelegt



HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   6
Platform as a Service
1.Anbieter stellt Plattform mit
  zugesicherten Eigenschaften bereit
2.Entwickler muss sich keine
  Gedanken um Infrastruktur machen
3.Ressourcenverbrauch wird
  überwacht und abgerechnet



HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   7
Konzepte der App Engine
Anwendungen in der Sandbox
* Restriktionen stellen Fairness sicher
  und ermöglichen das Skalieren




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   9
Speicherung von Daten
* Schemaloser Datastore
* Anwendung muss sich um die
  Struktur der Daten und die
  Absicherung der Zugriffe auf die
  Datenbasis kümmern




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   10
SDKs und APIs
* Tools zum lokalen Test und für den
  Upload der Anwendung
* Funktionalität kann durch fertige
  Komponenten leicht in die
  Anwendung integriert werden




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   11
Die Konzepte der App Engine
1.Anwendungen werden in Sandbox
  ausgeführt
2.Anwendungen werden in Java oder
  Python geschrieben
3.Datenspeicherung ist schemalos




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   12
Anwendungsentwicklung
Entwicklungswerkzeuge
* Plugin für Eclipse
* Servlets und JavaServer Pages
* Zugriff auf den Datastore direkt per
  JDO oder JPA




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   14
Zugriff auf den Datastore mit JDO
* Beispiel für Speicherung
          Data someData = new Data();
          PersistenceManager pm =
            PMF.get().getPersistenceManager();
          //...
          pm.makePersistent(someData);




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   15
Deployment der Anwendung
* Registrierung der Anwendung
* Jeder übertragene Version der
  Anwendung bleibt gespeichert




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   16
Anwendungsentwicklung
1.Gewohnte Entwicklungswerkzeuge
  weiter nutzbar
2.Einfacher Zugriff auf den Datastore
3.Übertragene Anwendung wird im
  Adminbereich verwaltet




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   17
Fazit
Versprechen der App Engine
1.Anwendung reagiert transparent auf
  wechselnde Lastsituationen 
2.Planbare und transparente Kosten
3.Einfache Programmierung 


Aber...

HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   19
Aber...
1.Neue Herangehensweise muss
  erlernt werden
2.Bindung an einen Anbieter
3.App Engine ist beta




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   20
Q&A
Links
* Projektwebseite
     http://code.google.com/appengine
* CloudyNotes
     http://cloudynotesdepl.appspot.com




HS Karlsruhe | Stefan Sperber | 21. Dezember 2010   22

An introduction to Google's App Engine

  • 1.
  • 2.
    Versprechen der AppEngine 1.Anwendung reagiert transparent auf wechselnde Lastsituationen 2.Planbare und transparente Kosten 3.Einfache Programmierung HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 2
  • 3.
    Struktur * Platform asa Service * Konzepte der App Engine * Anwendungsentwicklung HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 3
  • 4.
  • 5.
    Hosting von Webanwendungen HSKarlsruhe | Stefan Sperber | 21. Dezember 2010 5
  • 6.
    Ressourcen und Verbrauch *App Engine stellt der Anwendung ausreichend Ressourcen zur Verfügung * Überwachung der konsumierten Ressourcen * Obergrenzen werden festgelegt HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 6
  • 7.
    Platform as aService 1.Anbieter stellt Plattform mit zugesicherten Eigenschaften bereit 2.Entwickler muss sich keine Gedanken um Infrastruktur machen 3.Ressourcenverbrauch wird überwacht und abgerechnet HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 7
  • 8.
  • 9.
    Anwendungen in derSandbox * Restriktionen stellen Fairness sicher und ermöglichen das Skalieren HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 9
  • 10.
    Speicherung von Daten *Schemaloser Datastore * Anwendung muss sich um die Struktur der Daten und die Absicherung der Zugriffe auf die Datenbasis kümmern HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 10
  • 11.
    SDKs und APIs *Tools zum lokalen Test und für den Upload der Anwendung * Funktionalität kann durch fertige Komponenten leicht in die Anwendung integriert werden HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 11
  • 12.
    Die Konzepte derApp Engine 1.Anwendungen werden in Sandbox ausgeführt 2.Anwendungen werden in Java oder Python geschrieben 3.Datenspeicherung ist schemalos HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 12
  • 13.
  • 14.
    Entwicklungswerkzeuge * Plugin fürEclipse * Servlets und JavaServer Pages * Zugriff auf den Datastore direkt per JDO oder JPA HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 14
  • 15.
    Zugriff auf denDatastore mit JDO * Beispiel für Speicherung Data someData = new Data(); PersistenceManager pm = PMF.get().getPersistenceManager(); //... pm.makePersistent(someData); HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 15
  • 16.
    Deployment der Anwendung *Registrierung der Anwendung * Jeder übertragene Version der Anwendung bleibt gespeichert HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 16
  • 17.
    Anwendungsentwicklung 1.Gewohnte Entwicklungswerkzeuge weiter nutzbar 2.Einfacher Zugriff auf den Datastore 3.Übertragene Anwendung wird im Adminbereich verwaltet HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 17
  • 18.
  • 19.
    Versprechen der AppEngine 1.Anwendung reagiert transparent auf wechselnde Lastsituationen  2.Planbare und transparente Kosten 3.Einfache Programmierung  Aber... HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 19
  • 20.
    Aber... 1.Neue Herangehensweise muss erlernt werden 2.Bindung an einen Anbieter 3.App Engine ist beta HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 20
  • 21.
  • 22.
    Links * Projektwebseite http://code.google.com/appengine * CloudyNotes http://cloudynotesdepl.appspot.com HS Karlsruhe | Stefan Sperber | 21. Dezember 2010 22