Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins -...

57
Melhorando tudo com plugins Marcello Pontes @marpontes Melhorando tudo Uma exposição sobre a capacidade que a Comunidade tem nas mãos 1 com plugins

Transcript of Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins -...

Page 1: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello Pontes@marpontes

Melhorando tudo

Uma exposição sobre a capacidade que a Comunidade tem nas mãos

1

com plugins

Page 2: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

...os devidos agradecimentosAntes de mais nada...

2

Page 3: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

3

Agradecimentos

● À Organização○ Márcio / Amb. Livre;○ [pentahobr];○ Patrocinadores;○ Apoiadores;○ Realizadores.

● À Oncase;○ Galera da

Computação.

Page 4: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

Uma background sobre nossa realidade e alguns esforços desperdiçadosA oportunidade

4

Page 5: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

● Primeiro contato em 2008○ Versão 1.7

● Ainda mais se é:

● Quanto mais sendo:

5

A Suite Pentaho é incrível

...ao infinito e além!

WEB

Page 6: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Tutoriais para:● Customização;● Contorno de problemas conhecidos;● Padrões de implementação.

Oficial:● help.pentaho.com● Documentação!

Artigos:● blogs!

Muito conteúdo

6

Page 7: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Autores engajados● Introdução;● Explicação;● Formas de resolver;● Impacto.

Muito conteúdo BOM

7

Page 8: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Autores engajados, mas conteúdo:● Pouco explicativo;● Com saídas deselegantes● Algumas Gambis

Muito conteúdo a ser melhorado

8

Page 9: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

A questão é...

9

Ninguém tem que deixar de fazer tutoriais!

Page 10: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

A questão é...

10

Vamos automatizar!

Page 11: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

● Execução sujeita a erros○ Ex.: Trocar SGBD do HSQLDB para PostgreSQL

● Custa tempo○ Você provavelmente vai executar a mesma tarefa outra vez

● Versionamento de tutorial?○ Tutoriais raramente acompanham as mudanças na ferramenta

● Várias maneiras de se fazer○ Às vezes soluções elegantes, outras nem tanto;○ Facilidade às vezes perigosa.

Se não automatizamos

11

Page 12: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

Alternativas que devemos sempre perseguir pro nosso próprio bemNo caminho do bem

12

Page 13: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

13

“Isso dá plugin?”

Uma pergunta que pode salvar vidas

ESPERTO, Analista

Page 14: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Plugins rodam embarcados e:● O sistema sabe onde estão os arquivos;● O sistema sabe todas as suas configurações;

Mas por quê?

14

Page 15: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Controle de revisão melhora:● A adaptação a novas versões do Pentaho;● A manutenção do teu pedaço de software;● Melhorias / incrementos;● Histórico de versões.

Mas por quê?

15

Page 16: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Gentileza gera gentileza:● O seu problema é, provavelmente, o de muitos outros também;● Você pode receber melhorias, correções, funcionalidades;● Você provavelmente vai receber um agradecimento;● Certamente será reconhecido como alguém que dá de volta à

Comunidade.○ Pessoas;○ Empresas.

Mas por quê?

16

Page 17: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Colaboração e distribuição centralizados● Marketplace;● Github.

Mas por quê?

17

Page 18: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

As sementes só precisam ser plantadasO terreno é fértil

18

Page 19: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

19

Pentaho Platform

Como funciona?

Page 20: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

20

Pentaho Platform

Page 21: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

O que dá pra fazer?

21

Page 22: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

<overlay id="startup.meuitem"> <menubar id="newmenu"> <menuitem

id="new-something" label="Melhorando tudo!" command="mantleXulHandler.openUrl(titulo, tooltip, url)" />

</menubar></overlay>

Dá pra fazer: Itens de menu

22

Page 23: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

<external-resources> <file context="mantle"> content/meu/js/meuscript.js </file></external-resources>

Dá pra fazer: assets injection

23

http://onca.se/vizgraph

js, css

Page 24: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

● PentahoSystem;● Web-services;● Spring beans/Filters/Processors;● content-types;● IPluginLifecycleListener

○ init()○ loaded()○ unloaded()

Dá pra fazer: beans, objects, web-services

24

Page 25: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Dá pra fazer: themes

25

http://onca.se/pentahoemeraldtheme

Page 26: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Dá pra fazer: ...muito mais

26

http://onca.se/DevelopingPlugins

Page 27: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

A facilidade cada vez mais aproximando analistas e inovaçãoA nova revolução

27

Page 28: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

28

Pré-CDF:● jsp / xaction / linhas, linhas, linhas

○ http://onca.se/olddashboards

Pós-CDF● Oportunidade● Arquitetura favorável● Menos código● Mais CTools

Um pouco de história

Page 29: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

29

Pré-sparkl:● Where/which are my lego bricks?● Well, i'm no dev-freak

Pós-sparkl● Oportunidade● Arquitetura favorável● Menos código● Mais CTools● PDI

A nova revolução

Page 30: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

PDI● Programação visual;● Transformações / Jobs● Webservices● Pontos de entrada / callback ETL;

Para back-end...

30

Page 31: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

CDE (CDF, CCC, Bootstrap, ...)● Web-standards friendly;● JQuery, Bootstrap, Angular, Underscore, …;● O Céu é o limite.

Para front-end...

31

Page 32: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

● Investimento em curso○ Arquitetura○ Solidez○ Capacidade de manutenção○ Modularidade○ Crescimento

● De sistema de plugins para OSGi

http://onca.se/osgimigration

A evolução não para: OSGi

32

Page 33: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

Alguns plugins especialmente selecionados para demonstrar o que se consegue com pluginsIt's show time

33

Page 34: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

Um plugin feito para fazer pluginsSparkl

34

Page 35: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

Entregando uma tela de login customizável para o seu PUChttp://onca.se/tapa

Tapa

35

Page 36: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

36

Engenho de templates p/ PUC Login

Pentaho default:● JSP● Cabeçalhos + Java + html + javascript

Tapa:● PUCLogin [patched]● UI via Pebble [server-side]● Templates somente com UI● Gerencia exposiçao de assets para nao autenticados

Page 37: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

37

Engenho de templates p/ PUC Login

webapp

PUCLogin

system

tapaplugin

template-03

template-02

template-01

Page 38: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

38

Pebble template engine

http://onca.se/pebble

Page 39: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

Entregando regras dinâmicas aos usuários dos seus cubos sem complicaçõeshttp://onca.se/cubeguard

Cubeguard

39

Page 40: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Pergunta

O que fazem quando vem a demanda do cliente por implementar segurança nos cubos do Mondrian?

Page 41: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Static

Schema XML / Roles

Page 42: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Config

PentahoObjects.springRoleMapper

Page 43: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

I WANT IT MORE DYNAMIC!

Page 44: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Xaction?

Page 45: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

ETL / Injection

Job / xml offline workout

Page 46: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Java

implements DynamicSchemaProcessor

Page 47: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

E agora?

TRABALHO!

Page 48: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

USER FRIENDLY

When?

Page 49: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Soon

Page 50: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Tecnicamente falando

Page 51: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Arch

BA Server

Plugin

Gerencia libs da aplicação

Dash ADM

DSP

Endpoints

Gerencia vinculo do DSPaos Schemas Disponiveis

Page 52: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

User approach

Mais próximo de casos de uso- Que levels negar?- Que dimensões negar?- Que medidas permitir?

Page 53: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

KETTLE

JNDIStepsFlexible… limitless

Page 54: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

Um painel de controle para integrar suas soluções a um repositório githttp://onca.se/ivygs

Ivy Git Sync

54

Page 55: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

Aquele sistema de comunicação com os usuários on-line que você sempre quishttp://onca.se/cns

Community Notification System

55

Page 56: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

Conclusão e demais considerçõesPalavras finais

56

Page 57: Melhorando tudo com plugins - Oncasefiles.onca.se/pentahoday15/Melhorando tudo com plugins - Marcello... · Introdução; Explicação; Formas de resolver; Impacto. Muito conteúdo

Melhorando tudo com plugins

● Tutoriais são ótimos; mas● Plugins documentados e abertos são melhores;

● O Sparkl facilita muito; mas● A arquitetura permite bastante integração.

● O cenário tá em constante mudança, assim como a WEB.

● http://sandbox.onca.se○ Espaço para iniciativas da Oncase;○ Plugins, pré-plugins, Código, Documentações, ...

Palavras finais

57