Node.js Module
Node.js is an open-source and cross-platform JavaScript runtime environment.
Node.js runs the V8 JavaScript engine, the core of Google Chrome, outside of the browser. This allows Node.js to be very performant.
A Node.js app runs in a single process, without creating a new thread for every request. Node.js provides a set of asynchronous I/O primitives in its standard library that prevent JavaScript code from blocking and generally, libraries in Node.js are written using non-blocking paradigms, making blocking behavior the exception rather than the norm.
Contents
Lianja Cloud Data Services Node module
Lianja Cloud Server includes a Node.js module lianjaclouddataservices enabling Node.js applications to connect to a local or remote Lianja Cloud Server and perform a variety of operations.
Installing the Lianja Cloud Data Services Node module
The simplest way to use the Node.js module module is by creating a symbolic link using "npm link".
On Windows:
cd C:\lianja\cloudserver\tenants\public\wwwroot\library\LianjaWebFramework\LianjaCloudDataServices\node\ npm link
On Linux:
cd /opt/lianja/cloudserver/tenants/public/wwwroot/library/LianjaWebFramework/LianjaCloudDataServices/node/ npm link
Testing the installation:
On Windows:
cd C:\lianja\cloudserver\tenants\public\wwwroot\library\LianjaWebFramework\LianjaCloudDataServices\node\lianjaclouddataservices\
node test.js
on Linux:
cd /opt/lianja/cloudserver/tenants/public/wwwroot/library/LianjaWebFramework/LianjaCloudDataServices/node/lianjaclouddataservices\ node test.js
Using the Lianja Cloud Data Services module in Node Applications
Load the module into your Node.js application
const Lianja = require("Lianjaclouddataservices")
Exported functions. All are asynchronous returning a "Promise" (see example usage below).
See OData URIs for details of OData URIs and OData Operators for all the OData operators.
Module Methods
Function | Description |
---|---|
Lianja.login(host, user, password) | Login and connect to to a local or remote Cloud Server. To connect locally specify the host as http: //localhost:8001 |
Lianja.logout() | Logout from the local or remote Cloud Server. |
Lianja.evaluate(expr) | Evaluates LianjaScript expression and returns the result asynchronously. |
Lianja.evaluatePython(expr) | Evaluates Python expression and returns the result asynchronously. |
Lianja.evaluateJavaScript(expr) | Evaluates JavaScript expression and returns the result asynchronously. |
Lianja.fetch(url) | Fetches data from the server using an .rsp, .pysp or .jssp server side page. Use fetch() to retrieve custom data from the server. |
Lianja.OData_Create(url, data) | See ODATA_CREATE() |
Lianja.OData_Read(url) | See ODATA_READ() |
Lianja.OData_ReadHTML(url) | See See ODATA_READ() |
Lianja.OData_ReadJSON(url) | See See ODATA_READ() |
Lianja.OData_ReadImage(url) | See See ODATA_READ() |
Lianja.OData_Update(url, data) | See ODATA_UPDATE() |
Lianja.OData_UpdateHTML(url, text) | See ODATA_UPDATE() |
Lianja.OData_UpdateJSON(url, jsontext) | |
Lianja.OData_Delete(url, data) | See ODATA_DELETE() |
// // Lianja Node.js module test // // On windows: // // cd C:\lianja\cloudserver\tenants\public\wwwroot\library\LianjaWebFramework\LianjaCloudDataServices\node\ // npm link // cd C:\lianja\cloudserver\tenants\public\wwwroot\library\LianjaWebFramework\LianjaCloudDataServices\node\lianjaclouddataservices\ // node test.js // // on Linux: // // cd /opt/lianja/cloudserver/tenants/public/wwwroot/library/LianjaWebFramework/LianjaCloudDataServices/node/ // npm link // cd /opt/lianja/cloudserver/tenants/public/wwwroot/library/LianjaWebFramework/LianjaCloudDataServices/node/lianjaclouddataservices\ // node test.js // const Lianja = require("lianjaclouddataservices"); // All Lianja methods are asynchronous as required by Node.js var rc = Lianja.login("admin", "admin").then(ok => { console.log("Lianja.login() - " + (ok ? "successful" : "failed")); if (ok) performOperations() }); function performOperations() { Lianja.evaluate("username()").then(result => { console.log("username - " + result); }); Lianja.evaluate("etos(date()) + ' ' + time()").then(result => { console.log("Lianja.evaluate() - " + result); }); Lianja.OData_Read("/southwind/employees?$top=1").then(result => { console.log("Lianja.OData_Read()"); console.log(result); }); Lianja.OData_ReadHTML("/southwind/employees?$select=notes&$filter=lastname eq 'Buchanan'").then(result => { console.log("Lianja.OData_ReadHTML()"); console.log(result); }); Lianja.OData_ReadImage("/southwind/employees?$select=photo&$filter=lastname eq 'Buchanan'").then(result => { console.log("Lianja.OData_ReadImage()"); console.log("size="+result.length); }); };