SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
ROME 27-28 march 2015
Fully Reactive
From Data to UI
with OrientDB + Node.js + Socket.io
Director of Consulting
Orient Technologies LTD
The company behind OrientDB
Twitter: @ldellaquila
Luigi Dell’Aquila
ROME 27-28 march 2015 - Luigi Dell’Aquila
From Wikipedia
reactive programming is a
programming paradigm oriented
around data flows and the
propagation of change
ROME 27-28 march 2015 - Luigi Dell’Aquila
Propagation of change
A = 1
B = 3
C = A + B // C == 4
ROME 27-28 march 2015 - Luigi Dell’Aquila
Propagation of change
A = 1
B = 3
C = A + B // C == 4
A = 2
ROME 27-28 march 2015 - Luigi Dell’Aquila
Propagation of change
A = 1
B = 3
C = A + B // C == 4
A = 2
C == ?
ROME 27-28 march 2015 - Luigi Dell’Aquila
So it’s about
Programming
Isn’t it…?
ROME 27-28 march 2015 - Luigi Dell’Aquila
From Reactive Manifesto
Reactive systems are:
ROME 27-28 march 2015 - Luigi Dell’Aquila
From Reactive Manifesto
Reactive systems are:
UX
ROME 27-28 march 2015 - Luigi Dell’Aquila
From Reactive Manifesto
Reactive systems are:
Infrastructure
ROME 27-28 march 2015 - Luigi Dell’Aquila
From Reactive Manifesto
Reactive systems are:
Programming paradigm?
ROME 27-28 march 2015 - Luigi Dell’Aquila
So it’s about
Systems!
ROME 27-28 march 2015 - Luigi Dell’Aquila
Application
ROME 27-28 march 2015 - Luigi Dell’Aquila
UI/UX
Application
ROME 27-28 march 2015 - Luigi Dell’Aquila
UI/UX
Application
Data(base)
ROME 27-28 march 2015 - Luigi Dell’Aquila
UI/UX
Application
Data(base)
ROME 27-28 march 2015 - Luigi Dell’Aquila
UI/UX
Application
Data(base)
UI/UX
Application
Data(base)
UI/UX
Application
Data(base)
ROME 27-28 march 2015 - Luigi Dell’Aquila
Time to
Code
ROME 27-28 march 2015 - Luigi Dell’Aquila
ROME 27-28 march 2015 - Luigi Dell’Aquila
Socket.IO enables real-time bidirectional event-based communication.
It works on every platform, browser or device,
focusing equally on reliability and speed.
ROME 27-28 march 2015 - Luigi Dell’Aquila
Node.js® is a platform built on Chrome's JavaScript runtime
for easily building fast, scalable network applications.
Node.js uses an event-driven, non-blocking I/O model that makes it
lightweight and efficient, perfect for data-intensive real-time applications
that run across distributed devices.
ROME 27-28 march 2015 - Luigi Dell’Aquila
OrientDB is a 2nd Generation Distributed Graph Database
with the flexibility of Documents in one product
and an Open Source commercial friendly license (Apache 2)
ROME 27-28 march 2015 - Luigi Dell’Aquila
Let’s Start
(Fully reactive chat in 30 LOC)
ROME 27-28 march 2015 - Luigi Dell’Aquila
package.json
{
"name": "codemotion",
"version": "1.0.0",
"description": "Here we are",
"dependencies": {
}
}
ROME 27-28 march 2015 - Luigi Dell’Aquila
> npm install --save express@4.10.2
> npm install --save socket.io
ROME 27-28 march 2015 - Luigi Dell’Aquila
ROME 27-28 march 2015 - Luigi Dell’Aquila
ROME 27-28 march 2015 - Luigi Dell’Aquila
Live…
ROME 27-28 march 2015 - Luigi Dell’Aquila
Install OrientDB
(experimental branch, will be released soon)
https://github.com/orientechnologies/orientdb/tree/livequery
> ant clean install
ROME 27-28 march 2015 - Luigi Dell’Aquila
Install Oriento (OrientDB driver for Node.js)
> npm install git://github.com/luigidellaquila/oriento#livequery
(will be)
> npm install oriento
Please, have a little patience, it’s still bleeding edge ;-)
Everything will be officially released in a few weeks.
ROME 27-28 march 2015 - Luigi Dell’Aquila
Execurte live query:
You can provide three callback functions
•One for insert
•One for update
•One for delete
They will be invoked every time an insert/update/delete operation
is executed in the database (push to the application, asynchronous)
ROME 27-28 march 2015 - Luigi Dell’Aquila
ROME 27-28 march 2015 - Luigi Dell’Aquila
And… elastic, resilient…
Do you remember?
ROME 27-28 march 2015 - Luigi Dell’Aquila
HAZELCASTHAZELCAST HAZELCASTHAZELCAST
HAZELCASTHAZELCAST
Multi Master
ROME 27-28 march 2015 - Luigi Dell’Aquila
HAZELCASTHAZELCAST HAZELCASTHAZELCAST
AsyncAsync
Async
Async
Async
Async
ROME 27-28 march 2015 - Luigi Dell’Aquila
References
Official Website
http://www.orientechnologies.com
Public Repository
http://github.com/orientechnologies/orientdb
Free on-line training
http://www.orientechnologies.com/training/
ROME 27-28 march 2015 - Luigi Dell’Aquila
Questions?
ROME 27-28 march 2015 - Luigi Dell’Aquila
Leave your feedback on Joind.in!
https://joind.in/event/view/3347

Contenu connexe

Similaire à ​Fully Reactive - from Data to UI with OrientDB + Node.js + Socket.io

Fully Reactive - from Data to UI with OrientDB + Node.js + Socket.io - Luigi ...
Fully Reactive - from Data to UI with OrientDB + Node.js + Socket.io - Luigi ...Fully Reactive - from Data to UI with OrientDB + Node.js + Socket.io - Luigi ...
Fully Reactive - from Data to UI with OrientDB + Node.js + Socket.io - Luigi ...Codemotion
 
Codemotion Rome 2015 - Microservices with IBM Bluemix and DevOps Services
Codemotion Rome 2015 - Microservices with IBM Bluemix and DevOps ServicesCodemotion Rome 2015 - Microservices with IBM Bluemix and DevOps Services
Codemotion Rome 2015 - Microservices with IBM Bluemix and DevOps Servicesgjuljo
 
Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015
Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015
Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015Codemotion
 
Codemotion Rome 2015 IBM Bluemix and Docker
Codemotion Rome 2015 IBM Bluemix and DockerCodemotion Rome 2015 IBM Bluemix and Docker
Codemotion Rome 2015 IBM Bluemix and Dockergjuljo
 
AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...
AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...
AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...Codemotion
 
Agile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse DuttileAgile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse DuttileFelice Pescatore
 
Meetup OpenTelemetry Intro
Meetup OpenTelemetry IntroMeetup OpenTelemetry Intro
Meetup OpenTelemetry IntroDimitrisFinas1
 
Microsoft ♥ Open Source
Microsoft ♥ Open SourceMicrosoft ♥ Open Source
Microsoft ♥ Open SourceRicardo Peres
 
JavaScript Power Tools 2015 - Marcello Teodori - Codemotion Rome 2015
JavaScript Power Tools 2015 - Marcello Teodori - Codemotion Rome 2015JavaScript Power Tools 2015 - Marcello Teodori - Codemotion Rome 2015
JavaScript Power Tools 2015 - Marcello Teodori - Codemotion Rome 2015Codemotion
 
JavaScript Power Tools 2015
JavaScript Power Tools 2015JavaScript Power Tools 2015
JavaScript Power Tools 2015Marcello Teodori
 
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...Hugo Bruneliere
 
IPT High Performance Reactive Programming with JAVA 8 and JavaScript
IPT High Performance Reactive Programming with JAVA 8 and JavaScriptIPT High Performance Reactive Programming with JAVA 8 and JavaScript
IPT High Performance Reactive Programming with JAVA 8 and JavaScriptTrayan Iliev
 
How to develop a novel wearable product?
How to develop a novel wearable product?   How to develop a novel wearable product?
How to develop a novel wearable product? Ruth Thomson
 
LINEデリマでのElasticsearchの運用と監視の話
LINEデリマでのElasticsearchの運用と監視の話LINEデリマでのElasticsearchの運用と監視の話
LINEデリマでのElasticsearchの運用と監視の話LINE Corporation
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Ian Skerrett
 
Kubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 UpdateKubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 UpdateMatthew Farina
 
Docker - Automatic Deployment for Dummies
Docker - Automatic Deployment for DummiesDocker - Automatic Deployment for Dummies
Docker - Automatic Deployment for DummiesGeeks Anonymes
 
Open Source M2M IoT Gateways
Open Source M2M IoT GatewaysOpen Source M2M IoT Gateways
Open Source M2M IoT GatewaysEurotech
 
Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?Michael O'Sullivan
 

Similaire à ​Fully Reactive - from Data to UI with OrientDB + Node.js + Socket.io (20)

Fully Reactive - from Data to UI with OrientDB + Node.js + Socket.io - Luigi ...
Fully Reactive - from Data to UI with OrientDB + Node.js + Socket.io - Luigi ...Fully Reactive - from Data to UI with OrientDB + Node.js + Socket.io - Luigi ...
Fully Reactive - from Data to UI with OrientDB + Node.js + Socket.io - Luigi ...
 
Codemotion Rome 2015 - Microservices with IBM Bluemix and DevOps Services
Codemotion Rome 2015 - Microservices with IBM Bluemix and DevOps ServicesCodemotion Rome 2015 - Microservices with IBM Bluemix and DevOps Services
Codemotion Rome 2015 - Microservices with IBM Bluemix and DevOps Services
 
Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015
Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015
Clocker, the Docker Cloud Maker - Andrea Turli - Codemotion Rome 2015
 
Codemotion Rome 2015 IBM Bluemix and Docker
Codemotion Rome 2015 IBM Bluemix and DockerCodemotion Rome 2015 IBM Bluemix and Docker
Codemotion Rome 2015 IBM Bluemix and Docker
 
AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...
AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...
AngularJS 2.0: A natural evolvement or a new beginning - Boyan Mihaylov - Cod...
 
Agile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse DuttileAgile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse Duttile
 
Meetup OpenTelemetry Intro
Meetup OpenTelemetry IntroMeetup OpenTelemetry Intro
Meetup OpenTelemetry Intro
 
Microsoft ♥ Open Source
Microsoft ♥ Open SourceMicrosoft ♥ Open Source
Microsoft ♥ Open Source
 
JavaScript Power Tools 2015 - Marcello Teodori - Codemotion Rome 2015
JavaScript Power Tools 2015 - Marcello Teodori - Codemotion Rome 2015JavaScript Power Tools 2015 - Marcello Teodori - Codemotion Rome 2015
JavaScript Power Tools 2015 - Marcello Teodori - Codemotion Rome 2015
 
JavaScript Power Tools 2015
JavaScript Power Tools 2015JavaScript Power Tools 2015
JavaScript Power Tools 2015
 
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...
 
IPT High Performance Reactive Programming with JAVA 8 and JavaScript
IPT High Performance Reactive Programming with JAVA 8 and JavaScriptIPT High Performance Reactive Programming with JAVA 8 and JavaScript
IPT High Performance Reactive Programming with JAVA 8 and JavaScript
 
How to develop a novel wearable product?
How to develop a novel wearable product?   How to develop a novel wearable product?
How to develop a novel wearable product?
 
How to develop a wearable
How to develop a wearableHow to develop a wearable
How to develop a wearable
 
LINEデリマでのElasticsearchの運用と監視の話
LINEデリマでのElasticsearchの運用と監視の話LINEデリマでのElasticsearchの運用と監視の話
LINEデリマでのElasticsearchの運用と監視の話
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015
 
Kubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 UpdateKubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 Update
 
Docker - Automatic Deployment for Dummies
Docker - Automatic Deployment for DummiesDocker - Automatic Deployment for Dummies
Docker - Automatic Deployment for Dummies
 
Open Source M2M IoT Gateways
Open Source M2M IoT GatewaysOpen Source M2M IoT Gateways
Open Source M2M IoT Gateways
 
Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?
 

Plus de Luigi Dell'Aquila

Geospatial Graphs made easy with OrientDB - Codemotion Milan 2016
Geospatial Graphs made easy with OrientDB - Codemotion Milan 2016Geospatial Graphs made easy with OrientDB - Codemotion Milan 2016
Geospatial Graphs made easy with OrientDB - Codemotion Milan 2016Luigi Dell'Aquila
 
Geospatial Graphs made easy with OrientDB - Codemotion Spain
Geospatial Graphs made easy with OrientDB - Codemotion SpainGeospatial Graphs made easy with OrientDB - Codemotion Spain
Geospatial Graphs made easy with OrientDB - Codemotion SpainLuigi Dell'Aquila
 
GeeCON Prague 2016 - Geospatial Graphs made easy with OrientDB
GeeCON Prague 2016 - Geospatial Graphs made easy with OrientDBGeeCON Prague 2016 - Geospatial Graphs made easy with OrientDB
GeeCON Prague 2016 - Geospatial Graphs made easy with OrientDBLuigi Dell'Aquila
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016Luigi Dell'Aquila
 
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016Luigi Dell'Aquila
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - J On The Beach 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL  - J On The Beach 2016OrientDB - the 2nd generation of (Multi-Model) NoSQL  - J On The Beach 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - J On The Beach 2016Luigi Dell'Aquila
 
OrientDB - Voxxed Days Berlin 2016
OrientDB - Voxxed Days Berlin 2016OrientDB - Voxxed Days Berlin 2016
OrientDB - Voxxed Days Berlin 2016Luigi Dell'Aquila
 
OrientDB - Voxxed Days Berlin 2016
OrientDB - Voxxed Days Berlin 2016OrientDB - Voxxed Days Berlin 2016
OrientDB - Voxxed Days Berlin 2016Luigi Dell'Aquila
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015
OrientDB - the 2nd generation  of  (Multi-Model) NoSQL - Devoxx Belgium 2015OrientDB - the 2nd generation  of  (Multi-Model) NoSQL - Devoxx Belgium 2015
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015Luigi Dell'Aquila
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL
OrientDB - the 2nd generation  of  (Multi-Model) NoSQLOrientDB - the 2nd generation  of  (Multi-Model) NoSQL
OrientDB - the 2nd generation of (Multi-Model) NoSQLLuigi Dell'Aquila
 
OrientDB - Time Series and Event Sequences - Codemotion Milan 2014
OrientDB - Time Series and Event Sequences - Codemotion Milan 2014OrientDB - Time Series and Event Sequences - Codemotion Milan 2014
OrientDB - Time Series and Event Sequences - Codemotion Milan 2014Luigi Dell'Aquila
 
OrientDB - cloud barcamp Libero Cloud
OrientDB - cloud barcamp Libero CloudOrientDB - cloud barcamp Libero Cloud
OrientDB - cloud barcamp Libero CloudLuigi Dell'Aquila
 
Orient DB on the cloud - Cloud Party 2013
Orient DB on the cloud - Cloud Party 2013Orient DB on the cloud - Cloud Party 2013
Orient DB on the cloud - Cloud Party 2013Luigi Dell'Aquila
 

Plus de Luigi Dell'Aquila (15)

Geospatial Graphs made easy with OrientDB - Codemotion Milan 2016
Geospatial Graphs made easy with OrientDB - Codemotion Milan 2016Geospatial Graphs made easy with OrientDB - Codemotion Milan 2016
Geospatial Graphs made easy with OrientDB - Codemotion Milan 2016
 
Geospatial Graphs made easy with OrientDB - Codemotion Spain
Geospatial Graphs made easy with OrientDB - Codemotion SpainGeospatial Graphs made easy with OrientDB - Codemotion Spain
Geospatial Graphs made easy with OrientDB - Codemotion Spain
 
GeeCON Prague 2016 - Geospatial Graphs made easy with OrientDB
GeeCON Prague 2016 - Geospatial Graphs made easy with OrientDBGeeCON Prague 2016 - Geospatial Graphs made easy with OrientDB
GeeCON Prague 2016 - Geospatial Graphs made easy with OrientDB
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
 
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - J On The Beach 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL  - J On The Beach 2016OrientDB - the 2nd generation of (Multi-Model) NoSQL  - J On The Beach 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - J On The Beach 2016
 
OrientDB - Voxxed Days Berlin 2016
OrientDB - Voxxed Days Berlin 2016OrientDB - Voxxed Days Berlin 2016
OrientDB - Voxxed Days Berlin 2016
 
OrientDB - Voxxed Days Berlin 2016
OrientDB - Voxxed Days Berlin 2016OrientDB - Voxxed Days Berlin 2016
OrientDB - Voxxed Days Berlin 2016
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015
OrientDB - the 2nd generation  of  (Multi-Model) NoSQL - Devoxx Belgium 2015OrientDB - the 2nd generation  of  (Multi-Model) NoSQL - Devoxx Belgium 2015
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Devoxx Belgium 2015
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL
OrientDB - the 2nd generation  of  (Multi-Model) NoSQLOrientDB - the 2nd generation  of  (Multi-Model) NoSQL
OrientDB - the 2nd generation of (Multi-Model) NoSQL
 
OrientDB - Time Series and Event Sequences - Codemotion Milan 2014
OrientDB - Time Series and Event Sequences - Codemotion Milan 2014OrientDB - Time Series and Event Sequences - Codemotion Milan 2014
OrientDB - Time Series and Event Sequences - Codemotion Milan 2014
 
OrientDB meetup roma 2014
OrientDB meetup roma 2014OrientDB meetup roma 2014
OrientDB meetup roma 2014
 
OrientDB Codemotion 2014
OrientDB Codemotion 2014OrientDB Codemotion 2014
OrientDB Codemotion 2014
 
OrientDB - cloud barcamp Libero Cloud
OrientDB - cloud barcamp Libero CloudOrientDB - cloud barcamp Libero Cloud
OrientDB - cloud barcamp Libero Cloud
 
Orient DB on the cloud - Cloud Party 2013
Orient DB on the cloud - Cloud Party 2013Orient DB on the cloud - Cloud Party 2013
Orient DB on the cloud - Cloud Party 2013
 

Dernier

What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdfSteve Caron
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...kalichargn70th171
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxAS Design & AST.
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 

Dernier (20)

What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptx
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 

​Fully Reactive - from Data to UI with OrientDB + Node.js + Socket.io

  • 1. ROME 27-28 march 2015 Fully Reactive From Data to UI with OrientDB + Node.js + Socket.io Director of Consulting Orient Technologies LTD The company behind OrientDB Twitter: @ldellaquila Luigi Dell’Aquila
  • 2. ROME 27-28 march 2015 - Luigi Dell’Aquila From Wikipedia reactive programming is a programming paradigm oriented around data flows and the propagation of change
  • 3. ROME 27-28 march 2015 - Luigi Dell’Aquila Propagation of change A = 1 B = 3 C = A + B // C == 4
  • 4. ROME 27-28 march 2015 - Luigi Dell’Aquila Propagation of change A = 1 B = 3 C = A + B // C == 4 A = 2
  • 5. ROME 27-28 march 2015 - Luigi Dell’Aquila Propagation of change A = 1 B = 3 C = A + B // C == 4 A = 2 C == ?
  • 6. ROME 27-28 march 2015 - Luigi Dell’Aquila So it’s about Programming Isn’t it…?
  • 7. ROME 27-28 march 2015 - Luigi Dell’Aquila From Reactive Manifesto Reactive systems are:
  • 8. ROME 27-28 march 2015 - Luigi Dell’Aquila From Reactive Manifesto Reactive systems are: UX
  • 9. ROME 27-28 march 2015 - Luigi Dell’Aquila From Reactive Manifesto Reactive systems are: Infrastructure
  • 10. ROME 27-28 march 2015 - Luigi Dell’Aquila From Reactive Manifesto Reactive systems are: Programming paradigm?
  • 11. ROME 27-28 march 2015 - Luigi Dell’Aquila So it’s about Systems!
  • 12. ROME 27-28 march 2015 - Luigi Dell’Aquila Application
  • 13. ROME 27-28 march 2015 - Luigi Dell’Aquila UI/UX Application
  • 14. ROME 27-28 march 2015 - Luigi Dell’Aquila UI/UX Application Data(base)
  • 15. ROME 27-28 march 2015 - Luigi Dell’Aquila UI/UX Application Data(base)
  • 16. ROME 27-28 march 2015 - Luigi Dell’Aquila UI/UX Application Data(base) UI/UX Application Data(base) UI/UX Application Data(base)
  • 17. ROME 27-28 march 2015 - Luigi Dell’Aquila Time to Code
  • 18. ROME 27-28 march 2015 - Luigi Dell’Aquila
  • 19. ROME 27-28 march 2015 - Luigi Dell’Aquila Socket.IO enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.
  • 20. ROME 27-28 march 2015 - Luigi Dell’Aquila Node.js® is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
  • 21. ROME 27-28 march 2015 - Luigi Dell’Aquila OrientDB is a 2nd Generation Distributed Graph Database with the flexibility of Documents in one product and an Open Source commercial friendly license (Apache 2)
  • 22. ROME 27-28 march 2015 - Luigi Dell’Aquila Let’s Start (Fully reactive chat in 30 LOC)
  • 23. ROME 27-28 march 2015 - Luigi Dell’Aquila package.json { "name": "codemotion", "version": "1.0.0", "description": "Here we are", "dependencies": { } }
  • 24. ROME 27-28 march 2015 - Luigi Dell’Aquila > npm install --save express@4.10.2 > npm install --save socket.io
  • 25. ROME 27-28 march 2015 - Luigi Dell’Aquila
  • 26. ROME 27-28 march 2015 - Luigi Dell’Aquila
  • 27. ROME 27-28 march 2015 - Luigi Dell’Aquila Live…
  • 28. ROME 27-28 march 2015 - Luigi Dell’Aquila Install OrientDB (experimental branch, will be released soon) https://github.com/orientechnologies/orientdb/tree/livequery > ant clean install
  • 29. ROME 27-28 march 2015 - Luigi Dell’Aquila Install Oriento (OrientDB driver for Node.js) > npm install git://github.com/luigidellaquila/oriento#livequery (will be) > npm install oriento Please, have a little patience, it’s still bleeding edge ;-) Everything will be officially released in a few weeks.
  • 30. ROME 27-28 march 2015 - Luigi Dell’Aquila Execurte live query: You can provide three callback functions •One for insert •One for update •One for delete They will be invoked every time an insert/update/delete operation is executed in the database (push to the application, asynchronous)
  • 31. ROME 27-28 march 2015 - Luigi Dell’Aquila
  • 32. ROME 27-28 march 2015 - Luigi Dell’Aquila And… elastic, resilient… Do you remember?
  • 33. ROME 27-28 march 2015 - Luigi Dell’Aquila HAZELCASTHAZELCAST HAZELCASTHAZELCAST HAZELCASTHAZELCAST Multi Master
  • 34. ROME 27-28 march 2015 - Luigi Dell’Aquila HAZELCASTHAZELCAST HAZELCASTHAZELCAST AsyncAsync Async Async Async Async
  • 35. ROME 27-28 march 2015 - Luigi Dell’Aquila References Official Website http://www.orientechnologies.com Public Repository http://github.com/orientechnologies/orientdb Free on-line training http://www.orientechnologies.com/training/
  • 36. ROME 27-28 march 2015 - Luigi Dell’Aquila Questions?
  • 37. ROME 27-28 march 2015 - Luigi Dell’Aquila Leave your feedback on Joind.in! https://joind.in/event/view/3347