- Transparència d’origen de dades: El lloc on estiguin allotjades ha de ser indiferents respecta al seu accés. Això no vol dir que qualsevol lloc és bo.
- Model d'entitats únic, independent de la BD: Això vol dir que sigui quina sigui la BD el model d'entitats (mapejos a objectes, més o menys) ha de seguir el mateix patró.
- Facilitar la lectura de dades relacionades en diferents BD: Cercar dades d'un origen a partir de dades tretes d'un altre.
- Veure les dades com si fossin totes d’un mateix context: Totes les dades han de formar un context de dades únic (Conjunt de contextos).
- Augmentar la productivitat en els desenvolupament de capes de procés (Bussiness Layer)
- Facilita-ne, si cal, l' accés remot (Serveis de dades).
- Evitar cadenes SQL dins el codi de les aplicacions (no es una tonteria).
Recordo que plantajem la solució en .Net.
Si mirem que ens ofereix aquesta tecnologia sobre accésos a dades i models d'entitas ens trobem que els de Microsoft estàn fent feina.
ADO.Net Entity Data Model
- System.Data
- System.Data.Entity
El mateix nom es defineix com a una possible solució al que volem. Un model de dades accessible sense SQL (també si pot accedir amb SQL). I, com si accedeix?, amb LINQ.
LINQ: Increíble, incríble, increíble.
Però, no tot es bonic. Amb SQL Server funciona a la perfecció, amb origens XML també, amb coleccions carregades a memòria també, però amb les altres bases de dades (Intersystems Cache, Oracle, MySQL, etc) dependrà dels seus fabricants, o, de la nostre imaginació. Només cal implementar una llibreria que transformi expressions LINQ a sentancies SQL amb la sintaxi de la BD corresponent.(linQToSQL)
I que aconseguim ?
- Tenir uns contextes de dades accesibles des de LINQ
- Desde LINQ podem tractar diferents contextes de dades com si fossin un de sol.
- Podem interrogar dades d’un contexte a partir de dades d’un altre, de manera fàcil i transparent.
- Projectar les dades a través de serveis de dades (ADO Data Services).
- Definir un cotext de dades (virtual) que actui com a proxy de tots els cotextes existents, al qual li demanarem les dades des de capes superiors (BL).
Una simple aproximació de disseny. Comencem a veure la llum?
Cap comentari:
Publica un comentari a l'entrada