Auditoria em GeneXus

February 18th, 2014

auditoria genexus fabricio de los santos k2baudit

O conceito de Auditoria tem mudado com os tempos. Aquela ideia de “auditar” se alguém tinha mexido propositalmente com os dados, era antigamente a maior preocupação das empresas. Hoje a Auditoria é tão importante como o produto desenvolvido para o negócio. Qualquer sistema em produção tem que dispor de um módulo que além de controlar o uso mal intencionado dos usuários, tenha a possibilidade de encontrar rapidamente erros operativos comuns ou simplesmente ter funcionalidades não desenvolvidas especificamente no produto, que poderiam estar inclusas de forma automática num módulo de auditoria, como por exemplo um histórico de determinada entidade.

Para isso a melhor ferramenta que se acopla a perfeição com a produtividade que da GeneXus é K2BAudit da empresa que desenvolve os patterns de K2BTools.

Esta ferramenta tem a vantagem única que pode ser usada em todos os produtos GeneXus porque se a sua KB não está na versão Evolution de GeneXus, você poderia levantar ela com esta versão só para implantar o módulo de auditoria, coisa que já tenho feito em diversos clientes que precisavam dessa solução.

Para melhor entendimento da solução deixo aqui o vídeo de Federico Dominioni com uma demo da última versão desta fantástica ferramenta.

 

 

Obrigado por ler meu blog!

Até o próximo post. Grande abraço!


Fabricio De los Santos GeneXus
Fabricio De los Santos
_________________________________________
Coaching and Mentoring GeneXus, ScrumMaster, Project Manager, K2B Tools Agent – The best Patterns Tool to integrate with GeneXus
Siga meus blogs em www.fabriciodelossantos.com

Como desenvolver uma aplicação elegante e segura com GeneXus

February 7th, 2014

k2btools genexus fabricio de los santos delfasoft

 

Você pode achar que estou torcendo muito pela ferramenta.

Quero que leia as seguintes linhas e vai entender minha posição.

Tenho alguns anos trabalhando com K2BTools e simplesmente não posso deixar de elogiar as funcionalidades que ela possui.

Antes de existir o GAM, K2BTools tinha uma ferramenta de nome K2BTools Fast Start que permitia a você desenvolver uma aplicação com controle de autenticação e autorização, criando o menu baseado nas permissões que se definiam.

Tudo aquilo que é muito chato ter que fazer em cada aplicação que temos que por em produção.

Quando surgiu o GAM, conversei com o pessoal de K2BTools para saber o que ia acontecer com o Fast Start, e na epoca me disseram “aguarde as novas funcionalidades que estão por vir”.

Então fiquei esperando ansiosamente.

No meio tempo, liberamos uma aplicação como sempre usando K2BTools, mas desta vez usando o GAM também, queriamos ver como poderíamos fazer para que essas duas tecnologias trabalharem juntas.

O resultado foi bom, mas tivemos que mudar muitas telas do GAM para que se adapte com a cara da aplicação. Mesmo com muito esforço, dava para perceber que eram duas coisas distintas, mas fiquei muito contente porque tínhamos conseguido integrar estes dois produtos com sucesso.

No evento de GeneXus de 2013, K2BTools lanzou a versão que integrava estas duas tecnologias, chamando o produto de K2BTools Fast Start GAM.

Simplesmente GENIAL!

Tudo aquilo que queria. O desenho elegante de K2BTools combinado com a segurança do GAM mas num Backend muito mais amigável do provisto pelo GAM, de aparência similar ao backend de K2BAudit.

k2btools genexus gam fabricio de los santos

Cada produto tem suas próprias qualidades por isso, se você está interessado, recomendo alguns links para testar o funcionamento, mas é muito simples.

Primeiro obviamente instalar a última versão de K2BTools disponível neste link.

Caso você este trabalhando com GeneXus Tilo, deve solicitar a versão especial diretamente a eles no email info@k2btools.com

Depois recomendo ver a explicação do K2BTools Security Model no seguinte link.

Por ultimo deve consolidar 2 arquivos FastStartGAM.xpz e K2BIsAuthorizedActivityListGAM.xpz que não vou colocar aqui os links porque no futuro podem mudar a url de acesso, mas vai achar eles na documentação mencionada acima.

Uma vez consolidado esses xpz simplesmente deve habilitar a propriedade “Enable Integrated Security” e na opção “Integrated Security level” setar o valor como “Authorization“, e setar as propriedades “Login Object for web” com o objeto “K2BFSGLogin” ofereceido por K2BTools e “Not Authorized Object for Web” com o objeto “K2BNotAuthorized” e com isso após criar o banco de dados do GAM, você vai ter sua aplicação pronta de forma ELEGANTE e SEGURA.

Então repete a pergunta novamente por favor.

Estou torcendo muito pela ferramenta?

ESTOU SIM!

Estou torcendo mesmo!

Até agora tudo o que K2BTools tem oferecido são soluções que se adaptam aos produtos novos que estão saindo no mercado, inclusive até na versão Beta de GeneXus Tilo.

Não tenho como duvidar da ferramenta!

Obrigado por ler meu blog!

Até o próximo post. Grande abraço!


Fabricio De los Santos GeneXus
Fabricio De los Santos
_________________________________________
Coaching and Mentoring GeneXus, ScrumMaster, Project Manager, K2B Tools Agent – The best Patterns Tool to integrate with GeneXus
Siga meus blogs em www.fabriciodelossantos.com

k2baudit 3.0 A melhor ferramenta para auditar com GeneXus

March 1st, 2013

k2baudit k2btools delfasoft fabricio de los santos

Pouco tempo atrás no Blog de K2BTools em espanhol foram apresentadas as novas funcionalidades que chegam no K2B Tools 7.0, nesta oportunidade vamos falar de K2B Audit, outro produto que integra a suíte de k2btools.

Para aqueles que não conhecem este produto, anexamos aqui uma breve descrição:

K2B Audit é uma ferramenta que permite auditar as alterações realizadas ao banco de dados de qualquer aplicação GeneXus  de forma completamente transparente ao desenvolvedor, gerando triggers dentro do banco de dados.

Ao trabalhar a nível de DBMS, se auditam as alterações realizadas tanto desde a aplicação GeneXus, como desde qualquer outra aplicação como também aquelas operações realizadas de forma manual diretamente no banco de dados.

Durante a execução da aplicação, são gravados os registros de auditoria em cada operação realizada nas tabelas que desejamos auditar. Posteriormente podemos consultar quais foram as alterações realizadas a um registro particular, vendo os valores anteriores e posteriores as alterações, em que momento foram realizadas, e que usuário fez a mudança.

Para ter uma melhor ideia da solução, invitamos a assistir o vídeo em espanhol que aparece embaixo, pertencente a canal de k2btools em youtube, que mostra em maior detalhe as capacidades da ferramenta.

Novas funcionalidades

Esta versão de K2B Audit possui várias melhoras, aumentando a quantidade de dados incluídos dentro dos registros de auditoria e a capacidade de poder fazer consultas por distintas dimensões. Desta forma a análise é enriquecida no histórico das alterações de cada registro.

Seleção de atributos para auditar

A partir desta versão o desenvolvedor poderá determinar dentro de uma transação auditada, quais atributos devem ser auditados e quais não. Para isso existe uma propriedade chamada “Audit Attribute” no nível de atributo dentro de uma transação.

Esta propriedade é visível nos atributos que forma parte da tabela base da transação associada.

k2baudit k2btools delfasoft fabricio de los santos

Para atributos que se encontram na tabela base da transação, mas não estão na transação que se está trabalhando, existe outra propriedade para determinar se estes atributos devem ou não ser auditados.

Descrição dos atributos auditados

Nesta nova versão, no momento de gerar os triggers, será atualizada a descrição dos atributos no banco de dados de auditoria. Com essa informação, usuários não familiarizados com o esquema de banco de dados poderão contar com descrições mais simples de entender.

Informação de UTL incluída em dados de auditoria

Adiciona-se uma funcionalidade nos triggers para armazenar. Junto com dados que foram alterados numa operação, informação de UTL em que a operação foi realizada também é armazenada. Por exemplo, agora poderá saber em que data foi realizado um commit da UTL, ou qual foi o objeto que realizou o commit.

Alem disso, foram incluídas opções para explodir dados de auditoria para que, partindo de uma operação auditada, podamos ver todas as operações que foram realizadas dentro da mesma UTL.

k2baudit k2btools delfasoft fabricio de los santos

Estes câmbios facilitaram a tarefa de analisar os registros de auditoria no momento que recolhem mais informação sobre como foram realizados esses câmbios, e que programa o fez.

K2BAuditAnalyzer

K2BAuditAnalyzer inclui também várias melhoras. Temos que lembrar que esta ferramenta é a que permite ao usuário final consultar e, forma amigável e potente, toda a informação de auditoria recolhida durante a operação da aplicação. 

Dentro das melhoras devemos destacar que, nesta nova versão o desenvolvedor poderá configurar como deseja executar o processo de conversão de registros de auditoria, para que sejam consultados pelo usuário. 

Isto é importante no caso em que temos bancos de dados com alta carga de operações, onde a informação recolhida é muita, pelo que o processo de conversão pode demorar muito tempo.

Em K2B Audit 3.0, são incluídos parâmetros que o usuário pode ajustar permitindo inclusive executar várias instancias em paralelo, para aproveitar ao máximo os recursos disponíveis. Também em quanto os processos que se executam, poderá ter um status de quantos registros vão sendo convertidos. Ao finalizar poderá obter valores de quanto tempo demorou a conversão e quantos registros foram convertidos. 

A nova versão está chegando… aguarde. Até a próxima,

Fabricio De los Santos

__________________________________________________________
ScrumMaster, Project Manager, Coaching and Mentoring GeneXus
K2B Tools Agent – The best Patterns Tool to integrate with GeneXus
www.fabriciodelossantos.com
www.delfasoft.com.br

Como criar uma aplicação com GeneXus Evolution 2 e K2BTools

February 28th, 2013

k2btools delfasoft fabricio de los santos

Olá, meu nome é Fabricio De los Santos, respiro GeneXus a mais de 17 anos.

Tenho trabalhado com a ferramenta desde as primeiras versões em DOS e posterior a isso, acredito que passei por todas elas.

Quero compartilhar com você algumas informações, dicas e também falar do futuro desta maravilhosa ferramenta e seus produtos relacionados.

Todos conhecemos as vantagens de GeneXus e as prestigiosas aplicações que podemos desenvolver com ele. A produtividade é enorme e os sistemas uniformes que obtemos são um produto de excelente qualidade.

Sabe se existe uma forma de melhorar ainda mais sua produtividade?

Sim existe.

O GeneXus permite interagir com ferramentas externas para automatizar o desenvolvimento dentro de GeneXus, e qual é a melhor?

Bem, existem várias ferramentas, mas eu não vou entrar em comparações, vamos colocar a  mão na massa e vou te mostrar o que K2BTools (a ferramenta que escolhi para desenvolver nossas aplicações) pode te oferecer.

K2BTools não é uma ferramenta de patterns, é muito mais que isso, mas… vamos deixar os mistérios e ir direto aos fatos.

Este post é o primeiro de uma serie de posts, onde vou te mostrar como vamos construindo uma de nossas aplicações estrela o “dELFAPRO”.

Este sistema é aquele de necessidade básica para toda empresa que precisa gerenciar projetos, então fica fácil saber do que estamos falando, na hora de seguir os posts como tutoriais.

Então vamos lá!

Criando a KB em GeneXus Evolution 2 

k2btools delfasoft fabricio de los santos

Criamos nossas primeiras transações

Organization

Representa todas as organizações. Por exemplo: empresas clientes

k2btools delfasoft fabricio de los santos

OrganizationArea

Representa as distintas áreas das organizações. Por exemplo: Comercial, Administrativa, etc.

k2btools delfasoft fabricio de los santos

OrganizationContact

Representa os contatos de cada organização. Por exemplo: João Batista, etc.

k2btools delfasoft fabricio de los santos

Aplicando K2BTools

Com as transações criadas agora podemos começar a aplicar os patterns de K2BTools

Para isto abrimos as transações (primeiro, Organization) e clicamos na aba de baixo “Patterns” e logo clicamos na aba de cima “Entity Services” e marcamos a caixa de “checkbox” como mostra a seguinte imagem.

k2btools delfasoft fabricio de los santos

Porque abrimos primeiro a transação Organization?

Hierarquicamente, é a tabela que contem áreas e contatos, vemos isso no diagrama de tabela que o GeneXus nos fornece.

k2btools delfasoft fabricio de los santos 

k2btools delfasoft fabricio de los santos

Neste post vamos ver o “Entity Services” e “Trn Form” da transação “Organization” mas fica tranqüilo, que vamos tentar chegar a todas as pontas.

Analisando a Estrutura da árvore de Instancia de Patterns Entity Services de K2BTools 

Vamos a analisar a primeira seção da árvore

k2btools delfasoft fabricio de los santos

Depois de nodo raiz Entity Services Patterns Instance aparece o nodo principal que origina nossa instancia de patterns que é a transação Organization.

Com a prática na ferramenta, você começara a enxergar  facilmente como vai ficar a cara de sua tela e todas as relacionadas com a transação que está aplicando o pattern.

WorkWith

Aqui o nodo está representando que as chamadas possíveis para a transação Organization dependerão das propriedades gerais configuradas nas preferences de trabalho com o Pattern Entity Services (veja imagem seguinte)

k2btools delfasoft fabricio de los santos

Isso para as chamadas que sejam para inserir, alterar ou apagar um registro.

Também aqui se define se existirá um ícone para mostrar a informação, exportar a Excel ou gerar um relatório em pdf.

Attributes

Indica quais serão os atributos que compõem a grid

Orders

Quais são as possíveis formas de ordenar os dados na tela.

Quando existe só uma ordem definida os patterns K2Btools desenham a tela para que os dados apareçam nessa ordem. Quando definimos a possibilidade de mais de uma ordem, o código gerado cria um combo Box para que o usuário possa escolher a ordem que quer ver os dados no momento de execução.

Meu conselho. Defina índices de usuário se é necessário para que o sistema não tenha sua performance afetada.

Filters

São os atributos pelos quais queremos que o usuário possa filtrar os dados exibidos em tela

EntityManager

Representa a informação que o sistema vai mostrar de um determinado registro.

Ele está composto por Fixed Data e Components

No nodo Fixed Data teremos os elementos que sempre vamos querer ver quando seja solicitado a visualização de um registro

O nodo components terá uma aba para mais dados e objetos do registro selecionado e outras abas com dados a transações relacionadas com a transação Organization.

Nos próximos posts, entraremos mais em detalhe destes componentes.

O que quero mostrar agora é que logo de salvar já podemos ver que K2BTools tem gerado objetos novos na Base de Conhecimento para poder trabalhar com os registros de Organization  

k2btools delfasoft fabricio de los santos

Vemos aqui o form do novo objeto WWOrganization, onde facilmente apreciamos os modos habilitados para inserção de dados, gerar reporte pdf e exportar a Excel, acima a direita. Os modos para update, delete e display no grid a esquerda e os filtros acima.

Não recomendo mudar o form gerado pelo K2BTools patterns e aconselho sempre trabalhar na instancia quando queira fazer alterações de visual ou no objeto, como condições, etc.

Agora devemos aplicar o Patterns Trn Form de K2BTools para que a ferramenta desenhe a tela para poder manipular um registro determinado da transação Organization.

Fazemos igual que fizemos para aplicar o Entity Services. Abrimos a transação clicamos abaixo na aba “Patterns” depois acima na aba “Trn Form”, e clicamos no checkbox “Apply Pattern to save” como mostra a seguinte imagem.

k2btools delfasoft fabricio de los santos

Eu apaguei o atributo OrganizationId para não aparecer na tela, porque ele é autonumber dessa forma podemos ver como o GeneXus tinha deixado a tela inicialmente e como o K2BTools me apresenta a solução. 

k2btools delfasoft fabricio de los santos

Bem,  agora vamos fazer a mágica do F5 para ver as nossas primeiras telas.

Eu tenho um banco de dados MYSQL configurado para criar as tabelas desta aplicação. 

k2btools delfasoft fabricio de los santos

O browser me abre com as seguintes opções.

Vamos trabalhar com as “Organizações” 

k2btools delfasoft fabricio de los santos

k2btools delfasoft fabricio de los santos

K2BTools me apresenta um menu com a opção de “Organizações”  e quando queremos inserir um registro basta com clicar no ícone de inserir.

k2btools delfasoft fabricio de los santos

Finalmente o resultado

k2btools delfasoft fabricio de los santos

No próximo post continuamos construindo esta aplicação e começaremos a explorar mais profundamente todas as funcionalidades de K2BTools.

 

Até a próxima,Até a próxima,

Fabricio De los Santos

__________________________________________________________
ScrumMaster, Project Manager, Coaching and Mentoring GeneXus
K2B Tools Agent – The best Patterns Tool to integrate with GeneXus
www.fabriciodelossantos.com
www.delfasoft.com.br