5 fatores de sucesso para enfrentar os problemas de integrações na automação de processos

Tendo participado de vários de projetos de automação de processos, se tem algo que podemos afirmar como sendo um denominador comum a projetos de automação em empresas das mais diferentes áreas, é dos problemas que surgem quando existe necessidade de integração do processo automatizado com outros sistemas/organizações.

O fato é que problemas relacionados a integrações invariavelmente vão ocorrer, apenas variando de acordo com o grau de complexidade do processo e das integrações em si. Por outro lado, existem sim alguns fatores e cuidados que podem evitar problemas ou facilitar a sua resolução.

Ter conhecimento destes fatores no projeto vai prepará-lo melhor para o que vem pela frente.

Vamos a eles?

1. Ter uma boa governança dos serviços/integrações/funcionalidades disponíveis

Durante a automação do processo, é comum detectar uma ou mais necessidades de integração (ex: salvar alguma informação digitada durante a execução do processo num banco de dados).

Em nossa experiência, boa parte dos problemas que ocorrem nestes casos se devem a falta de governança da organização em relação aos serviços, integrações e sistemas existentes, ou seja, não se sabe se aquela necessidade de integração do processo já se encontra disponível (ex: através de um webservice).

A consequência disso é a necessidade de se discutir do zero esta integração, fazer orçamento e incluí-la no escopo, o que leva a aumento do prazo e custo do projeto. Um fator que minimiza bastante estes problemas é se a organização já trabalha numa Arquitetura Orientada a Serviços, ou simplesmente SOA (mais informações aqui, aqui e aqui), bem como dispor de ferramentas de governança/pesquisa de serviços.

2. Prever o modelo de dados do processo adequado as necessidades de integração

Quando um processo será automatizado, deve-se previamente fazer uma análise para definir o “modelo de dados” do processo, ou seja, as informações que serão visualizadas e manipuladas ao longo da execução do processo (veja aqui para mais informações).

A definição deste modelo de dados costuma ser mais transparente quando estamos falando de informações que ficam visíveis no formulário eletrônico do processo, ou seja, as informações que os usuários vão visualizar/editar ao acessar as tarefas. Mas infelizmente não é tão óbvio quando falamos de integrações.

Por exemplo, se é necessário chamar uma integração para atualizar uma informação no ERP a partir do processo automatizado, pode se descobrir que uma das informações obrigatórias para se chamar esta integração é específica daquele sistema (ex: um determinado identificador), e esta informação não foi prevista inicialmente no modelo de dados.

Com frequência, inclusive, ocorre a situação de que para obter a informação que você precisa para chamar uma integração, é necessário chamar outra integração!

Este fator costuma gerar muitas dores de cabeça, em muitos casos não é fácil prever todas as possibilidades.

3. Ter conhecimento das funcionalidades e limitações do framework de integração do BPMS

Mesmo que inicialmente a empresa tenha adquirido uma solução de BPMS para um processo pontual ou para apenas gerenciar fluxo de trabalho sem integrações com outros sistemas, o fato é que as necessidades da organização mudam. Quando chegar o momento em que as iniciativas de automação de processos passarem a demandar mais inteligência, com integração de dados existentes em outros sistemas, é importante conhecer as funcionalidades e limitações de integração do BPMS.

Por exemplo, alguns questionamentos comuns nestes casos:

  • Posso chamar webservices através do BPMS?
  • Consigo conectar diretamente num banco de dados através do BPMS?
  • Existem adaptadores nativos que permitem conexões com sistemas conhecidos no mercado?
  • O BPMS me permite realizar transformações complexas de dados ao chamar ou obter o retorno de um webservice?
  • Existe algum formato específico de assinatura do serviço para poder ser acionado?
  • Com que tecnologias o BPMS permite fazer integração? Soap? Rest? Corba? EJB? .net? Controle de arquivos no filesystem? Outros?

Este conhecimento é importante para detectar eventuais restrições da ferramenta, identificar a necessidade de utilizar outras ferramentas em conjunto ao BPMS, ou no pior dos cenários até a troca do próprio BPMS. Por exemplo: se o BPMS não é capaz de fazer transformações de dados complexas ao chamar um webservice, então possivelmente será necessária outra ferramenta (ex: uma ferramenta de barramento de serviços) que fará esta transformação no lugar do BPMS, expondo para o BPMS uma versão simplificada do serviço. Neste mesmo exemplo, pode ser que esta ferramenta adicional não exista na organização, e precisa ser previsto a sua contratação e implantação, dentro do escopo do projeto de automação.

Entenda a importância de uma avaliação detalhada sobre recursos ​dos produtos ao adquirir uma plataforma ​BPMS com ​esta coleção de artigos sobre Seleção de Plataformas de BPM.

4. Equipes dos sistemas disponíveis para apoiar o projeto

Parece chover no molhado, afinal se um processo automatizado precisa se comunicar com o sistema X, então a equipe de apoio deste sistema tem que estar envolvida, certo? Bem, temos algumas histórias de iniciativas de automação de processos aprovadas em nível executivo, mas que durante o andamento do projeto as equipes dos sistemas estavam em uma das seguintes condições:

  • Não estavam sabendo do projeto – o popular “cair de paraquedas”  (sim, é comum);
  • Sabiam do projeto e que em algum momento iriam se envolver, mas não tinham nenhum contexto dos objetivos do projeto e o seu papel (tem na prática os mesmos efeitos nocivos da situação anterior);
  • Sabiam do projeto e tinham o contexto, mas não tiveram a alocação reservada para apoiar o projeto (“Eu conheço o projeto e entendo o que devo fazer, mas não sei se vou conseguir ajudá-los ainda neste mês…”).

Quando as equipes dos sistemas começam a se envolver no projeto, é comum surgirem problemas e limitações que não se tinha noção, o que pode ocasionar necessidade de se rediscutir a solução. Aqui o apoio da liderança executiva e da gestão de projetos é fundamental para minimizar os problemas, reforçando a alocação das equipes dos sistemas envolvidos, para se envolverem no projeto de automação o quanto antes, preferencialmente ainda durante as fases de análise e projeto.

5. Atenção à  etapa de testes

Se existem integrações no processo, obviamente as mesmas precisam ser bem testadas, envolvendo as equipes responsáveis pelos sistemas de origem/destino das informações.

Ocorre que na automação de processos, assim como no desenvolvimento tradicional de sistemas, pode ocorrer a tendência de dar ênfase maior apenas a “interface” do processo, que no caso do BPMS são os formulários das atividades enviadas para os usuários. Mas obviamente as integrações que são feitas automaticamente pelo processo devem ser testadas com o mesmo cuidado, verificando se estão retornando ou gravando as informações corretamente.

Isto comumente é realizado utilizando os recursos de rastreamento/auditoria presentes das próprias ferramentas de BPMS (verificando o que está recebendo ou enviando de informações), bem como acessando diretamente o sistema com o qual se tem a integração (para verificar se os dados sendo obtidos/atualizados pelo BPMS estão corretos).

Estas verificações normalmente exigem um conhecimento técnico maior (ex: visualizar payloads em XML, acessar as informações diretamente em tabelas do banco de dados do sistema em questão, etc).

 

Sem dúvida existem outros fatores envolvidos, mas acreditamos que os fatores citados acima dão um bom norte para a equipe do projeto se preparar e enfrentar os problemas que podem ocorrer nas integrações durante a automação de processos.

 

A parceria entre os processos automatizados e os sistemas já existentes em uma organização

Podemos dizer, a partir da experiência da equipe iProcess em automação de processos, que os processos automatizados e os sistemas informatizados das organizações não competem entre si, eles formam uma parceria, se complementam. Dizemos isto porque são nos sistemas já existentes nas organizações que os processos obtém as informações necessárias para a execução dos fluxos de trabalho, utilizando-se para isto de uma camada de integração. Daí o motivo de acreditarmos que ambos se complementam.

Os sistemas já existentes, que também chamamos de legado, não são descontinuados ao serem integrados ao processo automatizado. O processo será responsável pela conexão entre estes sistemas e os usuários do processo. Através do BPMS (Business Process Management Suite ou System), uma organização automatiza processos para aumentar seu nível de controle e monitoramento na execução dos processos. Assim, um BPMS atua como orquestrador da execução dos processos entre pessoas e sistemas, definindo o fluxo do trabalho e da informação entre estes participantes.

Desta forma, os sistemas se preocupam com o cadastro, atualização e consulta das informações armazenadas em base de dados e os processos com a sua distribuição, tendo o foco na sequência de etapas, prazos, distribuição das atividades, integridade do processo e em fornecer o melhor ambiente possível para que as atividades sejam executadas. Em alguns casos, se faz necessário o armazenamento das informações ao longo do processo, mas são informações específicas para o contexto das instâncias do processo, que servem para controle de estado do fluxo e logs de atividades, por exemplo.

Quando se automatiza um processo, na etapa de levantamento das informações, é que verificamos como a parceria entre os sistemas já existentes na empresa e o processo utilizando BPMS se dará. Algumas das informações levantadas nesta etapa são:

  • Informações consumidas e informações geradas pelo processo, isto é, quais as informações que deverão ser recebidas pelo processo oriundas de sistemas e quais as informações que eventualmente deverão ser enviadas para gravação em sistemas existentes da organização, como, por exemplo, ERP, sistemas contábeis ou cadastros corporativos.
  • Pontos de integração, isto é, em quais atividades do processo deverão ser obtidas/geradas informações que alimentam os sistemas legados.
  • Como que o processo e os sistemas legados conversarão entre si, que normalmente ocorre através da camada de integração, utilizando serviços especialmente construídos para isto.

A implementação de BPMS nas organizações não deve ser orientada a substituir total ou parcialmente os sistemas atuais esperando-se que passe eventualmente a ser o repositório central das informações da organização. O BPMS não é a fonte principal das informações que estão sendo manipuladas, mas atua principalmente como integrador delas, buscando e enviando informações para outros sistemas durante a execução dos processos.

A iProcess disponibiliza em sua plataforma EAD mais informações sobre este assunto, através do Curso TDP – Transformação Digital Orientada a Processos.

Webinares iProcess 2014 – Primeiros Passos em BPM: da Venda Interna ao Primeiro Processo

Esta é a gravação do terceiro webinar da série lançada este ano pela iProcess, através do qual compartilhamos nosso expertise e experiência em gestão por processos.
Aos que participaram da transmissão ao vivo, um muito obrigado em nome do time da iProcess!

Aos que não puderam participar, esta é a oportunidade para conferir a gravação de nosso webinar de Primeiros Passos para a adoção de BPM na minha organização: da venda interna à escolha do primeiro processo, apresentado pelo Eduardo Britto em 25/09/2014.

 

A apresentação também está disponível no slideshare:
http://pt.slideshare.net/iProcessBPMeSOA/webinar-3-primeiros-passos-para-a-adoo-de-bpm-na-minha-organizao-da-venda-interna-escolha-do-primeiro-processo


Nesta quinta-feira, 02/10 Às 10h, Eduardo Britto continua a discutir sobre os primeiros passos para adoção de BPM, desta vez falando sobre os desafios do primeiro projeto. Registre-se agora e participe!
https://attendee.gotowebinar.com/register/5376585832758612225


Confira abaixo as respostas para perguntas enviadas por nossos participantes durante o evento:

Pergunta: “Em relação aos tipos de projetos, na sua opinião quanto é prejudicial automatizar após modelar?”
Resposta: Esta pergunta foi respondida durante a apresentação. Ao longo dos nossos 14 anos, percebemos que automatizar após a modelagem é uma prática que pode ser eficiente, porém também possui riscos. A modelagem para conhecimento do processo tende a apresentar a situação atual do mesmo, mas não se preocupa em resolver seus problemas. Assim, partir desta modelagem (AS IS) para a automação implica no risco de automatizar os problemas, o que além de fazer com que eles continuem existindo, pode também potencializá-lo (imagine um gargalo que acontecia algumas vezes por semana passar a ser executado muitas vezes mais devido à agilidade ganha na automação do processo?). Assim, o redesenho do processo, analisando os problemas evidenciados na modelagem AS IS e transformando-o em um processo mais eficiente tende a ser uma prática mais adequada antes da automação.

Pergunta: “Quais são as alternativas de fortalecimento e disseminação do trabalho do escritório de processo quando o apoio da alta direção não é efetivo?”
Resposta: As mudanças organizacionais requeridas com a adoção da prática de BPM costumam ser bastante impactantes na rotina da organização, de forma que o apoio da alta gestão se torna fator chave para reforçar a importância dos movimentos que serão realizados. Se a alta gestão não está alinhada com o escritório de processos, está na hora de conquistá-la – e a realização de um bom primeiro projeto de melhoria de processo com uma boa medição do antes e depois pode trazer aos gestores os números que eles precisam para compreender a relevância da atividade deste grupo de profissionais.

Pergunta: “Ao longo da apresentação, é bastante citada como projeto. Projeto tem começo, meio e fim. BPM para sua adoção e execução plena, não deveria ser encarada como uma disciplina?? (sendo esta disciplina envolvendo projetos)”
Resposta: Sim, o alinhamento é exatamente este. BPM é a disciplina, mas sua implementação na organização em geral acontece através da execução de projetos. Os projetos em BPM podem ter diferentes escopos, sendo alguns focados na implantação da governança, enquanto outros são específicos para a execução de etapas do ciclo de vida do processo (modelagem, transformação, implantação, etc), até a estabilização do processo quando ele passa a ser controlado pela gestão do dia-a-dia dos processos.

Pergunta: “Como se faz a junção dos esforços da Metodologia Lean, através dos Kaizens, e da Disciplina de BPM, através da transformação de processos?”
Resposta: Lean e Kaizens são excelentes ferramentas que o grupo de profissionais de processos podem adotar durante a atividade de análise para a identificação das oportunidades de melhoria dos processos, bem como no monitoramento da execução do processo.

Pergunta: “Se a empresa tiver que optar entre o apoio da direção ou apoio dos colaboradores envolvidos, qual é a melhor opção?”
Resposta: Esta pergunta foi respondida durante a apresentação. Implementar BPM sem o apoio da direção envolve mudança, que precisa de patrocínio, para sensibilizar as pessoas envolvidas. Mas o apoio das pessoas envolvidas também é importante para o sucesso da implementação.

Pergunta: “Transformação e Otimização faz parte do Ciclo BPM?”
Resposta: Sim, o treinamento Transformação e Otimização de processos é o segundo módulo do programa Ciclo BPM realizado pela iProcess Education. Para mais informações sobre este programa, visite o site: www.iprocesseducation.com.br/ipe00.

Particularidades na execução de projetos com integrações – Parte Final

Nos dois primeiros posts (disponíveis em 1 e 2), tratamos particularidades da gestão/execução e práticas metodológicas para bons resultados em projetos envolvendo integrações.

Para fechar esta série de artigos, hoje descreveremos alguns riscos importantes e fatores críticos de sucesso (FCS) nestes projetos, para que recebam a devida atenção e, se necessário, tratamento.

Em resumo, grande parte dos riscos e FCS se referem à comunicação e à integração das equipes do projeto, dado que muitas das informações e necessidades de trabalhos desta natureza envolvem algum tipo de compartilhamento.

Desta forma, listamos abaixo alguns itens que consideramos relevantes:

  • O primeiro ponto quem sabe até não seja o mais importante, mas certamente é um dos mais frequentes. Durante testes do sistema, quando ocorrem problemas, costumamos dizer: “até que se prove o contrário, a ‘culpa’ é da integração”. E pode-se dizer que até é um fato lógico. Quando uma das equipes realiza algum teste e não vê o resultado esperado acontecendo na outra “ponta”, naturalmente a primeira desconfiança é de algum defeito ou inconsistência na integração, que justamente faz a “ligação” entre os dois sistemas. Porém, esquece-se que a integração não é uma peça de software isolada, e sim um pequeno sistema formado pela origem, destino e o meio, que é a integração em si. E em qualquer um destes componentes pode ocorrer erro. Assim, é importante tanto alinhar as expectativas das equipes (inclusive para evitar desgastes) quanto definir um processo de teste e avaliação de problemas tecnicamente adequado para o cenário do projeto e dos sistemas envolvidos.
  • Boa parte das etapas de desenvolvimento e testes será realizado de maneira simbiótica por todas as equipes envolvidas (equipe do sistema que será integrado, de integrações e dos legados). Desta forma, uma prática bastante importante é a apresentação destas equipes, visando sua aproximação e integração. Com isto, espera-se que todos se conheçam, saibam os papéis de cada um e a quais responsabilidades respondem, quais os conhecimentos de cada integrante quando precisarem de apoio, etc. Além disso, a própria integração pessoal da equipe auxilia na pró-atividade e facilidade da comunicação.
  • Apesar da metodologia de desenvolvimento normalmente contemplar e se adequar a boa parte do escopo, como as integrações são o meio e dependem da forma como as “pontas” são desenvolvidas e entregues, é fundamental avaliar as eventuais modificações necessárias na metodologia, bem como apresentá-las às equipes. As responsabilidades também devem ficar muito claras. Além disso, é mandatório registrar estas mudanças em algum local, para consulta. Esta preocupação é essencialmente importante pois é muito comum (para não dizer que acontece sempre) que se confundam sobre o que cada equipe deve fazer e até onde sua autonomia vai. Isto pode gerar conflitos e desgastes desnecessários, perda de produtividade ou até problemas mais graves, que se refletem apenas quando o projeto já está em um estágio mais avançado.
  • É comum em um projeto com integrações existirem documentações compartilhadas, nas quais uma equipe preenche parte do documento, e outra(s) o completa(m). Assim, é importante esclarecer com todos quais tópicos cada um é responsável e definir uma política de armazenamento e versionamento adequadas.
  • A comunicação entre as equipes durante a análise e os testes é outro fator crítico. É fundamental definir um fluxo adequado e claro de comunicação entre os integrantes das equipes, de acordo com as responsabilidades no projeto. E, claro, esta definição depende de uma avaliação criteriosa dos estilos e da disposição física das equipes, do ambiente de trabalho e dos recursos de comunicação disponíveis.
  • Por fim, um ponto bastante simples, mas que pode facilitar muito a identificação de problemas. À medida que integrações forem codificadas e estejam razoavelmente estáveis, podem ser disponibilizadas para uso pelas demais equipes. Claro, dependendo do planejamento do projeto e da metodologia utilizada, elas nem serão acionadas antes dos testes integrados. Mas, caso as equipes das “pontas” já estejam prontas para realizar testes com o uso das integrações, isto pode antecipar alertas relevantes sobre inconsistências e defeitos.

Com este artigo, fechamos esta série dedicada especialmente a dicas, boas práticas e cuidados com projetos envolvendo integrações, que possuem particularidades que os tornam especialmente desafiadores.

Fiquem à vontade para opinar e sugerir outras práticas interessantes.

Esperamos que tenham gostado!

Nos falamos em futuros artigos. Até lá!

Particularidades na execução de projetos com integrações – Parte 2

No primeiro post (disponível aqui), iniciamos uma avaliação de particularidades da gestão e execução de projetos envolvendo integrações, com foco nas dependências técnicas e gerenciais.

Hoje, a ideia é “conversarmos” sobre algumas práticas metodológicas importantes para minimizar riscos e conduzir o trabalho de maneira organizada.

Apesar de podermos citar um grande número de práticas, algumas são especialmente relevantes para o sucesso deste tipo de projeto, a saber:

  • Definição de uma arquitetura do projeto. O básico do básico, mas por vezes esquecido. É fundamental definir uma arquitetura de comunicação, tecnologias a serem utilizadas e padrões de implementação no projeto, especialmente para as integrações. Outro ponto muitas vezes negligenciado – não adianta ter, tem que comunicar. Se for necessário, imprima a arquitetura e cole no monitor dos integrantes da equipe. Cada um precisa ter a arquitetura na cabeça, sem exceções. Criar uma página tipo wiki também pode ser simples e eficiente.
  • Implementação de mocks na etapa inicial de desenvolvimento ou arquitetura. Como citado no primeiro post, a definição e construção de mocks é uma prática que facilita a formalização da comunicação entre os componentes do sistema (principalmente quando estes estão divididos entre vários fornecedores) e auxilia o paralelismo de atividades. Uma outra avaliação é bastante importante – o comportamento interno do mock. Se por um lado um artefato que simplesmente devolve “vazio” é fácil e rápido de implementar, por outro ele não auxilia os testes unitários, por exemplo. Se implementarmos algumas regras, os testes unitários podem ser mais efetivos, mas é um trabalho que posteriormente será descartado. Assim, é fundamental avaliar qual a complexidade e conteúdo dos mocks a ser desenvolvido para cada caso e requisitos do projeto.
  • Testes unitários com componentes já desenvolvidos. Conforme o segundo item, a validação das regras de negócio das integrações não depende apenas das interfaces (assinaturas, contratos, etc) dos componentes chamados por estas, e sim principalmente de sua implementação interna. Desta forma, assim que possível é importante a substituição dos mocks pelos componentes definitivos, o que já ajuda, e muito, na avaliação de eventuais problemas de integração dos dados e até de análise. Porém, um alerta. Caso os componentes ainda estejam em uma fase incipiente de desenvolvimento, podem conter bugs que mais prejudicarão do que ajudarão durante a implementação das integrações. Assim, é necessário avaliar a qualidade dos componentes das “pontas” quando estes forem usados.
    • Revisão periódica de serviços ou componentes que vão ficando prontos. Item relacionado ao tópico anterior. Defina um meio de acompanhar e comunicar quais componentes das “pontas” da integração (serviços que serão chamados, por exemplo) estão prontos e disponíveis para uso no decorrer do projeto. É bastante comum esquecermos disto por vários dias e perdermos a oportunidade de aproveitar os ganhos do tópico acima.
  • Teste de arquitetura com “integração piloto”. Uma prática que resolve várias dores de cabeça e antecipa problemas do desenvolvimento é validar a arquitetura definida para o desenvolvimento das integrações com a implementação de uma “integração piloto”. Aproveite este momento para questionar e validar as diretrizes arquiteturais para o restante do projeto. Claro, nem sempre isto é simples, visto que muitos projetos incluem integrações com “n” formas de implementação e utilização de recursos. Mas, na medida do possível, é uma prática muito vantajosa.
  • Mapa de dependências entre componentes. Prática simples e muito útil. Organize um mapa com todos os componentes do projeto e quem depende de quem. Não use textos – faça o mapa de forma gráfica. Aí temos uma vasta gama de ferramentas que podem ser usadas – aplicativos de mind mapping, de desenho, de modelagem, etc. E use a criatividade. Pinte componentes de cada tecnologia com uma cor diferente, separe-os por equipe responsável, por desenvolvedor, e assim por diante.
  • Repositório único de contratos. É realmente muito importante definir um repositório que armazene a versão oficial de contratos de serviços e demais componentes que são dependência para outros no projeto. Assim, todas as equipes sabem onde consultar a versão a ser utilizada, evitando ruídos de comunicação. Claro, se alguma alteração é feita, deve ser comunicada a todos – e isto deve estar contemplado no Plano de Comunicação do projeto. Este repositório deve estar sempre atualizado.
  • Organizar a análise e desenvolvimento das integrações por assunto. É bastante comum em projetos envolvendo integrações que estas estejam separadas por assuntos de negócio tratados pelo sistema. Por exemplo: ao desenvolver integrações de um ERP com sistemas legados, organizar os profissionais que vão analisar e implementar as integrações por cada módulo do ERP. Nem sempre isto é possível – alguns processos são transversais e passam por vários módulos – mas claramente auxilia o entendimento das integrações pelo conhecimento de negócio que cada profissional adquire. Claro, isto incide em alguns riscos bastante relevantes. Se um profissional, seja analista ou desenvolvedor, sai da equipe, um grande conhecimento pode ir com ele. Uma forma de contornar isto é envolver o líder técnico e um analista líder em pontos-chave da análise e desenvolvimento de todas as integrações, a fim de que possa responder pelo conhecimento destas.
  • Definição de cenários de testes entre as equipes. Um ponto chave do projeto, difícil de gerenciar e que frequentemente enfrenta grandes problemas, é o teste integrado do sistema, principalmente quando existem diferentes equipes envolvidas. Uma sugestão muito interessante é a reunião dos responsáveis das equipes para elaboração de cenários de teste integrados. Veja, a ideia não é detalhar cada cenário neste momento, e sim definir quais são os cenários a serem executados para validar a integração dos sistemas de ponta a ponta. Após, cada equipe detalha seus cenários individualmente, que são validados ao final, novamente entre todos.

No próximo post, que encerra esta série, trataremos de riscos e pontos de atenção em projetos com integrações, visando auxiliar principalmente seu planejamento e gestão. Até lá!

Oracle BAM – Monitoramento instantâneo do negócio

Algumas tecnologias viram moda tão rapidamente que muitas empresas as adotam antes mesmo de o pessoal de negócios aprender o significado das siglas que as denominam. Este é sem dúvida o caso do BAM (Business Activity Monitoring) que muitas pessoas confundem com outras ferramentas como BI (Business Intelligence) e CEP (Complex Event Processing).

Mas o que é BAM e para que serve?

Business Activity MonitoringBAM é uma ferramenta de monitoramento da atividade do negócio através do acompanhamento em tempo real de indicadores. Isso possibilita a tomada de decisão de forma ágil a partir da análise desses indicadores assim como a execução de planos de contingência baseado em gatilhos previamente definidos, seja através do envio de alertas, execução de webservices, ou outras ações. Nesse artigo, vamos apresentar um visão geral do Oracle BAM.

 

Oracle BAM é um produto da suite Oracle Fusion Middleware que permite integração flexível com outros sistemas através de ODI (Oracle Data Integrator), webservices e conexões a diferentes bancos de dados, entre outras formas.

Uma grande vantagem do Oracle BAM é seu poder de manipulação de grandes volumes de dados, através do ADC (Active Data Cache), que podem ser capturados de diferentes bases de dados, de processos BPM e diversas outras fontes de informação.

Traduzindo todas estas informações e mudanças em elementos visuais, relatórios e alertas, o Oracle BAM tem sido utilizado por muitas empresas para monitorar desde ocorrências operacionais em ambientes de TI e infraestrutura (Service Desk, por exemplo), acompanhamento do volume de transações comerciais, alertas em desvios de processos de negócios, controle e execução de prazos de projetos complexos, entre muitos outros casos de sucesso.

A ferramenta foi idealizada para permitir a separação entre níveis de operação e acesso. Assim, suas funcionalidades principais são divididas basicamente em três visões:

BAM Architect é a interface onde o arquiteto de dados cria e gerencia os objetos de dados que contém as informações utilizadas nos gráficos e relatórios. Os objetos de dados são uma representação virtual das diversas origens de informações possíveis de forma consolidada. Também permite a utilização de cálculos de baixa e média complexidade sobre os dados, facilitando a apresentação e agrupamento das informações de interesse para o negócio.

 

BAM Active Studio é um ambiente de desenho onde os gráficos, os alertas, as conexões com webservices e o agendamento do envio de relatórios são realizados. A personalização da interface não é um ponto forte da ferramenta, mas o uso dos diversos templates e a combinação de diferentes estruturas existentes garantem, em conjunto, sua utilização em projetos de todos os tamanhos e para qualquer tipo de necessidade.

 

 

BAM Active Viewer é a ferramenta para a visualização dos relatórios e gráficos. É o painel de monitoramento propriamente dito, onde é realizado o controle de acesso por usuário, por relatório, por pasta de relatórios, etc.

 

 

Além da limitação de acesso a determinados relatórios por usuário, inclusive de forma integrada a servidores LDAP, o Oracle BAM permite ainda restringir a visualização de dados dos relatórios por usuário ou pelos grupos dos quais o mesmo faz parte. Assim, é possível permitir que um gerente acesse o mesmo relatório da direção da empresa, porém exibindo somente as informações da sua filial ou região.

Duas grandes funcionalidades que merecem destaque são o envio agendado de relatórios por email e o disparo de alertas, com diversas ações associadas (envio de relatórios e informações por email, invocação de serviços externos para objetivos específicos, execução de cenários ODI, etc), periodicamente ou atendendo à condições específicas previamente definidas (quando determinado índice atinge um nível mínimo, por exemplo).

Essa pró-atividade e resposta instantânea às mudanças sensíveis ao negócio são os instrumentos de gestão que conferem a agilidade e assertividade na tomada de decisões, bem como a execução de planos de contingências no momento apropriado.