cin/ufpe – projeto conceitual de banco de dados – prof. robson fidalgo 1

72
CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 1

Upload: internet

Post on 19-Apr-2015

117 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 1

Page 2: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 2

BPM &

Solução de BI OpenSource

Por: Iandé Coutinho (ibbc)[email protected]

Page 3: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 3

Agenda

• Business Process Modeling• Business Process Modeling Notation• ETL

Page 4: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 4

Workflow

“...automação do processo de negócio, na sua totalidade ou em partes, onde documentos, informações ou tarefas são passadas de um participante para o outro para execução de uma ação, de acordo com um conjunto de regras de procedimentos.”

WfMC (Workflow Management Coalition)

Page 5: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 5

Business Process Modelling

• Definições:

“Conjunto de tecnologias e padrões de design, execução, administração e monitoramento de processos de negócio.”

“...conjunto de tarefas que envolve pessoas e recursos para que possa se atingir um objetivo previamente traçado.”

Page 6: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 6

Business Process Modelling

• Desafios:

Automação

Modelagem

Interoperabilidade

Page 7: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 7

Business Process Modeling

• Tecnologias BPM

Page 8: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 8

BPM Suite

• Design Linguagem de notação gráfica Flowcharts, workflows e diagramas Editor gráfico

• Execução Mapeamento de notação gráfica para linguagem de execução Engenho de Execução

• Monitoramento Dashboards Consultas Ad-Hoc Linguagem de gerenciamento

Page 9: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 9

BPM – Arquitetura Proposta

Page 10: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 10

Ciclo de Desenvolvimento

Acompanhar processos em execução através de interfaces de administração de monitoramento .

Gerar modelo BPMN a partir de uma coreografia WS-CDL.

Efetuar Deploy do código BPEL e suas interfaces requeridas para o engenho.

Desenvolver diagrama BPMN.

Desenvolver interfaces humana e de sistemas (interno ou externo) necessárias.

[ ]

Page 11: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 11

Tecnologias da Arquitetura

Page 12: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 12

Business Process Modeling Notation

• O que é?

Notação gráfica reconhecida para BPM• Amplamente utilizada por diversos Vendors

Criada pela Business Process Management Initiative (BPMI.org)

Em 2005 uni-se com a OMG • BPMN torna-se padrão OMG

Versão atual 1.1

Versão 2.0 em 2008....

Page 13: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 13

Business Process Modeling Notation

• Características:

Uso de pictogramas para representar elementos de processos

Linguagem gráfica tipo fluxograma para desenvolvimento de diagrama de processo de negócio (BPD)

A especificação surge como tentativa de alinhar a representação gráfica com BPEL

Baseado no metamodelo BPDM e infra-estrutura UML2.

Page 14: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 14

Page 15: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 15

Elementos Básicos do BPMN

• Eventos Uma ocorrência que dispara (triggers) um processo de

negócio. Categorias:

• Start• Intermediate • End

Tipos• Basic• Message• Timer• Exception• Cancellation

• Compensation• Link• Exception• Multiple• Termination

Page 16: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 16

Elementos Básicos do BPMN

• Eventos

Page 17: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 17

Elementos Básicos do BPMN

Tipos Start Intermediate End

Basic Placeholder event or the start of a called subprocess.

Placeholder Placeholder or end of a subprocess.

Message Process is started by receipt of a message (e.g., the invocation of a web service method implemented by the process).

Process is waiting for a message (e.g., wait for response from a participant to which this process has sent a request).

A message is to be sent to a participant process (e.g., call its web service).

Timer The start event defines a schedule for when it triggers (e.g., every Tuesday at midnight).

A point in a defined schedule has been reached.

 

Rule A condition, defined by the process, is met (e.g., process starts when a stock's price hits its 52-week high).

A condition is met. Used only for exception handling.

 

• Eventos

Page 18: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 18

Elementos Básicos do BPMN

Exception   Throw or catch an error. Generate an error.

Cancellation   Perform cancellation for a given activity.

Cancel the transaction.

Compensation   Trigger and perform compensation handling.

Perform compensating action.

Link The link start event connects to the link end event of a sibling process.

Link to or from another activity.

Connect to the link start of a sibling process.

Multiple Two or more triggers can start the process; if any one of them occurs, the process starts. These triggers can be message, timer, rule or link types.

Two or more triggers can continue a waiting process; if any one of them occurs, the process resumes.

When the process ends, several results are required (e.g. several messages need to be sent).

Termination     Terminate all activities in the process. Perform no exception handling or compensation.

• Eventos

Page 19: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 19

Elementos Básicos do BPMN

• Atividade Passo de um processo que realiza um trabalho Categorias:

• Atomic (atômica) Realiza uma única task (tarefa)

• Compound ou Process (composta ou processo) Conjunto de atividades atômicas ou compostas, eventos, gateways e

outros construtores. Processos são hierárquicos, podem possuir subprocessos e estes por

sua vez processos, e assim sucessivamente.

Page 20: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 20

Elementos Básicos do BPMN

• Atividades

Page 21: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 21

Elementos Básicos do BPMN

Uso Descrição

Service Calls a web service

Receive Waits for a message (an alternative to an event construct)

Send Sends a message

User, Manual Task is performed by a human participant (e.g., approval)

Script Logic encoded in a programming or scripting language (e.g., run a piece of Java code)

Reference Uses the definition of another task in the process; shares the definition rather than duplicating it

• Atividades

Page 22: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 22

Elementos Básicos do BPMN

• Fluxo de Seqüência Fluxo Normal

Fluxo Default

Fluxo Condicional

Page 23: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 23

Elementos Básicos do BPMN

• Split e Joins Uso de gateways na modelagem do patrão split-join. Representação de If-then, switch e all. Tipos:

• Exclusive OR• Exclusive OR (event-based)• Inclusive OR • Complex• Parallel

Page 24: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 24

Elementos Básicos do BPMN

• Gateways

Page 25: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 25

Elementos Básicos do BPMN

• Exclusive OR (Ou exclusivo) Uso de If-then-else e switch para controe de fluxo

exclusivo Modo Split:

• Verifica condições dos caminhos de saída, seleciona o primeiro válido e ignora os demais

• Ao menos uma condição tem que ser verdadeira, do contrário especificar o caminho default

Modo Join:• Libera o primeiro caminho de entrada a chegar nele, ignora os

demais

Page 26: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 26

Elementos Básicos do BPMN

• Exclusive OR (Ou exclusivo) - Cont

Exemplo:

Page 27: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 27

Elementos Básicos do BPMN

• Exclusive OR (event-based) Uso da estrutura de controle pick. Modo Split:

• Seleciona o caminho do evento que primeiro disparar, ignora os demais

Modo Join:• Dificilmente usado

Exemplo:

Page 28: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 28

Elementos Básicos do BPMN

• Inclusive OR Uso da estrutura de controle switch com overlapping de

casos Modo Split:

• Semelhante ao OU Exclusivo, mas seleciona TODOS os caminhos de condições verdadeiras

Modo Join:• Bloqueia passagem do fluxo de entrada até que todos os caminhos

esperados completem suas atividades• Conhece de antemão todos os caminhos passíveis de completar

suas atividades

Page 29: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 29

Elementos Básicos do BPMN

Exemplo:

Page 30: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 30

• Complex Uso da estrutura de controle única do BPMN Modo Split:

• Dificilmente usado

Modo Join:• Avalia os fluxos de entrada e determina quais deixa passar

Exemplo:

Elementos Básicos do BPMN

Page 31: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 31

Elementos Básicos do BPMN

• Parallel Uso da estrutura de controle all Modo Split:

• Aciona todos os fluxos de saída do gateway

Modo Join:• Bloqueia passagem para o fluxo de saída até que todos os

caminhos de entrada completem suas atividades

Exemplo:

Page 32: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 32

Tratando Exceções

• Uso de eventos de exceção

Page 33: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 33

Compensation

• Atividades são usadas para reverter o efeito causado por outra atividade

• Uso em atividades transacionais ou não Quanto transacional não possui o mesmo efeito de

rollback! – Atividade já foi comitada!!!

• Formas de disparar compensation: Uso de explicito de evento de compensation Implicita, caso a atividade a ser compensada faz parte de

um subprocesso transacional cancelado.

Page 34: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 34

Compensation

• Exemplo:

Page 35: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 35

Loops

• Atributo de atividade (task ou subprocess) Atividade é repetida até condição do laço ser atingida

• Modo Standard: While ou Until

• Modo Multiple Instance (MI): Foreach

Page 36: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 36

Loop Standard

• Parâmetros Condition

• Expressão que determina a continuação do laço

Test time: before, after• Quanto testar a condição: antes da execução da atividade (while) ou após (until)

maxLoops• Limite máximo de iterações

Loop counter• Usado internamente. Inicia-se com zero, incrementado a cada iteração e comparado com parâmetro maxLoops

• Uso em atividades transacionais ou não Quanto transacional não possui o mesmo efeito de rollback! – Atividade já foi comitada!!!

• Formas de disparar compensation: Uso de explicito de evento de compensation Implicita, caso a atividade a ser compensada faz parte de um subprocesso transacional

cancelado.

Page 37: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 37

Loop Multiple Instance

• Parâmetros MI Condition

• Expressão que determina o número de instâncias para executar

Loop counter• Usado internamente. Inicia-se com zero, incrementado a cada iteração e comparado com parâmetro maxLoops

Ordering (sequential, parallel)• Determina se as instâncias serão executadas seqüencial ou pararalelamente.

Complex Condition• Usada apenas quando Flow Condition for complex

• Uso em atividades transacionais ou não Quanto transacional não possui o mesmo efeito de rollback! – Atividade já foi comitada!!!

• Formas de disparar compensation: Uso de explicito de evento de compensation Implicita, caso a atividade a ser compensada faz parte de um subprocesso transacional

cancelado.

Page 38: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 38

Loop Multiple Instance

• Parâmetros (Cont) Flow Condition (none, one,all, complex)

• Usado apenas para ordem paralela.• None

Assim que cada instância da atividade for executada a atividade próxima do processo é executada

• One Próxima atividade só será executada quando a primeira instância

concluir

• All Próxima atividade só será executada quando todas instâncias

concluírem

• Complex Uso do parâmetro complex condition para determinar quando iniciar

execução da próxima atividade.

Page 39: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 39

Loops

• Exemplo:

Page 40: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 40

Exemplo de um BPD

Page 41: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 41

Ferramenta BPMN

• ITpearl´s Vision Plugin

Page 42: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 42

• Pentaho......

Page 43: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 43

Business Intelligence

...agregado de sistemas, aplicações, tecnologia e práticas para captura, integração, análise e apresentação de informações de negócio. [1]

Page 44: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 44

Pentaho BI Platform

“The Pentaho BI Platform is an enterprise-class Business Intelligence (BI) platform that supports Pentaho's end-user reporting, analysis, and dashboard capabilities with back-end security, integration, scheduling, and workflow capabilities.” [2]

Page 45: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 45

Pentaho BI Platform

• Solução BI comercial open source mais popular do mundo: Fundada em 2004: Pioneira em open source BI profissional Mais de 2 milhões de downloads desde seu lançamento Possui em média uma taxa de download em 100k por mês

• Amplamente reconhecida como líder em seu segmento

Page 46: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 46

Pentaho BI Platform

• A plataforma:

100% Open Source (Java)

Gestão e distribuição de relatórios, análises e dashboards

Fácil integração com data sources, portais, e aplicativos através de padrões abertos

Scheduling e autenticação integrada

Workflow embarcado para processos inteligentes de BI, e integração com processos de negócios externos

Page 47: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 47

Pentaho BI Platform

• A plataforma (Cont):

Extensibilidade através do uso de APIs, web services, ou modificação de templates, regras de negócio, ou código fonte

Logging de auditoria integrado para monitorar atividade de usuário, desempenho, e acesso à conteúdo

Page 48: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 48

Pentaho BI Platform

Reporting

Data Integration Dashboards

Analysis

Page 49: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 49

• Motivação

Dados estão por toda parte

Dados são inconsistentes

Desempenho é fator determinante

Integração de Dados

Page 50: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 50

Integração de Dados

• Integração

Remover erros e corrigir dados perdidos

Fornecer documentação do processo de integração

Capturar o fluxo de dados transacionais

Ajustar dados de multíplas fontes, pertimindo uma visão única de acesso

Estruturar dados para serem consumidos por ferramentas de usuário final

Consume cerca de 70% dos recursos de implementação e manutenção de um DW!

Page 51: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 51

ETL

• ETL Extrair Transformar Carga (Load)

• ECCD

Extract Clean Conform Deliver

Page 52: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 52

Integração de Dados

• Adquirir ou Construir

ETL Proprietário

Custom Code

Open Source

Tempo

Cu

sto

s

Page 53: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 53

Pentaho Data IntegrationA.K.A. Kettle

Page 54: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 54

Kettle

• Utilização Carga de arquivos de texto para banco de dados Exportar dados de um banco de dados para

arquivos texto ou outros BD Migração de dados de aplicações de BD Exploração de dados em BD existentes

 (tabelas, views, etc.) Melhora de informação através de lookups Data cleaning Integração de aplicações Data warehouse population

Page 55: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 55

Kettle

Page 56: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 56

KEttle• Extração

25+ Tipos de SGBDs• MySQL, PostgreSQL, SQLite, ...• Oracle, SQL Server, etc

Text files XML files XLS files Xbase files (dBase, Foxpro, etc) File systems information Generated data MS Access files LDAP Geo data ...

Page 57: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 57

KeTtle

• Transporte Engenho baseado em fluxo de dados Very flexible pathways: splitting partitioning merging joining duplicating clustering (MPP)

Page 58: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 58

KetTle

• Transformação Tranformação flexível de dados Looking up data Databases Files Calculating Scripting

• JavaScript, SQL, RegExp Splitting Mapping Selecting Filtering Pivotting 

Page 59: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 59

KettLe

• Carga (Loading) Carga de dados para formatos de destino

distintos Carga para banco de dados Popular Data warehouse Carga Particionada Carga Parallel Clustering

Page 60: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 60

KettlE

• Ambiente (Environment) Interface GUI (Spoon,Chef)

• Drag & Drop• Debugger

Ferramentas Command line• Execução de ”jobs” (Kitchen)• Execução de  transformações

(Pan)

Web server• clustering• Execução remota

API de programação para Java

Page 61: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 61

Kettle, na prática!

Page 62: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 62

Kettle, na prática!

• Spoon

Page 63: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 63

Kettle, na prática!

• Spoon & Chef Overview

Page 64: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 64

Kettle, na prática!

• Exemplo de transformação• Exemplo de job

Page 65: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 65

Kettle, na prática!

• Caso de Uso: Populando um Data Mart

Page 66: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 66

Kettle, na prática!

• Fonte dos dados: Banco de Dados de Exemplo do MS Acess

Formato:• Access (.mdb)

Nome do Banco• Northwind

Descrição da base• A base contém dados fictícios de uma empresa onde são registradas

informações sobre vendas e estoque de produtos.

• Ferramentas Pentaho Data Integration

Page 67: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 67

Kettle, na prática!

• Destino dos Dados: Data Mart no Postgres 8.2

Nome do Banco• NorthwindDW

Descrição• Base de dados no modelo estrela. O assunto do modelo: Vendas

• Objetivos Extrair os dados da base Access, aplicar transformações e

carregá-las no banco NorthwindDW do Postgres

Page 68: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 68

Kettle, na prática!

• Diagrama NorthWind Fonte

Page 69: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 69

• Diagrama Estrela Vendas Destino

Kettle, na prática!

Page 70: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 70

Conclusão

• Positivos: Grátis Comunidade ativa Extensível Open Source 30+ Templates de transformação Baixo TCO

• Negativos Treinamento oficial caro (USD 5k por 3 dias) Escassez de documentação API para uma linguagem (Java)

Page 71: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 71

Referências

1. www.wikipedia.org2. www.pentaho.org3. Kimball, R., Caserta, J. The Data Warehouse Etl

Toolkit. Wiley, September, 2004.4. kettle.pentaho.org5. Kimball, R., Ross, M. The Data Warehouse Toolkit.

Wiley, 2nd, April, 2002.6. Havey, M. Essential Business Process Modeling

O'Reilly, August, 20057. www.bpmi.org8. www.omg.org

Page 72: CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo  1

CIn/UFPE – Projeto Conceitual de Banco de Dados – Prof. Robson Fidalgo 72