Understanding EWDjs: Working with Global-based Databases

A comprehensive guide to understanding Global storage and how it is accessed by and manipulated from within EWDjs
5.0 (9 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
34 students enrolled
Instructed by Rob Tweed IT & Software / Other
Take This Course
  • Lectures 17
  • Length 2.5 hours
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 10/2015 English

Course Description

Global-based databases are a little-known and relatively poorly-understood technology, and yet they are incredibly powerful multi-model NoSQL databases. EWDjs is primarily designed to integrate with and exploit the power of these databases, so anyone wishing to use EWDjs in the most effective way should take this course.

This course explains in detail how Global Storage works and how Global-based databases are accessed from Nodejs and EWDjs.

Students should already have an understanding of databases and should be familiar with both using and the concepts that underpin Nodejs and EWDjs.

The course mainly consists of video screencasts, but source code is included for the examples used during the course.

The course should take 2 - 3 hours to complete.

What are the requirements?

  • Students should have a working EWD.js system
  • Students should ideally have completed the "Getting Started with EWD.js" course

What am I going to get from this course?

  • understand how Global Storage works
  • understand how to manipulate data in a Global-based database
  • understand how to work with Global storage from EWD.js applications, using its JavaScript / JSON abstraction

Who is the target audience?

  • This course is intended for students who have begun using EWD.js and want to understand how it integrates with a Global-based database

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: How Global Storage Works

This lecture focuses on the basic concepts and principles behind a Global Storage database

Section 2: Modelling NoSQL Database Types using Global Storage
Modelling NoSQL Database Types using Globals
Section 3: Accessing Global Storage from Node.js

In this lecture we'll focus on loading and initialising the interface modules, and show how you open and close connections to Cache, GlobalsDB and GT.M


This lecture focuses on the main Global primitive APIs that allow you to set, get and delete Global Nodes


In this lecture you'll learn how to navigate around the subscripts of a set of nodes within a Global

Section 4: Globals as Persistent JavaScript Objects

This lecture sets out the concept of projecting Globals as Persistent JavaScript Objects, and explains the GlobalNode Object and the basic, primitive properties and methods it exposes


This lecture introduces the $() method for GlobalNode Objects, which is the key to projecting physical Global Nodes on disc as persistent JavaScript Objects


In this lecture we introduce the GlobalNode Object's forEach() method, which greatly simplifies and clarifies the means by which you can traverse a Global's subscripts and contents


In this lecture we'll look at how and why forEach loops can be nested, and how to navigate to specific subscripts without an exhaustive traversal. We'll also see how to reverse the direction of a forEach loop.


In this lecture we'll look at how you can limit traversal of a Global's subscripts to those starting with a specified prefix, how you can traverse ranges of subscript values, and finally how you can traverse between a Global's leaf nodes.


In this lecture we introduce the _getDocument() and _setDocument() methods, which allow Global Storage to be treated as a Document Database


In this lecture we'll see how _getDocument() and _setDocument() map arrays between Global Storage and JSON, and how you can control this behaviour. We'll also see how you can adjust their behaviour to improve performance.

Section 5: Using GlobalNode Objects in EWD.js

In this lecture, we look in detail at a simple EWDjs application that demonstrates the use of GlobalNode Objects to manipulate Global Storage


In this lecture, we examine in detail the EWDjs Session, which is made available to you as a GlobalNode Object


In this lecture we'll examine how GlobalNode Objects can be used to convey complex data to and from Cache or Mumps extrinsic functions, and in doing so provide a way to integrate legacy Mumps code into your EWDjs applications

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Rob Tweed, Author of EWD.js

My name is Rob Tweed. I'm a Director and co-founder of M/Gateway Developments Ltd, a UK company that, since 1996, has specialised in web and internet technologies, in particular in conjunction with the Caché and GT.M databases.

I'm the author of EWDjs, a Node.js-based framework for browser-based client/server applications. EWDjs is specifically designed for use with the Caché and GT.M technologies, but supports other NoSQL databases including MongoDB and can be used as a framework with any other database technology.

My IT career started at the Royal Marsden Hospital, the UK's premier cancer hospital based in London and Surrey, where I headed up the application development team within their Computer Department.

I spent 4 years working in the Healthcare IT team at Touche Ross Management Consultants in London, during which time (and for several years after) I was a key member of the NHS-Wide Networking Project team, one of Europe's largest-ever networking projects, managed by the NHS Management Executive.

After becoming an independent consultant in the mid-1990s, I have focused exclusively on web technologies, with a particular focus on their role in healthcare. I was the inspiration behindWebLink, a web gateway product that I and my fellow co-director Chris Munt created and sold toInterSystems, the vendor of Caché. I also developed InterSystems' WebLink Developer framework, the pre-cursor to EWDjs, and have consulted with and supported many of InterSystems' major customers around the world to help them build their web application projects. The largest of these customers is Quest Diagnostics in the USA who use both WebLink Developer and EWD (the immediate predecessor to EWDjs) to support their Care360 application: the world's largest Caché-based, internet-facing web application. I provide support to Quest Diagnostics for both EWD and WebLink Developer.

Recent high-profile work includes my technical support and development of the JavaScript User Interface for Oroville Hospital's winning entry in 2013 to the US Dept of Veteran's Affairs Scheduling competition.

My technical expertise includes over 30 years' experience in the Mumps, Caché and GT.M technologies in not only healthcare but also a wide range of market sectors including financial services, online publishing and retail. Other experience includes:

  • Nodejs
  • Javascript
  • JSON
  • Javascript frameworks including Bootstrap, jQuery, ExtJS and Sencha Touch
  • NoSQL databases
  • WebSockets
  • XML
  • Mobile web applications and frameworks

I have presented at a wide range of conferences in the USA, UK and elsewhere, including Ajax World, Cloud Computing, EHI Live, London Node.js Users Group and InterSystems' Developers Conference.

Ready to start learning?
Take This Course