You are on page 1of 12

Denodo Development

Best Practices
Project Structure

© Copyright Denodo Technologies. All rights reserved


Unless otherwise specified, no part of this PDF file may be reproduced or utilized in any for or by any means, electronic or mechanical, including photocopying and microfilm,
without prior the written authorization from Denodo Technologies.
Project Structure
Data Virtualization Projects

When a developer is working on a Data Virtualization project, it is common to manage a lot of


different elements. These elements can be related to some categories:

■ Connection (data sources, wrappers, base views...).


■ Combination and integration (joins, unions, group bys...).
■ Publication (Web services).
Also, there are also some important elements that must be consider:

■ Canonical elements exposed to external applications.


■ Final elements exposed to reporting tools.

© Copyright Denodo Technologies. All rights reserved


Unless otherwise specified, no part of this PDF file may be reproduced or utilized in any for or by any means, electronic or mechanical, including photocopying and microfilm,
without prior the written authorization from Denodo Technologies. 4
Project Structure
Project Layers

For simplifying the development and management of these Data Virtualization projects with Denodo
Platform, all these elements must be organized in different layers.

■ Connectivity.
■ Integration.
■ Business Entities.
■ Report Views.
■ Data Services.

© Copyright Denodo Technologies. All rights reserved


Unless otherwise specified, no part of this PDF file may be reproduced or utilized in any for or by any means, electronic or mechanical, including photocopying and microfilm,
without prior the written authorization from Denodo Technologies. 5
Project Structure
Project Layers

Data Services

Report Views

Business Entities

Integration

Connectivity

© Copyright Denodo Technologies. All rights reserved


Unless otherwise specified, no part of this PDF file may be reproduced or utilized in any for or by any means, electronic or mechanical, including photocopying and microfilm,
without prior the written authorization from Denodo Technologies. 6
Project Structure
Project Layers: Connectivity

Related to the physical systems (Keep it close to the source).

■ Interface Views on top of base views if there


are migrations in sight.
Naming convention:

■ Data Sources (ds_{name}).


■ e.g. ds_crm, ds_oracle_cms.

■ Base Views (bv_{dsname}_{name}) .


■ e.g. bv_crm_client.

© Copyright Denodo Technologies. All rights reserved


Unless otherwise specified, no part of this PDF file may be reproduced or utilized in any for or by any means, electronic or mechanical, including photocopying and microfilm,
without prior the written authorization from Denodo Technologies. 7
Project Structure
Project Layers: Integration

Contains derived views.

■ Include all combinations and transformations needed


for the next layers above.

■ Not consumed directly by users.


Naming convention:

■ Derived views (iv_{descriptive name})


▪ e.g. iv_customer_flatten.

© Copyright Denodo Technologies. All rights reserved


Unless otherwise specified, no part of this PDF file may be reproduced or utilized in any for or by any means, electronic or mechanical, including photocopying and microfilm,
without prior the written authorization from Denodo Technologies. 8
Project Structure
Project Layers: Business Entities

Canonical model exposed to all users.

■ Use associations to represent relationships


between entities.

■ Interface views help isolate consumers


from changes in the model.
Naming convention:

■ Use meaningful business names:


■ e.g. customer, employee, account.

© Copyright Denodo Technologies. All rights reserved


Unless otherwise specified, no part of this PDF file may be reproduced or utilized in any for or by any means, electronic or mechanical, including photocopying and microfilm,
without prior the written authorization from Denodo Technologies. 9
Project Structure
Project Layers: Report Views

Pre-built reports and analysis frequently consumed by users.

■ Built on top of Business Entities or any other view


In lower layers.

■ Might involve creating intermediate views


to get to the final report.
Naming convention:

■ Use meaningful business names:


■ e.g. sales_by_region, total_income.

© Copyright Denodo Technologies. All rights reserved


Unless otherwise specified, no part of this PDF file may be reproduced or utilized in any for or by any means, electronic or mechanical, including photocopying and microfilm,
without prior the written authorization from Denodo Technologies. 10
Interfaces

Report Views and Business Entities Layers are the ones directly exposed to
Applications.
Data Services
Layer
Report Views
Layer
Business
Entities Layer
Integration
Layer

Connectivity
Layer
© Copyright Denodo Technologies. All rights reserved
Unless otherwise specified, no part of this PDF file may be reproduced or utilized in any for or by any means, electronic or mechanical, including photocopying and microfilm,
without prior the written authorization from Denodo Technologies. 11
Project Structure
Project Layers: Data Services Layer

Contains web services for publishing views from other levels.

■ Might include intermediate views needed for


web service-related formatting and manipulation.
■ Interface Views can act as an API definition.
■ Isolate consumers from changes in the model.
Naming convention:

■ Web services (ws_{name})


■ e.g. ws_rest_customer

© Copyright Denodo Technologies. All rights reserved


Unless otherwise specified, no part of this PDF file may be reproduced or utilized in any for or by any means, electronic or mechanical, including photocopying and microfilm,
without prior the written authorization from Denodo Technologies. 12
Project Structure
Using Folders

For complex projects it is even more important to use an organized


Folder structure as it will help to locate elements and have a clear
understanding of the different elements of the project.

■ Recommended folders:
■ One folder per layer.
■ Additional folders for other elements.
■ E.g.: associations, summaries, …
■ For complex projects it is also recommended to add additional folders
inside each layer to group elements related to the same topic.

© Copyright Denodo Technologies. All rights reserved


Unless otherwise specified, no part of this PDF file may be reproduced or utilized in any for or by any means, electronic or mechanical, including photocopying and microfilm,
without prior the written authorization from Denodo Technologies. 13

You might also like