html+javascript m2m applications
DESCRIPTION
HTML+JavaScript M2M Applications. Viewbiquity Public hybrid cloud platform for automating and visualizing everything. New Cool Capability. Viewbiquity.newremoteapp () Creates an interface to a JavaScript service or app running on another machine anywhere in the world - PowerPoint PPT PresentationTRANSCRIPT
HTML+JavaScript M2M Applications
ViewbiquityPublic hybrid cloud platform for
automating and visualizing everything
New Cool Capability• Viewbiquity.newremoteapp()
– Creates an interface to a JavaScript service or app running on another machine anywhere in the world
– Call JavaScript functions on the exposed interface exactly as you would if it was running on the same computer
VCI Elements
Viewbiquity App Server- Communicates with Viewbiquity Cloud- Connects to input and output devices- Secure operation and execution behind firewall
- Operates on one or many off-the shelf computers for seamless redundancy
Automated Alerts – email, text, text to speech
Viewbiquity Cloud
- Operation and Execution- Application Maintenance- Client and App Server profile management
NOC or Web-connected device
Viewbiquity Client- View/Monitor- Control- Communicate
Events and Actions
Events
and Actions
HTTP, XML, SOAP, etc.
Command & Control
Z-Wave, SNMP, etc…
Viewbiquity App Server Interaction
Cloud Service(i.e. Amazon EC2)
ViewbiquityCloud
Hosted App
Server
NOC Based App Server
Local App ServerLocal App Server
Event
Even
tAction
JavaScript Limitations• Sandbox
– Limited to Domain• HTTP, DOM, Script objects
– Limitations to device access• Serial ports, files, printer ports, TCP/IP (websockets), etc..
• When the browser closes the app closes– No services etc. (node.js)
• Persistent Storage– Limited
Viewbiquity Addresses JavaScript Limitations• Sandbox Eliminated
– Communicate with local devices behind the firewall– APIs for devices and protocols
• Modbus, SNMP, RTSP, Serial access etc….– Admins control apps that are allowed to run for security
• Run JavaScript apps as 24/7 Services• Persistent Cloud Storage API
– Files, metadata, database, events etc.
Reduce Application Coding• Most development time spent on “shrink wrapping”
applications, not product value– Standardized GUI for App setup and configuration generated
from XML templates– Libraries
• 3rd party as well as in the core platform– Storage, database and logging APIs– HMI APIs (extensible)– Standardized user management and permissions architecture
Increase Development Productivity• Cloud Development Environment
– Apps and Libraries stored and managed in the Viewbiquity Cloud
• HTML GUI, Service/Script JavaScript– Integrated API help and examples
• 3rd Parties create their own help and examples through IDE– Revision management
• Every revision is saved with notes, time stamp and contributor• Mark revisions as Release, Stable or Development Branch
– Controlled through user permissions for each file
Increase Development Productivity• Distributed Development Team
– Control access to who can edit which libraries• Editing does not “release” apps• Library contributors can update the API help/examples directly in the
library their working on• Test on development/stable branch before releasing• Revision Diffs
• Dependency Management– API help for dependencies automatically added to API help in IDE– Dependencies are recursively loaded and initialized before app
Viewbiquity Cloud File System• App resources stored in the cloud
– Accessed by unique ID• Eliminates breaking apps by moving resources
– Centralized Client cache across apps• Images• Sound Files
– Revision history of all files– Can be shared across organizations by subscription
• Opportunity to charge for icons, media files etc.
Viewbiquity Event & Data logging• Core functionality
– User defined event structures– Event subscription API
• Push– HTTP(s) as well as JavaScript API for logging and
retrieving events and data logs• XML or JSON for HTTP• JavaScript Object for JavaScript API
– Application logs
Viewbiquity Event & Data logging• Core functionality cont’d
– History on all user activity• Edits to settings, user accounts etc.• Accountability• Undo changes
– Log data from sensors– Data layers API
• Modules for totaling, averaging, peaks and valleys (more coming soon)• Automatically generates layers
– Raw data, hourly, daily, monthly• Zoom into data as if it was a layer of a map
Viewbiquity Client Environment• Single interface ties apps together• Single management interface for users and
administrators• Apps run in “windows” or background services• Application manager API (i.e. task manager)• Skinned through style sheets
Viewbiquity Object Architecture• Everything is an object and has metadata
– Files, users, devices, apps, data records etc.– Objects are updated and read using a universal API
• HTTP(s)• JavaScript API
– Every object has a unique ID– All objects controlled through the same permission system– Objects can be shared across Organizations
• Subscriptions to data, files etc.
Viewbiquity Templates• XML templates define meta-data for devices and data
records– Devices like sensor, router, vehicle– Data records like contact in a contact list etc.
• Templates used to automatically generate admin/edit screens– Eliminates a lot of work for app developer– Standardizes setup and admin– App developers can still create their own management
interfaces if needed