Modern Cloud Web Architecture based on Google Technologies         Michael Ludwig
Outline1.   Example Scenario2.   Involved Technologies3.   Architecture4.   Advantages of the Technology stack
Outline1.   Example Scenario2.   Involved Technologies3.   Architecture4.   Advantages of the Technology stack
We want to develop an application for …      Movie Collection Management
Should have …         Multiple device support
Should have …           Synchronization       Central Data Management
Should have …           Synchronization       Maybe Push Notifications?
Computer input
Mobile input
Should have …                Scaleabilty
Development base                   Lesari
Goal       Extend with Cloud functionality
Development principle          Avoid boilerplate code
Outline1.   Example Scenario2.   Involved Technologies3.   Architecture4.   Advantages of the Technology stack
Technologies Client Native Android devices (smartphones, tablets)            Dalvik Virtual Machine                      J...
Technologies Client PC-Browser / Mobile Browser (iPhone, Tablet)     Browser-Engine (HTML,CSS,JavaScript)              Goo...
Technologies Server                Google Cloud              Google App Engine           (like) Application Server        ...
Data communication• RequestFactory Framework  – Part of GWT  – In Java libary  – Based on JSON communication  – Suited for...
Push notifications (Android)• C2DM Framework  – Cloud-to-Device Messaging  – Part of Android SDK  – Example project wizard...
Push notifications (Browser)• Channel-API  – COMET-like protocol  – Persistent connection to client  – Could be replaced b...
Authentification• Google account  – Supported by Google App Engine  – Automatically integrated in Android  – Very easy to ...
Data storage• Objectify library  – Wrapper library for Google Datastore  – Datastore is a NoSQL database  – BigTable techn...
Dependency Injection• Google Guice  – Versions for Android runtime, GWT (GIN) and GAE  – Like an extended Factory Pattern ...
Outline1.   Example Scenario2.   Involved Technologies3.   Architecture4.   Advantages of the Technology stack
Google Cloud                                   Google Datastore                                     Objectify      C2DM Se...
Outline1.   Example Scenario2.   Involved Technologies3.   Architecture4.   Advantages of the Technology stack
Advantages             Write all code in Java
Advantages             Shared code
Advantages     Live Debugging Server and Client
Advantages  Easy development for many platforms
Advantages        Entity and proxy validation
Advantages    Test-driven development possible
Advantages        No Impedance Mismatch
To conclude …          Faster development    through saving a lot of boilerplate
References•   Android SDK Page•   GWT Official Page•   Google App Engine Official Page•   C2DM Official Page•   Google Gui...
Questions?• Further Information:  ludwigm@in.tum.de• Presentation link:  http://bit.ly/ML-IS-Sem
Backup
DI demonstration          Real data              Real data                     Test dataRichMovieInfoWidget   TabletMovieI...
Request factory proxies         Interface   Client ServerMovieEntryProxy                      MovieEntry
Request factory services          Interface   Client ServerMovieEntryRequest                     MovieEntryDao
Request factory access
Outlook• GWT advantages  – MVP Framework     • Places concept     • Activities Concept     • Suitability of Guice  – Inter...
Upcoming SlideShare
Loading in...5
×

Modern Web Cloud Architecture based on Google Technologies

1,489

Published on

by Michael Ludwig

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,489
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
37
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Modern Web Cloud Architecture based on Google Technologies

  1. 1. Modern Cloud Web Architecture based on Google Technologies Michael Ludwig
  2. 2. Outline1. Example Scenario2. Involved Technologies3. Architecture4. Advantages of the Technology stack
  3. 3. Outline1. Example Scenario2. Involved Technologies3. Architecture4. Advantages of the Technology stack
  4. 4. We want to develop an application for … Movie Collection Management
  5. 5. Should have … Multiple device support
  6. 6. Should have … Synchronization  Central Data Management
  7. 7. Should have … Synchronization  Maybe Push Notifications?
  8. 8. Computer input
  9. 9. Mobile input
  10. 10. Should have … Scaleabilty
  11. 11. Development base Lesari
  12. 12. Goal Extend with Cloud functionality
  13. 13. Development principle Avoid boilerplate code
  14. 14. Outline1. Example Scenario2. Involved Technologies3. Architecture4. Advantages of the Technology stack
  15. 15. Technologies Client Native Android devices (smartphones, tablets) Dalvik Virtual Machine Java Code
  16. 16. Technologies Client PC-Browser / Mobile Browser (iPhone, Tablet) Browser-Engine (HTML,CSS,JavaScript) Google Web Toolkit Java code
  17. 17. Technologies Server Google Cloud Google App Engine (like) Application Server Java code
  18. 18. Data communication• RequestFactory Framework – Part of GWT – In Java libary – Based on JSON communication – Suited for data-oriented CRUD applications – Automatic entity-proxying between backend and frontend – Lightweigt-network payloads
  19. 19. Push notifications (Android)• C2DM Framework – Cloud-to-Device Messaging – Part of Android SDK – Example project wizard in GWT Eclipse Plugin – Designed for Google App Engine
  20. 20. Push notifications (Browser)• Channel-API – COMET-like protocol – Persistent connection to client – Could be replaced by WebSockets API (HTML5) in the future
  21. 21. Authentification• Google account – Supported by Google App Engine – Automatically integrated in Android – Very easy to implement – No extra user accounts needed – Needed for C2DM
  22. 22. Data storage• Objectify library – Wrapper library for Google Datastore – Datastore is a NoSQL database – BigTable technology (whitepaper!) – Just uses POJO – Very straightforward to use – No problems like with ORM – JDO/JPA not suited for non-relational storage
  23. 23. Dependency Injection• Google Guice – Versions for Android runtime, GWT (GIN) and GAE – Like an extended Factory Pattern – Test-driven development – Automatic dependeny management – Extended boilerplate reduction with RoboGuice (Android) – Server configuration from code (GAE) – Addionally allows Aspect-oriented programming (AOP)
  24. 24. Outline1. Example Scenario2. Involved Technologies3. Architecture4. Advantages of the Technology stack
  25. 25. Google Cloud Google Datastore Objectify C2DM Server Application Server (GAE) Guice Channel API Push notifications RequestFactory Push notifications JSON JSON Android Client Web Client (GWT) RoboGuice Gin
  26. 26. Outline1. Example Scenario2. Involved Technologies3. Architecture4. Advantages of the Technology stack
  27. 27. Advantages Write all code in Java
  28. 28. Advantages Shared code
  29. 29. Advantages Live Debugging Server and Client
  30. 30. Advantages Easy development for many platforms
  31. 31. Advantages Entity and proxy validation
  32. 32. Advantages Test-driven development possible
  33. 33. Advantages No Impedance Mismatch
  34. 34. To conclude … Faster development through saving a lot of boilerplate
  35. 35. References• Android SDK Page• GWT Official Page• Google App Engine Official Page• C2DM Official Page• Google Guice Official Page• Objectify Official Page• Cloud-tasks-IO example project• „Using GWT RequestFactory with Objectify“ – David Chandler• Google I/O 2011: Android + App Engine: A Developers Dream Combination (Blog)
  36. 36. Questions?• Further Information: ludwigm@in.tum.de• Presentation link: http://bit.ly/ML-IS-Sem
  37. 37. Backup
  38. 38. DI demonstration Real data Real data Test dataRichMovieInfoWidget TabletMovieInfoWidget TestMovieInfoWidget Interface IRichMovieInfo
  39. 39. Request factory proxies Interface Client ServerMovieEntryProxy MovieEntry
  40. 40. Request factory services Interface Client ServerMovieEntryRequest MovieEntryDao
  41. 41. Request factory access
  42. 42. Outlook• GWT advantages – MVP Framework • Places concept • Activities Concept • Suitability of Guice – Internationalization-Support – Etc.• Guice advantages – Scope Management – Custom Providers. – Etc.
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×