Submit Search
Upload
Node.js Ripple OSI Middle Tier Demo
•
0 likes
•
720 views
AI-enhanced title
R
Rob Tweed
Follow
This presentation provides details about the technology behind the Ripple OSI Middle Tier
Read less
Read more
Software
Report
Share
Report
Share
1 of 52
Download now
Download to read offline
Recommended
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
Rob Tweed
EWD 3 Training Course Part 1: How Node.js Integrates With Global Storage Data...
EWD 3 Training Course Part 1: How Node.js Integrates With Global Storage Data...
Rob Tweed
QEWD.js: Have your Node.js Cake and Eat It Too
QEWD.js: Have your Node.js Cake and Eat It Too
Rob Tweed
EWD 3 Training Course Part 4: Installing & Configuring QEWD
EWD 3 Training Course Part 4: Installing & Configuring QEWD
Rob Tweed
QEWD.js, JSON Web Tokens & MicroServices
QEWD.js, JSON Web Tokens & MicroServices
Rob Tweed
EWD 3 Training Course Part 44: Creating MicroServices with QEWD.js
EWD 3 Training Course Part 44: Creating MicroServices with QEWD.js
Rob Tweed
EWD 3 Training Course Part 30: Modularising QEWD Applications
EWD 3 Training Course Part 30: Modularising QEWD Applications
Rob Tweed
EWD 3 Training Course Part 45: Using QEWD's Advanced MicroService Functionality
EWD 3 Training Course Part 45: Using QEWD's Advanced MicroService Functionality
Rob Tweed
Recommended
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
Rob Tweed
EWD 3 Training Course Part 1: How Node.js Integrates With Global Storage Data...
EWD 3 Training Course Part 1: How Node.js Integrates With Global Storage Data...
Rob Tweed
QEWD.js: Have your Node.js Cake and Eat It Too
QEWD.js: Have your Node.js Cake and Eat It Too
Rob Tweed
EWD 3 Training Course Part 4: Installing & Configuring QEWD
EWD 3 Training Course Part 4: Installing & Configuring QEWD
Rob Tweed
QEWD.js, JSON Web Tokens & MicroServices
QEWD.js, JSON Web Tokens & MicroServices
Rob Tweed
EWD 3 Training Course Part 44: Creating MicroServices with QEWD.js
EWD 3 Training Course Part 44: Creating MicroServices with QEWD.js
Rob Tweed
EWD 3 Training Course Part 30: Modularising QEWD Applications
EWD 3 Training Course Part 30: Modularising QEWD Applications
Rob Tweed
EWD 3 Training Course Part 45: Using QEWD's Advanced MicroService Functionality
EWD 3 Training Course Part 45: Using QEWD's Advanced MicroService Functionality
Rob Tweed
LNUG: Having Your Node.js Cake and Eating It Too
LNUG: Having Your Node.js Cake and Eating It Too
Rob Tweed
EWD 3 Training Course Part 42: The QEWD Docker Appliance
EWD 3 Training Course Part 42: The QEWD Docker Appliance
Rob Tweed
EWD 3 Training Course Part 2: EWD 3 Overview
EWD 3 Training Course Part 2: EWD 3 Overview
Rob Tweed
EWD 3 Training Course Part 8: Anatomy of the QEWD Messaging Cycle
EWD 3 Training Course Part 8: Anatomy of the QEWD Messaging Cycle
Rob Tweed
EWD 3 Training Course Part 34: QEWD Resilient Mode
EWD 3 Training Course Part 34: QEWD Resilient Mode
Rob Tweed
QEWD Update
QEWD Update
Rob Tweed
EWD 3 Training Course Part 15: Using a Framework other than jQuery with QEWD
EWD 3 Training Course Part 15: Using a Framework other than jQuery with QEWD
Rob Tweed
EWD 3 Training Course Part 3: Summary of EWD 3 Modules
EWD 3 Training Course Part 3: Summary of EWD 3 Modules
Rob Tweed
EWD 3 Training Course Part 37: Building a React.js application with ewd-xpres...
EWD 3 Training Course Part 37: Building a React.js application with ewd-xpres...
Rob Tweed
Data Persistence as a Language Feature
Data Persistence as a Language Feature
Rob Tweed
EWD 3 Training Course Part 19: The cache.node APIs
EWD 3 Training Course Part 19: The cache.node APIs
Rob Tweed
EWD.js: The Future Starts Here
EWD.js: The Future Starts Here
Rob Tweed
EWD 3 Training Course Part 33: Configuring QEWD to use CORS
EWD 3 Training Course Part 33: Configuring QEWD to use CORS
Rob Tweed
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWD
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWD
Rob Tweed
EWD 3 Training Course Part 31: Using QEWD for Web and REST Services
EWD 3 Training Course Part 31: Using QEWD for Web and REST Services
Rob Tweed
EWD 3 Training Course Part 36: Accessing REST and Web Services from a QEWD ap...
EWD 3 Training Course Part 36: Accessing REST and Web Services from a QEWD ap...
Rob Tweed
EWD 3 Training Course Part 27: The QEWD Session
EWD 3 Training Course Part 27: The QEWD Session
Rob Tweed
EWD 3 Training Course Part 5b: First Steps in Building a QEWD Application
EWD 3 Training Course Part 5b: First Steps in Building a QEWD Application
Rob Tweed
EWD 3 Training Course Part 35: QEWD Session Locking
EWD 3 Training Course Part 35: QEWD Session Locking
Rob Tweed
EWD 3 Training Course Part 5a: First Steps in Building a QEWD Application
EWD 3 Training Course Part 5a: First Steps in Building a QEWD Application
Rob Tweed
EWD 3 Training Course Part 16: QEWD Services
EWD 3 Training Course Part 16: QEWD Services
Rob Tweed
PHP as a Service TDC2019
PHP as a Service TDC2019
Paulo Victor Gomes
More Related Content
What's hot
LNUG: Having Your Node.js Cake and Eating It Too
LNUG: Having Your Node.js Cake and Eating It Too
Rob Tweed
EWD 3 Training Course Part 42: The QEWD Docker Appliance
EWD 3 Training Course Part 42: The QEWD Docker Appliance
Rob Tweed
EWD 3 Training Course Part 2: EWD 3 Overview
EWD 3 Training Course Part 2: EWD 3 Overview
Rob Tweed
EWD 3 Training Course Part 8: Anatomy of the QEWD Messaging Cycle
EWD 3 Training Course Part 8: Anatomy of the QEWD Messaging Cycle
Rob Tweed
EWD 3 Training Course Part 34: QEWD Resilient Mode
EWD 3 Training Course Part 34: QEWD Resilient Mode
Rob Tweed
QEWD Update
QEWD Update
Rob Tweed
EWD 3 Training Course Part 15: Using a Framework other than jQuery with QEWD
EWD 3 Training Course Part 15: Using a Framework other than jQuery with QEWD
Rob Tweed
EWD 3 Training Course Part 3: Summary of EWD 3 Modules
EWD 3 Training Course Part 3: Summary of EWD 3 Modules
Rob Tweed
EWD 3 Training Course Part 37: Building a React.js application with ewd-xpres...
EWD 3 Training Course Part 37: Building a React.js application with ewd-xpres...
Rob Tweed
Data Persistence as a Language Feature
Data Persistence as a Language Feature
Rob Tweed
EWD 3 Training Course Part 19: The cache.node APIs
EWD 3 Training Course Part 19: The cache.node APIs
Rob Tweed
EWD.js: The Future Starts Here
EWD.js: The Future Starts Here
Rob Tweed
EWD 3 Training Course Part 33: Configuring QEWD to use CORS
EWD 3 Training Course Part 33: Configuring QEWD to use CORS
Rob Tweed
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWD
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWD
Rob Tweed
EWD 3 Training Course Part 31: Using QEWD for Web and REST Services
EWD 3 Training Course Part 31: Using QEWD for Web and REST Services
Rob Tweed
EWD 3 Training Course Part 36: Accessing REST and Web Services from a QEWD ap...
EWD 3 Training Course Part 36: Accessing REST and Web Services from a QEWD ap...
Rob Tweed
EWD 3 Training Course Part 27: The QEWD Session
EWD 3 Training Course Part 27: The QEWD Session
Rob Tweed
EWD 3 Training Course Part 5b: First Steps in Building a QEWD Application
EWD 3 Training Course Part 5b: First Steps in Building a QEWD Application
Rob Tweed
EWD 3 Training Course Part 35: QEWD Session Locking
EWD 3 Training Course Part 35: QEWD Session Locking
Rob Tweed
EWD 3 Training Course Part 5a: First Steps in Building a QEWD Application
EWD 3 Training Course Part 5a: First Steps in Building a QEWD Application
Rob Tweed
What's hot
(20)
LNUG: Having Your Node.js Cake and Eating It Too
LNUG: Having Your Node.js Cake and Eating It Too
EWD 3 Training Course Part 42: The QEWD Docker Appliance
EWD 3 Training Course Part 42: The QEWD Docker Appliance
EWD 3 Training Course Part 2: EWD 3 Overview
EWD 3 Training Course Part 2: EWD 3 Overview
EWD 3 Training Course Part 8: Anatomy of the QEWD Messaging Cycle
EWD 3 Training Course Part 8: Anatomy of the QEWD Messaging Cycle
EWD 3 Training Course Part 34: QEWD Resilient Mode
EWD 3 Training Course Part 34: QEWD Resilient Mode
QEWD Update
QEWD Update
EWD 3 Training Course Part 15: Using a Framework other than jQuery with QEWD
EWD 3 Training Course Part 15: Using a Framework other than jQuery with QEWD
EWD 3 Training Course Part 3: Summary of EWD 3 Modules
EWD 3 Training Course Part 3: Summary of EWD 3 Modules
EWD 3 Training Course Part 37: Building a React.js application with ewd-xpres...
EWD 3 Training Course Part 37: Building a React.js application with ewd-xpres...
Data Persistence as a Language Feature
Data Persistence as a Language Feature
EWD 3 Training Course Part 19: The cache.node APIs
EWD 3 Training Course Part 19: The cache.node APIs
EWD.js: The Future Starts Here
EWD.js: The Future Starts Here
EWD 3 Training Course Part 33: Configuring QEWD to use CORS
EWD 3 Training Course Part 33: Configuring QEWD to use CORS
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWD
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWD
EWD 3 Training Course Part 31: Using QEWD for Web and REST Services
EWD 3 Training Course Part 31: Using QEWD for Web and REST Services
EWD 3 Training Course Part 36: Accessing REST and Web Services from a QEWD ap...
EWD 3 Training Course Part 36: Accessing REST and Web Services from a QEWD ap...
EWD 3 Training Course Part 27: The QEWD Session
EWD 3 Training Course Part 27: The QEWD Session
EWD 3 Training Course Part 5b: First Steps in Building a QEWD Application
EWD 3 Training Course Part 5b: First Steps in Building a QEWD Application
EWD 3 Training Course Part 35: QEWD Session Locking
EWD 3 Training Course Part 35: QEWD Session Locking
EWD 3 Training Course Part 5a: First Steps in Building a QEWD Application
EWD 3 Training Course Part 5a: First Steps in Building a QEWD Application
Similar to Node.js Ripple OSI Middle Tier Demo
EWD 3 Training Course Part 16: QEWD Services
EWD 3 Training Course Part 16: QEWD Services
Rob Tweed
PHP as a Service TDC2019
PHP as a Service TDC2019
Paulo Victor Gomes
Node on Windows Azure
Node on Windows Azure
Shiju Varghese
Cloud Foundry Open Tour China (english)
Cloud Foundry Open Tour China (english)
marklucovsky
Introduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azure
Colin Mackay
Introduction to Node.js by Vinothini B
Introduction to Node.js by Vinothini B
SPRITLE SOFTWARE PRIVATE LIMIT ED
Cloud Foundry Open Tour China
Cloud Foundry Open Tour China
marklucovsky
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
Geekstone
EWD 3 Training Course Part 17: Introduction to Global Storage Databases
EWD 3 Training Course Part 17: Introduction to Global Storage Databases
Rob Tweed
Intro to Sails.js
Intro to Sails.js
DevOpsDays Austin 2014
Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5
Suyati Technologies
Sst hackathon express
Sst hackathon express
Aeshan Wijetunge
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
VMware Tanzu
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft Azure
Brian Benz
JavaOne 2014: Java vs JavaScript
JavaOne 2014: Java vs JavaScript
Chris Bailey
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
Ido Flatow
betterCode Workshop: Effizientes DevOps-Tooling mit Go
betterCode Workshop: Effizientes DevOps-Tooling mit Go
QAware GmbH
Intro to HTTP and Node.js
Intro to HTTP and Node.js
Jean-Luc David
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
Microsoft
Beginners Node.js
Beginners Node.js
Khaled Mosharraf
Similar to Node.js Ripple OSI Middle Tier Demo
(20)
EWD 3 Training Course Part 16: QEWD Services
EWD 3 Training Course Part 16: QEWD Services
PHP as a Service TDC2019
PHP as a Service TDC2019
Node on Windows Azure
Node on Windows Azure
Cloud Foundry Open Tour China (english)
Cloud Foundry Open Tour China (english)
Introduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azure
Introduction to Node.js by Vinothini B
Introduction to Node.js by Vinothini B
Cloud Foundry Open Tour China
Cloud Foundry Open Tour China
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
EWD 3 Training Course Part 17: Introduction to Global Storage Databases
EWD 3 Training Course Part 17: Introduction to Global Storage Databases
Intro to Sails.js
Intro to Sails.js
Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5
Sst hackathon express
Sst hackathon express
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
Best Practices for couchDB developers on Microsoft Azure
Best Practices for couchDB developers on Microsoft Azure
JavaOne 2014: Java vs JavaScript
JavaOne 2014: Java vs JavaScript
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
betterCode Workshop: Effizientes DevOps-Tooling mit Go
betterCode Workshop: Effizientes DevOps-Tooling mit Go
Intro to HTTP and Node.js
Intro to HTTP and Node.js
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
Beginners Node.js
Beginners Node.js
More from Rob Tweed
EWD 3 Training Course Part 43: Using JSON Web Tokens with QEWD REST Services
EWD 3 Training Course Part 43: Using JSON Web Tokens with QEWD REST Services
Rob Tweed
EWD 3 Training Course Part 41: Building a React.js application with QEWD, Part 5
EWD 3 Training Course Part 41: Building a React.js application with QEWD, Part 5
Rob Tweed
EWD 3 Training Course Part 38: Building a React.js application with QEWD, Part 4
EWD 3 Training Course Part 38: Building a React.js application with QEWD, Part 4
Rob Tweed
EWD 3 Training Course Part 39: Building a React.js application with QEWD, Part 3
EWD 3 Training Course Part 39: Building a React.js application with QEWD, Part 3
Rob Tweed
EWD 3 Training Course Part 38: Building a React.js application with QEWD, Part 2
EWD 3 Training Course Part 38: Building a React.js application with QEWD, Part 2
Rob Tweed
EWD 3 Training Course Part 32: Configuring QEWD to use SSL/HTTPS
EWD 3 Training Course Part 32: Configuring QEWD to use SSL/HTTPS
Rob Tweed
EWD 3 Training Course Part 29: Running QEWD as a Service
EWD 3 Training Course Part 29: Running QEWD as a Service
Rob Tweed
EWD 3 Training Course Part 26: Event-driven Indexing
EWD 3 Training Course Part 26: Event-driven Indexing
Rob Tweed
EWD 3 Training Course Part 25: Document Database Capabilities
EWD 3 Training Course Part 25: Document Database Capabilities
Rob Tweed
EWD 3 Training Course Part 24: Traversing a Document's Leaf Nodes
EWD 3 Training Course Part 24: Traversing a Document's Leaf Nodes
Rob Tweed
EWD 3 Training Course Part 23: Traversing a Range using DocumentNode Objects
EWD 3 Training Course Part 23: Traversing a Range using DocumentNode Objects
Rob Tweed
More from Rob Tweed
(11)
EWD 3 Training Course Part 43: Using JSON Web Tokens with QEWD REST Services
EWD 3 Training Course Part 43: Using JSON Web Tokens with QEWD REST Services
EWD 3 Training Course Part 41: Building a React.js application with QEWD, Part 5
EWD 3 Training Course Part 41: Building a React.js application with QEWD, Part 5
EWD 3 Training Course Part 38: Building a React.js application with QEWD, Part 4
EWD 3 Training Course Part 38: Building a React.js application with QEWD, Part 4
EWD 3 Training Course Part 39: Building a React.js application with QEWD, Part 3
EWD 3 Training Course Part 39: Building a React.js application with QEWD, Part 3
EWD 3 Training Course Part 38: Building a React.js application with QEWD, Part 2
EWD 3 Training Course Part 38: Building a React.js application with QEWD, Part 2
EWD 3 Training Course Part 32: Configuring QEWD to use SSL/HTTPS
EWD 3 Training Course Part 32: Configuring QEWD to use SSL/HTTPS
EWD 3 Training Course Part 29: Running QEWD as a Service
EWD 3 Training Course Part 29: Running QEWD as a Service
EWD 3 Training Course Part 26: Event-driven Indexing
EWD 3 Training Course Part 26: Event-driven Indexing
EWD 3 Training Course Part 25: Document Database Capabilities
EWD 3 Training Course Part 25: Document Database Capabilities
EWD 3 Training Course Part 24: Traversing a Document's Leaf Nodes
EWD 3 Training Course Part 24: Traversing a Document's Leaf Nodes
EWD 3 Training Course Part 23: Traversing a Range using DocumentNode Objects
EWD 3 Training Course Part 23: Traversing a Range using DocumentNode Objects
Recently uploaded
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
VitsRangannavar
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
OPEN KNOWLEDGE GmbH
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
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
Frank van der Linden
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
aditisharan08
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
Christina Lin
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Christina Lin
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
Wave PLM
(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
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 Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
Ortus Solutions, Corp
EY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
Neo4j
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio, Inc.
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
soniya singh
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
kaushalgiri8080
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Vinodh Ram
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
ICS
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
MyIntelliSource, Inc.
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
kalichargn70th171
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Fatema Valibhai
Recently uploaded
(20)
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
EY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Node.js Ripple OSI Middle Tier Demo
1.
Copyright © 2016
M/Gateway Developments Ltd qewd-ripple The Ripple OSI Middle Tier Rob Tweed Director, M/Gateway Developments Ltd Twitter: @rtweed
2.
Copyright © 2016
M/Gateway Developments Ltd What is qewd-ripple? • Demonstration version of the Node.js- based middle tier for the Ripple OSI Application – http://rippleosi.org/ • Built using the QEWD framework – http://www.mgateway.com • Integrates multiple OpenEHR Servers – Ripple's UI presents a unified interface • REST-based
3.
Copyright © 2016
M/Gateway Developments Ltd Installing qewd-ripple • See instructions at: – https://github.com/RippleOSI/Qewd-Ripple • The built-in installer script creates a fully- working system – Ubuntu 16.04 – Raspberrry Pi • Could be easily adapted for use with other flavours of Linux
4.
Copyright © 2016
M/Gateway Developments Ltd qewd-ripple • Linux installation: components installed include: – Node.js 6.x – QEWD – Redis or GT.M: "Global Storage" NoSQL database – MySQL – Ripple UI: • HTML, JavaScript, CSS files
5.
Copyright © 2016
M/Gateway Developments Ltd Node.js • Server-side JavaScript
6.
Copyright © 2016
M/Gateway Developments Ltd QEWD • Node.js-based module • Used as the REST platform for qewd-ripple • Provides an outward-facing HTTP/REST interface – Courtesy of Express, the standard Node.js web server • Provides the run-time environment for Ripple's REST API handler functions – Written in JavaScript • Acts as a proxy to and integrates multiple OpenEHR (and potentially other) servers
7.
Copyright © 2016
M/Gateway Developments Ltd GT.M • Used by QEWD as an embedded, in- process, persistent JSON store and Document Database, for: – Session management – OpenEHR data cacheing • On a per-user basis
8.
Copyright © 2016
M/Gateway Developments Ltd Redis • Redis – High-performance key/value store – ewd-redis-globals module: • Gives Global Storage functionality to Redis – Used by the Raspberry Pi version of qewd- ripple – Alternative to GT.M for Linux version of qewd- ripple • Behaves identically to GT.M as far as qewd-ripple is concerned
9.
Copyright © 2016
M/Gateway Developments Ltd MySQL • Used in the Ripple OSI Demonstrator for PAS functionality
10.
Copyright © 2016
M/Gateway Developments Ltd Starting qewd-ripple • cd ~/qewd • Demo-mode: – node ripple-demo • Secure mode – node ripple-secure
11.
Copyright © 2016
M/Gateway Developments Ltd Running Ripple OSI • Point a browser at the IP address or host name of the server running qewd-ripple, eg: – http://192.168.1.100
12.
Copyright © 2016
M/Gateway Developments Ltd Ripple Demo Mode • Simulates a user with full access to all patient data – IDCR mode
13.
Copyright © 2016
M/Gateway Developments Ltd Ripple Secure Mode • User identity management taken care of by a 3rd party service – The qewd-ripple demonstrator uses Auth0 • Users can have two alternative modes of access: – IDCR: clinical user, with full access to all patient data – PHR: an individual patient, with read access to his/her own data only
14.
Copyright © 2016
M/Gateway Developments Ltd qewd-ripple architecture • Extends QEWD • Uses it for REST access only • Implements handlers for the Ripple OSI REST APIs
15.
Copyright © 2016
M/Gateway Developments Ltd QEWD (using Redis/GT.M) Node.js Worker Process Master Node.js Process Queue Queue processor/ dispatcher qewd ewd-qoper8-gtm Redis/GT.M ewd-document-store Global Storage ewd-session Express HTTP(S) Interface RESTClient Custom Worker Module ewd-qoper8 Constructed from a number of EWD 3 modules
16.
Copyright © 2016
M/Gateway Developments Ltd QEWD's Architecture • Master Process – Handles all incoming REST requests • Via Express • Queues and dispatches requests to worker processes • Worker Processes – You define how large a pool of workers you require – Each worker handles just one request
17.
Copyright © 2016
M/Gateway Developments Ltd Master Node.js Process Queue Queue processor/ dispatcher Ripple REST Request QEWD Architecture Every incoming request is passed from Express and placed in a queue No further processing of requests occurs in the master process
18.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Queue dispatcher is invoked whenever a request is added to the queue
19.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Node.js Worker Process Master Node.js Process Queue Queue processor/ dispatcher Worker process started if none available
20.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Node.js Worker Process Master Node.js Process Queue Queue processor/ dispatcher qewd-ripple Handler module Redis/GT.M QEWD & qewd-ripple-specific Modules loaded and connected to database: Redis or GT.M
21.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Node.js Worker Process Master Node.js Process Queue Queue processor/ dispatcher Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M Request passed to worker
22.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Node.js Worker Process Master Node.js Process Queue Queue processor/ dispatcher Custom Worker Module Worker flagged as Unavailable Node.js Worker Process Custom Worker Module Redis/GT.M Begin processing message
23.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Unavailable / processing Another incoming Ripple REST request Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M
24.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Node.js Worker Process Master Node.js Process Queue Queue processor/ dispatcher Custom Worker Module Unavailable / processing Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M Node.js Worker Process Custom Worker Module Redis/GT.M If worker pool size not exceeded, another worker is started and request passed to it
25.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Unavailable / processing Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M If entire Worker Pool is busy: Unavailable / processing Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M Unavailable / processing Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M
26.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Unavailable / processing Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M If entire Worker Pool is busy: Unavailable / processing Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M Unavailable / processing Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M New requests remain in queue
27.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Unavailable / processing Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M As soon as a worker is available again, a queued message can be passed to it Unavailable / processing Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M Available Node.js Worker Process Custom Worker Module Redis/GT.M
28.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Finished Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M A user's handler function signals completion using the function: finished(responseObject); This returns the response object to the master process
29.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Finished Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Node.js Worker Process Custom Worker Module Redis/GT.M And the response is passed to Express which returns it to the client that sent the original request
30.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Available Node.js Worker Process Custom Worker Module Redis/GT.M The finished() function also automatically returns the worker process back to the available pool So it can now handle the next queued request
31.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Available Node.js Worker Process Custom Worker Module Redis/GT.M Worker processes, once started, are persistent No start-up / tear-down cost Workers will automatically close themselves down if they are inactive for more than a pre-set threshold time period
32.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Available Node.js Worker Process Custom Worker Module Redis/GT.M Worker processes only handle a single request at a time Completely isolated run-time environment for handler functions No need for concerns about Node.js concurrency, so synchronous APIs can be used
33.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Available Node.js Worker Process Custom Worker Module Redis/GT.M Long-running or CPU-intensive logic has no direct impact on other worker processes
34.
Copyright © 2016
M/Gateway Developments Ltd QEWD Architecture Master Node.js Process Queue Queue processor/ dispatcher Node.js concurrency is handled by the master process. 100% asynchronous logic The master process does almost nothing No CPU-intensive or long- running tasks, so very high-performance All the work happens in the isolated worker processes Multiple Concurrent Incoming REST requests
35.
Copyright © 2016
M/Gateway Developments Ltd qewd-ripple Session Management • Everything begins with receipt of /api/initialise request, sent from the Ripple UI
36.
Copyright © 2016
M/Gateway Developments Ltd The /api/initialise API • If: – qewd-ripple is running in demo mode; and – this is the first time the browser has connected • Then: – the middle tier starts a new QEWD Session which creates a token • The token is a random uuid-formatted string – A hard-coded set of user credentials are stored in the Session (an IDCR-mode user) – The Session token is returned in the response to the UI • The UI stores this as a cookie named JSESSIONID – All subsequent requests will include this cookie
37.
Copyright © 2016
M/Gateway Developments Ltd qewd-ripple Session Management • If: – qewd-ripple is running in secure mode; and – this is the first time the browser has connected • Then: – the middle tier passes control to Auth0 – User logs in via Auth0 – If successful, the credentials are passed back to qewd-ripple – qewd-ripple creates a new QEWD Session and saves the credentials in the user's Session – The Session token is returned in the response to the UI • The UI stores this as a cookie named JSESSIONID
38.
Copyright © 2016
M/Gateway Developments Ltd The /api/initialise API • If: – The request includes a JSESSIONID cookie containing a currently valid, unexpired QEWD Session token • Then: – the middle tier returns an OK response that also tells the UI the user's mode: • IDCR or PHR
39.
Copyright © 2016
M/Gateway Developments Ltd qewd-ripple Session Management • On successful receipt of the /api/initialise response, the UI issues an /api/user request – This request will now include the JSESSIONID cookie • So qewd-ripple can identify the user's Session • The middle tier retrieves the user's credentials from the Session and returns them to the UI • The UI can now display the user's details
40.
Copyright © 2016
M/Gateway Developments Ltd qewd-ripple Session Management • The UI can now start issuing its REST APIs to the middle tier • Every request will include the JSESSIONID cookie which contains the user's QEWD Session token, allowing the request's handler to access the user's QEWD Session: – To retrieve data – To cache data
41.
Copyright © 2016
M/Gateway Developments Ltd Accessing OpenEHR Servers Browser QEWD GT.M or Redis ewd-qoper8 queue qewd-ripple Module Express Worker PulseTile UI REST/ HTTP Incoming request for some patient heading data eg Allergies
42.
Copyright © 2016
M/Gateway Developments Ltd Accessing OpenEHR Servers Browser QEWD GT.M or Redis ewd-session ewd-qoper8 queue qewd-ripple Module Express Worker PulseTile UI Is the allergies data in the user's QEWD Session storage?
43.
Copyright © 2016
M/Gateway Developments Ltd Accessing OpenEHR Servers Browser QEWD GT.M or Redis ewd-session ewd-qoper8 queue qewd-ripple Module Express Worker PulseTile UI Is the allergies data in the user's QEWD Session storage? No
44.
Copyright © 2016
M/Gateway Developments Ltd Accessing OpenEHR Servers Browser QEWD GT.M or Redis ewd-qoper8 queue qewd-ripple Module Express OpenEHR Server AQL over HTTP(S) Worker PulseTile UI OpenEHR Server Fetch the allergies data from the OpenEHR servers
45.
Copyright © 2016
M/Gateway Developments Ltd Accessing OpenEHR Servers Browser QEWD GT.M or Redis ewd-qoper8 queue qewd-ripple Module Express OpenEHR Server HTTP(S) Worker PulseTile UI OpenEHR Server And save it in the user's QEWD Session storage ewd-session
46.
Copyright © 2016
M/Gateway Developments Ltd Accessing OpenEHR Servers Browser QEWD GT.M or Redis ewd-session ewd-qoper8 queue qewd-ripple Module Express Worker PulseTile UI Repeat the logic… Is the allergies data in the user's QEWD Session storage?
47.
Copyright © 2016
M/Gateway Developments Ltd Accessing OpenEHR Servers Browser QEWD GT.M or Redis ewd-session ewd-qoper8 queue qewd-ripple Module Express Worker PulseTile UI Repeat the logic… Is the allergies data in the user's QEWD Session storage? Yes
48.
Copyright © 2016
M/Gateway Developments Ltd Accessing OpenEHR Servers Browser QEWD GT.M or Redis ewd-session ewd-qoper8 queue qewd-ripple Module Express Worker PulseTile UI Return it to the Browser that made The request Map OpenEHR field-names to UI field-names
49.
Copyright © 2016
M/Gateway Developments Ltd Accessing OpenEHR Servers Browser QEWD GT.M or Redis ewd-qoper8 queue qewd-ripple Module Express Worker PulseTile UI REST/ HTTP If a later request arrives from this user for Allergies data
50.
Copyright © 2016
M/Gateway Developments Ltd Accessing OpenEHR Servers Browser QEWD GT.M or Redis ewd-session ewd-qoper8 queue qewd-ripple Module Express Worker PulseTile UI Is the allergies data in the user's QEWD Session storage? Yes
51.
Copyright © 2016
M/Gateway Developments Ltd Accessing OpenEHR Servers Browser QEWD GT.M or Redis ewd-session ewd-qoper8 queue qewd-ripple Module Express Worker PulseTile UI Return it to the Browser that made The request Map OpenEHR field-names to UI field-names
52.
Copyright © 2016
M/Gateway Developments Ltd QEWD Session = Headings Cache • Each user's QEWD Session acts as a high-performance cache of headings data – Minimises "round-trips" to OpenEHR servers • QEWD Session storage: – Persistent JSON storage – Document database – GT.M and Redis behave identically as far as qewd-ripple is concerned
Download now