Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:nodejs_server

NodeJS Server REST API - Erste Schritte und Erfahrungen

Aufgabe:

Für das Sammeln von Daten von einzelnen IOT Device soll ein NodeJS Server als Proxy eingesetzt werden.

Die Stammdatenverwaltung und Konfiguration erfolgt über Oracle APEX, das Speichern der Messdaten erfolgt in einer TimeSeries Datenbank.

Der NodeJS Server erhält die Daten von den Sensoren, schreibt im ersten Schritt in Backup Dateien und versendet die Daten an die entsprechende Datenbank.

Damit sind die Sensoren von der Datenhaltungsschicht abgekoppelt, die Datenbank kann gestoppt werden ohne das Daten verloren gehen.


NodeJS Server aufsetzen

Vorbereitung

Allgemein zu nodejs siehe auch Erste Erfahrungen mit Electron / NodeJS und der Anbindung an die Oracle Datenbank

Der Prototyp läuft unter MS Windows, später unter auf Linux unter ARM.

  • Download der NodeJS Sofware unter https://nodejs.org/en/
  • Starten und Installieren mit allen Optionen z.b. unter C:\entwicklung\nodejs

Express Library installieren

PS C:\work> npm install --save express
npm WARN saveError ENOENT: no such file or directory, open 'C:\work\package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open 'C:\work\package.json'
npm WARN work No description
npm WARN work No repository field.
npm WARN work No README data
npm WARN work No license field.
 
+ express@4.16.4
added 48 packages from 36 contributors and audited 121 packages in 6.753s
found 0 vulnerabilities

Das erste Hello World

Siehe ⇒ https://expressjs.com/en/starter/hello-world.html

Quellcode von dort in eine daten „server.js“ kopieren und mit „node .\server.js“ starten, um zu testen ob die Software richtig installiert ist und alles gefunden wird.

Problem: Error: Cannot find module 'express'
PS C:\entwicklung\work\nodeJsonProxy> node .\server.js
internal/modules/cjs/loader.js:583
    throw err;
    ^
 
Error: Cannot find module 'express'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
 

Lösung:

Set-Item -Path ENV:NODE_PATH -value C:\entwicklung\nodejs\node_modules
node .\server.js

=)

Eine Html Seite aus einem Template erstellen - EJS

Seiten mit ejs bauen

npm install ejs --save

Die Oracle Datenbank anbinden

Mit „ npm install oracledb“ das NodeJS Modul installieren

 npm install oracledb
 
> oracledb@3.1.2 install C:\entwicklung\work\nodeJsonProxy\IOTGateway\node_modules\oracledb
> node package/install.js
 
oracledb ********************************************************************************
oracledb ** Node-oracledb 3.1.2 installed for Node.js 10.15.1 (win32, x64)
oracledb **
oracledb ** To use node-oracledb:
oracledb ** - Oracle Client libraries (64-bit) must be in your PATH environment variable
oracledb ** - To get libraries, install an Instant Client Basic or Basic Light package from
oracledb **   https://www.oracle.com/technetwork/topics/winx64soft-089540.html
oracledb ** - A Microsoft Visual Studio Redistributable suitable for your Oracle Client library version must be available
oracledb **   See https://oracle.github.io/node-oracledb/INSTALL.html for details
oracledb **
oracledb ** Installation instructions: https://oracle.github.io/node-oracledb/INSTALL.html
oracledb ********************************************************************************
 
+ oracledb@3.1.2
added 1 package and audited 248 packages in 98.101s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
 
  --------------
 

Quellen

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
"Autor: Gunther Pipperr"
prog/nodejs_server.txt · Zuletzt geändert: 2019/05/28 16:39 von Gunther Pippèrr