Introduzione
SDO è una specifica per un modello di programmazione che consente di accedere a dati back-end in un modo uniforme,
indipendente e disconnesso dall'origine dei dati. Il modello consente di recuperare i dati da qualsiasi tipo di origine
dati (database relazionale, bean di entità EJB, servizio Web, origine dati XML e così via) e di presentarli in modo
uniforme come un grafico di dati strutturato (DataGraph). SDO contempla le operazioni disconnesse consentendo il
recupero del DataGraph per essere indipendente da qualsiasi connessione o transazione back-end. È ancora una specifica
proposta inviata attraverso JCP come JSR (Java Specification Request) 235.
Architettura
L'architettura SDO utilizza un livello di dati uniforme (Data Mediator Service) per restituire i DataGraph ai client da
origini dati eterogenee. La figura 4 mostra i componenti dell'architettura di SDO.
Figura 4: DataObject di architettura di SDO
Un DataObject contiene i dati attuali (ad esempio, i valori primitivi o riga di dati di un database) e i riferimenti
possibili ad altri DataObject. Può essere analizzato per determinarne il tipo, le relazioni e i vincoli.
DataGraph
Un DataGraph contiene un insieme di DataObject e rappresenta di solito l'unità di trasferimento tra i componenti
nell'architettura. Registra tutte le modifiche ai dati, inclusi i DataObject nuovi, modificati o cancellati.
Data Mediator Service
Un Data Mediator Service è responsabile per l'interazione con una origine dati per produrre DataGraph che rappresentano
i dati. La rappresentazione nativa dei dati viene convertita in quella grafica di SDO tramite questo servizio. Il
Mediator è responsabile anche per il ripristino delle modifiche in un DataGraph all'origine dei dati.
Applicabilità di framework
La tecnologia SDO garantisce l'integrazione facile di tool e framework. Nel contesto di JSF e altri framework MVC, si
possono considerare le due seguenti soluzioni:
Collegamento da componente di UI a SDO (JSF)
In un framework di JSF, i valori per i componenti dell'interfaccia utente Web possono essere collegati in modo
dichiarativo agli SDO con l'obiettivo del recupero dei dati. Ad esempio, un componente Data Table potrebbe essere
collegato a un SDO per il recupero dei propri valori da una origine di dati back-end. Questa combinazione agevola
connettività dei dati da un componente di UI senza necessità di programmazione. La figura 5 mostra l'architettura
risultante del collegamento dei componenti di UI di JSF agli SDO.
Figura 5: utilizzo degli SDO con JSF
Oggetto di modello per SDO (qualsiasi framework di MVC)
Il livello di modello di un framework MVC potrebbe utilizzare gli SDO per accedere ai dati di back-end. La figura 6
mostra un esempio di un client di modello che utilizza gli SDO per accedere ai dati persistiti utilizzando EJB di
entità. L'oggetto di modello utilizza DataGraph restituiti da un prospetto EJB di sessione stateless. Questo prospetto
di bean di sessione, subito dopo, recupera i DataGraph dal Mediator, che agisce come un prospetto di dati per EJB di
entità basato sul meccanismo di persistenza.
Figura 6: utilizzo di SDO con oggetti di modello ed EJB
Risorse
I successivi collegamenti forniscono informazioni aggiuntive sui framework di applicazione e sulle tecnologie di
componente discusse in questo documento:
|