SlideShare una empresa de Scribd logo
1 de 23
IT Camp 2011 Thanks for coming! ITCamp is made possible by our sponsors:
Duplex Communications with WCF and Azure Florin Cardașim, software developer RomSoft Iași, www.rms.ro caf@rms.ro | twitter.com/cardasim
Session agenda Enterprise duplex. Non-browser clients WCF duplex bindings, router service Windows Azure Service Bus Web duplex. Browser clients Simple polling, comet/long polling WebSockets Q&A
Enterprise duplex Non-browser clients - WCF duplex bindings, router service - Windows Azure Service Bus
Full duplex using WCF NetTcpBinding Event  publisher Event  consumer Full duplex TCP Publisher requires public IP Custom ports open in firewall
“Full duplex” using WCF WSDualHttpBinding Event  publisher Event  consumer NAT Duplex HTTP Network address translation makes connection back impossible
“Full duplex” using WCF WSHttpBinding Event  publisher Event consumer Dual HTTP Publisher and consumers require public IP That’s fine, BUT we want the servers INSIDE the enterprise
WCF Router Service Event  publisher Router Service Event  consumer Router Service TCP Dual HTTP TCP Firewall and NAT friendly Routers have protocol bridging, failover etc Not bad, but quite crowded.  Can you do better?
Windows Azure Service Bus sb://itcampnamespace.servicebus.windows.net/publisher Relay Service Event  publisher Event consumer
DEMO Connecting the enterprises via: ,[object Object]
RouterService, NetTcpBinding, WsDualHttpBinding
Service Bus, NetEventRelayBinding,[object Object]
WEB duplex Browser clients - Simple polling, comet/long polling - WebSockets
Http polling Wasted resources, many requests return no data Frequent polling means higher load on the server
Comet/long polling Bandwidth: small payload, large http headers overhead Scalability: pressure on memory, bandwidth, threads/processes
DEMO An open source, WCF based, long polling server implementation: http://laharsub.codeplex.com/
Html5 WebSockets Full duplex, bidirectional Single TCP socket Standard ports: http/80, https/443 Bandwidth savings More scalable than Comet Nice programming model In&outside of browser Server Open WebSocket Connection Client Drafts: ,[object Object],-W3C WebSockets API
Html5/websockets: server Socket.IO Fallbacks Adobe Flash Socket AJAX Long Polling AJAX Multipart Streaming Forever iFrame JSONP Polling http://socket.io/ Socket.IO (Java, node.js) Jetty (Java) Ruby/EventMachine Python/Twisted WCF websocket prototype  … others
Html5/websockets: server Test browser support: http://websocket.org/echo.html Microsoft is still experimenting  http://html5labs.com
DEMO Some WebSockets in action: http://kaazing.me http://retrospectiveapp.heroku.com
DEMO Using the WCF WebSockets prototype from http://html5labs.com
References channel9.msdn.com/Learn/Courses/Azure/ServiceBus en.wikipedia.org/wiki/Comet_%28programming%29 html5rocks.com/tutorials/websockets/basics websocket.org pusher.com kaazing.com live.visitmix.com/MIX11?q=web+sockets paulbatum.com
Q&A

Más contenido relacionado

La actualidad más candente

Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012
Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012
Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012Robert MacLean
 
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014Minh Nguyen Vo Cao
 
Using Communication and Messaging API in the HTML5 World
Using Communication and Messaging API in the HTML5 WorldUsing Communication and Messaging API in the HTML5 World
Using Communication and Messaging API in the HTML5 WorldGil Fink
 
Internet without internet
Internet without internetInternet without internet
Internet without internetXavier Coureau
 
PharoDAYS 2015: Web 2.0 by Esteban Lorenzano
PharoDAYS 2015: Web 2.0 by Esteban LorenzanoPharoDAYS 2015: Web 2.0 by Esteban Lorenzano
PharoDAYS 2015: Web 2.0 by Esteban LorenzanoPharo
 
Websocket vs SSE - Paris.js - 24/06/15
Websocket vs SSE - Paris.js - 24/06/15Websocket vs SSE - Paris.js - 24/06/15
Websocket vs SSE - Paris.js - 24/06/15streamdata.io
 
Building a Messaging Framework on the Salesforce1 Platform
Building a Messaging Framework on the Salesforce1 PlatformBuilding a Messaging Framework on the Salesforce1 Platform
Building a Messaging Framework on the Salesforce1 PlatformAnup Jadhav
 
Biztalk ESB Toolkit Introduction
Biztalk ESB Toolkit IntroductionBiztalk ESB Toolkit Introduction
Biztalk ESB Toolkit IntroductionSaffi Ali
 
Modifying and Extending the ESB Toolkit
Modifying and Extending the ESB ToolkitModifying and Extending the ESB Toolkit
Modifying and Extending the ESB ToolkitBizTalk360
 
Presentation on java servlets
Presentation on java servletsPresentation on java servlets
Presentation on java servletsAamir Sohail
 
Web Socket
Web SocketWeb Socket
Web SocketJack Bui
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NETYaniv Uriel
 
Web Server - Internet Applications
Web Server - Internet ApplicationsWeb Server - Internet Applications
Web Server - Internet Applicationssandra sukarieh
 
Meteor Workshop - Open Sanca
Meteor Workshop - Open SancaMeteor Workshop - Open Sanca
Meteor Workshop - Open SancaPaulo Hecht
 
Resource Prioritization
Resource PrioritizationResource Prioritization
Resource PrioritizationPatrick Meenan
 

La actualidad más candente (20)

Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012
Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012
Techdays 2012 - What is new in .NET 4.5 & Visual Studio 2012
 
Soap xp-wg
Soap xp-wgSoap xp-wg
Soap xp-wg
 
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014
Creating a WebSocket-Chat-Application with Jetty Embedded - Techcamp 2014
 
Using Communication and Messaging API in the HTML5 World
Using Communication and Messaging API in the HTML5 WorldUsing Communication and Messaging API in the HTML5 World
Using Communication and Messaging API in the HTML5 World
 
Internet without internet
Internet without internetInternet without internet
Internet without internet
 
PharoDAYS 2015: Web 2.0 by Esteban Lorenzano
PharoDAYS 2015: Web 2.0 by Esteban LorenzanoPharoDAYS 2015: Web 2.0 by Esteban Lorenzano
PharoDAYS 2015: Web 2.0 by Esteban Lorenzano
 
Websocket vs SSE - Paris.js - 24/06/15
Websocket vs SSE - Paris.js - 24/06/15Websocket vs SSE - Paris.js - 24/06/15
Websocket vs SSE - Paris.js - 24/06/15
 
Web servers
Web serversWeb servers
Web servers
 
Web proxy server
Web proxy serverWeb proxy server
Web proxy server
 
Building a Messaging Framework on the Salesforce1 Platform
Building a Messaging Framework on the Salesforce1 PlatformBuilding a Messaging Framework on the Salesforce1 Platform
Building a Messaging Framework on the Salesforce1 Platform
 
Biztalk ESB Toolkit Introduction
Biztalk ESB Toolkit IntroductionBiztalk ESB Toolkit Introduction
Biztalk ESB Toolkit Introduction
 
Modifying and Extending the ESB Toolkit
Modifying and Extending the ESB ToolkitModifying and Extending the ESB Toolkit
Modifying and Extending the ESB Toolkit
 
web server
web serverweb server
web server
 
Presentation on java servlets
Presentation on java servletsPresentation on java servlets
Presentation on java servlets
 
Web Socket
Web SocketWeb Socket
Web Socket
 
Web server
Web serverWeb server
Web server
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NET
 
Web Server - Internet Applications
Web Server - Internet ApplicationsWeb Server - Internet Applications
Web Server - Internet Applications
 
Meteor Workshop - Open Sanca
Meteor Workshop - Open SancaMeteor Workshop - Open Sanca
Meteor Workshop - Open Sanca
 
Resource Prioritization
Resource PrioritizationResource Prioritization
Resource Prioritization
 

Destacado

Netug 18 dec2013-a bus ride to happiness
Netug 18 dec2013-a bus ride to happinessNetug 18 dec2013-a bus ride to happiness
Netug 18 dec2013-a bus ride to happinessFlorin Cardasim
 
Codecamp Iasi-26 nov 2011 - Html 5 WebSockets
Codecamp Iasi-26 nov 2011 - Html 5 WebSocketsCodecamp Iasi-26 nov 2011 - Html 5 WebSockets
Codecamp Iasi-26 nov 2011 - Html 5 WebSocketsFlorin Cardasim
 
WCF from the web developer
WCF from the web developerWCF from the web developer
WCF from the web developerFlorin Cardasim
 
Endava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in EndavaEndava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in EndavaFlorin Cardasim
 
Targul de Cariere Iasi 22 Oct 2013- We Are Living in Amazing Times
Targul de Cariere Iasi 22 Oct 2013- We Are Living in Amazing TimesTargul de Cariere Iasi 22 Oct 2013- We Are Living in Amazing Times
Targul de Cariere Iasi 22 Oct 2013- We Are Living in Amazing TimesFlorin Cardasim
 
ItCamp2012-Real-Time-Web-Web-Sockets-Windows 8- Florin-Cardasim
ItCamp2012-Real-Time-Web-Web-Sockets-Windows 8- Florin-CardasimItCamp2012-Real-Time-Web-Web-Sockets-Windows 8- Florin-Cardasim
ItCamp2012-Real-Time-Web-Web-Sockets-Windows 8- Florin-CardasimFlorin Cardasim
 
Technology powerpoint presentations
Technology powerpoint presentationsTechnology powerpoint presentations
Technology powerpoint presentationsismailraesha
 

Destacado (7)

Netug 18 dec2013-a bus ride to happiness
Netug 18 dec2013-a bus ride to happinessNetug 18 dec2013-a bus ride to happiness
Netug 18 dec2013-a bus ride to happiness
 
Codecamp Iasi-26 nov 2011 - Html 5 WebSockets
Codecamp Iasi-26 nov 2011 - Html 5 WebSocketsCodecamp Iasi-26 nov 2011 - Html 5 WebSockets
Codecamp Iasi-26 nov 2011 - Html 5 WebSockets
 
WCF from the web developer
WCF from the web developerWCF from the web developer
WCF from the web developer
 
Endava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in EndavaEndava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in Endava
 
Targul de Cariere Iasi 22 Oct 2013- We Are Living in Amazing Times
Targul de Cariere Iasi 22 Oct 2013- We Are Living in Amazing TimesTargul de Cariere Iasi 22 Oct 2013- We Are Living in Amazing Times
Targul de Cariere Iasi 22 Oct 2013- We Are Living in Amazing Times
 
ItCamp2012-Real-Time-Web-Web-Sockets-Windows 8- Florin-Cardasim
ItCamp2012-Real-Time-Web-Web-Sockets-Windows 8- Florin-CardasimItCamp2012-Real-Time-Web-Web-Sockets-Windows 8- Florin-Cardasim
ItCamp2012-Real-Time-Web-Web-Sockets-Windows 8- Florin-Cardasim
 
Technology powerpoint presentations
Technology powerpoint presentationsTechnology powerpoint presentations
Technology powerpoint presentations
 

Similar a ITCamp 2011 - Florin Cardasim - Duplex Communications with WCF and Azure

D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-SignalingOleg Levy
 
Codecamp iasi-26 nov 2011-web sockets
Codecamp iasi-26 nov 2011-web socketsCodecamp iasi-26 nov 2011-web sockets
Codecamp iasi-26 nov 2011-web socketsCodecamp Romania
 
Web sockets - Pentesting
Web sockets - Pentesting Web sockets - Pentesting
Web sockets - Pentesting Vandana Verma
 
Introduction to Web Sockets
Introduction to Web SocketsIntroduction to Web Sockets
Introduction to Web SocketsJumping Bean
 
WebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsWebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsIMTC
 
SignalR Intro + WPDev
SignalR Intro + WPDevSignalR Intro + WPDev
SignalR Intro + WPDevSam Basu
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseBrian Pulito
 
Best practices of building data streaming API
Best practices of building data streaming APIBest practices of building data streaming API
Best practices of building data streaming APIConstantine Slisenka
 
WebRTC - a quick introduction
WebRTC - a quick introductionWebRTC - a quick introduction
WebRTC - a quick introductionOlle E Johansson
 
Internetandjava
InternetandjavaInternetandjava
Internetandjavamuniinb4u
 
JavaInternetlearning
JavaInternetlearningJavaInternetlearning
JavaInternetlearningmuniinb4u
 

Similar a ITCamp 2011 - Florin Cardasim - Duplex Communications with WCF and Azure (20)

D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-Signaling
 
Codecamp iasi-26 nov 2011-web sockets
Codecamp iasi-26 nov 2011-web socketsCodecamp iasi-26 nov 2011-web sockets
Codecamp iasi-26 nov 2011-web sockets
 
Web sockets - Pentesting
Web sockets - Pentesting Web sockets - Pentesting
Web sockets - Pentesting
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 
Introduction to Web Sockets
Introduction to Web SocketsIntroduction to Web Sockets
Introduction to Web Sockets
 
Real time web apps
Real time web appsReal time web apps
Real time web apps
 
WebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsWebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP Worlds
 
SignalR Intro + WPDev
SignalR Intro + WPDevSignalR Intro + WPDev
SignalR Intro + WPDev
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
 
WebRCT
WebRCTWebRCT
WebRCT
 
Best practices of building data streaming API
Best practices of building data streaming APIBest practices of building data streaming API
Best practices of building data streaming API
 
WebRTC - a quick introduction
WebRTC - a quick introductionWebRTC - a quick introduction
WebRTC - a quick introduction
 
Internetandjava
InternetandjavaInternetandjava
Internetandjava
 
ppttips
ppttipsppttips
ppttips
 
ppttips
ppttipsppttips
ppttips
 
Java
JavaJava
Java
 
ppttips
ppttipsppttips
ppttips
 
JavaInternetlearning
JavaInternetlearningJavaInternetlearning
JavaInternetlearning
 
ppt tips
ppt tipsppt tips
ppt tips
 
ppttips
ppttipsppttips
ppttips
 

Último

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...Enterprise Knowledge
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
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.pdfChristopherTHyatt
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
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
 

Ú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...
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 

ITCamp 2011 - Florin Cardasim - Duplex Communications with WCF and Azure

  • 1. IT Camp 2011 Thanks for coming! ITCamp is made possible by our sponsors:
  • 2. Duplex Communications with WCF and Azure Florin Cardașim, software developer RomSoft Iași, www.rms.ro caf@rms.ro | twitter.com/cardasim
  • 3. Session agenda Enterprise duplex. Non-browser clients WCF duplex bindings, router service Windows Azure Service Bus Web duplex. Browser clients Simple polling, comet/long polling WebSockets Q&A
  • 4. Enterprise duplex Non-browser clients - WCF duplex bindings, router service - Windows Azure Service Bus
  • 5. Full duplex using WCF NetTcpBinding Event publisher Event consumer Full duplex TCP Publisher requires public IP Custom ports open in firewall
  • 6. “Full duplex” using WCF WSDualHttpBinding Event publisher Event consumer NAT Duplex HTTP Network address translation makes connection back impossible
  • 7. “Full duplex” using WCF WSHttpBinding Event publisher Event consumer Dual HTTP Publisher and consumers require public IP That’s fine, BUT we want the servers INSIDE the enterprise
  • 8. WCF Router Service Event publisher Router Service Event consumer Router Service TCP Dual HTTP TCP Firewall and NAT friendly Routers have protocol bridging, failover etc Not bad, but quite crowded. Can you do better?
  • 9. Windows Azure Service Bus sb://itcampnamespace.servicebus.windows.net/publisher Relay Service Event publisher Event consumer
  • 10.
  • 12.
  • 13. WEB duplex Browser clients - Simple polling, comet/long polling - WebSockets
  • 14. Http polling Wasted resources, many requests return no data Frequent polling means higher load on the server
  • 15. Comet/long polling Bandwidth: small payload, large http headers overhead Scalability: pressure on memory, bandwidth, threads/processes
  • 16. DEMO An open source, WCF based, long polling server implementation: http://laharsub.codeplex.com/
  • 17.
  • 18. Html5/websockets: server Socket.IO Fallbacks Adobe Flash Socket AJAX Long Polling AJAX Multipart Streaming Forever iFrame JSONP Polling http://socket.io/ Socket.IO (Java, node.js) Jetty (Java) Ruby/EventMachine Python/Twisted WCF websocket prototype  … others
  • 19. Html5/websockets: server Test browser support: http://websocket.org/echo.html Microsoft is still experimenting  http://html5labs.com
  • 20. DEMO Some WebSockets in action: http://kaazing.me http://retrospectiveapp.heroku.com
  • 21. DEMO Using the WCF WebSockets prototype from http://html5labs.com
  • 22. References channel9.msdn.com/Learn/Courses/Azure/ServiceBus en.wikipedia.org/wiki/Comet_%28programming%29 html5rocks.com/tutorials/websockets/basics websocket.org pusher.com kaazing.com live.visitmix.com/MIX11?q=web+sockets paulbatum.com
  • 23. Q&A
  • 24. Don’t forget! Get your free Azure pass! 30+15 days, no CC req’d http://bit.ly/ITCAMP11 Promo code: ITCAMP11 We want your feedback! Win a WP7 smartphone Fill in your feedback forms Raffle: end of the day