SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 

Kürzlich hochgeladen (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 

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