metadata store management platform ge:architectural notes fabrizio verroca, roberto pagnin telecom...

6
Metadata Store Management Platform GE:architectural notes Fabrizio Verroca, Roberto Pagnin Telecom Italia WP1.3, FIWARE [email protected] , [email protected]

Upload: roland-phillips

Post on 14-Dec-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Metadata Store Management Platform GE:architectural notes Fabrizio Verroca, Roberto Pagnin Telecom Italia WP1.3, FIWARE fabrizio.verroca@telecomitalia.it,

Metadata Store Management Platform GE:architectural notesFabrizio Verroca, Roberto PagninTelecom ItaliaWP1.3, [email protected], [email protected]

Page 2: Metadata Store Management Platform GE:architectural notes Fabrizio Verroca, Roberto Pagnin Telecom Italia WP1.3, FIWARE fabrizio.verroca@telecomitalia.it,

Data Access Object pattern

The Metadata Store GE is implemented using the Data Access Object (DAO) pattern.

The Data Access Object (DAO) pattern is a mechanism to abstract away the details of persistence in an application. The idea is that instead of having the domain logic communicate directly with the database, file system, web service, or whatever persistence mechanism the application uses, the domain logic communicates to a DAO layer instead. This DAO layer then communicates with the underlying persistence system or service.

Page 3: Metadata Store Management Platform GE:architectural notes Fabrizio Verroca, Roberto Pagnin Telecom Italia WP1.3, FIWARE fabrizio.verroca@telecomitalia.it,

Metadata Store GE

• Metadata Access Layer (via ws REST)

• Metadata Repository:is the container of metadata describing the objects of the platform (syntax and semantics)

MetadataRepository

MetadataAccesslayerDAO implementations

DAO interfaces

Service implementations

Service interfacesservicelayer

data accesslayer

Page 4: Metadata Store Management Platform GE:architectural notes Fabrizio Verroca, Roberto Pagnin Telecom Italia WP1.3, FIWARE fabrizio.verroca@telecomitalia.it,

Why Data Access Object pattern?

The advantage of the DAO layer is that if you need to change the underlying persistence mechanism you only have to change the DAO layer, and not all the places in the domain logic where the DAO layer is used from. The DAO layer usually consists of a smaller set of classes, than the number of domain logic classes that uses it. Should you need to change what happens behind the scene in the DAO layer, the operation is somewhat smaller, since it only affects the DAO layer. It is also a somewhat more controlled operation, since you can search for all DAO classes, and make sure they are changed to use the new persistence mechanism.

Page 5: Metadata Store Management Platform GE:architectural notes Fabrizio Verroca, Roberto Pagnin Telecom Italia WP1.3, FIWARE fabrizio.verroca@telecomitalia.it,

DAO implementation

createcreate

update

deletefindByCriteria

….

Service Implementation

DAO Implementation

MetadataRepository

The repository is based on Document DB=>MongoDB is a candidate

Data access layer implements DAO classes that provide CRUD(create, read, update, delete) operations for each object in Metadata Repository

Page 6: Metadata Store Management Platform GE:architectural notes Fabrizio Verroca, Roberto Pagnin Telecom Italia WP1.3, FIWARE fabrizio.verroca@telecomitalia.it,

Thanks!Thanks!