• IT
betterdocs-cat-icon 1-svg

Qualcosa è andato storto?

Condividi con noi la tua opinione per migliorare la nostra documentazione.

    Getting Started

    • Introduzione Instant Developer Cloud
    • Composizione della piattaforma
    • Struttura dei progetti
    • La programmazione relazionale
    • Apprendere l’uso di Instant Developer Cloud

    Struttura di un'applicazione

    • Introduzione (applicazione e sessione)
    • Le videate
    • Classi e librerie
    • Risorse e CSS
    • I pacchetti
    • Programmazione asincrona

    Struttura del database

    • Introduzione (struttura del database)
    • Definizione degli schemi relazionali
    • Scrittura di query ed esecuzione di comandi
    • Gestione dei database nel cloud
    • Il Cloud Connector

    Document Orientation

    • Introduzione Document Orientation
    • Definire Documenti e Collection
    • Utilizzo dei documenti
    • Estensione dei documenti

    Datamap

    • Introduzione Datamap
    • Creazione di liste di documenti
    • Modifica dei documenti con videate di dettaglio
    • Datamap innestate e ricorsive

    IonicUI

    • Introduzione IonicUi
    • Le pagine IonicUI
    • Definire il contenuto delle pagine
    • Il page controller
    • Il metodo app.popup
    • Videate come elementi visuali
    • Personalizzazione di IonicUI
    • Configurazione dei ruoli e degli accessi

    Pannelli e Griglie

    • Introduzione (Pannelli e Griglie)
    • Anatomia di un pannello
    • I pannelli a runtime

    Web API e file system

    • Introduzione Web API
    • Il file system
    • Consumare Web API
    • Esporre Web API
    • Web API in formato OData
    • Utilizzare Web API Instant Developer Foundation
    • Web API in formato OpenAPI

    Sincronizzazione

    • Introduzione sistema di sincronizzazione
    • Scambio di messaggi in tempo reale
    • Document Orientation Remota
    • Sincronizzazione del database offline

    Debugging e Test

    • Introduzione Debugging e Test
    • Strumenti e tecniche di debug
    • Test automatico delle applicazioni

    Traduzioni

    • Introduzione (traduzioni)
    • Processo di traduzione
    • Funzionamento del framework di localizzazione
    • Localizzazione di numeri e date

    Integrazioni di componenti esterni

    • Introduzione (integrazioni di componenti esterni)
    • Integrazione di componenti JavaScript
    • Integrazione di librerie di back-end
    • Integrazione di un plugin Cordova

    Launcher e Pubblicazione

    • Introduzione Launcher
    • I plugin nativi
    • Test delle applicazioni nei launcher
    • Pubblicazione sugli store
    • Configurazioni per gli store
    • Fase di build e di invio
    • Gestione dell’applicazione

    Analitiche e Feedback

    • Introduzione Analytics e Feedback
    • Installazione ed uso di Analytics
    • Raccolta dei feedback degli utenti

    Server di Produzione

    • Introduzione server di produzione
    • I server di Instant Developer Cloud
    • I server My Cloud
    • I server Self Managed
    • Tabella comparativa

    Cloud Connector

    • Cos’è il Cloud Connector
    • Installazione Cloud Connector
    • Configurazione
    • Installazione come servizio
    • Esempio di utilizzo
    • Controllo remoto
    • Note

    Team Works

    • Perché non basta GitHub?
    • Team Works: concetti base
    • Organizzazione del lavoro consigliata
    • Risoluzione dei problemi relativi a Team Works
    • Domande sull’utilizzo di Team Works

    Manuale PWA

    • Cos’è una PWA?
    • Creazione di una PWA su Instant Developer Cloud
    • Life Cycle
    • Installazione PWA
    • Funzionalità
    • Plugin
    View Categories

    I server Self Managed

    Contenuti
    • Preparazione di un server Self Managed
    • Configurazione dei database
      • Altri tipi di database
        • MySQL
        • SQL Server
        • Oracle
    • Gestione dei certificati
    • Pacchetti aggiuntivi
    • Installazione delle applicazioni
      • Attivare la Server Session
      • Impostare l’applicazione di default
    • Configurazione dei processi worker per le applicazioni
    • Limitazioni

    I server Self Managed sono server di produzione esterni alla piattaforma Instant Developer Cloud e quindi completamente sconosciuti alla console. Rappresentano quindi una modalità di installazione e gestione delle applicazioni completamente manuale e autogestita. 

    Si consiglia l’utilizzo di server Self Managed solo se si ha a disposizione un sistemista esperto nella gestione dei server, della sicurezza dell’infrastruttura e delle applicazioni, della gestione dei database e dell’ambiente operativo Node.js. In mancanza di una o più di queste conoscenze potrebbe non essere  possibile portare a termine l’installazione, oppure si potrebbero verificare problemi di vario tipo per l’applicazione, ad esempio interruzioni di servizio o un basso livello di sicurezza.

    Essendo questi server completamente esterni alla piattaforma Instant Developer Cloud, Pro Gamma non offre alcun servizio di assistenza su eventuali problematiche riscontrate, sia a livello di server, che di installazione e gestione delle applicazioni. Se si desidera sottoporre al servizio di assistenza una problematica riscontrata, sarà necessario prima riprodurla nell’ambiente di sviluppo o in un server di produzione interno alla piattaforma.

    I server Self Managed, tuttavia, possono risultare una scelta obbligata quando l’applicazione deve essere utilizzata all’interno di una rete aziendale chiusa, senza accesso ad internet.

    Preparazione di un server Self Managed #

    La preparazione di un server Self Managed è analoga a quella dei server My Cloud. Si consiglia di accedere al repository instant-developer-platform per scaricare i sorgenti del framework e quindi seguire la procedura di installazione contenuta nel file readme, sostanzialmente analoga a quella dei server My Cloud. Gli eventuali pacchetti aggiuntivi di Node.js dovranno essere gestiti manualmente.

    Configurazione dei database #

    La configurazione dipende dal tipo di database utilizzato dall’applicazione. Se l’applicazione utilizza un database di tipo Postgres, è possibile indicare i parametri di connessione nel file config.json specificando le proprietà:

    "dbPort": "db server port",
    "dbAddress": "db server host",
    "dbUser": "postgres user",
    "dbPassword": "postgres password",

    Altri tipi di database #

    Se invece l’applicazione utilizza un database MySQL, SQLServer oppure Oracle, è necessario impostare le opzioni di connessione nel codice dell’applicazione prima della connessione all’istanza.

    A tal fine, è necessario reperire l’istanza di default del database tramite l’istruzione App.<Nome DB>.getDefaultInstance() e successivamente impostare su di essa i parametri di connessione con il metodo setOptions(). Vediamo un esempio:

    let db = App.<DataModelName>.getDefaultInstance(app);
    db.setOptions(connectionOptions);

    Il contenuto di connectionOptions varia in relazione del tipo di database da utilizzare e, di conseguenza, al driver specifico.

    MySQL #

    Per la connessione ai database di tipo MySQL viene utilizzato il driver Node.js mysql che viene installato insieme agli altri pacchetti del framework.

    Il parametro connectionOptions in questo caso deve essere impostato come segue:

    let connectionOptions = {
      host : "hostname",
      database : "database name",
      user : "username",
      password : "password",
      connectionLimit : 10
    });

    Per l’elenco completo dei parametri di connessione ad un database MySQL tramite il driver node, è possibile consultare la documentazione completa. 

    SQL Server #

    Per la connessione ai database di tipo SQL Server viene utilizzato il driver Node.js mssql che viene installato insieme agli altri pacchetti del framework.

    Il parametro connectionOptions in questo caso deve essere impostato come segue:

    let connectionOptions = {  
      server : "hostname\\instance",
      database : "database",
      user : "username",
      password : "password",
      options : {
        useUTC : false
      }
    });

    Per l’elenco completo dei parametri di connessione ad un database SQL Server tramite il driver node, è possibile consultare la documentazione completa.

    Oracle #

    Per la connessione ai database di tipo Oracle viene utilizzato il driver oracledb, non installato di default insieme agli altri pacchetti del framework.

    Per eseguire l’installazione del driver e delle componenti necessarie che dipendono dal sistema operativo del server, è possibile consultare la documentazione ufficiale.

    Il parametro connectionOptions in questo caso deve essere impostato come segue:

    let connectionOptions ={
      connectString : "hostname/servicename",
      user : "username",
      password : "password"
    });

    Gestione dei certificati #

    Per attivare il protocollo https ed utilizzare i propri certificati SSL sul server, è sufficiente copiare i file sul server stesso e modificare opportunamente il file config.json.

    Ipotizzando che il server risponda all’indirizzo https://mysrv.mydomain.it sulla porta default 443 e che i file dei certificati siano stati copiati nella directory /idcloud/config/cert il file config.json deve essere modificato nel seguente modo.

    "domain": "mydomain.com",
    "alias" : "mysrv.mydomain.it",
    "protocol": "https",
    "portHttps": 443,
    "SSLCert": "/idcloud/config/cert/mydomain_it_certificate.crt",
    "SSLKey": "/idcloud/config/cert/mydomain_it_private.key",
    "SSLCABundles": [
        "/idcloud/config/cert/mydomain_it_ca_bundle.crt"
    ],

    È possibile aggiungere al file di configurazione la proprietà customSSLCerts per fare in modo di utilizzare uno specifico certificato a seconda della URL di destinazione del server. 

    Se ad esempio il server è configurato, tramite DNS, a rispondere anche all’indirizzo https://mysrv.myotherdomain.it, modificando la proprietà alias ed aggiungendo customSSLCerts è possibile utilizzare un diverso certificato se il server è stato raggiunto utilizzando questo nome. Ad esempio:

    “alias” : “mysrv.mydomain.it, mysrv.myotherdomain.it”,
    …
    "customSSLCerts": [{
      "SSLDomain": "myotherdomain.it",
      "SSLCert": "/idcloud/config/cert/myotherdomain_it_certificate.crt",
      "SSLKey": "/idcloud/config/cert/myotherdomain_it_private.key",
      "SSLCABundles": [
        "/idcloud/config/cert/myotherdomain_it_ca_bundle.crt"
      ]
    }],

    Pacchetti aggiuntivi #

    Per il corretto funzionamento del framework, qualora venga usato il package GraphicsMagick, è necessario eseguire il download e l’installazione del pacchetto relativo nel server Self Managed. Si consiglia di leggere la documentazione ufficiale.

    Installazione delle applicazioni #

    Per installare un’applicazione per la prima volta, eseguire le seguenti operazioni:

    1. Configurare i database usati dall’applicazione nel file di configurazione.
    2. Aggiornare manualmente lo schema dei database usati dall’applicazione o ripristinare un backup aggiornato di tali database.
    3. Eseguire una build dell’applicazione tramite la console senza richiedere l’installazione su un server.
    4. Dalla pagina di App e dati del menu di progetto, scaricare il pacchetto di installazione relativo alla build effettuata.
    5. Decomprimere il pacchetto di installazione nella cartella:
    idcloud/apps/apps/<app-name>
    1. Modificare il file idcloud/config/config.json, aggiungendo all’array apps un oggetto contenente le seguenti proprietà:
    apps = [{ "cl" : "Node.App", "name" : "app-name", "date" : "current-date in ISO string", "stopped" : false}]
    1. Riavviare il server tramite: pm2 restart all.

    L’aggiornamento di un’installazione avviene tramite i seguenti passi:

    1. Eseguire la build e scaricare il pacchetto.
    2. Arrestare il server tramite pm2. 
    3. Aggiornare lo schema dei database manualmente.
    4. Spostare la sottocartella files dell’applicazione attuale in una posizione temporanea.
    5. Eliminare la cartella relativa all’applicazione attuale.
    6. Decomprimere il pacchetto di installazione nella cartella: idcloud/apps/apps/<app-name>
    7. Ripristinare la sottocartella files dalla posizione temporanea a quella originale.
    8. Riavviare il server tramite pm2.

    Attivare la Server Session #

    Per attivare la Server Session di un’applicazione è necessario editare il file idcloud/config/config.json impostando a true la proprietà startSS dei parametri dell’applicazione.

    "cl" : "Node.App",
    "name" : "app-name",
    "date" : "current-date in ISO string",
    "stopped" : false,
    "startSS": true

    Impostare l’applicazione di default #

    È possibile impostare quale applicazione deve essere eseguita editando nel file idcloud/config/config.json la proprietà alias aggiungendo il nome dell’applicazione al nome del dominio o indirizzo ip preceduta dal carattere ‘|’.

    Ad esempio:

    "alias" : "mysrv.mydomain.it|app-name"

    Configurazione dei processi worker per le applicazioni #

    Per configurare i valori di default per i worker delle applicazioni installate, è necessario modificare il file config.json aggiungendo i valori desiderati per le proprietà maxAppUsers, minAppUsersPerWorker e maxAppWorkers, come nel seguente esempio:

    "maxAppUsers": 1000,
    "minAppUsersPerWorker": 50,
    "maxAppWorkers": 4,

    La corrispondenza fra queste proprietà e quelle descritte nel capitolo Configurazione dei worker è la seguente:

    • maxAppUsers = Numero massimo di utenti per app
    • minAppUsersPerWorker = Numero minimo di utenti per worker
    • maxAppWorkers = Numero massimo di worker per app

    Per definire le politiche di gestione dei processi worker per una singola applicazione installata è necessario aggiungere, all’interno della configurazione dell’applicazione, contenuta nella sezione apps del file config.json, la proprietà customWorkerConf.

    In questa proprietà di tipo array è possibile specificare le configurazioni dei parametri per ogni tipo di sessione, come mostrato nel seguente esempio:

    "apps": [ {
      "cl": "Node.App",
      "name": "app-name",
      "date" : "2021-10-11T10:41:06.039Z"
      "stopped": false,
      "customWorkerConf": [{
    "type": "web",
    "query": null,
    "priority": 0,
    "idleTimeout": null,
    "maxAppUsers": 200,
    "minAppUsersPerWorker": 50,
    "maxAppWorkers": 2
        }, {
          "type": "rest",
    "query": null,
    "priority": 0,
    "idleTimeout": 10000,
    "maxAppUsers": 100,
    "minAppUsersPerWorker": 10,
    "maxAppWorkers": 1
      }]
    }]

    La corrispondenza fra queste proprietà e quelle descritte nel capitolo Configurazione dei processi worker è la seguente:

    • type = Tipo di sessione
    • query = Query string
    • priority = Priorità
    • idleTimeout = Timeout inattività
    • maxAppUsers = Numero totale utenti complessivi
    • minAppUsersPerWorker = Numero minimo di utenti per processo
    • maxAppWorkers = Numero massimo di processi

    Limitazioni #

    I server Self Managed sono soggetti alle seguenti limitazioni:

    • Quelle già esistenti per i server My Cloud.
    • Non possono ospitare il servizio Cloud Connector.
    • Non possono ospitare il servizio Analytics e Feedback.
    • Non possono ospitare il servizio di sincronizzazione dei database locali delle applicazioni. È invece possibile utilizzare l’accesso ai dati del server tramite Document Orientation Remota.
    Ti è stato utile?
    Aggiornato il 15 Aprile 2024
    I server My CloudTabella comparativa
    Contenuti
    • Preparazione di un server Self Managed
    • Configurazione dei database
      • Altri tipi di database
        • MySQL
        • SQL Server
        • Oracle
    • Gestione dei certificati
    • Pacchetti aggiuntivi
    • Installazione delle applicazioni
      • Attivare la Server Session
      • Impostare l'applicazione di default
    • Configurazione dei processi worker per le applicazioni
    • Limitazioni

    Caratteristiche

    • Perché Instant Developer
    • IDE e Ambiente di Sviluppo
    • Pubblicazione Web & Mobile
    • Software Life Cycle & DevOps
    • Database, Integrazione, Sync
    • Collaboration & Workflow

    Soluzioni

    • Freelance
    • Software House
    • Company IT
    • Casi di successo
    • Applicazioni Sviluppate

    Azienda

    • Chi Siamo
    • Contatti
    • Lavora con noi

    Risorse

    • Documentazione
    • Risorse e Tutorial
    • Blog
    • Starter Kit
    • Pricing
    • Inizia Ora
    Crea un account e Inizia Gratis
    • Seguici su Twitter
    • Seguici su Facebook
    • Seguici su LinkedIn
    • Seguici su YoutTubeSeguici su YouTube
    Questo sito è protetto dalla tecnologia reCAPTCHA Enterprise e si applicano l'Informativa sulla privacy e i Termini di servizio di Google.
    Google Policy | Termini
    © Pro Gamma - p.iva, c.f. e iscr. Camera di Commercio Bologna 01985091204 - Sede legale Via D'Azeglio, 51 40123 Bologna - Italia Pro Gamma Instant Developer® è un marchio registrato.
    Privacy Policy | Cookie Policy
    • IT