DevSecOps

23 abr, 2013

BI Operacional: O BI de próxima geração – Parte 02

Publicidade

Conforme vimos no último artigo, o BI Operacional necessita de uma arquitetura diferente dos sistemas de BI tradicionais, dadas suas necessidades de entregar os dados em tempo real e monitorar eventos que ocorrem nos processos empresariais sem afetar os sistemas transacionais.

Duas tecnologias cada vez mais presentes nas organizações podem apoiar o BI Operacional a alcançar seus objetivos: arquitetura orientada a serviços (Service-Oriented Architecture – SOA) e business activity monitoring (BAM). A seguir vamos explicar os principais conceitos de SOA e BAM.

Arquitetura orientada a serviços

Uma arquitetura orientada a serviços é um modelo para construção de soluções de software que utiliza como seu principal elemento unidades de desenvolvimento denominadas serviços, que são elementos autodescritos, agnósticos de plataforma, que executam funções e que podem variar desde simples requisições até processos de negócio complexos.

Uma arquitetura orientada a serviços pode ser comparada a uma cidade, na qual diversas organizações proveem serviços consumidos por pessoas ou outras organizações para executarem suas atividades, viabilizando a composição de novos serviços e processos. É importante observar que neste contexto dispomos de dois papéis – o provedor, que é a organização que efetivamente executa o serviço; e o consumidor, que é a organização que consome o serviço.

Para que a relação entre provedor e consumidor ocorra de maneira adequada, ambos precisam acordar que funções serão disponibilizadas pelos serviços, as informações que devem ser informadas pelos consumidores para sua execução e o nível de serviço esperado, contemplando variáveis como tempo de resposta, volume e disponibilidade do serviço. Estas informações são descritas de maneira formal através de uma especificação denominada contrato.

Do ponto de vista computacional, estes conceitos podem ser aplicados desde o contexto de uma única organização, para facilitar a integração entre seus sistemas, quanto em um contexto interempresas, nos quais organizações diversas podem prover serviços através da Internet. A relação entre os papéis é definida através de três operações, coforme a figura 3:

0001
Relação entre os papéis em SOA
  • Publicação: Um provedor, ao disponibilizar um serviço, publica-o em um registro de serviços, informando a localização e metadados para facilitar a busca do serviço. A localização do serviço permite que seja identificado o endereço físico, como uma URL, na qual o serviço pode ser executado. Os metadados permitem descrever o serviço, de forma que consumidores possam verificar se este atende ou não suas necessidades;
  • Busca: O consumidor fornece parâmetros para busca e obtém a descrição completa do serviço, incluindo a sua localização. Esta busca pode ser realizada por projetistas de aplicação em tempo de desenvolvimento, ou automaticamente pela aplicação em tempo de execução;
  • Conexão: O consumidor se conecta ao provedor e solicita a execução do serviço. Para tal, deve respeitar todas as condições necessárias para invocar o serviço, definidas através de uma especificação denominada contrato. O provedor executa as funcionalidades solicitadas e retorna para o consumidor o resultado da operação.

Um exemplo de tecnologia que permite o uso deste modelo é a construção de serviços utilizando webservices. São utilizados os padrões SOAP, para realizar a comunicação entre as partes, UDDI, para definir a formatação do registro de serviços e permitir a realização das operações de publicação e busca, e XML para padronizar a formatação das mensagens trocadas. Webservice é uma tecnologia fácil de utilizar se comparado com tecnologias anteriores como CORBA ou DCOM, não porque a tecnologia é realmente muito simples, mas porque as ferramentas e ambientes de desenvolvimento avançaram muito nos últimos anos.

Outro exemplo de técnica que pode apoiar uma arquitetura orientada a serviços é o uso de barramentos de serviço, que ampliam o desacoplamento entre consumidores e provedores a partir do estabelecimento de um nó central, pelo qual trafegam todas as mensagens trocadas, reduzindo o conjunto de possíveis localizações para um serviço. Adicionalmente, estas ferramentas permitem monitoração, medição e controle de segurança, permitindo auditar se contratos entre provedores e consumidores estão sendo atendidos.

Nem toda empresa que domina a tecnologia consegue obter sucesso com SOA. Como é comum no campo de Tecnologia da Informação, a tecnologia sozinha não é suficiente para resolver os problemas de negócio. Organizações que já obtiveram sucesso com a implementação de SOA entendem que não basta somente utilizar as tecnologias, mas saber o que fazer com ela. Ter uma visão arquitetural é fundamental para descrever a construção de aplicações em termos de uma lógica de distribuição de responsabilidades entre as camadas do serviço. Outro importante aspecto é possuir uma visão de negócio que descreva em qual negócio a organização está situada, quais informações e processos são necessários para executar o negócio, que capacidades são necessárias para apoiar tais processos e quais serviços são necessários para fornecer esses recursos. A visão de negócio combinada com os processos torna-se essencial para auxiliar os provedores de serviços a criar os serviços corretos, que não se sobrepõem com serviços existentes ou deixem lacunas nesses serviços. Arquitetura e processo devem ser amarrados a uma metodologia de implementação a fim de apoiar o uso e a criação de serviços.

Business activity monitoring

O gerenciamento de processos de negócio pode ser definido como “o suporte a processos de negócio utilizando métodos, técnicas e software para projetar, ordenar, controlar e analisar processos operacionais envolvendo pessoas, organizações, aplicações, documentos e outras fontes de informação”. Um processo de negócio possui algumas fases e constitui o que é amplamente aceito como o ciclo de vida do processo, ilustrado na figura 4.

0002

Um modelo de processo é capturado durante a fase de definição (definir). Uma vez modelado, um processo é transformado em modelo executável pronto para ser implementado (implementar). Depois de implementado, um processo estará pronto para ser executado (executar). Quando a instância de um processo é executada, um módulo de monitoração (monitorar) pode acompanhar a sua execução contra métricas pré-definidas e gerar exceções, se necessário. A fase de análise (analisar) pode utilizar técnicas estatísticas para analisar os dados de execução do processo e as métricas para identificar quaisquer tendências indesejáveis no processo. De posse dessa informação, melhorias podem ser feitas (melhorar), o que leva de volta à fase de definição, onde o ciclo se inicia novamente.

A fase de “monitorar” do ciclo de vida do processo é que ocorre a monitoração de atividade do processo (Business Activity Monitoring- BAM). Business Activity Monitoring é um termo criado pelo Gartner Group para a tecnologia que busca “fornecer acesso em tempo real de indicadores de desempenho críticos de negócio para melhorar a velocidade e eficácia das operações de negócio”. Diferente do monitoramento em tempo real de aplicações tradicionais, BAM vai buscar a informação a partir de múltiplos sistemas e outras fontes internas ou externas (entre empresas), possibilitando uma visão mais ampla e mais rica das atividades empresariais. BAM é uma abordagem orientada a eventos e fornece uma rápida visibilidade do processo através da captura de eventos da infraestrutura operacional da TI.

Latência de decisão é o intervalo de tempo entre o momento que um importante evento ocorre durante um processo operacional e quando uma decisão deve ser feita para corrigir qualquer comportamento anômalo. Para diminuir a latência da decisão e, portanto, aumentar a capacidade de respostas às mudanças nas condições do processo, um sistema de BAM pode proporcionar visibilidade em tempo real de suas principais operações. Ele deve ser capaz de monitorar e detectar eventos empresariais, integrar o evento e contextualizar a informação no decorrer do processo e fornecer interfaces intuitivas para estabelecimento de regras e métricas.

Fundamentalmente um sistema de BAM realiza o monitoramento e medição da atividade empresarial através de sistemas operacionais e processos de negócio. O processo de negócio descreve os passos necessários para cumprir uma específica ação empresarial, as transações comerciais são instâncias de execução reais do processo e eventos de processo dizem respeito a ocorrências nas transações. Um sistema de BAM possui foco nessas transações e eventos, concentrando-se em quatro atributos principais:

  • Volume: Quando um processo de negocio é executado, um sistema de BAM monitora o volume da instância do processo, isto e, valores e contas de diferentes aspectos do processo e transações associadas. Um importante fator a se ter em mente é essa relação aos eventos de negocio, e não é uma monitoria puramente técnica, como um monitor de sistemas de TI. Alguns exemplos de monitoração de volumes: número de transações, número de eventos, margem, custo, número de ligações, número de itens, número de erros, etc.
  • Velocidade: Outro aspecto de transações relacionadas ao desempenho geral do negocio é a velocidade; o tempo relacionado às operações de negocio. Um sistema de BAM monitora medidas de velocidade de um modo semelhante às medidas volumétricas já discutidas, permitindo que os eventos sejam configurados com um componente de tempo relacionado. Exemplos desses tipos de medidas de velocidade podem ser: tempo do processo, tempo das atividades do processo, tempo entre eventos, tempo restante para completar uma atividade ou processo, etc. A combinação dessas medias com medidas relacionadas ao volume, podem fornecer informações de alto valor para compreensão de como o negócio está sendo conduzido.
  • Erros: As medidas apresentadas anteriormente são ótimos indicadores de negócio quando tudo está ocorrendo da forma esperada, mas mesmo nos melhores sistemas problemas sempre acontecerão. Isto pode ocorrer devido a falhas nos processos, problemas de hardware, software ou erros humanos. Sistemas de BAM podem monitorar erros também, tornando possível identifica onde os problemas ocorrem e dessa forma podem ser corrigidos de uma forma mais ágil e em menos tempo. Erros de contagem e medição estatística ajudam a melhorar a compreensão dos próprios erros, suas frequências e quaisquer tendências associadas.
  • Condições especiais: Essas são definidas pelos usuários. Embora não sejam especificamente erros, estes eventos são importantes do ponto de vista do usuário para a execução do negócio. Assim como acontece com as outras medidas apresentadas, um sistema de BAM irá acompanhar essas condições especiais e fornecer informações estatísticas e analíticas sobre tais condições, gerando alertas ou tomando decisões quando as condições especificadas forem satisfeitas. Por exemplo, uma empresa pode ter a necessidade de receber alertas para quaisquer faturas até certo valor ou a presença de condições fora de padrão para a remessa de um produto.

Ao alavancar esses recursos como um componente de uma gestão global dos processos de negócios e estratégia de integração de negócios, as empresas têm implementado uma série de novas estratégias de negócios, incluindo:

  • Garantia de negócio (Business Assurance) e visibilidade: as organizações podem empregar modelos de negócios mais enxutos, aproveitando a capacidade estratégica de terceirizar funções secundárias e garantir acordos de nível de serviço (service-level agreement – SLA). Neste contexto, o BAM garante que as etapas requeridas no processo ocorreram no tempo planejado com alertas automáticos para detectar exceções. Com adição da modelagem estatística, o que transforma o comportamento do processo observado em uma compreensão do que é e o que não é normal, as organizações também podem automatizar a detecção de processos ou transações defeituosas ou com problemas.
  • Serviços de controle: ao amarrar a execução de processos de negócios para a garantia de que condições específicas foram cumpridas, as empresas podem automatizar ainda mais esses processos, obtendo-se melhorias adicionais em termos de eficiência. Essa mesma abordagem também é fundamental para utilização do BAM como uma plataforma para automatizar a conformidade regulatória através do monitoramento contínuo dos controles.
  • Reconhecimento de padrões complexos: ferramentas tradicionais de BI possuem a capacidade de analisar data warehouses de forma limitada para a avaliação em tempo real das implicações de eventos transitórios. O BAM possui a capacidade de automatizar a detecção de relações inéditas entre uma variedade de fatores distintos. Dessa forma, as organizações podem reconhecer e responder a alterações de impacto em sua operação de forma mais rápida e ágil. Essa capacidade também é uma importante ferramenta para diagnóstico e remediação do processo.

Agora que você conhece as tecnologias SOA e BAM, no próximo artigo vamos montar esse quebra cabeças e ver como que essas tecnologias unidas ao modelo tradicional de BI viabilizam o BI Operacional e sustentam o surgimento do BI de próxima geração. Até lá.