SlideShare a Scribd company logo
1 of 77
Copyright © 2015 M/Gateway Developments Ltd
EWD.js
The Future Starts Here
Rob Tweed
Twitter: @rtweed
rob.tweed@gmail.com
http://www.mgateway.com
Copyright © 2015 M/Gateway Developments Ltd
What if…
• EWD.js was adopted at the VA?
• What's the view like from up there?
Copyright © 2015 M/Gateway Developments Ltd
EWD.js: the bigger picture
• What does it make possible?
• A glimpse of the vision behind EWD.js
Copyright © 2015 M/Gateway Developments Ltd
What is EWD.js
• Development framework
• Run-time platform
http://ewdjs.com
Copyright © 2015 M/Gateway Developments Ltd
What is EWD.js
• Development framework
– Client-server applications in the browser
– Web Services
– Legacy Mumps application modernisation
• Run-time platform
Copyright © 2015 M/Gateway Developments Ltd
What is EWD.js
• Development framework
• Run-time platform
– Node.js-based application server
– Web Server
– Integrated JSON database
• Caché, GT.M, GlobalsDB, MongoDB
Copyright © 2015 M/Gateway Developments Ltd
EWD.js key features
• 100% JavaScript
– Browser
– Back-end (business logic): Node.js
• 100% JSON-based data
– Browser
– Back-end
– Database
• Legacy Mumps code can be accessed from Node.js
• High performance
– Node.js
– In-process interface to database
• Highly scalable
– stateless
Copyright © 2015 M/Gateway Developments Ltd
Current VistA
VistA
Caché
VistA Server
Roll & Scroll
RPC BrokerCPRS
RPCsFileMan
Stateful
Copyright © 2015 M/Gateway Developments Ltd
EWD.js-enabled VistA
EWD.js
VistA
Caché
Node.js
VistA Server
cache.node
Roll & Scroll
RPC BrokerCPRS
RPCsFileMan
Interface functions
Web
Service
Clients
HTTPS +
HMAC
SHA256
Stateful
JavaScript /Node.js
business logic
Stateless
Copyright © 2015 M/Gateway Developments Ltd
VistA
Caché
EWD.js
Application
Server
Caché
nginx
EWD.js
Application
Server
Caché
EWD.js
Application
Server
Caché
ECP
Networking
Mapped globals
for shared EWD Sessions
& VistA data
Mapped VistA
routines
Incoming
WebService
Traffic
Scaling Out
Copyright © 2015 M/Gateway Developments Ltd
Federated access across the VA?
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
HTTP-based
Web Service
REST-based
Service
Back-end
Servers
HTTP
REST
HM
AC-SHA256
Signed
HTTP
https://github.com/robtweed/ewd-federator
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
Back-end
Servers
EWD.js
system
EWD.js
system
EWD.js
system
VistA
VistA
VistA
VistA
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
Back-end
Servers
EWD.js
system
EWD.js
system
EWD.js
system
VistA
VistA
VistA
VistA
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
Back-end
Servers
EWD.js
system
EWD.js
system
EWD.js
system
VistA
VistA
VistA
VistA
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
Back-end
Servers
EWD.js
system
EWD.js
system
EWD.js
system
Aggregate
responses
VistA
VistA
VistA
VistA
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
Back-end
Servers
EWD.js
system
EWD.js
system
EWD.js
system
Aggregate
responses
VistA
VistA
VistA
VistA
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
Back-end
Servers
EWD.js
system
EWD.js
system
EWD.js
system
Intercept
Incoming
request
VistA
VistA
VistA
VistA
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
Back-end
Servers
EWD.js
system
EWD.js
system
EWD.js
system
re-directIntercept
Incoming
request
VistA
VistA
VistA
VistA
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
Back-end
Servers
EWD.js
system
EWD.js
system
EWD.js
system
Intercept
Incoming
response
VistA
VistA
VistA
VistA
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
Back-end
Servers
EWD.js
system
EWD.js
system
EWD.js
system
Intercept
Incoming
response
re-direct
VistA
VistA
VistA
VistA
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
Back-end
Servers
EWD.js
system
EWD.js
system
EWD.js
system
Aggregate
responses
VistA
VistA
VistA
VistA
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
Cache / GlobalsDB / GT.M
persistent JSON cacheing, storage
Node.jsREST
Clients
REST
Requests
EWD.js
system
Back-end
Servers
EWD.js
system
EWD.js
system
EWD.js
system
Aggregate
responses
VistA
VistA
VistA
VistA
Copyright © 2015 M/Gateway Developments Ltd
So that's REST…
What about browser-based apps?
Copyright © 2015 M/Gateway Developments Ltd
ewd-federator
EWD.js
Application
Server
EWD.js
VistA
EWD.js
VistA
Site 1
Site 2
EWD.js
VistA
Site 3
REST
Browser
WebSockets
HTTP
Web
Services
Copyright © 2015 M/Gateway Developments Ltd
All good stuff, but
It's the narrow, technical perspective on why EWD.js
Can be considered to be just one potential option
Copyright © 2015 M/Gateway Developments Ltd
Copyright © 2015 M/Gateway Developments Ltd
Benefits to the VA
• Single language skill
– JavaScript
Copyright © 2015 M/Gateway Developments Ltd
Benefits to the VA
• Single language skill
– JavaScript
• Controlled migration:
– from rare Mumps development resources
– To readily-available JavaScript developers
Copyright © 2015 M/Gateway Developments Ltd
Benefits to the VA
• Single language skill
– JavaScript
• Controlled migration:
– from rare Mumps development resources
– To readily-available JavaScript developers
– One-off interfacing of core VistA functionality
via JavaScript functions
Copyright © 2015 M/Gateway Developments Ltd
Browsers
JavaScript
Node.js
React Native
Copyright © 2015 M/Gateway Developments Ltd
Browsers
JavaScript
Node.js
React Native
There's never been a more exciting time to be in IT
And all the big innovations and developments are focused
In these 4 areas
Copyright © 2015 M/Gateway Developments Ltd
JavaScript:
Now the world's most popular language
Already huge, and only getting bigger
Copyright © 2015 M/Gateway Developments Ltd
Node.js:
JavaScript on the server
There's a module for everything!
Tap into a huge and growing pool
of innovations
Copyright © 2015 M/Gateway Developments Ltd
Browsers:
The ubiquitous desktop client
The target UI for all new applications
Copyright © 2015 M/Gateway Developments Ltd
So, browser-based VistA Apps
The right way to go?
Copyright © 2015 M/Gateway Developments Ltd
• Myth #1: Browser UIs just aren't good enough for clinical/medical apps
• Myth #2: Browsers and web technologies aren't fast enough / too much latency
• Myth #3: Browsers and web technologies aren't secure enough
Copyright © 2015 M/Gateway Developments Ltd
•Myth #1: Browser UIs just aren't good enough for clinical/medical apps
It seems they're good enough for everyone else
There's nothing a browser can't do these days
The days of being limited to simple pages were decades ago
Copyright © 2015 M/Gateway Developments Ltd
•Myth #1: Browser UIs just aren't good enough for clinical/medical apps
Do you use:
• Google Docs
• Microsoft Office 365
• Do you bank, shop, watch videos, etc on your browser at home?
Copyright © 2015 M/Gateway Developments Ltd
•Myth #1: Browser UIs just aren't good enough for clinical/medical apps
Copyright © 2015 M/Gateway Developments Ltd
•Myth #1: Browser UIs just aren't good enough for clinical/medical apps
• Sophisticated graphics:
• 2-d - charts, graphs – updated in real-time
• 3-d eg http://data-arts.appspot.com/globe/
Copyright © 2015 M/Gateway Developments Ltd
•Myth #1: Browser UIs just aren't good enough for clinical/medical apps
See the work of Astute Semantics
VistA modernisation using EWD.js
Copyright © 2015 M/Gateway Developments Ltd
•Myth #1: Browser UIs just aren't good enough for clinical/medical apps
Copyright © 2015 M/Gateway Developments Ltd
•Myth #2: Browsers and web technologies aren't fast enough / too much latency
Are the following hopelessly slow for you?
• Amazon
• EBay
• Google
• Do you watch Netflix or YouTube in your browser?
Copyright © 2015 M/Gateway Developments Ltd
•Myth #2: Browsers and web technologies aren't fast enough / too much latency
Demonstrations showing federated access to multiple
VistA systems using ewd-federator and EWD.js:
Sub-second response
Asynchronous pre-emptive data fetching based on usage statistics
Copyright © 2015 M/Gateway Developments Ltd
•Myth #2: Browsers and web technologies aren't fast enough / too much latency
Copyright © 2015 M/Gateway Developments Ltd
•Myth #3: Browsers and web technologies aren't secure enough
It seems they're good enough for online banking….
Copyright © 2015 M/Gateway Developments Ltd
•Myth #3: Browsers and web technologies aren't secure enough
Copyright © 2015 M/Gateway Developments Ltd
The future is browser-shaped
• Web-sockets – used by EWD.js applications
– Redefines the way you can think about browser apps
– Server can send messages to the browser at any
time:
• Alerts, message of the day
– Real-time graphing of clinical results on tablet
browser by the bed-side
– Real-time bed state display
– Cross-browser inter-communication between provider
and patient
– Legacy green screen terminal in browser
• https://robtweed.wordpress.com/2014/03/04/vista-the-hackable-open-source-ehr-hackable-platform/
Copyright © 2015 M/Gateway Developments Ltd
The future is browser-shaped
• WebRTC
– Real time communications
– Skype-like behaviour in a browser, without
plug-ins
• Video
• Audio
• File transfer
– Key to browser-based telemedicine
Copyright © 2015 M/Gateway Developments Ltd
Asm.js
• Subset of JavaScript that can be compiled and
run at near native C++ speed in asm.js-enabled
browsers
• Emscripten compiler
• Being driven by the games industry
– Unreal Engine ported to run in browser, without plug-
ins
– Try this:
• http://www.flohofwoe.net/demos/dsomapviewer_asmjs.html
Copyright © 2015 M/Gateway Developments Ltd
The future is browser-shaped
Chromecast
• $35 Device from Google
• Marketed as a video streaming
device for your TV
• It actually has a lot more potential,
particularly in healthcare
Copyright © 2015 M/Gateway Developments Ltd
Chromecast Schematic
Chrome
Browser
Chrome OS
HDMIOutput
TV
Monitor
Projector
WirelessNetwork
Interface
Copyright © 2015 M/Gateway Developments Ltd
The future is browser-shaped
Chromecast
• Turns an HDMI-
interfaced monitor or TV
into a sophisticated,
controllable display
https://robtweed.wordpress.com/2014/04/05/chromecast-understanding-its-potential/
Copyright © 2015 M/Gateway Developments Ltd
VistA Chromecast Applications
Chromecast
PC or Mac
Chrome
Chromecast
JavaScript APIs
Sender
Application
WirelessNetwork
Chrome
HTML Page
Chromecast
JavaScript APIs
EWD.js
Application
EWD.js Application
JavaScript
EWD.js / Node.js
Server
EWD.js JavaScript
WebSocket
messaging
VistA
Copyright © 2015 M/Gateway Developments Ltd
The future is JavaScript-based
Costs $80
Copyright © 2015 M/Gateway Developments Ltd
What does it do?
Detects hand movements
and gestures in 3D area
above and around the device
Copyright © 2015 M/Gateway Developments Ltd
How do you use it?
• USB Device
• Move one or more hands
above it
• Software can detect:
– Palms
– Fingers & thumbs
• Including joints
– Position
– Rotation in 3D
• Samples at whatever
frequency you wish
• Sub-millimeter accuracy
• Program in JavaScript
http://osehra.org/sites/default/files/QuantitativeHandTremorTweed.pdf
Copyright © 2015 M/Gateway Developments Ltd
The future is JavaScript-shaped
The Internet of Things will be powered by JavaScript and Node.js
Copyright © 2015 M/Gateway Developments Ltd
React Native:
Facebook's Open Source solution
to the mobile app dilemma
Copyright © 2015 M/Gateway Developments Ltd
React Native:
Facebook's Open Source solution
to the mobile app dilemma
• How to effectively develop apps for:
• desktop browsers
• iOS mobile devices
• Android devices
Copyright © 2015 M/Gateway Developments Ltd
React Native:
Facebook's Open Source solution
to the mobile app dilemma
• How to effectively develop apps for:
• desktop browsers
• iOS mobile devices
• Android devices
• without 3 different skill-sets
• JavaScript, HTML, CSS
• Objective C, Swift
• Java
Copyright © 2015 M/Gateway Developments Ltd
React Native:
Facebook's Open Source solution
to the mobile app dilemma
• How to effectively develop apps for:
• desktop browsers
• iOS mobile devices
• Android devices
• without 3 different skill-sets
• JavaScript, HTML, CSS
• Objective C, Swift
• Java
• or avoiding the compromises of
• mobile browser apps
• hybrid apps
Copyright © 2015 M/Gateway Developments Ltd
Copyright © 2015 M/Gateway Developments Ltd
Copyright © 2015 M/Gateway Developments Ltd
Copyright © 2015 M/Gateway Developments Ltd
React
State Change
Re-render
Virtual DOM
iOS
UIKit
Components
Standard React.js
JavaScriptCore
Copyright © 2015 M/Gateway Developments Ltd
React
State Change
Re-render
Virtual DOM
iOS
UIKit
Components
Standard React.js
JavaScriptCore
Copyright © 2015 M/Gateway Developments Ltd
• Creates truly Native Mobile Applications
• Currently iOS only, but Android port due to
be released to Open Source any day
• Mobile apps can be built by JavaScript
developers
– Who can also create browser app equivalents
in the same way
• Note:
– NOT write once, run everywhere
– Learn Once, Write Anywhere
Copyright © 2015 M/Gateway Developments Ltd
React Native:
This is HUGE!
Provides the mobile solution
that the VA have been
searching for
EWD.js makes it possible for the VA
to use React Native TODAY!
https://www.youtube.com/watch?v=zOIwTU6oPuo
Copyright © 2015 M/Gateway Developments Ltd
Further benefits to the VA
EWD.js
VistA
Caché
Node.js
VistA Server
cache.node
Roll & Scroll
RPC BrokerCPRS
RPCsFileMan
Interface functions
Web
Service
Clients
HTTPS +
HMAC
SHA256
Stateful
JavaScript /Node.js
business logic
Stateless
Free up server
resources
Copyright © 2015 M/Gateway Developments Ltd
Further benefits to the VA
• all EWD.js apps would work
• highly secure
• insignificant cost per device
• significantly simplify and reduce
costs of security procedures
Copyright © 2015 M/Gateway Developments Ltd
Consequences for the VA
• ewd-federator:
– Code distribution
– Software update management
– Synchronising configurations
– Federated control over user privileges
– Centralised performance monitoring /
dashboards
Copyright © 2015 M/Gateway Developments Ltd
Consequences for the VA
• ewd-federator:
– Code distribution
– Software update management
– Synchronising configurations
– Federated control over user privileges
– Centralised performance monitoring /
dashboards
• These are things the VA has been struggling to
find solutions for, for years
Copyright © 2015 M/Gateway Developments Ltd
What about the Open-Source VistA
Community?
• Everything I've described applies to them
also
– All these capabilities and features are
available for GT.M-based versions of VistA
• Fully supports the original aims of
OSEHRA
Copyright © 2015 M/Gateway Developments Ltd
So imagine if…
EWD.js was adopted at the VA..
Copyright © 2015 M/Gateway Developments Ltd
You really need to see the view
from up here!
Copyright © 2015 M/Gateway Developments Ltd
EWD.js
The Future Starts Here
Rob Tweed
Twitter: @rtweed
rob.tweed@gmail.com
http://www.mgateway.com

More Related Content

Viewers also liked

Viewers also liked (20)

EWD 3 Training Course Part 7: Applying the QEWD Messaging Pattern
EWD 3 Training Course Part 7: Applying the QEWD Messaging PatternEWD 3 Training Course Part 7: Applying the QEWD Messaging Pattern
EWD 3 Training Course Part 7: Applying the QEWD Messaging Pattern
 
GlobalsDB: Its significance for Node.js Developers
GlobalsDB: Its significance for Node.js DevelopersGlobalsDB: Its significance for Node.js Developers
GlobalsDB: Its significance for Node.js Developers
 
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 QEWDEWD 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
 
Node.js: CAMTA Presentation
Node.js: CAMTA PresentationNode.js: CAMTA Presentation
Node.js: CAMTA Presentation
 
EWD 3 Training Course Part 22: Traversing Documents using DocumentNode Objects
EWD 3 Training Course Part 22: Traversing Documents using DocumentNode ObjectsEWD 3 Training Course Part 22: Traversing Documents using DocumentNode Objects
EWD 3 Training Course Part 22: Traversing Documents using DocumentNode Objects
 
EWD 3 Training Course Part 20: The DocumentNode Object
EWD 3 Training Course Part 20: The DocumentNode ObjectEWD 3 Training Course Part 20: The DocumentNode Object
EWD 3 Training Course Part 20: The DocumentNode Object
 
EWD 3 Training Course Part 30: Modularising QEWD Applications
EWD 3 Training Course Part 30: Modularising QEWD ApplicationsEWD 3 Training Course Part 30: Modularising QEWD Applications
EWD 3 Training Course Part 30: Modularising QEWD Applications
 
EWD 3 Training Course Part 23: Traversing a Range using DocumentNode Objects
EWD 3 Training Course Part 23: Traversing a Range using DocumentNode ObjectsEWD 3 Training Course Part 23: Traversing a Range using DocumentNode Objects
EWD 3 Training Course Part 23: Traversing a Range using DocumentNode Objects
 
EWD 3 Training Course Part 16: QEWD Services
EWD 3 Training Course Part 16: QEWD ServicesEWD 3 Training Course Part 16: QEWD Services
EWD 3 Training Course Part 16: QEWD Services
 
EWD 3 Training Course Part 8: Anatomy of the QEWD Messaging Cycle
EWD 3 Training Course Part 8: Anatomy of the QEWD Messaging CycleEWD 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 3: Summary of EWD 3 Modules
EWD 3 Training Course Part 3: Summary of EWD 3 ModulesEWD 3 Training Course Part 3: Summary of EWD 3 Modules
EWD 3 Training Course Part 3: Summary of EWD 3 Modules
 
Making Mumps Acceptable to the Mainstream
Making Mumps Acceptable to the MainstreamMaking Mumps Acceptable to the Mainstream
Making Mumps Acceptable to the Mainstream
 
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 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...
 
Node.js: its potential in healthcare
Node.js: its potential in healthcareNode.js: its potential in healthcare
Node.js: its potential in healthcare
 
EWD 3 Training Course Part 12: QEWD Session Timeout Control
EWD 3 Training Course Part 12: QEWD Session Timeout ControlEWD 3 Training Course Part 12: QEWD Session Timeout Control
EWD 3 Training Course Part 12: QEWD Session Timeout Control
 
EWD 3 Training Course Part 32: Configuring QEWD to use SSL/HTTPS
EWD 3 Training Course Part 32: Configuring QEWD to use SSL/HTTPSEWD 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 11: Handling Errors in QEWD
EWD 3 Training Course Part 11: Handling Errors in QEWDEWD 3 Training Course Part 11: Handling Errors in QEWD
EWD 3 Training Course Part 11: Handling Errors in QEWD
 
EWD 3 Training Course Part 9: Complex QEWD Messages and Responses
EWD 3 Training Course Part 9: Complex QEWD Messages and ResponsesEWD 3 Training Course Part 9: Complex QEWD Messages and Responses
EWD 3 Training Course Part 9: Complex QEWD Messages and Responses
 
EWD 3 Training Course Part 13: Putting Everything so far into Practice using ...
EWD 3 Training Course Part 13: Putting Everything so far into Practice using ...EWD 3 Training Course Part 13: Putting Everything so far into Practice using ...
EWD 3 Training Course Part 13: Putting Everything so far into Practice using ...
 
EWD 3 Training Course Part 10: QEWD Sessions and User Authentication
EWD 3 Training Course Part 10: QEWD Sessions and User AuthenticationEWD 3 Training Course Part 10: QEWD Sessions and User Authentication
EWD 3 Training Course Part 10: QEWD Sessions and User Authentication
 

More from Rob Tweed

More from Rob Tweed (20)

QEWD Update
QEWD UpdateQEWD Update
QEWD Update
 
Data Persistence as a Language Feature
Data Persistence as a Language FeatureData Persistence as a Language Feature
Data Persistence as a Language Feature
 
LNUG: Having Your Node.js Cake and Eating It Too
LNUG: Having Your Node.js Cake and Eating It TooLNUG: Having Your Node.js Cake and Eating It Too
LNUG: Having Your Node.js Cake and Eating It Too
 
EWD 3 Training Course Part 45: Using QEWD's Advanced MicroService Functionality
EWD 3 Training Course Part 45: Using QEWD's Advanced MicroService FunctionalityEWD 3 Training Course Part 45: Using QEWD's Advanced MicroService Functionality
EWD 3 Training Course Part 45: Using QEWD's Advanced MicroService Functionality
 
EWD 3 Training Course Part 44: Creating MicroServices with QEWD.js
EWD 3 Training Course Part 44: Creating MicroServices with QEWD.jsEWD 3 Training Course Part 44: Creating MicroServices with QEWD.js
EWD 3 Training Course Part 44: Creating MicroServices with QEWD.js
 
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 ServicesEWD 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
 
QEWD.js, JSON Web Tokens & MicroServices
QEWD.js, JSON Web Tokens & MicroServicesQEWD.js, JSON Web Tokens & MicroServices
QEWD.js, JSON Web Tokens & MicroServices
 
QEWD.js: Have your Node.js Cake and Eat It Too
QEWD.js: Have your Node.js Cake and Eat It TooQEWD.js: Have your Node.js Cake and Eat It Too
QEWD.js: Have your Node.js Cake and Eat It Too
 
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Servicesewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
 
qewd-ripple: The Ripple OSI Middle Tier
qewd-ripple: The Ripple OSI Middle Tierqewd-ripple: The Ripple OSI Middle Tier
qewd-ripple: The Ripple OSI Middle Tier
 
EWD 3 Training Course Part 42: The QEWD Docker Appliance
EWD 3 Training Course Part 42: The QEWD Docker ApplianceEWD 3 Training Course Part 42: The QEWD Docker Appliance
EWD 3 Training Course Part 42: The QEWD Docker Appliance
 
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 5EWD 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 4EWD 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 3EWD 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 5b: First Steps in Building a QEWD Application
EWD 3 Training Course Part 5b: First Steps in Building a QEWD ApplicationEWD 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 38: Building a React.js application with QEWD, Part 2
EWD 3 Training Course Part 38: Building a React.js application with QEWD, Part 2EWD 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 37: Building a React.js application with ewd-xpres...
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...
EWD 3 Training Course Part 37: Building a React.js application with ewd-xpres...
 
EWD 3 Training Course Part 34: QEWD Resilient Mode
EWD 3 Training Course Part 34: QEWD Resilient ModeEWD 3 Training Course Part 34: QEWD Resilient Mode
EWD 3 Training Course Part 34: QEWD Resilient Mode
 
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 ServicesEWD 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 29: Running QEWD as a Service
EWD 3 Training Course Part 29: Running QEWD as a ServiceEWD 3 Training Course Part 29: Running QEWD as a Service
EWD 3 Training Course Part 29: Running QEWD as a Service
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

OSEHRA Conference 2015: EWD.js - The Future Starts Here

  • 1. Copyright © 2015 M/Gateway Developments Ltd EWD.js The Future Starts Here Rob Tweed Twitter: @rtweed rob.tweed@gmail.com http://www.mgateway.com
  • 2. Copyright © 2015 M/Gateway Developments Ltd What if… • EWD.js was adopted at the VA? • What's the view like from up there?
  • 3. Copyright © 2015 M/Gateway Developments Ltd EWD.js: the bigger picture • What does it make possible? • A glimpse of the vision behind EWD.js
  • 4. Copyright © 2015 M/Gateway Developments Ltd What is EWD.js • Development framework • Run-time platform http://ewdjs.com
  • 5. Copyright © 2015 M/Gateway Developments Ltd What is EWD.js • Development framework – Client-server applications in the browser – Web Services – Legacy Mumps application modernisation • Run-time platform
  • 6. Copyright © 2015 M/Gateway Developments Ltd What is EWD.js • Development framework • Run-time platform – Node.js-based application server – Web Server – Integrated JSON database • Caché, GT.M, GlobalsDB, MongoDB
  • 7. Copyright © 2015 M/Gateway Developments Ltd EWD.js key features • 100% JavaScript – Browser – Back-end (business logic): Node.js • 100% JSON-based data – Browser – Back-end – Database • Legacy Mumps code can be accessed from Node.js • High performance – Node.js – In-process interface to database • Highly scalable – stateless
  • 8. Copyright © 2015 M/Gateway Developments Ltd Current VistA VistA Caché VistA Server Roll & Scroll RPC BrokerCPRS RPCsFileMan Stateful
  • 9. Copyright © 2015 M/Gateway Developments Ltd EWD.js-enabled VistA EWD.js VistA Caché Node.js VistA Server cache.node Roll & Scroll RPC BrokerCPRS RPCsFileMan Interface functions Web Service Clients HTTPS + HMAC SHA256 Stateful JavaScript /Node.js business logic Stateless
  • 10. Copyright © 2015 M/Gateway Developments Ltd VistA Caché EWD.js Application Server Caché nginx EWD.js Application Server Caché EWD.js Application Server Caché ECP Networking Mapped globals for shared EWD Sessions & VistA data Mapped VistA routines Incoming WebService Traffic Scaling Out
  • 11. Copyright © 2015 M/Gateway Developments Ltd Federated access across the VA?
  • 12. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system HTTP-based Web Service REST-based Service Back-end Servers HTTP REST HM AC-SHA256 Signed HTTP https://github.com/robtweed/ewd-federator
  • 13. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system Back-end Servers EWD.js system EWD.js system EWD.js system VistA VistA VistA VistA
  • 14. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system Back-end Servers EWD.js system EWD.js system EWD.js system VistA VistA VistA VistA
  • 15. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system Back-end Servers EWD.js system EWD.js system EWD.js system VistA VistA VistA VistA
  • 16. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system Back-end Servers EWD.js system EWD.js system EWD.js system Aggregate responses VistA VistA VistA VistA
  • 17. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system Back-end Servers EWD.js system EWD.js system EWD.js system Aggregate responses VistA VistA VistA VistA
  • 18. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system Back-end Servers EWD.js system EWD.js system EWD.js system Intercept Incoming request VistA VistA VistA VistA
  • 19. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system Back-end Servers EWD.js system EWD.js system EWD.js system re-directIntercept Incoming request VistA VistA VistA VistA
  • 20. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system Back-end Servers EWD.js system EWD.js system EWD.js system Intercept Incoming response VistA VistA VistA VistA
  • 21. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system Back-end Servers EWD.js system EWD.js system EWD.js system Intercept Incoming response re-direct VistA VistA VistA VistA
  • 22. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system Back-end Servers EWD.js system EWD.js system EWD.js system Aggregate responses VistA VistA VistA VistA
  • 23. Copyright © 2015 M/Gateway Developments Ltd ewd-federator Cache / GlobalsDB / GT.M persistent JSON cacheing, storage Node.jsREST Clients REST Requests EWD.js system Back-end Servers EWD.js system EWD.js system EWD.js system Aggregate responses VistA VistA VistA VistA
  • 24. Copyright © 2015 M/Gateway Developments Ltd So that's REST… What about browser-based apps?
  • 25. Copyright © 2015 M/Gateway Developments Ltd ewd-federator EWD.js Application Server EWD.js VistA EWD.js VistA Site 1 Site 2 EWD.js VistA Site 3 REST Browser WebSockets HTTP Web Services
  • 26. Copyright © 2015 M/Gateway Developments Ltd All good stuff, but It's the narrow, technical perspective on why EWD.js Can be considered to be just one potential option
  • 27. Copyright © 2015 M/Gateway Developments Ltd
  • 28. Copyright © 2015 M/Gateway Developments Ltd Benefits to the VA • Single language skill – JavaScript
  • 29. Copyright © 2015 M/Gateway Developments Ltd Benefits to the VA • Single language skill – JavaScript • Controlled migration: – from rare Mumps development resources – To readily-available JavaScript developers
  • 30. Copyright © 2015 M/Gateway Developments Ltd Benefits to the VA • Single language skill – JavaScript • Controlled migration: – from rare Mumps development resources – To readily-available JavaScript developers – One-off interfacing of core VistA functionality via JavaScript functions
  • 31. Copyright © 2015 M/Gateway Developments Ltd Browsers JavaScript Node.js React Native
  • 32. Copyright © 2015 M/Gateway Developments Ltd Browsers JavaScript Node.js React Native There's never been a more exciting time to be in IT And all the big innovations and developments are focused In these 4 areas
  • 33. Copyright © 2015 M/Gateway Developments Ltd JavaScript: Now the world's most popular language Already huge, and only getting bigger
  • 34. Copyright © 2015 M/Gateway Developments Ltd Node.js: JavaScript on the server There's a module for everything! Tap into a huge and growing pool of innovations
  • 35. Copyright © 2015 M/Gateway Developments Ltd Browsers: The ubiquitous desktop client The target UI for all new applications
  • 36. Copyright © 2015 M/Gateway Developments Ltd So, browser-based VistA Apps The right way to go?
  • 37. Copyright © 2015 M/Gateway Developments Ltd • Myth #1: Browser UIs just aren't good enough for clinical/medical apps • Myth #2: Browsers and web technologies aren't fast enough / too much latency • Myth #3: Browsers and web technologies aren't secure enough
  • 38. Copyright © 2015 M/Gateway Developments Ltd •Myth #1: Browser UIs just aren't good enough for clinical/medical apps It seems they're good enough for everyone else There's nothing a browser can't do these days The days of being limited to simple pages were decades ago
  • 39. Copyright © 2015 M/Gateway Developments Ltd •Myth #1: Browser UIs just aren't good enough for clinical/medical apps Do you use: • Google Docs • Microsoft Office 365 • Do you bank, shop, watch videos, etc on your browser at home?
  • 40. Copyright © 2015 M/Gateway Developments Ltd •Myth #1: Browser UIs just aren't good enough for clinical/medical apps
  • 41. Copyright © 2015 M/Gateway Developments Ltd •Myth #1: Browser UIs just aren't good enough for clinical/medical apps • Sophisticated graphics: • 2-d - charts, graphs – updated in real-time • 3-d eg http://data-arts.appspot.com/globe/
  • 42. Copyright © 2015 M/Gateway Developments Ltd •Myth #1: Browser UIs just aren't good enough for clinical/medical apps See the work of Astute Semantics VistA modernisation using EWD.js
  • 43. Copyright © 2015 M/Gateway Developments Ltd •Myth #1: Browser UIs just aren't good enough for clinical/medical apps
  • 44. Copyright © 2015 M/Gateway Developments Ltd •Myth #2: Browsers and web technologies aren't fast enough / too much latency Are the following hopelessly slow for you? • Amazon • EBay • Google • Do you watch Netflix or YouTube in your browser?
  • 45. Copyright © 2015 M/Gateway Developments Ltd •Myth #2: Browsers and web technologies aren't fast enough / too much latency Demonstrations showing federated access to multiple VistA systems using ewd-federator and EWD.js: Sub-second response Asynchronous pre-emptive data fetching based on usage statistics
  • 46. Copyright © 2015 M/Gateway Developments Ltd •Myth #2: Browsers and web technologies aren't fast enough / too much latency
  • 47. Copyright © 2015 M/Gateway Developments Ltd •Myth #3: Browsers and web technologies aren't secure enough It seems they're good enough for online banking….
  • 48. Copyright © 2015 M/Gateway Developments Ltd •Myth #3: Browsers and web technologies aren't secure enough
  • 49. Copyright © 2015 M/Gateway Developments Ltd The future is browser-shaped • Web-sockets – used by EWD.js applications – Redefines the way you can think about browser apps – Server can send messages to the browser at any time: • Alerts, message of the day – Real-time graphing of clinical results on tablet browser by the bed-side – Real-time bed state display – Cross-browser inter-communication between provider and patient – Legacy green screen terminal in browser • https://robtweed.wordpress.com/2014/03/04/vista-the-hackable-open-source-ehr-hackable-platform/
  • 50. Copyright © 2015 M/Gateway Developments Ltd The future is browser-shaped • WebRTC – Real time communications – Skype-like behaviour in a browser, without plug-ins • Video • Audio • File transfer – Key to browser-based telemedicine
  • 51. Copyright © 2015 M/Gateway Developments Ltd Asm.js • Subset of JavaScript that can be compiled and run at near native C++ speed in asm.js-enabled browsers • Emscripten compiler • Being driven by the games industry – Unreal Engine ported to run in browser, without plug- ins – Try this: • http://www.flohofwoe.net/demos/dsomapviewer_asmjs.html
  • 52. Copyright © 2015 M/Gateway Developments Ltd The future is browser-shaped Chromecast • $35 Device from Google • Marketed as a video streaming device for your TV • It actually has a lot more potential, particularly in healthcare
  • 53. Copyright © 2015 M/Gateway Developments Ltd Chromecast Schematic Chrome Browser Chrome OS HDMIOutput TV Monitor Projector WirelessNetwork Interface
  • 54. Copyright © 2015 M/Gateway Developments Ltd The future is browser-shaped Chromecast • Turns an HDMI- interfaced monitor or TV into a sophisticated, controllable display https://robtweed.wordpress.com/2014/04/05/chromecast-understanding-its-potential/
  • 55. Copyright © 2015 M/Gateway Developments Ltd VistA Chromecast Applications Chromecast PC or Mac Chrome Chromecast JavaScript APIs Sender Application WirelessNetwork Chrome HTML Page Chromecast JavaScript APIs EWD.js Application EWD.js Application JavaScript EWD.js / Node.js Server EWD.js JavaScript WebSocket messaging VistA
  • 56. Copyright © 2015 M/Gateway Developments Ltd The future is JavaScript-based Costs $80
  • 57. Copyright © 2015 M/Gateway Developments Ltd What does it do? Detects hand movements and gestures in 3D area above and around the device
  • 58. Copyright © 2015 M/Gateway Developments Ltd How do you use it? • USB Device • Move one or more hands above it • Software can detect: – Palms – Fingers & thumbs • Including joints – Position – Rotation in 3D • Samples at whatever frequency you wish • Sub-millimeter accuracy • Program in JavaScript http://osehra.org/sites/default/files/QuantitativeHandTremorTweed.pdf
  • 59. Copyright © 2015 M/Gateway Developments Ltd The future is JavaScript-shaped The Internet of Things will be powered by JavaScript and Node.js
  • 60. Copyright © 2015 M/Gateway Developments Ltd React Native: Facebook's Open Source solution to the mobile app dilemma
  • 61. Copyright © 2015 M/Gateway Developments Ltd React Native: Facebook's Open Source solution to the mobile app dilemma • How to effectively develop apps for: • desktop browsers • iOS mobile devices • Android devices
  • 62. Copyright © 2015 M/Gateway Developments Ltd React Native: Facebook's Open Source solution to the mobile app dilemma • How to effectively develop apps for: • desktop browsers • iOS mobile devices • Android devices • without 3 different skill-sets • JavaScript, HTML, CSS • Objective C, Swift • Java
  • 63. Copyright © 2015 M/Gateway Developments Ltd React Native: Facebook's Open Source solution to the mobile app dilemma • How to effectively develop apps for: • desktop browsers • iOS mobile devices • Android devices • without 3 different skill-sets • JavaScript, HTML, CSS • Objective C, Swift • Java • or avoiding the compromises of • mobile browser apps • hybrid apps
  • 64. Copyright © 2015 M/Gateway Developments Ltd
  • 65. Copyright © 2015 M/Gateway Developments Ltd Copyright © 2015 M/Gateway Developments Ltd
  • 66. Copyright © 2015 M/Gateway Developments Ltd React State Change Re-render Virtual DOM iOS UIKit Components Standard React.js JavaScriptCore
  • 67. Copyright © 2015 M/Gateway Developments Ltd React State Change Re-render Virtual DOM iOS UIKit Components Standard React.js JavaScriptCore
  • 68. Copyright © 2015 M/Gateway Developments Ltd • Creates truly Native Mobile Applications • Currently iOS only, but Android port due to be released to Open Source any day • Mobile apps can be built by JavaScript developers – Who can also create browser app equivalents in the same way • Note: – NOT write once, run everywhere – Learn Once, Write Anywhere
  • 69. Copyright © 2015 M/Gateway Developments Ltd React Native: This is HUGE! Provides the mobile solution that the VA have been searching for EWD.js makes it possible for the VA to use React Native TODAY! https://www.youtube.com/watch?v=zOIwTU6oPuo
  • 70. Copyright © 2015 M/Gateway Developments Ltd Further benefits to the VA EWD.js VistA Caché Node.js VistA Server cache.node Roll & Scroll RPC BrokerCPRS RPCsFileMan Interface functions Web Service Clients HTTPS + HMAC SHA256 Stateful JavaScript /Node.js business logic Stateless Free up server resources
  • 71. Copyright © 2015 M/Gateway Developments Ltd Further benefits to the VA • all EWD.js apps would work • highly secure • insignificant cost per device • significantly simplify and reduce costs of security procedures
  • 72. Copyright © 2015 M/Gateway Developments Ltd Consequences for the VA • ewd-federator: – Code distribution – Software update management – Synchronising configurations – Federated control over user privileges – Centralised performance monitoring / dashboards
  • 73. Copyright © 2015 M/Gateway Developments Ltd Consequences for the VA • ewd-federator: – Code distribution – Software update management – Synchronising configurations – Federated control over user privileges – Centralised performance monitoring / dashboards • These are things the VA has been struggling to find solutions for, for years
  • 74. Copyright © 2015 M/Gateway Developments Ltd What about the Open-Source VistA Community? • Everything I've described applies to them also – All these capabilities and features are available for GT.M-based versions of VistA • Fully supports the original aims of OSEHRA
  • 75. Copyright © 2015 M/Gateway Developments Ltd So imagine if… EWD.js was adopted at the VA..
  • 76. Copyright © 2015 M/Gateway Developments Ltd You really need to see the view from up here!
  • 77. Copyright © 2015 M/Gateway Developments Ltd EWD.js The Future Starts Here Rob Tweed Twitter: @rtweed rob.tweed@gmail.com http://www.mgateway.com