• Non ci sono risultati.

Elementi per la valutazione delle ipotesi di lavoro.

4. Federazione di Endpoint SPARQL: architettura logica

4.4 Elementi per la valutazione delle ipotesi di lavoro.

 

La valutazione delle soluzioni appena illustrate è stata fatta anche in base ad alcuni parametri che abbiamo ritenuto significativi sia a livello di ricerca pura che a livello di contesto aziendale:

• Rapidità di sviluppo;

• Integrazione (intesa come facilità di integrazione); • Facilità di Manutenzione;

• Potenzialità evolutive.

Questi parametri possono assumere i valori (soggettivi) basso, medio e alto, in base alle caratteristiche degli elementi tecnologici e architetturali delle singole soluzioni che sono emersi dalla documentazione dei prodotti utilizzati o dalle prove sperimentali effettuati durante la ricerca.

4.4.1 Rapidità di sviluppo

 

Per rapidità di sviluppo, s’intende la facilità di realizzazione della soluzione a prescindere dalla semplicità di manutenzione della stessa, per cui questo parametro diventa fondamentale per eventuali dimostrazioni e prove di concetto, mentre risulta secondario per soluzioni Enterprise o commerciali.

Tabella 8 - Elementi per la valutazione delle ipotesi di lavoro: Rapidità di Sviluppo.

La valutazione di questo parametro sui singoli casi è descritta di seguito:

• Estensione del singolo endpoint: in questo caso è stato assegnato un valore alto a Jena, rispecchiando il fatto di essere totalmente sviluppato in Java, ampiamente utilizzato e supportato dalla community;

• Plug-in: in questo caso il valore alto è stato assegnato a Virtuoso semplicemente perché è l’unico framework, tra quelli analizzati, ad avere una struttura a plug-in;

• Web Service: il valore alto qui è assegnato ad ogni framework, in quanto la struttura della soluzione è indipendente da quello che viene utilizzato.

4.4.2 Facilità di Integrazione

 

Il parametro facilità di integrazione è riferito alla possibilità di interagire tra i singoli componenti evitando la scrittura di adattatori e utilizzando protocolli standard e diffusi.

Jena AllegroGraph Sesame Virtuoso

Rapidità di sviluppo

Evo. su singolo

endpoint ALTO MEDIO MEDIO BASSO

Plug-in BASSO MEDIO MEDIO ALTO

Tabella 9 - Elementi per la valutazione delle ipotesi di lavoro: facilità di integrazione.

La valutazione di questo parametro sui singoli casi è descritta di seguito:

• Estensione del singolo endpoint: questa soluzione appare la meno integrabile di tutte, in quanto l'estensione avviene direttamente su codice (di proprietà altrui) e quindi prevede dei passaggi formali (anche extra IT) per la sua distribuzione. Inoltre più un prodotto è complesso e più sarà difficile identificare i punti d'integrazione sul codice e quindi per questo motivo si è indicato Virtuoso come il più integrabile.

• Plug-in: l'architettura a plug-in è prevista solo in Virtuoso, per cui questo prodotto è l'unico facilmente integrabile attraverso questa soluzione, mentre per gli altri si dovrebbe prevedere qualche forma di libreria da distribuire a parte e da integrare tramite modifiche al codice originale;

• Web Service: l’assegnazione di un valore alto a tutti è giustificata dal fatto che gli endpoint e il WS possono essere sviluppati con qualsiasi tecnologia. Inoltre la forte integrazione è giustificata dall’utilizzo dell’architettura SOA, di per sé orientata a risolvere i problemi di integrazione.

4.4.3 Facilità di Manutenzione

 

Il parametro facilità di manutenzione è inteso come indicazione dell'effort per risolvere eventuali bug o per piccole evoluzioni che non stravolgano la logica applicativa o l'architettura della soluzione.

Jena AllegroGraph Sesame Virtuoso

Facilità di Integrazione Evo. su singolo endpoint MEDIO MEDIO/ BASSO MEDIO/ BASSO ALTO

Plug-in BASSO MEDIO MEDIO ALTO

Tabella 10 - Elementi per la valutazione delle ipotesi di lavoro: facilità di manutenzione.

La valutazione di questo parametro sui singoli casi è descritta di seguito:

• Estensione del singolo endpoint: è stato assegnato un valore basso a tutti i framework perché in questa soluzione si prevede la loro modifica diretta da far approvare dal gruppo di sviluppo ufficiale, oppure da mantenere nel tempo seguendo lo stesso ritmo di rilasci del prodotto: operazione ovviamente molto difficile e costosa;

• Plug-in: anche in questo caso la manutenibilità è strettamente legata al fatto che la soluzione a plug-in è applicabile solo nel caso si utilizzasse Virtuoso, per cui questo framework è l'unico ad ottenere una valutazione alta in questo contesto;

• Web Service: in questo caso la facilità di manutenzione risulta essere estremamente alta, indipendentemente dal framework di supporto utilizzato, questo perché siamo noi gli sviluppatori in toto del prodotto e quindi siamo noi i responsabili della manutenzione.

4.4.4 Potenzialità Evolutive

 

Il parametro potenzialità evolutive è riferito alla velocità di sviluppo di nuove logiche di business senza impattare sull'architettura in modo significativo e senza introdurre sessioni di test di non regressione particolarmente lunghe.

Jena AllegroGraph Sesame Virtuoso

Facilità di Manutenzione

Evo. su singolo

endpoint BASSO BASSO BASSO BASSO

Plug-in BASSO BASSO BASSO ALTA

Tabella 11 - Elementi per la valutazione delle ipotesi di lavoro: potenzialità evolutive.

La valutazione di questo parametro sui singoli casi è descritta di seguito:

• Estensione del singolo endpoint: qualsiasi prodotto utilizzato in questa soluzione ha, a nostro parere, un basso grado di potenzialità evolutive, perché il codice prodotto dovrebbe essere ufficialmente approvato dal gruppo di sviluppo ufficiale o dovrebbe essere adattato e testato sulle singole versioni rilasciate;

• Plug-in: in questo caso l'unico prodotto a poter supportare nuove feature attraverso dei plug-in è Virtuoso, mentre per gli altri framework è ipotizzabile la creazione di estensioni attraverso API e librerie, le quali risultano sicuramente più difficili da estendere;

• Web Service: le potenzialità di sviluppo risultano alte a prescindere dal framework utilizzato. Infatti si potrebbe evolvere il prodotto creato aggiungendo funzionalità ulteriori nella gestione delle federazione senza impattare sulla tecnologia degli endpoint. Inoltre, se la federazione fosse implementata negli endpoint come standard, basterebbe semplicemente dismettere il componente software, con vantaggi maggiori rispetto alle prime due soluzioni. Si pensi infatti alla necessità di dover eliminare tutti i plug – in sviluppati ad hoc oppure dismettere tutto il codice creato.

   

Jena AllegroGraph Sesame Virtuoso

Potenzialità Evolutive

Evo. su singolo

endpoint BASSO BASSO BASSO BASSO

Plug-in MEDIO /BASSO MEDIO/ BASSO MEDIO/ BASSO ALTO