TL;DR – this article describes how Windows Sandbox can be used to prepare a well known environment for demonstrations, tutorials, tests etc. Scoop is a great package manager for quickly installing Windows packages (Node runtime, Git client, VS Code editor, …) into the Sandbox. I have applied these concepts to […]
NodeJS
Run Automated Step-by-Step Browser Scenarios for Instruction or Demo from NodeJS applications with Playwright
TL;DR; Run demonstrations or instructions of browser actions. Allow the user to pause and skip acts, and to reset and switch scenarios. Allow the user to interact with the browser before, after and during the scenarios. The open source Playwright library is used from a custom NodeJS application in which […]
Azure Pipelines: publish to Azure Artifacts
This article is a follow-up to my previous article about using Azure Artifacts for own NPM modules. In that article I showed how to create a NPM module by hand on your local system and publish it to Azure Artifacts. But now we like to integrate it into CI/CD, so […]
Using Azure Artifacts for your own NPM modules
Currently I am working on a customer project in which we build a lot of Azure (serverless) functions, mostly in Javascript. Sometime ago we foresaw that we need some shared functionality which was to be used in multiple functions. So wouldn’t it be a good idea to create some shared […]
Override Date.now() based on OS time when Node returns incorrect current date
I was facing a weird issue. In my Node application – version 10.6.3 – running on Ubuntu – 18.04 – I got the wrong value for the current date and time. A call to new Date() and to Date.now() resulted in a wrong value, off by over two months: The […]
Graceful shutdown of forked workers in Python and JavaScript running in Docker containers
You might encounter a situation where you want to fork a script during execution. For example if the amount of forks is dependent on user input or another specific situation. I encountered such a situation in which I wanted to put load on a service using multiple concurrent processes. In […]
JavaScript Pipelining using Asynchronous Generators to implement Running Aggregates
As of ES 2018 (recent browsers or Node 10), JavaScript support asynchronous generators. Generators are functions that return a set of values, one value at a time. These values can be processed inside the code that invokes the generator immediately, as soon as they become available. There is no need […]
Session Catalog for Oracle OpenWorld & CodeOne 2018 in JSON files
The Oracle OpenWorld and CodeOne 2018 conferences took place in the last week of October 2018. Together, over 1500 sessions took place. The session catalog with details for all sessions is accessible at https://events.rainfocus.com/widget/oracle/oow18/catalogcodeone18 – at least at the time of writing. The session information includes title and abstract, track, […]
Querying connected data in Graph databases with Neo4j
TL;DR; · Graph databases are ideal for query use cases with data with complex relationships and layers of connections · Its query language is fast, efficient and allows for retrieval of information at deeper levels of abstraction in the data · Neo4j is currently the most popular Graph database, and […]
Generic Docker Container Image for running and live reloading a Node application based on a GitHub Repo
My desire: find a way to run a Node application from a Git(Hub) repository using a generic Docker container and be able to refresh the running container on the fly whenever the sources in the repo are updated. The process of producing containers for each application and upon each change […]
Java programs as native executables: GraalVM is the answer!
TL;DR: • Using GraalVM Java applications can be compiled into native standalone executables (will be demonstrated). • Native executables of small Java programs startup blazingly fast, use considerably less resources compared to running on JVM and do not even require the JRE or any other kind of runtime apart from […]
Simple CQRS – Tweets to Apache Kafka to Elastic Search Index using a little Node code
Put simply – CQRS (Command Query Responsibility Segregation) is an architecture pattern that recognizes the fact that it may be wise to separate the database that processes data manipulations from the engines that handle queries. When data retrieval requires special formats, scale, availability, TCO, location, search options and response times, […]
Node & Express application to proxy HTTP requests – simply forwarding the response to the original caller
The requirement is simple: a Node JS application that receives HTTP requests and forwards (some of) them to other hosts and subsequently the returns the responses it receives to the original caller. This can be used in many situations – to ensure all resources loaded in a web application come […]
Create a Node JS application for Downloading sources from GitHub
My objective: create a Node application to download sources from a repository on GitHub. I want to use this application to read a simple package.json-like file (that describes which reusable components (from which GitHub repositories) the application has dependencies on) and download all required resources from GitHub and store them […]
Tweet with download link for JavaOne and Oracle OpenWorld slide decks
In a recent article I discussed how to programmatically fetch a JSON document with information about sessions at Oracle OpenWorld and JavaOne 2017. Yesterday, slidedecks for these sessions started to become available. I have analyzed how the link to these downloads were included in the JSON data returned by the […]
Oracle Mobile Cloud Service (MCS): Overview of integration options
Oracle Mobile Cloud Service has a lot of options which allows it to integrate with other services and systems. Since it runs JavaScript on Node.js for custom APIs, it is very flexible. Some features allow it to extent its own functionality such as the Firebase configuration option to send notifications […]
When Screen Scraping became API calling – Gathering Oracle OpenWorld 2017 Session Catalog with Node
A dataset with all sessions of the upcoming Oracle OpenWorld 2017 conference is nice to have – for experiments and demonstrations with many technologies. The session catalog is exposed at a website – https://events.rainfocus.com/catalog/oracle/oow17/catalogoow17 With searching, filtering and scrolling, all available sessions can be inspected. If data is available in […]
Node.js run from GitHub in Generic Docker Container backed by Dockerized Redis Cache
In a previous article I talked about a generic Docker Container Image that can be used to run any Node.js application directly from GitHub or some other Git instance by feeding the Git repo url as Docker run parameter (see https://technology.amis.nl/2017/05/21/running-node-js-applications-from-github-in-generic-docker-container/). In this article, I create a simple Node.js application […]
Sequential Asynchronous calls in Node.JS – using callbacks, async and ES6 Promises
One of the challenges with programming in JavaScript (ECMA Script) in general and Node.JS in particular is having to deal with asynchronous operations. Whenever a call is made to a function that will handle the request asynchronously, care has to be taken to be prepared to receive the result from […]
Node.js application writing to MongoDB – Kafka Streams findings read from Kafka Topic written to MongoDB from Node
MongoDB is a popular, light weight, highly scalable, very fast and easy to use NoSQL document database. Written in C++, working with JSON documents (stored in binary format BSON), processing JavaScript commands using the V8 engine, MongoDB easily ties in into many different languages and platforms, one of which is […]
Kafka Streams and NodeJS – Consuming and periodically reporting in Node.JS on the results from a Kafka Streams streaming analytics application
In several previous articles on Apache Kafka, Kafka Streams and Node.JS for interacting with Apache Kafka, I have described how to create a Node.JS application that publishes messages to a Kafka Topic (based on entries in a CSV file), how to create a simple Kafka Streams Java application that processes […]
NodeJS – Publish messages to Apache Kafka Topic with random delays to generate sample events based on records in CSV file
In a recent article I described how to implement a simple Node.JS program that reads and processes records from a delimiter separated file. That is stepping stone on the way to my real goal: publish a load of messages on a Kafka Topic, based on records in a file, and […]
NodeJS – reading and processing a delimiter separated file (csv)
Frequently, there is a need to read data from a file, process it and route it onwards. In my case, the objective was to produce messages on a Kafka Topic. However, regardless of the objective, the basic steps of reading the file and processing its contents are required often. In […]
Oracle Mobile Cloud Service (MCS). Implementing custom APIs using JavaScript on Node.js
Oracle Mobile Cloud Service is a mobile backend as a service. MCS does its magic by providing a lot of features to make implementing mobile services easy such as (among many others) authentication, logging/analytics, lookups and calling other services. There are also features available to make integration with mobile clients […]
Oracle NoSQL Database 4.x and the Node.js driver 3.x
There are two ways you can access Oracle NoSQL database from a Node.js application. These are illustrated below. You can use the nosqldb-oraclejs driver and you can use Oracle REST Data Services. In my previous blog post I illustrated how you can access Oracle NoSQL database by using the nosqldb-oraclejs […]
First steps in deploying Node.js on Heroku
Recently, I used Heroku to deploy a website in the great wide open! In this blogpost I want to tell about my first steps using Heroku, including the rookie mistakes I made: so you don’t have to make them. Heroku in a nutshell: “Heroku is a cloud platform that lets […]
Login with OAuth2.0 using AngularJS 1.5 componentrouter and Node.js
For one of my projects I need my users to log in to an 3rd party api (in my case strava) using oauth2.0 Framework of choice: AngularJS 1.5 in plain javascript, with the Angular 1.5 componentrouter. Since I have apikeys which I do not want to be known the the […]
Node.js and Oracle NoSQL Database
Oracle NoSQL Database is an interesting option to consider when you want a schemaless, fast, scale-able database which can provide relaxed (eventual) consistency. Oracle provides a Node.js driver for this database. In this blog I’ll describe how to install Oracle NoSQL database and how to connect to it from a […]
Application Container Cloud: Node.js hosting with enterprise-grade features
Oracle’s Application Container Cloud allows you to run Java SE, Node.js and PHP applications (and more is coming) in a Docker container hosted in the Oracle Public Cloud (OPC). Node.js can crash when applications do strange things. You can think of incorrect error handling, blocking calls or strange memory usage. […]
Node.js: My first SOAP service
I created a simple HelloWorld SOAP service running on Node.js. Why did I do that? I wanted to try if Node.js was a viable solution to use as middleware layer in an application landscape. Not all clients can call JSON services. SOAP is still very common. If Node.js is to […]
Node.js: A simple pattern to increase perceived performance
The asynchronous nature of code running on Node.js provides many interesting options for service orchestration. In this example I will call two translation services (Google and SYSTRAN). I will call both of them quickly after each other (milliseconds). The first answer to be returned, will be the answer returned to […]
My first NodeJS service
Microservices implemented in JavaScript running on NodeJS are becoming quite popular lately. In order to gain some experience with this, I created a little in memory NodeJS cache service. Of course statefulness complicates scalability, but if I would also have implemented a persistent store to avoid this, the scope of […]
Create an oracledb enabled Node.js application container
In my previous article, First setup of a connection from Node.js to an Oracle Database, I demonstrated how to make a connection to a remote database using Node.js and the node-oracledb module. I used a dedicated VM with Linux 7 installed and Oracle Instantclient provided the 12.1 client libraries. Now […]
First setup of a connection from Node.js to an Oracle Database
In this article I will demonstrate how to make a connection to a remote Oracle database from Node.js running on linux 7. We will be using the node-oracledb module to accomplish this. Lucas Jellema gave a great explanation about this module in his recent article Running node-oracledb – the Oracle Database Driver […]
Deploying an Oracle JET application to Application Container Cloud and running on Node.js
An article from the Oracle A-Team (http://www.ateam-oracle.com/oracle-jet-with-nodejs/) describes how to run a sample Oracle JET application on a Node.js server. I have followed the steps in that article, ran the JET application locally and then configured the application for deployment to the Oracle Application Container Cloud. Subsequently, I created a […]
REST API on Node.js and Express for data retrieved from Oracle Database with node-oracledb Database Driver running on Application Container Cloud
This article is a follow up on my previous article Linking Application Container Cloud to DBaaS – Expose REST API from node.js application leveraging node-oracle-database driver. That article describes how a simple Node.js application is configured for deployment on the Oracle Application Container Cloud and how it leverages the node-oracledb […]