<< Fare clic per visualizzazione il sommario >> Percorso: Jamio openwork > Ciclo di vita di un Jamioware |
Un Jamioware si compone di un insieme di Modelli che rappresentano le informazioni necessarie per personalizzare il funzionamento dei servizi Jamio al fine di rispondere ad una esigenza di business in uno specifico dominio applicativo.
All'interno di un Jamioware ogni modello è identificato da un nome univoco.
In un Jamioware è possibile definire inoltre:
•Archivi di risorse, ovvero un insieme di risorse che devono essere create nell’Area di Lavoro e necessarie al corretto funzionamento del Jamioware. In una soluzione è possibile definire più archivi di risorse ognuno specializzato per tipologia di servizio (Data, Document, etc..). Per informazioni su come creare un Archivio di risorse in Jamio composer clicca qui.
•Parametri di configurazione, ovvero puntatori logici a risorse o valori necessari per il funzionamento del Jamioware, da utilizzare durante la progettazione dello stesso al fine di astrarre la fase di modellazione, dall'ambiente in cui il Jamioware sarà eseguito. I parametri di tipo configurazione possono essere di tipo:
oAlias, ovvero puntatori logici a risorse necessarie per il funzionamento del Jamioware che si richiede essere accessibili nell'ambiente di esecuzione dello stesso, tali puntatori in fase di configurazione del Jamioware devono essere sostituiti con indirizzi reali. Per informazioni su come creare gli Alias in Jamio composer clicca qui.
oValori, ovvero variabili di configurazione utili a valorizzare degli oggetti di Jamio: tipi elementari o espressioni. Se la definizione è effettuata attraverso un'espressione, il valore è ottenuto in fase di esecuzione dell'espressione. Per informazioni su come creare le espressioni in Jamio composer clicca qui.
Il ciclo di vita di un Jamioware e dei modelli che lo compongono è articolato nelle fasi di seguito elencate.
•Disegno di un Jamioware, tramite Jamio composer;
•Pubblicazione, ovvero salvataggio dei Modelli, degli Archivi di risorse e dei Parametri di configurazione che compongono il Jamioware sul repository dei modelli di un’Area di Lavoro.
Prima dell'operazione di pubblicazione viene verificata la correttezza formale del Jamioware e la presenza di eventuali errori sintattici. |
È possibile pubblicare più volte il medesimo Jamioware; la pubblicazione, sovrascrive la versione precedente del Jamioware e incrementa il numero di versione del Jamioware e di tutte le sue componenti che hanno subito variazioni.
Un modello con il medesimo nome può essere presente in più Jamioware distinti; quello presente nel Jamioware pubblicato per ultimo diventa la versione corrente, quello pubblicato precedentemente viene eliminato.
Il repository dei modelli pubblicati rappresenta quindi lo stato dell'arte di tutti i modelli pubblicati su un'Area di lavoro, i Jamioware una aggregazione logica di tali modelli.
•Configurazione, ovvero valorizzazione dei Parametri di configurazione.
•Registrazione, ovvero salvataggio dei modelli e della configurazione nell’Area di lavoro di esecuzione.
In fase di registrazione vengono create nell'Area di lavoro di esecuzione le risorse definite negli Archivi di risorse; queste vengono create ad ogni nuova registrazione. |
Qualora le risorse da creare siano caratterizzate da criteri di univocità (per esempio i gruppi non possono avere lo stesso nome) e queste risultino già create, non vengono sovrascritte. |
I modelli registrati e configurati diventano così eseguibili. Dei modelli eseguibili ne viene eseguito il versionamento.
Le nuove risorse vengono sempre istanziate con l’ultima versione del modello registrato.
Le Aree di lavoro di pubblicazione e registrazione possono essere del tutto indipendenti tra loro e la Configurazione di un Jamioware in un’Area di lavoro è del tutto confinata all’interno delle necessità specifiche di quell’Area.
Il ciclo di vita prevede anche le operazioni di seguito elencate che possono essere eseguite da Risorse online di Jamio Composer.
•Eliminazione di un Jamioware pubblicato, i modelli non potranno più essere registrati.
•Riconfigurazione, ovvero modifica a uno o più elementi di risoluzione dei parametri di configurazione.
•Disabilitazione di un modello, per non consentire a runtime l’esecuzione del modello registrato in nessuna delle sue versioni.
Versionamento di un Jamioware pubblicato
In corrispondenza della pubblicazione di un Jamioware, viene incrementato il numero di versione del Jamioware, dei modelli modificati, degli archivi di risorse se modificati. Valgono le seguenti regole:
•una aggiunta/eliminazione di modelli incrementa la versione del Jamioware;
•una modifica degli dei parametri di configurazione incrementa la versione del Jamioware;
•una modifica di un modello modello, incrementa la versione del modello e del Jamioware;
•una modifica di un Archivio risorse, incrementa la versione dell'Archivio risorse e del Jamioware;
•una modifica della Configurazione non incrementa alcuna versione del Jamioware e dei modelli registrati.
Le versioni precedenti a quelle corrente vengono eliminate.
Versionamento dei modelli registrati
In corrispondenza dell'installazione di un modello o al variare della configurazione viene incrementato il numero di versione del modello.
Le versioni precedenti dei modelli installati, se vi sono istanze in esecuzione, vengono conservate.
Il fatto che vengano conservate le vecchie versioni di un modello registrato consente ai servizi Jamio di eseguire versioni diverse di un medesimo modello e di garantire il corretto funzionamento delle risorse già istanziate sulla vecchia versione del modello.
E' possibile in ogni caso forzare l'adozione da parte di una risorsa già istanziata dell'ultima versione del modello invocando l'azione Aggiorna modello dalla risorsa stessa.
Un modello registrato è caratterizzato da un impronta.
L’impronta di un modello è un codice univoco (hash code) calcolato sulla struttura dati del modello definita per ogni campo da:
•nome
•tipologia del campo
•cardinalità (scalare o lista)
Due versioni diverse dello stesso modello ma descritte dalla stessa struttura dati sono caratterizzate dalla stessa impronta.
L’impronta è utile per supportare le integrazioni REST con OpenAPI, consentendo ai tool di generazione automatica del codice di riflettere le variazioni alla struttura dati definite in fase di design.
Per approfondimenti sul ruolo dell'impronta del modello nelle integrazioni REST con OpenAPI, consulta Utilizzo client delle API REST.