so-115-adapter

## Obiettivo

Usage no npm install needed!

<script type="module">
  import so115Adapter from 'https://cdn.skypack.dev/so-115-adapter';
</script>

README

SO115 notificator

Obiettivo

Triggerare l'intero flusso di notifica emergenze di ActivePager ad ogni nuova partenza inserita dentro il sistema SO115 della caserma.

Questo permetterà agli operatori di non dover inserire i dati di un intervento in due sistemi (SO115 e ActivePager), ma di inserirli in uno solo (SO115). Questo script leggerà il DB Oracle in una macchina Windows e invierà ad una API di ActivePager le informazioni riguardanti una partenza di un mezzo.

Domande e risposte

Per le risposte, vedi file DomandeRisposte

Requisiti di Sistema

Setup development environment

  1. Start Oracle Database with Docker (in daemon mode)
docker-compose up -d
# docker-compose logs -f # vedere i log del container
  1. Accendere la virtual-machine
vagrant up
  1. Entrare nella vagrant in ssh
vagrant ssh
  1. Run tests
npm t
  1. Start application
npm start
  1. Stop Virtual machine (dalla macchina host)
vagrant halt
  1. Stop Oracle Database
docker-compose down

Gestione del demone

Durante il setup della macchina virtuale di sviluppo viene creato il file /lib/systemd/system/activepager-so115.service in cui viene definito il demone che verrà riavviato se fallisce.

 Start on VM Boot

sudo systemctl enable activepager-so115

Start

sudo systemctl start activepager-so115

Status

sudo systemctl status activepager-so115

Stop

sudo systemctl stop activepager-so115

Logs

sudo journalctl --no-pager -u activepager-so115.service -f

Configurazione da parte del sys-admin una volta installata la virtual machine

Per la configurazione delle connessioni basta modificare quel file in particolare le variabili d'ambiente

...
Environment=SQLITE_DB=/vagrant/database.db
Environment=ORACLE_USERNAME=SALAOPER
Environment=ORACLE_PASSWORD=Password1!
Environment=ORACLE_CONNECTION=10.0.1.1
...

Altro

installare sulla propria macchina le "oracle client libraries"

Oracle Instant Client Zip

To run ODPI-C applications with Oracle Instant Client zip files:

  1. Download the 11.2 “Basic” or “Basic Light” zip file MacOS from here - Linux from here. Choose either a 64-bit or 32-bit package, matching your application architecture. Most applications use 64-bit.
  2. follow installation instruction below download links (section: Installing Instant Client 11.2 on macOS)

Creazione da 0 di Container Docker OracleDB in locale

Seguendo queste istruzioni ho creato un container oracle 11 xe e pushato su DockerHub con il nome di: alessiocoser/odb.

Nel caso non fosse più disponibile l'immagine qui sopra è necessario seguire tutti questi passaggi:

  • Scaricare pacchetto Oracle DB dal sito Oracle (Oracle Database 11gR2 Express Edition for Linux x64) con un'utenza
  • inserirlo nella cartella ./oracle/dockerfiles/ (Copiato i file necessari da qui: Oracle Container Repository)
  • attenzione che il nome del file deve essere proprio oracle-xe-11.2.0-1.0.x86_64.rpm.zip
  • cd ./oracle/dockerfiles/
  • ./buildDockerImage.sh -v 11.2.0.2 -x
  • ora nel docker locale abbiamo l'immagine oracle/database:11.2.0.2-xe
  • lancia docker-compose up
  • al primo avvio potrebbe fallire, quindi fai docker-compose down e poi di nuovo docker-compose up
  • la password al db la si trova come prima riga del log ORACLE PASSWORD FOR SYS AND SYSTEM: <password>
  • Risorsa utile per lanciare post-install scripts su oracledb