3. Februar 2015

"node-oracledb"-Treiber für Node.js: Webseminar am 10. Februar

This blog posting is about the upcoming webinar on the Oracle Database and "node.js" and therefore in German only. After the webinar I'll post some code snippets and tutorials in both english and german language.
Letztes Jahr im Herbst hatte ich bereits ein Blog Posting zum Thema Node.js und die Oracle-Datenbank veröffentlicht. Als Datenbanktreiber hatte ich den Open-Source Treiber von Joe Ferner hergenommen, da es von Oracle noch keinen gab.
Das hat sich nun geändert - der node.js-Treiber von Oracle ist auf GitHub als Early Adopter Version (0.2) verfügbar. Diesen stelle ich in einem Webseminar am 10. Februar um 11:00 Uhr vor. Mehr Details zur Einwahl findet Ihr auf der Webseite des Oracle Developer Monthly.
Vorgestellt werden Node.js selbst, der Treiber für die Oracle-Datenbank, dessen Installation und einige Code-Beispiele (Einfacher REST Service, IMAP-Integration mit der Datenbank, HTML5-Websocket-Beispiel).
Nach dem Webcast wird ein weiteres Blog Posting mit mehr Details zur Installation und Nutzung des node.js Treibers geben. Bis dahin (für die, die es nicht erwarten können) hier ein wenig Code: Das folgende Beispiel implementiert einen sehr einfachen REST Webservice (nur GET) für die Tabelle EMP.
var oracledb = require('oracledb');
var express = require('express');

var pool;

//
// Diese Javascript-Funktion behandelt einen HTTP-Request /emp/*
//
function processEmp(req, res) {
  pool.getConnection(function(err, connection){
    connection.execute(
      "select * from emp where (empno=:1 or empno is null)", 
      [req.params[0]],
      function(err, results) {
        connection.release(function (err) {}),
        res.writeHead(200, {'Content-Type': 'application/json'});
        res.end(JSON.stringify(results.rows));
      }
    )
  })
}

//
// Diese Javascript-Funktion startet den Server
//
function startServer () {
  var app =  express();
  app.get ("/emp/*", processEmp);

  var server = app.listen(9000, function () {
    var host = server.address().address
    var port = server.address().port
    console.log('Table EMP REST Service listening at http://%s:%s', host, port);
  });
}

//
// Programmstart. Oracle Connection Pool und bei Erfolg den Webserver starten
//
oracledb.createPool(
  {
    user          : "scott",
    password      : "*****",
    connectString : "dbserver.mycompany.com:1521/orcl",
    poolMin       : 10,
    poolMax       : 20
  },

  function(err, ppool){
    pool = ppool;
    startServer();
  }
);
Ein solcher "Mini-Dienst" lässt sich sehr elegant mit der Visualisierungstechnologie D3js verbinden; ein sehr einfaches Beispiel sieht dann so aus:

Keine Kommentare:

Beliebte Postings