Pular para o conteúdo principal

A mineração de processos e os sistemas legados

No post desta semana volto ao tema da Mineração de Processos com uma outra abordagem. Anteriormente falei da Mineração de Processos aplicada à modelagem e otimização de processos de negócios. Agora, falo da aplicação desta técnica no tratamento de um problema bastante comum em projetos de TI que envolvem a revisão ou integração de sistemas legados.

Em organizações de médio e grande porte que operam há várias décadas, os sistemas legados constituem grandes repositórios de códigos de programação que foram desenvolvidos e alterados ao longo do tempo por diversas equipes diferentes. Frequentemente as pessoas originalmente envolvidas não estão mais disponíveis e a documentação, quando existe, não é adequada para que os não iniciados consigam adquirir o conhecimento necessário em um prazo e esforço viáveis para o projeto.

Substituir ou atualizar esses códigos assegurando o tratamento adequado das regras de negócio que estão embutidas neles é uma atividade de alto custo e risco para as organizações. Um sistema com centenas de condições possibilita milhões de caminhos distintos que podem ser seguidos no código, a maioria provavelmente nunca seguidos no tempo de vida do sistema. Por outro lado, toda informação que puder ser extraída do código legado tem valor para o desenvolvimento de novos sistemas ou para integração com outras aplicações  

Uma alternativa possível nesse contexto é a realização de um tipo de análise conhecido como análise de caixa-preta. Nesse tipo de análise considera-se que o interior do sistema só pode ser conhecido através de observações indiretas. Ou seja, pela observação das respostas do sistema a estímulos de entrada, conforme ilustrado na figura( https://en.wikipedia.org/wiki/Black_box):


Considerando que na Mineração de Processos trabalhamos com um cenário semelhante a uma análise de caixa-preta, utilizando os registros gerados pelos sistemas de informação, organizados em log de eventos, para identificar as atividades executadas e os caminhos efetivamente seguidos na execução dos processos, é interessante investigar se a Mineração de Processos pode ser uma ferramenta adequada para a descoberta e aquisição de conhecimento sobre um sistema legado.  

A título de exemplo, escolhemos 3 casos que ilustram esse potencial de aplicação:

1- Processamento de Jobs

Como primeiro exemplo temos o caso apresentado pelo Steve Kilner na IBM System Magazine que foca no levantamento da execução de Jobs em um sistema IBM. Cada Job é constituído por uma determinada sequência de execução de programas específicos. O log de eventos é constituído com base nos registros de acesso aos arquivos associados aos programas e cada evento representa a execução de um determinado programa no sistema. A figura abaixo, mostra um segmento do modelo gerado pela ferramenta de mineração de processos, onde cada retângulo representa um programa, as setas a sequência de execução, e cada círculo amarelo significa um Job em execução. Um pequeno vídeo ilustrando uma animação desse modelo pode ser visto aqui.

2- Sistema de gestão de documentos

Como segundo exemplo usamos o resultado de um trabalho de análise que teve como objetivo avaliar a necessidade de se atualizar customizações para migração de versão de um sistema de gestão de documentos. Utilizamos como log de eventos os arquivos de log produzidos pelo servidor de aplicações Microsoft Internet Information Server (IIS), registrando todos os acessos dos usuários às funcionalidades do sistema ao longo de um período de 4 anos.

A primeira figura mostra parcialmente os acessos realizados pelos usuários às funcionalidades disponíveis no sistema ao longo de um ano. É possível identificar as funcionalidades com grande número de acessos e aquelas que aparentemente nunca são acionadas e provavelmente não justificam o esforço de migração. A segunda figura apresenta segmento de um possível modelo de processo correspondente às atividades acionadas.



3- Concessão de empréstimos a pessoas físicas

Como último exemplo, aproveitamos o estudo de caso do Business Process Intelligence Challenge (BPIC) 2017 apresentado em uma série de posts anteriores. Aplicando a mineração de processos no log de eventos, sem conhecimento interno dos sistemas de apoio utilizados pela organização, mostramos ser possível reconstituir a sequência de ações realizadas no sistema, inclusive identificando a criação e ciclo de vida de artefatos sistêmicos (Solicitação e Proposta), conforme mostrado na figura. 



Com base nos exemplos acima, concluímos que a Mineração de Processos pode ser usada como uma ferramenta de análise de caixa-preta para adquirir conhecimentos sobre sistemas legados. Para isso é necessário dispor de conjunto de registros gerados pelo sistema legado que possibilitem construir um log de eventos significativo o suficiente para identificação de atividades, caminhos e regras de negócio embutidas no sistema.

Até o próximo post


Voltar

Comentários