Introduction to Kettle

Kettle is a free, open source (LGPL) ETL (Extraction, Transformation and Loading) tool by Pentaho that allows to isolate the integration logic and connectivity issues. This tool is already used in the integration of Openbravo ERP with the business intelligence tool by Pentaho.

Being an ETL tool, Kettle is an environment that's designed to:

Collect data from a variety of sources (extraction).

Move and modify data (transport and transform) while cleansing, denormalizing, aggregating and enriching it in the process.

Frequently (typically on a daily basis) store data (loading) in the final target destination, which is usually a large, dimensionally modeled database called a data warehouse.

Project Plan: main development steps

Implement the current web services using the new web services architecture

The new web services architecture allows to create easily web services as a direct image of the underlying database structure and also it allows to create more complex web services as a plug-ins in Openbravo ERP.

The development work consist of:

Create a new web services plug-in where there will be included the new web services related to the Openbravo ERP - Openbravo POS integration.

Develop the logic of the current web services using the new DAL architecture.

Estimate: 10-15d

Develop the current integration process using Kettle

Move all the current logic of integration that is currently in Openbravo POS, in the package src-erp to Kettle. Kettle will connect to Openbravo POS database, and to the Openbravo ERP web services.

The development work consists of:

Develop the products integration process.

Develop the customers integration process.

Develop the orders integration process.

Estimate: 5-7d

Integrate all customer data

Extend the current integration of customer data.

The development work consists of:

Add to the customer integration process all the fields needed in Openbravo POS.

Add the integration of the customer location data.

Add the integration of the customer contact data.

Estimate: 3d

Integrate all taxes data

Create a new integration process associated to the products list integration that integrates all taxes information needed in Openbravo POS.

The development work consists of:

Develop the taxes integration process.

Adapt the products list integration process to take care of the new taxes integration process.

Estimate: 5d

Integrate all product attributes data

Create a new integration process associated to the products list integration that integrates all the attributes information needed in POS. This steps depends on the development of the new attributes feature that will be developed for Openbravo POS.

The development work consists of:

Develop the attributes integration process.

Adapt the products list integration process to take care of the new attributes integration process.

Estimate: 5-7d

Integrate all inventory data

Currently only integration of the main warehouse data is integrated and this data integration is included in the products list integration. This integration must be extended and detached from the products list integration.

Extend and detach from the products list integration process the inventory integration.

Estimate: 3d

Integrate all refunds data

Currently only the sales orders are integrated. A new process that integrates refunds must be developed the same way sales orders are.

Estimate: 5d

Integrate all payment data

All the different payment options available in POS are not included in the sales orders integration. All this information must be included to allow better management of payment data in ERP.

Estimate: 5d

Integration process execution on events

Kettle provides its current methods to execute the integration process. It is required that based on events in Openbravo ERP or Openbravo POS these integration processes are executed too.

The development work consists of:

Execute the integration process when the cash is closed in Openbravo POS.

Execute the integration process when the administrator of the system decides from Openbravo POS or Openbravo ERP.