Wrapping a legacy with a function
In this section, we will demonstrate how to write a wrapper function for a legacy web-based system. To achieve this, we use the chromeless
library (https://github.com/graphcool/chromeless) to connect to a headless Chrome instance. Then the chromeless
script drives the Chrome browser to do the rest for us.
The following diagram shows the working mechanism of this part of the system:
Figure 8.11: Diagram of implementing an OpenFaaS function to wrap around a UI-based ERP
What does chromeless
do? chromeless
is a Node.js library that can be used to perform browser automation, similar to PhantomJS or Selenium. But it is really fast. Together with headless Chrome instances, chromeless
yields a very fast performance. So it could be used as a serverless function.
We start by using FaaS CLI to create a project. We call this functionhivectl
, a program to control an ERP program built with the Moqui framework, HiveMind. We will talk about HiveMind shortly after setting up...