Blog, published July 2, 2018 by Justin Hill

Node.js and Domino V10 Essentials

In the latest webinar on the upcoming Domino Version 10 release, Paul Withers from Intec Systems Ltd , John Jardin from Agilit-e and Jason Gary from HCL Technologies focus on the development opportunities of Node.js and Domino.

So, why are Node.js and Domino a match?

Node.js in V10

Let’s see how Node.js and Domino bring unique benefits to the table, such as:

Node.js offers a unique opportunity to develop new apps based on Domino.

While Node.js garners much attention, significant improvements are being made to Domino and NSF databases as well. When combined with the power of JavaScript, this brings Domino apps to the next level. You can use the Domino database just like any other database, but enjoy the security that a Domino database offers. Note, that you can use Angular as well, not just Node.js. Essentially, the goal is take the stack of Domino web server and make it available to Node.js to process.

The architecture: there is no communication directly to the NSF. The communication is made through the API gateway. None of this has been done through Domino Designer and this is a request from Domino developers that will be addressed.

Flowchart showing data flow from apps to Domino Web Server via Loopback API Gateway. Features new REST APIs and OAuth2 support.

Container Clustering

The next great thing that is new is Container Clustering, which offers a different approach. You don’t need to build 3rd party technologies into Domino. You have a bunch of echnologies that exist as a sidecar to a Domino environment, with each one existing independently as a container. To top all of that up, all the communication is done through APIs.

Diagram showing a workflow between Domino with API Gateway and NSF Catalog/Store, and Kubernetes Cluster with Agilit-e, Node-RED, React App.

Here is how you can approach things:

ReactJS

ReactJS is a library, not a platform, so you can decide and model everything as you see fit, on a user interface that is well managed. It’s lightning fast and the real benefit is it’s like designing a Node.js app without using traditional Javascript, so you move faster.

Text reads "PLATFORM AGNOSTIC," with points on React's features. Colorful abstract design and logos of intec, AGILIT-E, and IBM CHAMPION.

When analyzing REST vsAPI you will notice that:

API-first approach means:

Code for failure and “bad data” – ON BOTH SIDES:

Wherever the database has no control over what is given, the API gateway enables a greater control over your database, meaning more planning. Someone might pass in that API without adding some needed info so you need to make sure that you have added all the needed parameters.

When comparing REST to API Cont you will see that there are some security considerations to be checked:

Be careful what you expose:

Node RED

NODE=RED is an integration tool for wiring together APIs and online services, which is available on IBM Cloud, local Node.js app or Docker. (You should note that Docker containers not aware of host’s “ localhost ” or other containers)

You can schedule tasks via Inject node (or Big Timer) and use additional nodes for e.g. Watson Services, Connections. One other thing you might like is that basic authentication can be set and the flows can be imported/exported as JSON.

Just to summarize a bit, NODE-RED and API means FLEXIBILITY .

API:

Node-RED – Installable alongside Domino with NodeJS:

Microservice Patterns

When talking about Microservice Patterns you have :Micro-Functions:

and Micro-Services:

As you might imagine IBM does not plan to stop here. All these new and exiting things that Domino 10 will bring will help developers give legacy apps a new face. IBM does not plan to stop here. For the future these are some of the things we can expect:

Previous IBM Domino v10 Roadmap webinars are still available to be viewed on demand.

The first IBM Domino v10 webinar from February 28th titled “Let’s Get Real: What’s in Domino v10″ is available HERE.

The second webinar from April 15th titled “Domino App Modernization: How to modernize your apps in less than an hour!” can be found HERE.

The third webinar from May 24th titled “What’s new in Mail and Chat V10” can be found HERE.

Filed under hcl domino