SlideShare a Scribd company logo
1 of 37
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

More Related Content

Similar to ​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
 

Similar to ​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?
 

More from 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
 

More from 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
 

Recently uploaded

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 

Recently uploaded (20)

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 

​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