SlideShare uma empresa Scribd logo
1 de 16
Building Fat browser-agnosticGWT Clientsfor Cloud Distributedsystems (Java+.NET) Igor Moochnick IgorShare Consulting igor@igorshare.com Blog:  www.igorshare.com/blog
You are at the right place and time!
Create new GWT project
Compose UI from available components final Button sendButton = new Button("Send");  // Add a handler to send the search criteria to the server    sendButton.addClickHandler(new ClickHandler() {        /**        * Fired when the user clicks on the sendButton.        */       public void onClick(ClickEvent event) {            sendNameToServer();        }    Create client logic and UI
3 main parts Contract interface Client-side asynchronous proxy Server-side implementation Create remote service
Deploy to Google AppEngine http://igorsharecontactmgrdemo.appspot.com
REST via WCF
Deploy to the Staging Environment
Promote to the Production
GWT Client:  from GWT-RPC to REST
Compile Merge Deploy Merge GWT client and Azure Service
Jersey Restlet RESTEasy Apache CXF Spring v3  (somewhat) REST via JAX-RS  (Java)
Rightscale can help you manage AWS
Q&A
Thank you!
Building Fat browser-agnosticGWT Clientsfor Cloud Distributedsystems (Java+.NET) Igor Moochnick IgorShare Consulting igor@igorshare.com Blog:  www.igorshare.com/blog

Mais conteúdo relacionado

Mais procurados

GWT Quick Start
GWT Quick StartGWT Quick Start
GWT Quick Start
Guo Albert
 
GCM Android
GCM AndroidGCM Android
GCM Android
aswapnal
 

Mais procurados (20)

EPAM AQA: Let`s make a (s)hot with gatling 3.0+
EPAM AQA: Let`s  make a (s)hot with gatling 3.0+EPAM AQA: Let`s  make a (s)hot with gatling 3.0+
EPAM AQA: Let`s make a (s)hot with gatling 3.0+
 
React Meetup 2
React Meetup 2React Meetup 2
React Meetup 2
 
Google Cloud Messaging
Google Cloud Messaging Google Cloud Messaging
Google Cloud Messaging
 
Meteor.js
Meteor.jsMeteor.js
Meteor.js
 
Firebase Code Lab - 2015 GDG Buffalo DevFest
Firebase Code Lab - 2015 GDG Buffalo DevFestFirebase Code Lab - 2015 GDG Buffalo DevFest
Firebase Code Lab - 2015 GDG Buffalo DevFest
 
Serverless
ServerlessServerless
Serverless
 
高速な案件サイクルを支えるデータ基盤 その実践例
高速な案件サイクルを支えるデータ基盤 その実践例高速な案件サイクルを支えるデータ基盤 その実践例
高速な案件サイクルを支えるデータ基盤 その実践例
 
GWT Quick Start
GWT Quick StartGWT Quick Start
GWT Quick Start
 
Getting started with k8
Getting started with k8Getting started with k8
Getting started with k8
 
Efficient alternative for expensive microsoft project server
Efficient alternative for expensive microsoft project serverEfficient alternative for expensive microsoft project server
Efficient alternative for expensive microsoft project server
 
Google cloud functions
Google cloud functionsGoogle cloud functions
Google cloud functions
 
Serverless Cron Jobs with Ruby on Jets
Serverless Cron Jobs with Ruby on JetsServerless Cron Jobs with Ruby on Jets
Serverless Cron Jobs with Ruby on Jets
 
Om & React
Om & ReactOm & React
Om & React
 
Angular Web Components
Angular Web ComponentsAngular Web Components
Angular Web Components
 
GitHub Integration for Orangescrum Cloud Released!
GitHub Integration for Orangescrum Cloud Released!GitHub Integration for Orangescrum Cloud Released!
GitHub Integration for Orangescrum Cloud Released!
 
Angular Web Components
Angular Web ComponentsAngular Web Components
Angular Web Components
 
GCM Android
GCM AndroidGCM Android
GCM Android
 
Implementing GraphQL - Without a Backend
Implementing GraphQL - Without a BackendImplementing GraphQL - Without a Backend
Implementing GraphQL - Without a Backend
 
CraftCamp for Students - Introduction to Meteor.js
CraftCamp for Students - Introduction to Meteor.jsCraftCamp for Students - Introduction to Meteor.js
CraftCamp for Students - Introduction to Meteor.js
 
Firebase
FirebaseFirebase
Firebase
 

Destaque

Proyecto que es la ciencia
Proyecto que es la cienciaProyecto que es la ciencia
Proyecto que es la ciencia
Brigith Flores
 
Los procesos de gestión aplicados en eps
Los procesos de gestión aplicados en epsLos procesos de gestión aplicados en eps
Los procesos de gestión aplicados en eps
LESGabriela
 
Tarea 1, periodo 2 estrategias
Tarea 1, periodo 2 estrategiasTarea 1, periodo 2 estrategias
Tarea 1, periodo 2 estrategias
krlos72
 
Desarrollo humano integral
Desarrollo humano integralDesarrollo humano integral
Desarrollo humano integral
ETICA2013
 

Destaque (19)

Proyecto que es la ciencia
Proyecto que es la cienciaProyecto que es la ciencia
Proyecto que es la ciencia
 
Presentación transparencia municipal a Lagun Artean, Solola abril 2010
Presentación transparencia municipal a Lagun Artean, Solola abril 2010Presentación transparencia municipal a Lagun Artean, Solola abril 2010
Presentación transparencia municipal a Lagun Artean, Solola abril 2010
 
Access
AccessAccess
Access
 
Trig classroom readiniess 2014 - 15 Tim Hall
Trig classroom readiniess 2014 - 15 Tim Hall  Trig classroom readiniess 2014 - 15 Tim Hall
Trig classroom readiniess 2014 - 15 Tim Hall
 
Cuerpo sano mente sana
Cuerpo sano mente sanaCuerpo sano mente sana
Cuerpo sano mente sana
 
Diario 9.php
Diario 9.phpDiario 9.php
Diario 9.php
 
Los procesos de gestión aplicados en eps
Los procesos de gestión aplicados en epsLos procesos de gestión aplicados en eps
Los procesos de gestión aplicados en eps
 
Entrevista a Andrés Pérez Ortega (marcapropia.net)
Entrevista a Andrés Pérez Ortega (marcapropia.net)Entrevista a Andrés Pérez Ortega (marcapropia.net)
Entrevista a Andrés Pérez Ortega (marcapropia.net)
 
Como ensamblar una pc
Como ensamblar una pcComo ensamblar una pc
Como ensamblar una pc
 
iPhone Uygulamasi Pazalamasi 2
iPhone Uygulamasi Pazalamasi 2iPhone Uygulamasi Pazalamasi 2
iPhone Uygulamasi Pazalamasi 2
 
Tarea 1, periodo 2 estrategias
Tarea 1, periodo 2 estrategiasTarea 1, periodo 2 estrategias
Tarea 1, periodo 2 estrategias
 
Revista Num04
Revista Num04Revista Num04
Revista Num04
 
Mobile conversion optimization with Chris Goward of WiderFunnel
Mobile conversion optimization with Chris Goward of WiderFunnelMobile conversion optimization with Chris Goward of WiderFunnel
Mobile conversion optimization with Chris Goward of WiderFunnel
 
taller de Informática Aplicada
taller de Informática Aplicadataller de Informática Aplicada
taller de Informática Aplicada
 
Clasificaciones tipográficas
Clasificaciones tipográficasClasificaciones tipográficas
Clasificaciones tipográficas
 
The Paradox of Performance
The Paradox of PerformanceThe Paradox of Performance
The Paradox of Performance
 
Cine y embarazo (i)
Cine y embarazo (i)Cine y embarazo (i)
Cine y embarazo (i)
 
Desarrollo humano integral
Desarrollo humano integralDesarrollo humano integral
Desarrollo humano integral
 
L'économie de la télévision de rattrapage en 2015
L'économie de la télévision de rattrapage en 2015L'économie de la télévision de rattrapage en 2015
L'économie de la télévision de rattrapage en 2015
 

Semelhante a Building Gwt Clients For Cloud Apps.Pptx

Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)
Deepak Gupta
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobile
Flavius-Radu Demian
 
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
DataLeader.io
 

Semelhante a Building Gwt Clients For Cloud Apps.Pptx (20)

Google Web Toolkits
Google Web ToolkitsGoogle Web Toolkits
Google Web Toolkits
 
Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)Real time Communication with Signalr (Android Client)
Real time Communication with Signalr (Android Client)
 
Google Web Toolkits
Google Web ToolkitsGoogle Web Toolkits
Google Web Toolkits
 
Fancy Features in Asp.Net Core SignalR
Fancy Features in Asp.Net Core SignalRFancy Features in Asp.Net Core SignalR
Fancy Features in Asp.Net Core SignalR
 
Gwt session
Gwt sessionGwt session
Gwt session
 
Gwt session
Gwt sessionGwt session
Gwt session
 
SignalR tutorial & best practices
SignalR tutorial & best practicesSignalR tutorial & best practices
SignalR tutorial & best practices
 
Google Wave API: Now and Beyond
Google Wave API: Now and BeyondGoogle Wave API: Now and Beyond
Google Wave API: Now and Beyond
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobile
 
Cruise control
Cruise controlCruise control
Cruise control
 
Building IoT Solutions using Windows IoT Core
Building IoT Solutions using Windows IoT CoreBuilding IoT Solutions using Windows IoT Core
Building IoT Solutions using Windows IoT Core
 
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
 
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
 
.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
GWT training session 3
GWT training session 3GWT training session 3
GWT training session 3
 
CloudHub Connector With Mulesoft
CloudHub Connector With MulesoftCloudHub Connector With Mulesoft
CloudHub Connector With Mulesoft
 
Highload JavaScript Framework without Inheritance
Highload JavaScript Framework without InheritanceHighload JavaScript Framework without Inheritance
Highload JavaScript Framework without Inheritance
 
Next Generation Hybrid Applications with Qt - presentation for SEE 2009
Next Generation Hybrid Applications with Qt - presentation for SEE 2009Next Generation Hybrid Applications with Qt - presentation for SEE 2009
Next Generation Hybrid Applications with Qt - presentation for SEE 2009
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in Bluemix
 

Mais de Igor Moochnick

Tips for building responsive cloud applications
Tips for building responsive cloud applicationsTips for building responsive cloud applications
Tips for building responsive cloud applications
Igor Moochnick
 
Building complex single page application should be as enjoyable as visit to a...
Building complex single page application should be as enjoyable as visit to a...Building complex single page application should be as enjoyable as visit to a...
Building complex single page application should be as enjoyable as visit to a...
Igor Moochnick
 
Amazon 101 - building composite responsive apps - small
Amazon 101 - building composite responsive apps - smallAmazon 101 - building composite responsive apps - small
Amazon 101 - building composite responsive apps - small
Igor Moochnick
 
Ccr - Concurrency and Coordination Runtime
Ccr - Concurrency and Coordination RuntimeCcr - Concurrency and Coordination Runtime
Ccr - Concurrency and Coordination Runtime
Igor Moochnick
 
NO SQL: What, Why, How
NO SQL: What, Why, HowNO SQL: What, Why, How
NO SQL: What, Why, How
Igor Moochnick
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best Practices
Igor Moochnick
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
Igor Moochnick
 
Caliburn.micro jump start composite applications for WPF, Silverlight and WP7
Caliburn.micro jump start composite applications for WPF, Silverlight and WP7Caliburn.micro jump start composite applications for WPF, Silverlight and WP7
Caliburn.micro jump start composite applications for WPF, Silverlight and WP7
Igor Moochnick
 
Building lean products with distributed agile teams
Building lean products with distributed agile teamsBuilding lean products with distributed agile teams
Building lean products with distributed agile teams
Igor Moochnick
 

Mais de Igor Moochnick (20)

Continuous delivery workflow with Docker
Continuous delivery workflow with DockerContinuous delivery workflow with Docker
Continuous delivery workflow with Docker
 
Being a generalist and being great at what you do
Being a generalist and being great at what you doBeing a generalist and being great at what you do
Being a generalist and being great at what you do
 
The journey to container adoption in enterprise
The journey to container adoption in enterpriseThe journey to container adoption in enterprise
The journey to container adoption in enterprise
 
Dev ops overview (brief)
Dev ops overview (brief)Dev ops overview (brief)
Dev ops overview (brief)
 
Dev ops cd tool chains
Dev ops cd tool chainsDev ops cd tool chains
Dev ops cd tool chains
 
Orchestration musings
Orchestration musingsOrchestration musings
Orchestration musings
 
Delivery pipelines
Delivery pipelinesDelivery pipelines
Delivery pipelines
 
Tips for building responsive cloud applications
Tips for building responsive cloud applicationsTips for building responsive cloud applications
Tips for building responsive cloud applications
 
Building complex single page application should be as enjoyable as visit to a...
Building complex single page application should be as enjoyable as visit to a...Building complex single page application should be as enjoyable as visit to a...
Building complex single page application should be as enjoyable as visit to a...
 
Amazon 101 - building composite responsive apps - small
Amazon 101 - building composite responsive apps - smallAmazon 101 - building composite responsive apps - small
Amazon 101 - building composite responsive apps - small
 
Ccr - Concurrency and Coordination Runtime
Ccr - Concurrency and Coordination RuntimeCcr - Concurrency and Coordination Runtime
Ccr - Concurrency and Coordination Runtime
 
RavenDB overview
RavenDB overviewRavenDB overview
RavenDB overview
 
NO SQL: What, Why, How
NO SQL: What, Why, HowNO SQL: What, Why, How
NO SQL: What, Why, How
 
Azure ServiceBus Queues and Topics
Azure ServiceBus Queues and TopicsAzure ServiceBus Queues and Topics
Azure ServiceBus Queues and Topics
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best Practices
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
Caliburn.micro jump start composite applications for WPF, Silverlight and WP7
Caliburn.micro jump start composite applications for WPF, Silverlight and WP7Caliburn.micro jump start composite applications for WPF, Silverlight and WP7
Caliburn.micro jump start composite applications for WPF, Silverlight and WP7
 
Building lean products with distributed agile teams
Building lean products with distributed agile teamsBuilding lean products with distributed agile teams
Building lean products with distributed agile teams
 
Practical alm testing
Practical alm   testingPractical alm   testing
Practical alm testing
 
Putting SOAP to REST
Putting SOAP to RESTPutting SOAP to REST
Putting SOAP to REST
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 

Building Gwt Clients For Cloud Apps.Pptx

  • 1. Building Fat browser-agnosticGWT Clientsfor Cloud Distributedsystems (Java+.NET) Igor Moochnick IgorShare Consulting igor@igorshare.com Blog: www.igorshare.com/blog
  • 2. You are at the right place and time!
  • 3. Create new GWT project
  • 4. Compose UI from available components final Button sendButton = new Button("Send"); // Add a handler to send the search criteria to the server    sendButton.addClickHandler(new ClickHandler() {        /**        * Fired when the user clicks on the sendButton.        */       public void onClick(ClickEvent event) {            sendNameToServer();        }    Create client logic and UI
  • 5. 3 main parts Contract interface Client-side asynchronous proxy Server-side implementation Create remote service
  • 6. Deploy to Google AppEngine http://igorsharecontactmgrdemo.appspot.com
  • 8. Deploy to the Staging Environment
  • 9. Promote to the Production
  • 10. GWT Client: from GWT-RPC to REST
  • 11. Compile Merge Deploy Merge GWT client and Azure Service
  • 12. Jersey Restlet RESTEasy Apache CXF Spring v3 (somewhat) REST via JAX-RS (Java)
  • 13. Rightscale can help you manage AWS
  • 14. Q&A
  • 16. Building Fat browser-agnosticGWT Clientsfor Cloud Distributedsystems (Java+.NET) Igor Moochnick IgorShare Consulting igor@igorshare.com Blog: www.igorshare.com/blog

Notas do Editor

  1. package com.igorshare.client;@RemoteServiceRelativePath("contacts")public interface ContactManagerService extends RemoteService { List<ContactInfo> getContacts(String filter);}package com.igorshare.client;public interface ContactManagerServiceAsync { void getContacts(String filter, AsyncCallback<List<ContactInfo>> callback);}package com.igorshare.server;public class ContactManagerServiceImpl extends RemoteServiceServlet implementsContactManagerService { public List<ContactInfo> getContacts(String filter) { ... }}