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

Post on 14-Jun-2020

35 views 0 download

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

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

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

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

2

Melhorando tudo com plugins

3

Agradecimentos

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

● À Oncase;○ Galera da

Computação.

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

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

4

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

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

Melhorando tudo com plugins

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

Muito conteúdo BOM

7

Melhorando tudo com plugins

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

Muito conteúdo a ser melhorado

8

Melhorando tudo com plugins

A questão é...

9

Ninguém tem que deixar de fazer tutoriais!

Melhorando tudo com plugins

A questão é...

10

Vamos automatizar!

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

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

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

12

Melhorando tudo com plugins

13

“Isso dá plugin?”

Uma pergunta que pode salvar vidas

ESPERTO, Analista

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

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

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

Melhorando tudo com plugins

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

Mas por quê?

17

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

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

18

Melhorando tudo com plugins

19

Pentaho Platform

Como funciona?

Melhorando tudo com plugins

20

Pentaho Platform

Melhorando tudo com plugins

O que dá pra fazer?

21

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

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

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

Melhorando tudo com plugins

Dá pra fazer: themes

25

http://onca.se/pentahoemeraldtheme

Melhorando tudo com plugins

Dá pra fazer: ...muito mais

26

http://onca.se/DevelopingPlugins

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

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

27

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

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

Melhorando tudo com plugins

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

Para back-end...

30

Melhorando tudo com plugins

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

Para front-end...

31

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

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

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

Um plugin feito para fazer pluginsSparkl

34

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

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

Melhorando tudo com plugins

37

Engenho de templates p/ PUC Login

webapp

PUCLogin

system

tapaplugin

template-03

template-02

template-01

Melhorando tudo com plugins

38

Pebble template engine

http://onca.se/pebble

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

Melhorando tudo com plugins

Pergunta

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

Melhorando tudo com plugins

Static

Schema XML / Roles

Melhorando tudo com plugins

Config

PentahoObjects.springRoleMapper

Melhorando tudo com plugins

I WANT IT MORE DYNAMIC!

Melhorando tudo com plugins

Xaction?

Melhorando tudo com plugins

ETL / Injection

Job / xml offline workout

Melhorando tudo com plugins

Java

implements DynamicSchemaProcessor

Melhorando tudo com plugins

E agora?

TRABALHO!

Melhorando tudo com plugins

USER FRIENDLY

When?

Melhorando tudo com plugins

Soon

Melhorando tudo com plugins

Tecnicamente falando

Melhorando tudo com plugins

Arch

BA Server

Plugin

Gerencia libs da aplicação

Dash ADM

DSP

Endpoints

Gerencia vinculo do DSPaos Schemas Disponiveis

Melhorando tudo com plugins

User approach

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

Melhorando tudo com plugins

KETTLE

JNDIStepsFlexible… limitless

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

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

Melhorando tudo com plugins

Marcello PontesMelhorando tudo com plugins

Conclusão e demais considerçõesPalavras finais

56

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