melhorando tudo com plugins - oncasefiles.onca.se/pentahoday15/melhorando tudo com plugins -...
TRANSCRIPT
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