Ciclo di vita dei modelli

<< Fare clic per visualizzazione il sommario >>

Percorso:  Jamio openwork > Le risorse >

Ciclo di vita dei modelli

I servizi base di Jamio openwork espongono interfacce generiche. La rappresentazione specifica del dominio applicativo è resa possibile tramite la definizione di opportuni modelli che vengono interpretati da applicazioni di back-end.

Il ciclo di vita del modello consente di distinguere le fasi di:

design del modello in un Jamioware (modello disegnato);

pubblicazione di un Jamioware, abilitando la piattaforma alla successiva fase di registrazione; la pubblicazione coincide con il deposito del modello (modello pubblicato). Esso non può ancora essere eseguito a runtime, ma necessita che vengono risolti gli alias e venga definito il repository di esecuzione. Il repository di esecuzione potrebbe essere diverso da quello di pubblicazione. Un modello pubblicato può essere oggetto di ripubblicazione, determinando un versionamento dei modelli pubblicati.

registrazione di un Jamioware, abilitando nel repository di registrazione, l’utilizzo a runtime di quel modello; il modello pubblicato viene risolto, ovverossia viene effettuata la sostituzione, in tutti i modelli pubblicati del Jamioware, degli alias con i rispettivi valori forniti nella fase di registrazione, nonché la sostituzione dei puntatori ai modelli pubblicati delle strutture dati interne (DataSet, ExtendedReference) con le rispettive definizioni. Il modello risolto diventa specifico di un repository, modello registrato, anch’esso oggetto di versionamento, qualora si succedono diverse registrazioni caratterizzate dalla risoluzione di diversi alias e/o cambiamenti nel sorgente.

riconfigurazione di un modello registrato, consentendo una nuova risoluzione degli alias per il modello registrato; se ne ottiene una nuova versione. Nuove istanze delle risorse, a partire dalla registrazione, vengono create mediante l’ultima versione.

disabilitazione di un modello registrato, per non consentire a runtime l’esecuzione del modello registrato in nessuna delle sue versioni. E' possibile disabilitare un modello registrato dalla sezione Risorse online di Jamio Composer;

eliminazione di un modello pubblicato, non consentendo la registrazione del modello pubblicato in altri repository.  E' possibile disabilitare un modello registrato dalla sezione Risorse online di Jamio Composer.

Tra modelli pubblicati e modelli registrati vi è quindi un legame nativo, essendo i secondi dipendenti dai primi. Tuttavia, il ciclo di vita del versionamento del modello pubblicato non coincide con il ciclo di vita del modello registrato, non essendo noto a priori quando viene effettuata la prima risoluzione e registrazione di un modello pubblicato in un determinato repository. Inoltre, i repository sono del tutto indipendenti tra loro e i cicli di risoluzione in un repository sono del tutto confinati all’interno delle necessità specifiche del repository. Ne consegue che non è mantenuto alcun legame tra la versione di un modello registrato in un repository, con la versione registrata in un altro repository.

 

Impronta di un modello

L’impronta di un modello è una proprietà “Structure Hash” che caratterizza la versione del modello.

Due versioni diverse dello stesso modello ma descritte dalla stessa struttura dati sono caratterizzate dalla stessa impronta. Per struttura dati dello specifico modello si sta facendo riferimento a:

nome del campo

tipologia del campo

cardinalità del campo (scalare o lista)

L’impronta è importante per supportare le integrazioni, consentendo nel client di riflettere le variazioni di design alla struttura dati. Nella definizione della classe nel client, il nome della classe che descrive la specifica versione del modello è dato dal nome del modello e dal codice hash che riflette l’impronta della versione di quel modello.