SlideShare a Scribd company logo
ColdFusion Summit 2016
Realtime with WebSockets w/ Giancarlo Gomez
Realtime with WebSockets
Who am I?
‣ Proud Father of 3
‣ Web Developer since 1999
‣ Freelance since 2001
‣ South Florida ColdFusion User Group Co-Manager
‣ Owner of Fuse Developments, Inc. and CrossTrackr, Inc.
Realtime with WebSockets
What are WebSockets?
WebSockets are a full-duplex, persistent connection from a client to a server over a single
TCP Connection. Once the connection is established, it stays open until the client or
server decide to close the connection. This makes web programming entirely event
driven, not (just) user initiated. It is stateful, as a single running server is aware of all
connections, allowing you to communicate with any number of them at any given time.
Blah Blah Blah …
Show me what I can do with this
and I don’t mean chat.
Realtime with WebSockets
HTTP Architecture
Request
Response
Half-Duplex Communication
Realtime with WebSockets
Short Polling
Request
Response
Loop AJAX Request on client side and ask the server for an update
6
Realtime with WebSockets
Long Polling
Request
Response
Send AJAX request to server, request loops on server until there is a

response and then returns to client and processes starts over again.
Realtime with WebSockets
WebSockets
Handshake (HTTP Upgrade)
Bidirectional Messaging
open and persistent connection
On side closes channel
connection closed
Realtime with WebSockets
WebSockets in ColdFusion
‣ Supported as of ColdFusion 10
‣ Support over defined port 

Defaults to 8575
‣ Flash Fallback 

Port 1243

Defined in lib/neo-websocket.xml
‣ Set Max Data Size (1024 Kb)
‣ 100 Connection Limit on Standard

* Unlimited in Enterprise
‣ Introduced in ColdFusion 11
‣ No Connection Limits
‣ Proxy Support 

Great when behind a firewall and easier when
dealing with SSL and multiple domains
‣ SSL Support

Browsers no longer allow for non-secure
connections over secured connections
‣ Cluster Support

* Enterprise Only
Realtime with WebSockets
Enable WebSockets in ColdFusion in “4 EASY STEPS”
‣ Enable in Admin
‣ Add 1 Line in your Application.cfc
‣ Use the cfwebsocket tag
‣ Write some JavaScript and get creative
Realtime with WebSockets
ColdFusion 10 Admin
Realtime with WebSockets
ColdFusion 11 Admin
Using Proxy Standard Enterprise
DEMO 01
4 easy steps and a little bit more …
Realtime with WebSockets
Secure WebSockets - WSS
‣ Easiest Method, use Proxy. It relies on the SSL certificates defined for the site. Requires …
‣ IIS8+ with WebSocket Protocol Enabled
‣ Apache 2.2+ compiled with worker module not prefork (Apache MPM Worker)
‣ Using Built in WebSocket Server
‣ Create JKS (Java KeyStore) or PKCS12 file.
‣ JVM Setting (Fixes SSLException Error) 

-Dcom.sun.net.ssl.enableECC=false
‣ If using self-assigned certificate
‣ Add certificate as a trusted certificate in Java keystore

* this will fix issues with cfhttp calls as well - the following might as well

-Dsun.security.ssl.allowUnsafeRenegotiation=true -Djsse.enableSNIExtension=false
‣ Trust the certificate using your browser
Realtime with WebSockets
Secure WebSockets - WSS - Server Requirements
Realtime with WebSockets
Secure WebSockets - WSS - Proxy w/ IIS
DEMO 02
What do you mean it does not work?
Realtime with WebSockets
WebSocket Clusters
Instance A
Client A Client B
Instance B
Client C Client D
Realtime with WebSockets
WebSockets Clusters
▸ Must use built in WebSocket Server
▸ Create Instances in Instance Manager
▸ Define Cluster
▸ Rebuild Connections
▸ Turn on WebSocket clustering on all instances
▸ Have fun testing ….
Realtime with WebSockets
Real World Uses
‣ Dashboards (Stocks, Airlines, …)
‣ Auctions Sites
‣ Chat
‣ Push Messaging (email, notifications, etc)
‣ Games
‣ Use your imagination … anything is possible
Real World Issues!!!
Me and every other Developer
‣ Network Connections
‣ Application Reloads
‣ Server Uptime
Realtime with WebSockets
Hello AdvancedSocket
‣ Easily integrates with cfwebsocket
‣ Callbacks for connection drops that easily lets you add notifications to for users
‣ Application Reinit
‣ Server Downtime
‣ Network Connection
‣ Automatically reconnect to subscribed channels
DEMO 03
Wait, they gave me something kind of broken?
DEMO 04
Ok show me how easy it is to build an app …
Now we chat
DEMO 05
I don’t meet the requirements.
What can I do?
Realtime with WebSockets
Helpful Links
‣ Repos
‣ https://github.com/GiancarloGomez/Realtime-With-WebSockets-Demo-Code
‣ https://github.com/GiancarloGomez/AdvancedSocket
‣ https://github.com/GiancarloGomez/ColdFusion-CFSummit-WebSockets
‣ SSL Related Links
‣ https://blog.httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/
‣ https://info.ssl.com/how-to-create-a-pfx-p12-certificate-file-using-openssl/
‣ ColdFusion Articles
‣ http://www.adobe.com/devnet/coldfusion/articles/html5-websockets-coldfusion-pt1.html
‣ http://www.adobe.com/devnet/coldfusion/articles/html5-websockets-coldfusion-pt2.html
‣ http://www.adobe.com/devnet/coldfusion/articles/using-websocket.html
‣ https://helpx.adobe.com/coldfusion/developing-applications/coldfusion-and-html-5/using-coldfusion-websocket/websocket-enhancements.html
‣ WebSockets (Server / Services)
‣ http://socket.io/
‣ https://www.pubnub.com/
‣ https://pusher.com/
http://giancarlogomez.com
giancarlo.gomez@gmail.com
@GiancarloGomez
https://github.com/GiancarloGomez
https://www.linkedin.com/in/giancarlogomez
Q & A
Ad

More Related Content

Similar to Realtime with websockets (20)

01 - Velociraptor Installation and Overview.pptx
01 - Velociraptor Installation and Overview.pptx01 - Velociraptor Installation and Overview.pptx
01 - Velociraptor Installation and Overview.pptx
toundestudies
 
01 - Velociraptor Installation and Overview.pptx
01 - Velociraptor Installation and Overview.pptx01 - Velociraptor Installation and Overview.pptx
01 - Velociraptor Installation and Overview.pptx
toundestudies
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
Viktor Gamov
 
Debugging with Fiddler
Debugging with FiddlerDebugging with Fiddler
Debugging with Fiddler
Ido Flatow
 
.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
Jeff Chu
 
Enhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocketEnhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocket
Mauricio "Maltron" Leal
 
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
Ericom Software
 
Building a Robust Node.JS WebSocket Server.pdf
Building a Robust Node.JS WebSocket Server.pdfBuilding a Robust Node.JS WebSocket Server.pdf
Building a Robust Node.JS WebSocket Server.pdf
Cubix Global
 
WebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the FutureWebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the Future
Frank Greco
 
Ajax Push For Revolutionary Enterprise Applications
Ajax Push For Revolutionary Enterprise ApplicationsAjax Push For Revolutionary Enterprise Applications
Ajax Push For Revolutionary Enterprise Applications
elliando dias
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017
ElifTech
 
It pro toronto 2013
It pro toronto 2013It pro toronto 2013
It pro toronto 2013
ItPro Toronto
 
Novosco: Citrix tips and best practices
Novosco: Citrix tips and best practicesNovosco: Citrix tips and best practices
Novosco: Citrix tips and best practices
Novosco
 
Developing Revolutionary Web Applications using Comet and Ajax Push
Developing Revolutionary Web Applications using Comet and Ajax PushDeveloping Revolutionary Web Applications using Comet and Ajax Push
Developing Revolutionary Web Applications using Comet and Ajax Push
Doris Chen
 
Citirx Day 2013: Citrix Enterprise Mobility
Citirx Day 2013: Citrix Enterprise MobilityCitirx Day 2013: Citrix Enterprise Mobility
Citirx Day 2013: Citrix Enterprise Mobility
Digicomp Academy AG
 
Towards the Cloud: Architecture Patterns and VDI Story
Towards the Cloud: Architecture Patterns and VDI StoryTowards the Cloud: Architecture Patterns and VDI Story
Towards the Cloud: Architecture Patterns and VDI Story
IT Expert Club
 
ServerSentEventsV2.pdf
ServerSentEventsV2.pdfServerSentEventsV2.pdf
ServerSentEventsV2.pdf
Alessandro Minoccheri
 
Web socket with php v2
Web socket with php v2Web socket with php v2
Web socket with php v2
Leonardo Rifeli
 
Global Windows Azure Bootcamp - San Diego
Global Windows Azure Bootcamp - San DiegoGlobal Windows Azure Bootcamp - San Diego
Global Windows Azure Bootcamp - San Diego
Michele Leroux Bustamante
 
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
purans
 
01 - Velociraptor Installation and Overview.pptx
01 - Velociraptor Installation and Overview.pptx01 - Velociraptor Installation and Overview.pptx
01 - Velociraptor Installation and Overview.pptx
toundestudies
 
01 - Velociraptor Installation and Overview.pptx
01 - Velociraptor Installation and Overview.pptx01 - Velociraptor Installation and Overview.pptx
01 - Velociraptor Installation and Overview.pptx
toundestudies
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
Viktor Gamov
 
Debugging with Fiddler
Debugging with FiddlerDebugging with Fiddler
Debugging with Fiddler
Ido Flatow
 
.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
Jeff Chu
 
Enhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocketEnhancing Mobile User Experience with WebSocket
Enhancing Mobile User Experience with WebSocket
Mauricio "Maltron" Leal
 
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
Ericom Software
 
Building a Robust Node.JS WebSocket Server.pdf
Building a Robust Node.JS WebSocket Server.pdfBuilding a Robust Node.JS WebSocket Server.pdf
Building a Robust Node.JS WebSocket Server.pdf
Cubix Global
 
WebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the FutureWebSocket Perspectives and Vision for the Future
WebSocket Perspectives and Vision for the Future
Frank Greco
 
Ajax Push For Revolutionary Enterprise Applications
Ajax Push For Revolutionary Enterprise ApplicationsAjax Push For Revolutionary Enterprise Applications
Ajax Push For Revolutionary Enterprise Applications
elliando dias
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017
ElifTech
 
Novosco: Citrix tips and best practices
Novosco: Citrix tips and best practicesNovosco: Citrix tips and best practices
Novosco: Citrix tips and best practices
Novosco
 
Developing Revolutionary Web Applications using Comet and Ajax Push
Developing Revolutionary Web Applications using Comet and Ajax PushDeveloping Revolutionary Web Applications using Comet and Ajax Push
Developing Revolutionary Web Applications using Comet and Ajax Push
Doris Chen
 
Citirx Day 2013: Citrix Enterprise Mobility
Citirx Day 2013: Citrix Enterprise MobilityCitirx Day 2013: Citrix Enterprise Mobility
Citirx Day 2013: Citrix Enterprise Mobility
Digicomp Academy AG
 
Towards the Cloud: Architecture Patterns and VDI Story
Towards the Cloud: Architecture Patterns and VDI StoryTowards the Cloud: Architecture Patterns and VDI Story
Towards the Cloud: Architecture Patterns and VDI Story
IT Expert Club
 
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
purans
 

More from ColdFusionConference (20)

Api manager preconference
Api manager preconferenceApi manager preconference
Api manager preconference
ColdFusionConference
 
Cf ppt vsr
Cf ppt vsrCf ppt vsr
Cf ppt vsr
ColdFusionConference
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
ColdFusionConference
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
ColdFusionConference
 
Don't just pdf, Smart PDF
Don't just pdf, Smart PDFDon't just pdf, Smart PDF
Don't just pdf, Smart PDF
ColdFusionConference
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
ColdFusionConference
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
ColdFusionConference
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
ColdFusionConference
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016
ColdFusionConference
 
ColdFusion in Transit action
ColdFusion in Transit actionColdFusion in Transit action
ColdFusion in Transit action
ColdFusionConference
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
ColdFusionConference
 
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
ColdFusionConference
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusionConference
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
ColdFusionConference
 
Restful services with ColdFusion
Restful services with ColdFusionRestful services with ColdFusion
Restful services with ColdFusion
ColdFusionConference
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMS
ColdFusionConference
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
ColdFusionConference
 
Why Everyone else writes bad code
Why Everyone else writes bad codeWhy Everyone else writes bad code
Why Everyone else writes bad code
ColdFusionConference
 
Securing applications
Securing applicationsSecuring applications
Securing applications
ColdFusionConference
 
Testing automaton
Testing automatonTesting automaton
Testing automaton
ColdFusionConference
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
ColdFusionConference
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
ColdFusionConference
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
ColdFusionConference
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
ColdFusionConference
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
ColdFusionConference
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016
ColdFusionConference
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
ColdFusionConference
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusionConference
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMS
ColdFusionConference
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
ColdFusionConference
 
Ad

Recently uploaded (20)

IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Ad

Realtime with websockets

  • 1. ColdFusion Summit 2016 Realtime with WebSockets w/ Giancarlo Gomez
  • 2. Realtime with WebSockets Who am I? ‣ Proud Father of 3 ‣ Web Developer since 1999 ‣ Freelance since 2001 ‣ South Florida ColdFusion User Group Co-Manager ‣ Owner of Fuse Developments, Inc. and CrossTrackr, Inc.
  • 3. Realtime with WebSockets What are WebSockets? WebSockets are a full-duplex, persistent connection from a client to a server over a single TCP Connection. Once the connection is established, it stays open until the client or server decide to close the connection. This makes web programming entirely event driven, not (just) user initiated. It is stateful, as a single running server is aware of all connections, allowing you to communicate with any number of them at any given time.
  • 4. Blah Blah Blah … Show me what I can do with this and I don’t mean chat.
  • 5. Realtime with WebSockets HTTP Architecture Request Response Half-Duplex Communication
  • 6. Realtime with WebSockets Short Polling Request Response Loop AJAX Request on client side and ask the server for an update 6
  • 7. Realtime with WebSockets Long Polling Request Response Send AJAX request to server, request loops on server until there is a
 response and then returns to client and processes starts over again.
  • 8. Realtime with WebSockets WebSockets Handshake (HTTP Upgrade) Bidirectional Messaging open and persistent connection On side closes channel connection closed
  • 9. Realtime with WebSockets WebSockets in ColdFusion ‣ Supported as of ColdFusion 10 ‣ Support over defined port 
 Defaults to 8575 ‣ Flash Fallback 
 Port 1243
 Defined in lib/neo-websocket.xml ‣ Set Max Data Size (1024 Kb) ‣ 100 Connection Limit on Standard
 * Unlimited in Enterprise ‣ Introduced in ColdFusion 11 ‣ No Connection Limits ‣ Proxy Support 
 Great when behind a firewall and easier when dealing with SSL and multiple domains ‣ SSL Support
 Browsers no longer allow for non-secure connections over secured connections ‣ Cluster Support
 * Enterprise Only
  • 10. Realtime with WebSockets Enable WebSockets in ColdFusion in “4 EASY STEPS” ‣ Enable in Admin ‣ Add 1 Line in your Application.cfc ‣ Use the cfwebsocket tag ‣ Write some JavaScript and get creative
  • 12. Realtime with WebSockets ColdFusion 11 Admin Using Proxy Standard Enterprise
  • 13. DEMO 01 4 easy steps and a little bit more …
  • 14. Realtime with WebSockets Secure WebSockets - WSS ‣ Easiest Method, use Proxy. It relies on the SSL certificates defined for the site. Requires … ‣ IIS8+ with WebSocket Protocol Enabled ‣ Apache 2.2+ compiled with worker module not prefork (Apache MPM Worker) ‣ Using Built in WebSocket Server ‣ Create JKS (Java KeyStore) or PKCS12 file. ‣ JVM Setting (Fixes SSLException Error) 
 -Dcom.sun.net.ssl.enableECC=false ‣ If using self-assigned certificate ‣ Add certificate as a trusted certificate in Java keystore
 * this will fix issues with cfhttp calls as well - the following might as well
 -Dsun.security.ssl.allowUnsafeRenegotiation=true -Djsse.enableSNIExtension=false ‣ Trust the certificate using your browser
  • 15. Realtime with WebSockets Secure WebSockets - WSS - Server Requirements
  • 16. Realtime with WebSockets Secure WebSockets - WSS - Proxy w/ IIS
  • 17. DEMO 02 What do you mean it does not work?
  • 18. Realtime with WebSockets WebSocket Clusters Instance A Client A Client B Instance B Client C Client D
  • 19. Realtime with WebSockets WebSockets Clusters ▸ Must use built in WebSocket Server ▸ Create Instances in Instance Manager ▸ Define Cluster ▸ Rebuild Connections ▸ Turn on WebSocket clustering on all instances ▸ Have fun testing ….
  • 20. Realtime with WebSockets Real World Uses ‣ Dashboards (Stocks, Airlines, …) ‣ Auctions Sites ‣ Chat ‣ Push Messaging (email, notifications, etc) ‣ Games ‣ Use your imagination … anything is possible
  • 21. Real World Issues!!! Me and every other Developer ‣ Network Connections ‣ Application Reloads ‣ Server Uptime
  • 22. Realtime with WebSockets Hello AdvancedSocket ‣ Easily integrates with cfwebsocket ‣ Callbacks for connection drops that easily lets you add notifications to for users ‣ Application Reinit ‣ Server Downtime ‣ Network Connection ‣ Automatically reconnect to subscribed channels
  • 23. DEMO 03 Wait, they gave me something kind of broken?
  • 24. DEMO 04 Ok show me how easy it is to build an app … Now we chat
  • 25. DEMO 05 I don’t meet the requirements. What can I do?
  • 26. Realtime with WebSockets Helpful Links ‣ Repos ‣ https://github.com/GiancarloGomez/Realtime-With-WebSockets-Demo-Code ‣ https://github.com/GiancarloGomez/AdvancedSocket ‣ https://github.com/GiancarloGomez/ColdFusion-CFSummit-WebSockets ‣ SSL Related Links ‣ https://blog.httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/ ‣ https://info.ssl.com/how-to-create-a-pfx-p12-certificate-file-using-openssl/ ‣ ColdFusion Articles ‣ http://www.adobe.com/devnet/coldfusion/articles/html5-websockets-coldfusion-pt1.html ‣ http://www.adobe.com/devnet/coldfusion/articles/html5-websockets-coldfusion-pt2.html ‣ http://www.adobe.com/devnet/coldfusion/articles/using-websocket.html ‣ https://helpx.adobe.com/coldfusion/developing-applications/coldfusion-and-html-5/using-coldfusion-websocket/websocket-enhancements.html ‣ WebSockets (Server / Services) ‣ http://socket.io/ ‣ https://www.pubnub.com/ ‣ https://pusher.com/
  • 28. Q & A