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.
Comentários
Postar um comentário