Domino e node.js: primi passi (parte 1)

Configurare node.js ed usarlo con Domino : ecco i primi passi e come fare partendo da zero .

(Questo articolo è il primo di una serie, aggiorneremo i link man mano che procederemo alla pubblicazione di tutto.)

Con il rilascio del’ultima versione di Domino e dell’AppDevPack sia per Linux che per Windows è ora possibile iniziare a lavorare sull’integrazione fra node.js e Domino . Abbiamo iniziato a farlo e pubblichiamo qui i passi fatti e qualche suggerimento su come procedere.

La seguente documentazione è riferita all’installazione su server Windows e, per semplicità, assume che si stia installando/utilizzando node.js sullo stesso server in cui è già presente il server Domino.
I numeri versione citati sono riferiti ad Aprile 2019, quando è stata scritta questa documentazione.

Si presume inoltre che abbiate già scaricato l’AppDevPack versione 1.0.1 che contiene i file per windows.

 

Cos’è Node.js

Node.js è una tecnologia Open Source che consente di utilizzare il linguaggio Javascript sul server,
la definizione più appropriata sarebbe quella di “piattaforma per l’esecuzione di applicazioni JavaScript”, come troviamo scritto nella home page del sito ufficiale.
In pratica si tratta si un run-time JavaScript, quindi un motore per l’esecuzione di codice JavaScript.

 

Perchè utilizzare Domino con node.js ?

node.js è un ambiente di programmazione ma non possiede, al suo interno, un database. Con l’integrazione di Domino e la tecnologia Domino Query Language (di cui avevamo già parlato qui ) diventa possibile utilizzare Domino come un database no-sql e quindi accedere ai dati preesistenti o creare dei db nuovi da utilizzare con node.js.

 

AppDevPack

L’ AppDevPack contiene le due componenti principali per effettuare la connessione fra node.js e Domino:

  • Proton , la task di Domino che si pone in ascolto delle chiamate da node.js e ne gestisce le risposte
  • Domino.db 1.2.0 , il modulo npm da installare in node.js per avere il supporto delle chiamate a Domino in node.js

 

1.Installazione di node.js su Windows

La procedura è abbastanza semplice: andate sul sito ufficiale di node.js e scaricate la versione che vi serve.
Lanciate l’install, dopo alcune schermate classiche, verrà chiesto cosa volete installare, se solo Node.js o anche altri componenti associati.
Vi consigliamo di lasciare tutte le caselle selezionate e proseguire. Soprattutto è importante che lasciate selezionato npm package manager che è fondamentale e vi servirà dopo: npm è il package manager di node.js che vi servirà per scaricare e installare una serie di pacchetti (moduli) che estendono le funzionalità di node.js.

Possiamo verificare il buon esito dell’installazione digitando i comandi:

node --version
npm --version

i quali dovranno restituirci, in caso di successo, le versioni dei due software appena installati.

 

2.Proton

L’altro componente necessario è PROTON, la task del server Domino che accetta chiamate da node.js.
Lo trovate all’interno dell’AppDevPack , scompattelo e localizzate il file proton.exe che dovete copiare nel folder dei programmi di Domino (ovviamente stiamo parlando di una installazione Windows).
Nota: la comunicazione fra node.js e Proton può avvenire in due modi , anonima e non cifrata oppure con utenza e certificati. Per ora vedremo solo la comunicazione anonima. Il setup della comunicazione cifrata lo trovate a breve in uno dei prossimi articoli.

Ora modificate il notes.ini del server Domino aggiungendo queste 3 righe:

PROTON_SSL=0
PROTON_LISTEN_PORT=3002
PROTON_LISTEN_ADDRESS=127.0.0.1

Come detto prima la prima riga serve per configurare il tipo di connessione (SSL o meno) . Impostandolo a zero scegliamo l’opzione senza SSL
La seconda riga serve per scegliere la porta TCP/IP su cui node.js dialogherà con Proton, 3002 è il valore di default usato da Proton
La terza riga permette di filtrare l’indirizzo IP da cui provengono le richieste . In questo caso si assume che node.js sia sullo stesso server di Domino e quindi viene impostata come localhost.

 

Fatto questo potete far partire Proton con il classico comando load proton oppure aggiungendolo nella variabile servertasks del server domino
Per maggiori informazioni su Proton fate riferimento a questa pagina : https://doc.cwpcollaboration.com/appdevpack/docs/en/proton-admin.html

Se volete vedere cosa sta facendo Proton potete usare il comando sh stat proton dalla console del server Domino:

 

Fine della prima parte, a breve il seguito