SlideShare a Scribd company logo
1 of 42
Download to read offline
Modern Cloud Web Architecture
 based on Google Technologies
         Michael Ludwig
Outline
1.   Example Scenario
2.   Involved Technologies
3.   Architecture
4.   Advantages of the Technology stack
Outline
1.   Example Scenario
2.   Involved Technologies
3.   Architecture
4.   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
Outline
1.   Example Scenario
2.   Involved Technologies
3.   Architecture
4.   Advantages of the Technology stack
Technologies Client


 Native Android devices (smartphones, tablets)


            Dalvik Virtual Machine


                      Java Code
Technologies Client

 PC-Browser / Mobile Browser (iPhone, Tablet)


     Browser-Engine (HTML,CSS,JavaScript)


              Google Web Toolkit


                      Java code
Technologies Server

                Google Cloud


              Google App Engine


           (like) Application Server


                  Java code
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
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
Push notifications (Browser)

• Channel-API
  – COMET-like protocol
  – Persistent connection to client
  – Could be replaced by WebSockets API (HTML5) in
    the future
Authentification

• Google account
  – Supported by Google App Engine
  – Automatically integrated in Android
  – Very easy to implement
  – No extra user accounts needed
  – Needed for C2DM
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
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)
Outline
1.   Example Scenario
2.   Involved Technologies
3.   Architecture
4.   Advantages of the Technology stack
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
Outline
1.   Example Scenario
2.   Involved Technologies
3.   Architecture
4.   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 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 Developer's Dream
    Combination (Blog)
Questions?
• Further Information:
  ludwigm@in.tum.de


• Presentation link:
  http://bit.ly/ML-IS-Sem
Backup
DI demonstration

          Real data              Real data                     Test data


RichMovieInfoWidget   TabletMovieInfoWidget          TestMovieInfoWidget




                                             Interface
                          IRichMovieInfo
Request factory proxies
         Interface   Client Server
MovieEntryProxy                      MovieEntry
Request factory services
          Interface   Client Server
MovieEntryRequest                     MovieEntryDao
Request factory access
Outlook
• GWT advantages
  – MVP Framework
     • Places concept
     • Activities Concept
     • Suitability of Guice
  – Internationalization-Support
  – Etc.
• Guice advantages
  – Scope Management
  – Custom Providers.
  – Etc.

More Related Content

What's hot

Webinar: Building HTML5 Mobile Apps with Kinvey and Gizmox
Webinar: Building HTML5 Mobile Apps with Kinvey and GizmoxWebinar: Building HTML5 Mobile Apps with Kinvey and Gizmox
Webinar: Building HTML5 Mobile Apps with Kinvey and GizmoxGizmox
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickuEngine Solutions
 
Connecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
Connecting Spring Apps to Distributed SQL Clusters Running in KubernetesConnecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
Connecting Spring Apps to Distributed SQL Clusters Running in KubernetesVMware Tanzu
 
Google Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEAGoogle Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEAnerazz08
 
Challenges in enterprise mobility development 2
Challenges in enterprise mobility development 2Challenges in enterprise mobility development 2
Challenges in enterprise mobility development 2kidozen
 
PKS Networking with NSX-T: You Focus on your App, We'll Take Care of the Rest!
PKS Networking with NSX-T: You Focus on your App, We'll Take Care of the Rest!PKS Networking with NSX-T: You Focus on your App, We'll Take Care of the Rest!
PKS Networking with NSX-T: You Focus on your App, We'll Take Care of the Rest!VMware Tanzu
 
Powerup & GCP | Workshop on Google Kubernetes Engine
Powerup & GCP | Workshop on Google Kubernetes EnginePowerup & GCP | Workshop on Google Kubernetes Engine
Powerup & GCP | Workshop on Google Kubernetes EnginePowerup
 
Ibm test & development cloud + rational service delivery services platform
Ibm test & development cloud + rational service delivery services platformIbm test & development cloud + rational service delivery services platform
Ibm test & development cloud + rational service delivery services platformBabak Hosseinzadeh
 
Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012
Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012
Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012Andrew Mackenzie
 
Google Dev Fest Presentation
Google Dev Fest PresentationGoogle Dev Fest Presentation
Google Dev Fest PresentationAndrew Mackenzie
 
The Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKSThe Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKSVMware Tanzu
 
An introduction to IBM BlueMix
An introduction to IBM BlueMixAn introduction to IBM BlueMix
An introduction to IBM BlueMixPer Henrik Lausten
 
Kubernetes and Windows: At Scale with Enterprise PKS
Kubernetes and Windows: At Scale with Enterprise PKSKubernetes and Windows: At Scale with Enterprise PKS
Kubernetes and Windows: At Scale with Enterprise PKSVMware Tanzu
 
Bluemix presentation IBM Cloud Briefing in San Jose
Bluemix presentation IBM Cloud Briefing in San JoseBluemix presentation IBM Cloud Briefing in San Jose
Bluemix presentation IBM Cloud Briefing in San JoseSergio Loza
 
Grails & the World of Tomorrow
Grails & the World of TomorrowGrails & the World of Tomorrow
Grails & the World of TomorrowPeter Ledbrook
 
Spring Cloud on Kubernetes
Spring Cloud on KubernetesSpring Cloud on Kubernetes
Spring Cloud on KubernetesVMware Tanzu
 
QlikView licensing and pricing guidelines 2012
QlikView licensing and pricing guidelines 2012QlikView licensing and pricing guidelines 2012
QlikView licensing and pricing guidelines 2012Alexandre Perrot
 

What's hot (19)

Webinar: Building HTML5 Mobile Apps with Kinvey and Gizmox
Webinar: Building HTML5 Mobile Apps with Kinvey and GizmoxWebinar: Building HTML5 Mobile Apps with Kinvey and Gizmox
Webinar: Building HTML5 Mobile Apps with Kinvey and Gizmox
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quick
 
Connecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
Connecting Spring Apps to Distributed SQL Clusters Running in KubernetesConnecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
Connecting Spring Apps to Distributed SQL Clusters Running in Kubernetes
 
Resume_RECENT
Resume_RECENTResume_RECENT
Resume_RECENT
 
Google Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEAGoogle Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEA
 
Challenges in enterprise mobility development 2
Challenges in enterprise mobility development 2Challenges in enterprise mobility development 2
Challenges in enterprise mobility development 2
 
PKS Networking with NSX-T: You Focus on your App, We'll Take Care of the Rest!
PKS Networking with NSX-T: You Focus on your App, We'll Take Care of the Rest!PKS Networking with NSX-T: You Focus on your App, We'll Take Care of the Rest!
PKS Networking with NSX-T: You Focus on your App, We'll Take Care of the Rest!
 
Powerup & GCP | Workshop on Google Kubernetes Engine
Powerup & GCP | Workshop on Google Kubernetes EnginePowerup & GCP | Workshop on Google Kubernetes Engine
Powerup & GCP | Workshop on Google Kubernetes Engine
 
Ibm test & development cloud + rational service delivery services platform
Ibm test & development cloud + rational service delivery services platformIbm test & development cloud + rational service delivery services platform
Ibm test & development cloud + rational service delivery services platform
 
Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012
Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012
Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012
 
Google Dev Fest Presentation
Google Dev Fest PresentationGoogle Dev Fest Presentation
Google Dev Fest Presentation
 
Google DevFest 2012 Presentation
Google DevFest 2012 PresentationGoogle DevFest 2012 Presentation
Google DevFest 2012 Presentation
 
The Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKSThe Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKS
 
An introduction to IBM BlueMix
An introduction to IBM BlueMixAn introduction to IBM BlueMix
An introduction to IBM BlueMix
 
Kubernetes and Windows: At Scale with Enterprise PKS
Kubernetes and Windows: At Scale with Enterprise PKSKubernetes and Windows: At Scale with Enterprise PKS
Kubernetes and Windows: At Scale with Enterprise PKS
 
Bluemix presentation IBM Cloud Briefing in San Jose
Bluemix presentation IBM Cloud Briefing in San JoseBluemix presentation IBM Cloud Briefing in San Jose
Bluemix presentation IBM Cloud Briefing in San Jose
 
Grails & the World of Tomorrow
Grails & the World of TomorrowGrails & the World of Tomorrow
Grails & the World of Tomorrow
 
Spring Cloud on Kubernetes
Spring Cloud on KubernetesSpring Cloud on Kubernetes
Spring Cloud on Kubernetes
 
QlikView licensing and pricing guidelines 2012
QlikView licensing and pricing guidelines 2012QlikView licensing and pricing guidelines 2012
QlikView licensing and pricing guidelines 2012
 

Viewers also liked

UC For Business - Executive Desktop
UC For Business - Executive DesktopUC For Business - Executive Desktop
UC For Business - Executive DesktopNECIndia
 
Overview of IBM Capabilities
Overview of IBM CapabilitiesOverview of IBM Capabilities
Overview of IBM CapabilitiesIBMGovernmentCA
 
Customer Profiling&Targeted Advertisement
Customer Profiling&Targeted AdvertisementCustomer Profiling&Targeted Advertisement
Customer Profiling&Targeted Advertisement2tique
 
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...Citrix
 
Cloud service architecture
Cloud service architectureCloud service architecture
Cloud service architectureJazziator
 
Functional Capability and Resource Analysis Presentation
Functional Capability and Resource Analysis PresentationFunctional Capability and Resource Analysis Presentation
Functional Capability and Resource Analysis PresentationBrandon Thomson
 
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...Kunal Ashar
 
JUST EAT: Embracing DevOps
JUST EAT: Embracing DevOpsJUST EAT: Embracing DevOps
JUST EAT: Embracing DevOpsPeter Mounce
 
Cloud infrastructure and Cloud Services
Cloud infrastructure and Cloud ServicesCloud infrastructure and Cloud Services
Cloud infrastructure and Cloud ServicesIntel Corporation
 
Everything about Cloud Computing
Everything about Cloud ComputingEverything about Cloud Computing
Everything about Cloud ComputingIDS Infotech
 
OPEN_GROUP_HYBRID_CLOUD_CASE_MGMT2 - Final
OPEN_GROUP_HYBRID_CLOUD_CASE_MGMT2 - FinalOPEN_GROUP_HYBRID_CLOUD_CASE_MGMT2 - Final
OPEN_GROUP_HYBRID_CLOUD_CASE_MGMT2 - Finalmdesai005
 
Distributed Design and Architecture of Cloud Foundry
Distributed Design and Architecture of Cloud FoundryDistributed Design and Architecture of Cloud Foundry
Distributed Design and Architecture of Cloud FoundryDerek Collison
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSLeonardo Zanivan
 
Cloud Service Architecture - Overcoming HIPAA Challenges - Click Software
Cloud Service Architecture  - Overcoming HIPAA Challenges - Click SoftwareCloud Service Architecture  - Overcoming HIPAA Challenges - Click Software
Cloud Service Architecture - Overcoming HIPAA Challenges - Click SoftwareIsrael AWS User Group
 
AWS Summit London 2014 - JUST EAT - High Availability and Rapid Change
AWS Summit London 2014 - JUST EAT - High Availability and Rapid ChangeAWS Summit London 2014 - JUST EAT - High Availability and Rapid Change
AWS Summit London 2014 - JUST EAT - High Availability and Rapid Changedaniel-richardson
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep diveAnimesh Singh
 
Cloud Computing Model with Service Oriented Architecture
Cloud Computing Model with Service Oriented ArchitectureCloud Computing Model with Service Oriented Architecture
Cloud Computing Model with Service Oriented ArchitectureYan Zhao
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)VMware Tanzu
 

Viewers also liked (20)

UC For Business - Executive Desktop
UC For Business - Executive DesktopUC For Business - Executive Desktop
UC For Business - Executive Desktop
 
Overview of IBM Capabilities
Overview of IBM CapabilitiesOverview of IBM Capabilities
Overview of IBM Capabilities
 
Customer Profiling&Targeted Advertisement
Customer Profiling&Targeted AdvertisementCustomer Profiling&Targeted Advertisement
Customer Profiling&Targeted Advertisement
 
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
 
Cloud service architecture
Cloud service architectureCloud service architecture
Cloud service architecture
 
IBM Watson-How it works
IBM Watson-How it worksIBM Watson-How it works
IBM Watson-How it works
 
Functional Capability and Resource Analysis Presentation
Functional Capability and Resource Analysis PresentationFunctional Capability and Resource Analysis Presentation
Functional Capability and Resource Analysis Presentation
 
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
 
JUST EAT: Embracing DevOps
JUST EAT: Embracing DevOpsJUST EAT: Embracing DevOps
JUST EAT: Embracing DevOps
 
Cloud infrastructure and Cloud Services
Cloud infrastructure and Cloud ServicesCloud infrastructure and Cloud Services
Cloud infrastructure and Cloud Services
 
Everything about Cloud Computing
Everything about Cloud ComputingEverything about Cloud Computing
Everything about Cloud Computing
 
OPEN_GROUP_HYBRID_CLOUD_CASE_MGMT2 - Final
OPEN_GROUP_HYBRID_CLOUD_CASE_MGMT2 - FinalOPEN_GROUP_HYBRID_CLOUD_CASE_MGMT2 - Final
OPEN_GROUP_HYBRID_CLOUD_CASE_MGMT2 - Final
 
Distributed Design and Architecture of Cloud Foundry
Distributed Design and Architecture of Cloud FoundryDistributed Design and Architecture of Cloud Foundry
Distributed Design and Architecture of Cloud Foundry
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJS
 
Cloud Service Architecture - Overcoming HIPAA Challenges - Click Software
Cloud Service Architecture  - Overcoming HIPAA Challenges - Click SoftwareCloud Service Architecture  - Overcoming HIPAA Challenges - Click Software
Cloud Service Architecture - Overcoming HIPAA Challenges - Click Software
 
AWS Summit London 2014 - JUST EAT - High Availability and Rapid Change
AWS Summit London 2014 - JUST EAT - High Availability and Rapid ChangeAWS Summit London 2014 - JUST EAT - High Availability and Rapid Change
AWS Summit London 2014 - JUST EAT - High Availability and Rapid Change
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep dive
 
Overview of AWS Services for your Enterprise
Overview of AWS Services for your Enterprise Overview of AWS Services for your Enterprise
Overview of AWS Services for your Enterprise
 
Cloud Computing Model with Service Oriented Architecture
Cloud Computing Model with Service Oriented ArchitectureCloud Computing Model with Service Oriented Architecture
Cloud Computing Model with Service Oriented Architecture
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
 

Similar to Modern Web Cloud Architecture based on Google Technologies

GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformDidier Girard
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessChris Schalk
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudGoogleTecTalks
 
MyEclipse G IDE, Google Cloud
MyEclipse G IDE, Google CloudMyEclipse G IDE, Google Cloud
MyEclipse G IDE, Google CloudGenuitec, LLC
 
Mandy Waite, Warszawa marzec 2013
Mandy Waite, Warszawa marzec 2013Mandy Waite, Warszawa marzec 2013
Mandy Waite, Warszawa marzec 2013GeekGirlsCarrots
 
Keepler | What's next on Google Cloud?
Keepler | What's next on Google Cloud? Keepler | What's next on Google Cloud?
Keepler | What's next on Google Cloud? Keepler Data Tech
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesChris Schalk
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalkChris Schalk
 
A fresh look at Google’s Cloud by Mandy Waite
A fresh look at Google’s Cloud by Mandy Waite A fresh look at Google’s Cloud by Mandy Waite
A fresh look at Google’s Cloud by Mandy Waite Codemotion
 
Day1 before getting_started
Day1 before getting_startedDay1 before getting_started
Day1 before getting_startedAhsanul Karim
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For ArchitectsAnko Duizer
 
An Introduction to Eclipse Kura - Eclipse Day Florence 2014
An Introduction to Eclipse Kura - Eclipse Day Florence 2014An Introduction to Eclipse Kura - Eclipse Day Florence 2014
An Introduction to Eclipse Kura - Eclipse Day Florence 2014Eurotech
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...e-Legion
 
Build Smart Service on GCP - Google DevFest 2018 Taiwan
Build Smart Service on GCP - Google DevFest 2018 TaiwanBuild Smart Service on GCP - Google DevFest 2018 Taiwan
Build Smart Service on GCP - Google DevFest 2018 TaiwanDavid Chen
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technologyEldos Kuriakose
 
N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gaeSun-Jin Jang
 
GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day DNG Consulting
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesChris Schalk
 

Similar to Modern Web Cloud Architecture based on Google Technologies (20)

GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platform
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for Business
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The Cloud
 
MyEclipse G IDE, Google Cloud
MyEclipse G IDE, Google CloudMyEclipse G IDE, Google Cloud
MyEclipse G IDE, Google Cloud
 
Mandy Waite, Warszawa marzec 2013
Mandy Waite, Warszawa marzec 2013Mandy Waite, Warszawa marzec 2013
Mandy Waite, Warszawa marzec 2013
 
Keepler | What's next on Google Cloud?
Keepler | What's next on Google Cloud? Keepler | What's next on Google Cloud?
Keepler | What's next on Google Cloud?
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
 
Cloud platform overview for camping
Cloud platform overview for campingCloud platform overview for camping
Cloud platform overview for camping
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
 
A fresh look at Google’s Cloud by Mandy Waite
A fresh look at Google’s Cloud by Mandy Waite A fresh look at Google’s Cloud by Mandy Waite
A fresh look at Google’s Cloud by Mandy Waite
 
Day1 before getting_started
Day1 before getting_startedDay1 before getting_started
Day1 before getting_started
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For Architects
 
An Introduction to Eclipse Kura - Eclipse Day Florence 2014
An Introduction to Eclipse Kura - Eclipse Day Florence 2014An Introduction to Eclipse Kura - Eclipse Day Florence 2014
An Introduction to Eclipse Kura - Eclipse Day Florence 2014
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
 
Build Smart Service on GCP - Google DevFest 2018 Taiwan
Build Smart Service on GCP - Google DevFest 2018 TaiwanBuild Smart Service on GCP - Google DevFest 2018 Taiwan
Build Smart Service on GCP - Google DevFest 2018 Taiwan
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technology
 
gopaddle-meetup
gopaddle-meetupgopaddle-meetup
gopaddle-meetup
 
N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gae
 
GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform Technologies
 

Recently uploaded

Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoUXDXConf
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreelreely ones
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 

Recently uploaded (20)

Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 

Modern Web Cloud Architecture based on Google Technologies

  • 1. Modern Cloud Web Architecture based on Google Technologies Michael Ludwig
  • 2. Outline 1. Example Scenario 2. Involved Technologies 3. Architecture 4. Advantages of the Technology stack
  • 3. Outline 1. Example Scenario 2. Involved Technologies 3. Architecture 4. Advantages of the Technology stack
  • 4. We want to develop an application for … Movie Collection Management
  • 5. Should have … Multiple device support
  • 6. Should have … Synchronization  Central Data Management
  • 7. Should have … Synchronization  Maybe Push Notifications?
  • 10. Should have … Scaleabilty
  • 12. Goal Extend with Cloud functionality
  • 13. Development principle Avoid boilerplate code
  • 14. Outline 1. Example Scenario 2. Involved Technologies 3. Architecture 4. Advantages of the Technology stack
  • 15. Technologies Client Native Android devices (smartphones, tablets) Dalvik Virtual Machine Java Code
  • 16. Technologies Client PC-Browser / Mobile Browser (iPhone, Tablet) Browser-Engine (HTML,CSS,JavaScript) Google Web Toolkit Java code
  • 17. Technologies Server Google Cloud Google App Engine (like) Application Server Java code
  • 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. 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. Push notifications (Browser) • Channel-API – COMET-like protocol – Persistent connection to client – Could be replaced by WebSockets API (HTML5) in the future
  • 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. 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. 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. Outline 1. Example Scenario 2. Involved Technologies 3. Architecture 4. Advantages of the Technology stack
  • 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. Outline 1. Example Scenario 2. Involved Technologies 3. Architecture 4. Advantages of the Technology stack
  • 27. Advantages Write all code in Java
  • 28. Advantages Shared code
  • 29. Advantages Live Debugging Server and Client
  • 30. Advantages Easy development for many platforms
  • 31. Advantages Entity and proxy validation
  • 32. Advantages Test-driven development possible
  • 33. Advantages No Impedance Mismatch
  • 34. To conclude … Faster development through saving a lot of boilerplate
  • 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 Developer's Dream Combination (Blog)
  • 36. Questions? • Further Information: ludwigm@in.tum.de • Presentation link: http://bit.ly/ML-IS-Sem
  • 38. DI demonstration Real data Real data Test data RichMovieInfoWidget TabletMovieInfoWidget TestMovieInfoWidget Interface IRichMovieInfo
  • 39. Request factory proxies Interface Client Server MovieEntryProxy MovieEntry
  • 40. Request factory services Interface Client Server MovieEntryRequest MovieEntryDao
  • 42. Outlook • GWT advantages – MVP Framework • Places concept • Activities Concept • Suitability of Guice – Internationalization-Support – Etc. • Guice advantages – Scope Management – Custom Providers. – Etc.