WebSocket is not just a push mechanism. There are other HTTP-based mechanisms for simply sending a short notification to the browsers. It is much more. This presentation was given at both JavaOne 2015 and HTML5DevConf 2015 with slightly different Java/JavaScript information, but the basic information is the same.
HTML5 WebSocket for the Real-Time Weband the Internet of ThingsPeter Moskovits
Abstract: In his talk Peter gives a brief introduction to WebSocket and discusses how real-time Web communications technologies can be applied to an always connected Web and mobile world. Then, he walks you through how to provide interactivity and collaboration by controlling physical objects remotely. The presentation features several live demonstrations of the concepts discussed throughout the session.
JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...Peter Moskovits
JMS is widely used behind enterprise firewalls to build loosely coupled distributed systems. This session discusses how JMS can be extended and applied to an always connected Web and mobile environment to provide interactivity and collaboration by controlling physical objects, such as model cars, remotely. You’ll learn how you can connect an HTML5 client running on the Web browser of a smartphone and Java running on a Raspberry Pi, a credit-card-size computer, in real time, using open industry-standard Web technologies. The presentation features several live demonstrations of the concepts discussed throughout the session.
Presentation given by David Witherspoon and Prashant Khanal on Sep 25, 2013 at JavaOne in San Francisco.
HTML5 WebSocket for the Real-Time Weband the Internet of ThingsPeter Moskovits
Abstract: In his talk Peter gives a brief introduction to WebSocket and discusses how real-time Web communications technologies can be applied to an always connected Web and mobile world. Then, he walks you through how to provide interactivity and collaboration by controlling physical objects remotely. The presentation features several live demonstrations of the concepts discussed throughout the session.
JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...Peter Moskovits
JMS is widely used behind enterprise firewalls to build loosely coupled distributed systems. This session discusses how JMS can be extended and applied to an always connected Web and mobile environment to provide interactivity and collaboration by controlling physical objects, such as model cars, remotely. You’ll learn how you can connect an HTML5 client running on the Web browser of a smartphone and Java running on a Raspberry Pi, a credit-card-size computer, in real time, using open industry-standard Web technologies. The presentation features several live demonstrations of the concepts discussed throughout the session.
Presentation given by David Witherspoon and Prashant Khanal on Sep 25, 2013 at JavaOne in San Francisco.
Top 10 real life WebSocket use cases & experiences - Devoxx UK 2015Rich Cullen
This talk walks you through 10 widely used WebSocket scenarios, providing a detailed topology and deployment overview of them. The presentation discusses the various client technologies, including HTML5, Java, native iOS and Android, and Raspberry Pi and Arduino for the IoT use cases. The use cases range from collaboration scenarios through second screen, and real-time stock quotes all the way to collecting telemetry data from sensors and controlling physical devices over the Web. Most demos come with code samples too. The presentation discusses some of the challenges of real-life WebSocket deployments, including hostile proxies, firewalls, and routers, and offers scalability and security considerations.
Connecting Physical Devices to the Web - Event Driven Architecture using WebS...Peter Moskovits
Before the Web, clients connected to back-end servers without compromises. As the Web came along with HTTP, we had to give up some of the power of our connectivity. With the evolving open Web communications standards, now we have a unique opportunity to move on from a request-response based REST world to a true, event-driven architecture. Learn what it takes to connect physical devices, such as Arduino and the Rasberry Pi to collect sensor data, or control physical devices over the Web.
Commercial aviation's biggest challenge when things go wrong is that flight data is stuck on the plane inside the black box. Until the black box is recovered, we barely know anything about what went wrong. This presentation offers detailed insights into how IoT and modern Web communications concepts have the power to change all this.
If you're a maker, you will learn about "flight sensors" attached and controlled by Arduino, data transmitted over long range WiFi as well as satellite networks. If interested in real-time Web communications, you'll learn about a highly secure WebSocket implementation with extreme scale, publishing flight data to tablets and laptops used as monitoring dashboard. If protocol layering, enterprise messaging, or JMS is your thing, this talk is for you.
Code samples and plenty of interactive live demos (with Things) add color to the talk.
Presentation MobileTechCon 2010, Mainz, Germany: Stay Connected - Mobile Pushing Apps with jWebSocket:
Whether on-line games, or online collaboration, streaming, chat, remote control or monitoring applications - real-time communication has long ago moved into cross-platform and cross-browser web solutions. HTML5 WebSockets are the ideal basis for bidirectional high-speed data exchange in real time.
WebRTC - On Standards, Identity and Telco StrategyJose de Castro
WebRTC is dramatically changing the face of communications by making real-time voice and video just another feature available on websites and mobile applications.
This presents a tremendous opportunity for telcos... not by monetizing WebRTC directly but by *using* WebRTC to deliver new compelling products to their subscribers and enterprise customers.
This presentation offers a brief overview of WebRTC, the various identity models and some suggestions on go-to-market strategy.
Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!Masoud Kalali
This session focuses on how Java EE 7 provides extensive set of new and enhanced features to support standards like HTML5, WebSockets, and Server Sent Events among others.In this session we will show how these new features are designed and matched to work together for developing lightweight solutions matching end users high expectation from a web application’s responsiveness. The session will cover best practices and design patterns governing application development using JAX-RS 2.0, Async Servlet, and JSON-P (among others) as well as iterating over the pitfalls that should be avoided. During the session we will show code snippets and block diagrams that clarify use of APIs coming from the demo application we will show at the end.
Top 10 real life WebSocket use cases & experiences - Devoxx UK 2015Rich Cullen
This talk walks you through 10 widely used WebSocket scenarios, providing a detailed topology and deployment overview of them. The presentation discusses the various client technologies, including HTML5, Java, native iOS and Android, and Raspberry Pi and Arduino for the IoT use cases. The use cases range from collaboration scenarios through second screen, and real-time stock quotes all the way to collecting telemetry data from sensors and controlling physical devices over the Web. Most demos come with code samples too. The presentation discusses some of the challenges of real-life WebSocket deployments, including hostile proxies, firewalls, and routers, and offers scalability and security considerations.
Connecting Physical Devices to the Web - Event Driven Architecture using WebS...Peter Moskovits
Before the Web, clients connected to back-end servers without compromises. As the Web came along with HTTP, we had to give up some of the power of our connectivity. With the evolving open Web communications standards, now we have a unique opportunity to move on from a request-response based REST world to a true, event-driven architecture. Learn what it takes to connect physical devices, such as Arduino and the Rasberry Pi to collect sensor data, or control physical devices over the Web.
Commercial aviation's biggest challenge when things go wrong is that flight data is stuck on the plane inside the black box. Until the black box is recovered, we barely know anything about what went wrong. This presentation offers detailed insights into how IoT and modern Web communications concepts have the power to change all this.
If you're a maker, you will learn about "flight sensors" attached and controlled by Arduino, data transmitted over long range WiFi as well as satellite networks. If interested in real-time Web communications, you'll learn about a highly secure WebSocket implementation with extreme scale, publishing flight data to tablets and laptops used as monitoring dashboard. If protocol layering, enterprise messaging, or JMS is your thing, this talk is for you.
Code samples and plenty of interactive live demos (with Things) add color to the talk.
Presentation MobileTechCon 2010, Mainz, Germany: Stay Connected - Mobile Pushing Apps with jWebSocket:
Whether on-line games, or online collaboration, streaming, chat, remote control or monitoring applications - real-time communication has long ago moved into cross-platform and cross-browser web solutions. HTML5 WebSockets are the ideal basis for bidirectional high-speed data exchange in real time.
WebRTC - On Standards, Identity and Telco StrategyJose de Castro
WebRTC is dramatically changing the face of communications by making real-time voice and video just another feature available on websites and mobile applications.
This presents a tremendous opportunity for telcos... not by monetizing WebRTC directly but by *using* WebRTC to deliver new compelling products to their subscribers and enterprise customers.
This presentation offers a brief overview of WebRTC, the various identity models and some suggestions on go-to-market strategy.
Server Sent Events, Async Servlet, Web Sockets and JSON; born to work together!Masoud Kalali
This session focuses on how Java EE 7 provides extensive set of new and enhanced features to support standards like HTML5, WebSockets, and Server Sent Events among others.In this session we will show how these new features are designed and matched to work together for developing lightweight solutions matching end users high expectation from a web application’s responsiveness. The session will cover best practices and design patterns governing application development using JAX-RS 2.0, Async Servlet, and JSON-P (among others) as well as iterating over the pitfalls that should be avoided. During the session we will show code snippets and block diagrams that clarify use of APIs coming from the demo application we will show at the end.
The Internet of Things (IoT) is defined by embedded computing devices endowed with cross-network connectivity. This era of computing has huge potential for connected enterprises and consumers, and already has many successful use cases. IoT systems encompass many types of connectivity patterns, proprietary systems and network types. Just as the Web plays a significant role in providing an open, interoperable, easily deployable framework for today’s enterprise systems, it is not surprising the Web will provide similar benefits to IoT. New Web standards have allowed enterprises to extend their internal real-time systems over the firewall in a natural, unimpeded fashion to provide real-time, dynamic information to their customers and partners to ensure consistency and efficiency. These same Web standards can and should be applied to IoT systems to obtain advantages such as global reach, ease of deployment, economies of scale, ease of development, etc. We will discuss this evolution and explore the further impact of the Web on IoT.
Monitoring the unknown, 1000*100 series a day - Big Data Vilnius 2017Quentin Adam
How to monitor unknown third party code? One of the hardest challenges we face running Clever Cloud, apart from the impressive scale we face with hundreds of new applications per week, is the monitoring of unknown tech stacks. The first goal of rebuilding the monitoring platform was to accommodate the immutable infrastructure pattern that generates lots of ephemeral hosts every minute. The traditional approach is to focus on VMs or hosts, not applications. We needed to shift this into an approach of auto-discovery of metrics to monitor, allowing third party code to publish new items. This talk explains our journey in building Clever Cloud Metrics stack, heavily based on Warp10 (Kafka/Hadoop/Storm based) to deliver developer efficiency and trustability to our clients applications.
Presented at the Yahoo! Web Development Summit in December 2007. Comet is the new name for the old trick of streaming events down to the browser from the server. This talk introduces Comet and shows how, despite the terrifying browser tricks needed, it's actually now very simple to build against.
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE
FIWARE Wednesday Webinar - Short Term History within Smart Systems (2nd April 2020)
Corresponding webinar recording: https://youtu.be/fX_YAc7G4Dk
This webinar will show how to utilise times series components and monitor and display trends within FIWARE applications.
Chapter: Core Context
Difficulty: 3
Audience: Any Technical
Presenter: Jason Fox (Senior Technical Evangelist, FIWARE Foundation)
REST seven’s rule was “Code on Demand,” meaning the ability for the server to deliver code able to run on the client, and the recommended language was JavaScript. Some, to use the same code everywhere, tried to do it with Java, or .NET (ActiveX). None of them had long life success in browsers. HTML5 and offline support contributed in the creation of a bunch of APIs which only made sense on server-side in first place: File/FileSystem, Workers, Sockets, Storage/Session, Blob, ImageData. Almost all those APIs, including the not that young XMLHttpRequest, have been designed to be usable via either synchronous or asynchronous APIs. We have today the opportunity to write code really able to either on the server and on the client and then have consistent behaviors and security rules. We can expect interoperable code/libraries/modules, save a lot of developing and debugging time, get more people involved in code we need. Discover already existing opportunities, see some of them working, and envision what the future can come with.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
2. goo.gl/tZZdKa
Background
§ Director of Technology
§ Chairman NYJavaSIG (javasig.com)
§ Largest Java UG in NA 8k+ members
§ First Java UG ever! Sept 1995
§ email: frank.greco@kaazing.com
§ Twitter: @frankgreco
§ Yell: “Hey Frank!”
4. goo.gl/tZZdKa
1. Introduction to HTML5 WebSocket
2. The WebSocket API
3. The WebSocket Protocol
4. Building Instant Messaging and Chat over
WebSocket with XMPP
5. Using Messaging over WebSocket with STOMP
6. VNC with the Remote Frame Buffer Protocol
7. WebSocket Security
8. Deployment Considerations
goo.gl/tZZdKa
WIN A COPY!
5. goo.gl/tZZdKa
§ Web Communications Then and Now
§ Web APIs
§ Communications Models, Protocols, Frameworks
§ Where WebSocket Fits
§ IoT/WoT
§ Microservices Transports
§ Cloud Connectivity
Outline – Things to Consider
12. goo.gl/tZZdKa
§ APIs from Everywhere, Consumed by Every [one|thing]
§ ~14K public APIs and even more Mashups
§ programmableweb.com/apis/directory
§ Amazon, Facebook, LinkedIn, AT&T, Google, Microsoft,
NYTimes, Orange, SalesForce, Telefonica, Twitter, Visa,
Vodafone, Bloomberg, NYSE, Thomson-Reuters, etc.
§ Over time, more will be event-based
§ Enterprise and B2B APIs
§ Services… Services… Services…
Explosion of Open Web APIs
13. goo.gl/tZZdKa
Chuck Norris has an API and It can Kill you
% groovy -e
'println new URL("http://api.icndb.com/jokes/random").getText()”
| grep joke | tr -d "{}" | sed -e 's/.*joke": "//' -e 's/".*$//’
Chuck Norris compresses his files by doing a flying round
house kick to the hard drive.
% groovy -e
'println new URL("http://api.icndb.com/jokes/random").getText()”
| grep joke | tr -d "{}" | sed -e 's/.*joke": "//' -e 's/".*$//’
Chuck Norris played Russian Roulette with a fully loaded gun
and won.
14. goo.gl/tZZdKa
Using the Web without a Browser
% REPO=kaazing/gateway
% printf 'As of %s, repo [%s] has %s forksn'
"`date +%D`”
$REPO
`curl --user ”XXXXX:YYYYY" https://api.github.com/repos/$REPO 2>&1
grep -i forks_count |
cut -d: -f2 |
tr -d ,`
As of 10/16/15, repo [kaazing/gateway] has 34 forks
Services integration from anywhere on the planet
to any device.
20. goo.gl/tZZdKa
Web Communication Protocols for Event-Driven World
HTTP/1.1 – 1997
RFC 2068
Great for caching, synchronous req/
resp, XHR for client async polling
(AJAX), Comet for push
HTTP/2 – 2015
RFC 7540
Binary, mux over TCP, header
compression, server can push into
client cache, AJAX/Comet, 30-50%+
WebSocket – 2011
RFC 6455
Binary/Text, full-duplex, persistent
connection, TCP for the Web
JSR 356/JEE7
SSE HTML5 – 2009
W3C
Standardization of Comet (push),
uni-directional, uses HTTP
21. goo.gl/tZZdKa
Web Communication Mechanisms for Event-Driven World
Web Notifications
2015 - W3C
Browser Notifications outside webpage, can
use with Service Workers (and WS)
Push API
2015 - W3C
Scripted access to push data, use with
Service Workers (and WS)
2007
User-defined HTTP callbacks (POST)
Event-driven architecture, non-blocking I/O
API, JS for server
2009
Java/WebSocket JSR 356 – Glassfish OpenMQ
Java/C API
2013-2014
22. goo.gl/tZZdKa
Do I Still Use WebSocket with HTTP/2?
§ WebSocket is not a REST (JAX-RS/Jersey)
replacement.
§ WebSocket is complementary to HTTP (and REST)
§ Simple Notifications can be easily done with HTTP
§ Higher level APIs for Polyglot world Needed (e.g., JS)
§ WebSocket used for Full-duplex Persistent
connection… a TCP for the Web
§ Non-Browser use is where it gets interesting
24. goo.gl/tZZdKa
WebSocket
TCP/IP
JMS XMPP AMQP B2B FTP VNC MQTT etc
Browser and Native Applications
WebSocket
Gateway
Internet
WebSocket
Gateway
Protocol Layering is Possible
WebSocket is a
Transport layer
Protocols are the
key to
Integration
25. goo.gl/tZZdKa
Who handles retries?
How do we handle publish/
subscribe semantics?
How do we handle market data?
How can we guarantee
delivery?
What do we do with slow
consumers, last value cache, etc?
What if the client is not
currently active?
What about partial
data?
How do I handle
entitlements? ACL?
What do Protocols give us?
30. goo.gl/tZZdKa
§ No formal API standards
§ Many protocol standards – interoperability low
§ No common, wide-reaching frameworks
§ No composition possibilities
§ Difficult to leverage economies of scale
§ Barrier to entry is high for millions of app developers
IoT/IIoT – Connectivity isn’t Sufficient
31. goo.gl/tZZdKa
§ IoT – Internet of Things
Embedded computing endowed with Internet connectivity
§ WoT – Web of Things
Application and Services layer over IoT
IoT
WoT
Developers!
Here’s Where the Web Comes In
32. goo.gl/tZZdKa
§ Apply the benefits of the Web to IoT
§ WoT is a uniform interface to access IoT functionality
§ Provides the abstraction for control/monitoring
(sensors/actuators)
§ Accelerates innovation
§ Deployment, development, interoperability, economy of
scale…
Here’s Where the Web Comes In
33. goo.gl/tZZdKa
§ Disadvantages of HTTP Request/Response
§ Lack of resiliency and robustness
§ Enterprise events retrieved by resource intensive polling
techniques
Ø Much bandwidth is wasted
Ø Information can be delayed
§ Composite services brittle and lack transactionality
§ Enterprises learned advantages of ESB 10+ years ago
§ See failures of CORBA, Sun RPC, etc.
§ Clumsy AJAX/Comet workarounds to simulate real-time
But Is HTTP the Right Choice?
34. goo.gl/tZZdKa
“…terse, self-classified
messages, networking overhead
isolated to a specialized tier of
devices, and publish/subscribe
relationships are the only way
to fully distill the power of the
coming Internet of Things” –
Francis daCosta
The Message is the Medium
35. goo.gl/tZZdKa
Typically an App
Server and DB
App Server is
probably not the
right
architecture
Human
Web
WoT
Large data to client
Small data to server
Data Flow – Human Web vs WoT
Do human-readable protocols make sense for non-humans?
37. goo.gl/tZZdKa
Why are we talking about Microservices?
§ It’s an SOA (lightweight SOA)
§ It’s SOA without WS-*, SOAP, etc, crap
§ Older technique now useful with modern
infrastructure
§ An App is a Collection of Services
§ Nothing really “micro” about Microservices
§ If you need more than two pizzas to feed the
team with the largest service, its not small
enough
38. goo.gl/tZZdKa
Monoliths vs Microservices
§ Long builds, complex internals, scale issues
§ Scale by replicating entire monolith on multiple
servers
§ Hard to modify
§ Not necessarily bad – depends on team
Monoliths
39. goo.gl/tZZdKa
Monoliths vs Microservices
§ Small services – more agile
§ Scale by replicating services
§ Independent distributed services
§ The Unix way
§ % cat myfile | tr "A-Z" "a-z" | tr -cs 'a-z' 'n' | sort | uniq
§ Requires more management
§ Still early
Microservices
But we’ve had this idea for a while…
Let’s take a step back
41. goo.gl/tZZdKa
History of Separate, Protected Environments
• IBM VM/370 – 1972
• hypervisor emulated a machine
• Separate addr space, virtual devices, fs
• Unix chroot(2) – 1979 Unix V7
• Created a virtual root of fs
• Useful for testing a clean environment
• Shared users, procs, network – imperfect
• BSD Jails - 2000
• Virtual root fs, hostname, IP addr, users, su
• Still shared host OS
42. goo.gl/tZZdKa
History of Separate, Protected Environments
• Solaris – Zones/Containers - 2004
• Totally isolated, secure system resources
• “Zones” renamed “Containers” then back to “Zones”
• Separate CPU resources, memory and network
• Very low overhead. No hypervisor required
• LXC – Linux Containers – 2008
• Run multiple Linux instances on a single Linux
• Uses cgroups – to manage cpu, memory, i/o, of a
collection of processes
• Docker – 2013
• Auto deployment
• Adds its own libcontainer for linux virtualization
• Rides PaaS trend
43. goo.gl/tZZdKa
Containers vs Virtual Machines (VM)
Server
Host OS
Hypervisor
Server
Host OS
Guest OS Guest OS Guest OS
bin/libs bin/libs bin/libs
App A App B App C
bin/libs
App
A
App
B
bin/libs
App
C
App
D
App
E
container container
44. goo.gl/tZZdKa
Containers vs Virtual Machines (VM)
Server
Host OS
Hypervisor
Server
Host OS
Guest OS Guest OS Guest OS
bin/libs bin/libs bin/libs
App A App B App C
bin/libs
App
A
App
B
bin/libs
App
C
App
D
App
E
container container
Container Engine
45. goo.gl/tZZdKa
Clouds and Microservices – the bottom line
§ More services per an OS
§ Greater Services Mobility – dev and ops
§ Easier application patching
§ Faster provisioning
§ 10 min for VM, 10 sec (or less) for microservice
§ Container internals visible to help maximize
optimization
§ Avoids cloud framework lock
§ Intercloud portability
§ Allows services to be located most appropriate
part of architecture
§ Allows policies to be applied per container
46. goo.gl/tZZdKa
Clouds and Microservices – the bottom line
§ The Microservices Synchronicity Penalty
§ Many ecommerce sites use 150-200
microservices for personalization. Amazon.com
§ Many are REST-based… ie, synchronous (wait for
a reply). And many are chained, so the penalty
is additive.
§ Significant resources are needed for high levels
of scalability (S = G/C)
48. goo.gl/tZZdKa
Enterprise
Customer
Service
• Access must be on-demand, secure and real-time
• Requires lengthy VPN installation process, open ports or worse
Service
Cloud services frequently require on-premises access
VPN
TCP
WebSocket for Hybrid Cloud Connectivity
51. goo.gl/tZZdKa
1. Introduction to HTML5 WebSocket
2. The WebSocket API
3. The WebSocket Protocol
4. Building Instant Messaging and Chat over
WebSocket with XMPP
5. Using Messaging over WebSocket with STOMP
6. VNC with the Remote Frame Buffer Protocol
7. WebSocket Security
8. Deployment Considerations
goo.gl/ebiksb
WIN A COPY!
56. goo.gl/tZZdKa
In a single 3½ hour race,
[racing company] broadcasts
over 6 times as many messages
as Twitter does in an entire day
Twitter
Traffic
(Daily)
NASCAR
Traffic
(One race)
0
1 billion
2 billion
3 billion
Messagesperday
1.5 billion
2.5 billion
3.5 billion
0.5 billion
Over a Billion Messages an Hour
65. goo.gl/tZZdKa
1. Introduction to HTML5 WebSocket
2. The WebSocket API
3. The WebSocket Protocol
4. Building Instant Messaging and Chat over
WebSocket with XMPP
5. Using Messaging over WebSocket with STOMP
6. VNC with the Remote Frame Buffer Protocol
7. WebSocket Security
8. Deployment Considerations
goo.gl/ebiksb
WIN A COPY!