Caratteristiche avanzate - X-Cross
Header widget area left
Header widget area right

Cross Model- Caratteristiche avanzate

Ereditarietà tra librerie

Nel mondo object oriented l’ereditarietà è un concetto che si applica alle classi. In CrossModel è stato esteso ad un intero programma o libreria. Le librerie sono quindi organizzate gerarchicamente, e non sono in linea retta nonno – padre – figlio ma in una struttura più flessibile basata sul concetto di extension (vedi punto successivo).

Oltre l’ereditarietà – l’ extension.

Il concetto di ereditarietà è uno dei principali paradigmi della programmazione ad oggetti. In una catena ereditaria, ogni discendente eredita certe caratteristiche dall’antenato. Il limite dell’ereditarietà è la sua linearità: il nipote non può ereditare dal nonno senza passare per il padre. Un esempio? Immaginiamo di avere due personalizzazioni; una per chi vende oro, che nella scheda Cliente contiene determinati campi ed una per chi commercia con San Marino, che ne presenta solo alcuni. La struttura dati può venire determinata nel seguente modo:

  • Nonno Standard
  • Padre Oro
  • Figlio San Marino

Ma potremmo avere il caso di chi commercia con San Marino ma non vende oro, o viceversa. Il concetto di extension sostituisce la catena con rapporto uno ad uno dell’ereditarietà con un concetto uno a molti. In questo caso tutte le aggiunte alla struttura dati vengono attivate; l’ordine di attivazione viene stabilito in base ad una gerarchia.

Librerie multiple scalari

La gestione a librerie multiple rappresenta uno dei punti fondamentali della tecnologia di X-Cross. Insieme al programma base, possono venire aperte un numero illimitato di librerie aggiuntive.

X-Cross permette di inserire un numero illimitato di librerie aggiutinve

Queste librerie contengono le parti fuori standard, ovvero le verticalizzazioni e le customizzazioni per singolo Utente. Queste classi possono venire utilizzate non solo indipendentemente, come parti aggiuntive di programma, ma possono sostituire automaticamente le classi standard di X-Cross.

Low level classes

Le librerie sono organizzate secondo una struttura gerarchica, con la libreria di livello inferiore che prevale su quella di livello superiore. Ogni volta che si crea una instance, viene utilizzata la classe presente nelle libreria di livello più basso (low level).

Per sostituire una classe o utilizzarne una sottoclasse, è sufficiente che in una qualsiasi delle librerie aperte sia presente una classe o sottoclasse con lo stesso nome. La tecnologia Smart Instances riconosce la classe di livello più basso, che viene instanziata. Il primo evidente vantaggio è che le personalizzazioni non debbono più essere importate ed esportate per potere funzionare.

Tipi di librerie

Le librerie di X-Cross, oltre ad essere organizzate gerarchicamente, sono di tipologie diverse.

Librerie Core

Rappresentano il nucleo di base del programma, e contengono le classi che saranno utilizzate come superclassi da tutte le librerie applicative.

Librerie applicative standard

Queste librerie contengono i programmi standard. Attualmente abbiamo le librerie CROSS (gestionel) e CROSSDOC (gestione documentale). Altri moduli potranno essere aggiunti in futuro. Queste librerie sono contenute nella cartella CROSS_LBS.

Librerie di personalizzazioni

Queste librerie contengono le modifiche effettuate per una certa tipologia di Utenti, e sono contenute nella cartella USER_LBS. Il programma apre automaticamente tutte le librerie contenute in questa cartella. Queste personalizzazioni possono essere per gruppi di Utenti (verticalizzazioni) o per singolo Utente (customizzazioni). In queste librerie vale il principio gerarchico, ovvero la libreria di livello più basso prevale su quella di livello più alto.

Librerie di Azienda

Queste librerie non vengono sempre aperte entrando nel programma, ma le librerie da aprire vengono selezionate insieme all’azienda (database). Nei dati aziendali è inserit­­­­o il nome della cartella che contiene le librerie con le personalizzazioni di questa azienda. Se abbiamo nella stessa installazione aziende che svolgono attività diverse, ad esempio un’azienda di produzione ed una commerciale, possiamo avere personalizzazioni diverse a seconda dell’azienda utilizzata..

Librerie di Utente

Queste librerie sono simili a quelle di azienda, ma la loro selezione avviene per Utente, al login. Queste librerie sono subordinate a quelle aziendali (lo stesso Utente in aziende diverse può avere librerie diverse). Se abbiamo nella stessa installazione ed azienda utenti che svolgono attività diverse, ad esempio una sezione commerciale ed un ufficio tecnico, possiamo avere personalizzazioni diverse a seconda dell’Utente che utilizza il programma.

Personalizzazioni dinamiche

Uno dei più complessi problemi che un rivenditore di un software è costretto a gestire è la gestione delle versioni personalizzate. Nella maggior parte dei software gestionali in commercio non esiste un sistema automatizzato che riporti le personalizzazioni nelle nuove versioni. Nel remoto caso in cui questo si verifichi, il rivenditore, ogniqualvolta riceve una nuova versione, deve creare, in modo più o meno automatico, a partire dalla versione base tutte le versioni personalizzate ed disporre di tante installazioni del programma nel proprio computer quante sono le versioni personalizzate. Il sistema di gestione dinamico delle personalizzazioni di X-Cross risolve definitivamente questo problema. Una personalizzazione di X-Cross può essere organizzata in una o più librerie. Le librarie sono organizzate in set, contenute in una cartella. Chi crea o modifica le personalizzazioni non deve avere una copia del programma per ogni versione modificata Utilizzando lo stesso programma base, può aprire set diversi di personalizzazioni e si trova nella versione personalizzata. Con una unica installazione del programma possono venire gestire le personalizzazioni di tutti i Clienti.