Callback functions used to be very common in JavaScript and Node applications. Out of necessity. And with Callback functions came unclear program flows, parallel realities, nested complexity and more. ECMAScript introduced Promises several years ago and followed that up with the neat await and async syntax. This allows us to […]
JavaScript
Dynamic tabs with Angular 6+ and ng-bootstrap
One of our Angular applications required the use of dynamic tabs. Since the project already uses ng-bootstrap components and bootstrap for the styling, I decided to use the tabset component from ng-bootstrap. The tabs needed to fulfil the following requirements:– A tab can be opened and closed.– Tabs can display […]
The Pipelined Pancake Party – demonstrating the Power of Parallelization and Pipelining in JavaScript with Promises and Asynchronous Generators
This article is an attempt to demonstrate the performance gains – and programming elegance – that is at our disposal with the advent of asynchronous generators in ES 2018 (JavaScript), for example in Node 10 and later. With asynchronous generators and Promises, we can implement parallel, asynchronous and pipelined processing […]
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 […]
Quickly setup a persistent React application
After having recently picked up the React framework, I figured I’d share how I quickly setup my projects to implement persistence. This way you spend minimal time setting up the skeleton of your application, letting you focus on adding functionality. This is done by combining a few tools. Let’s take […]
5 main building blocks of the new Visual Builder Cloud Service
In may 2018 Oracle introduced the new version of Visual Builder Cloud Service. This version is not just aimed at the Citizen Developer, in the end an experienced JavaScript can do nice things with it. In this blog I will have a look at 5 of the 6 main building […]
Getting ADF Data in a Jet Component (2)
In my previous blog I explained how to get ADF Data in a Jet Component, this was done by iterating through a ViewObject and rendering a component per element in the View Object. When you want to use the DVT’s from Oracle Jet, this won’t do the thing, because you […]
Getting ADF Data in a Jet Component (1)
Oracle JET has been around for a while, and at this moment we are investigating what it would take to integrate JET with our existing ADF Application. In the current ADF application we want to make a dashboard in JET, however we still need to know for what project we […]
Karma testing with code coverage for Oracle JET part 2
In part one of this series of blogs you set up the configurations needed to start testing your Oracle JET application. Grab the project you made, now it is time to actually do the testing. Have something to test. Our application is not really doing anything now, so let’s add […]
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: 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 […]
Using Angular2 on top of Oracle 11g
Adding Angular 2 to an existing ADF application Reality sometimes can be a bit surprising. The desire to build a new module using Angular 2 on top of an existing ADF 12.1.3 application for example probably wouldn’t be the first thing you would expect. But hey, with AMIS’ strong background […]
Intro into ServiceWorkers
The first baby steps.. This is the first of a three part blog series. Each of these blog posts explain a small part of the ServiceWorker API. In this part, we begin with the basics. Even though ServiceWorkers are still a ‘working draft’, they are here to stay. Firefox, Chrome […]
Caching with a ServiceWorker
Next up, caching.. This is the second part of a three part blog series. You can find the first part here. In this part, we will talk about caching. Ok, so we’ve seen: How to register a ServiceWorker What you can do to intercept an HTTP request How to answer […]
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 […]
How to: Use Polymer Webcomponents in Angular2
This post explain how to use a polymer webcomponent in an Angular2 app. We use the google maps component as an example. For instructions on the demo app, see the bottom of this post. The files of the demo application: demoApp Getting started Open the files of the demo app […]
Setting environment variables using Gulp.
For the project I am working on we have three different environments, which have their own database and users. We don’t want this login credentials to be in our git repository, and we also don’t want to manually adjust the credentials every time we do a release to another environment. […]
Integration Workload Statistics (IWS) on untyped JSON and JavaScript in Composites
Oracle SOA Suite 12.2.1 introduces Integration Workload Statistics. This is a powerful new feature which can be used to do performance measures. Oracle SOA Suite 12.2.1 also introduces untyped JSON support and JavaScript support in composites and Service Bus. What better way to take a good look at both features […]
SOA Suite 12.2.1: A first look at end-to-end JSON and JavaScript support in SOA Composites
SOA Suite 12.2.1 introduces end-to-end JSON support in composites and support for JavaScript in composites. The REST-binding (which can be used by Service Bus, BPEL, BPM) can receive and send untyped JSON without the need to translate it to XML. In BPEL, JavaScript can be used as expression language in […]
Oracle JavaScript Extension Toolkit (Oracle JET) – announced at OOW15
Javascript is the most popular programming language* and its usage has grown 25% in the past year**. It’s widely used and so it stands to reason that Oracle now released a brand new JavaScript toolkit called Oracle JET (JavaScript Extension Toolkit). Oracle says “Oracle JET is targeted at intermediate to […]
Automatic error handling in AngularJS
In demos and tutorials we only care about the happy-flow of our applications. That is ok, because we only run that code in our own little predictable environment and leaving everything else out makes any framework look nice and easy. Often in blog posts “error handling and such is left as […]