Por:
Xi Ning Wang
Em:
http://www.ibm.com/developerworks/br/websphere/library/techarticles/1112_wang2/
A Parte 1 desta série forneceu uma visão geral dos recursos e arquitetura do WebSphere Lombardi V7.1 (a partir de agora chamado de Lombardi). Na
Parte 2 você aprendeu como usar os recursos mais comuns do Lombardi, incluindo a definição de processo de negócios (BPD), integração e serviços humanos e de regra para modelar o processo de amostra. Na
Parte 3 você aprendeu como usar alguns recursos avançados do Lombardi para atender aos requisitos mais complexos, incluindo processos aninhados, marcos, mecanismos de evento, manipulação de exceção e exposição dos serviços da web.
A Parte 4abordou como usar o Lombardi Coaches para desenvolver serviços humanos. Na
Parte 5, você aprendeu sobre os recursos avançados do Coach, como a ligação de dados dinâmicos e o mecanismo de renderização no tempo de execução, além de como customizar o Coach.
Na Parte 6, você aprenderá como usar KPIs e os relatórios para monitorar e analisar o desempenho. Os dados rastreados e armazenados pelo Lombardi para KPIs permitem que você analise o desempenho e crie acordos de nível de serviço (SLAs). Ao executar instâncias de uma BPD, o Lombardi rastreia e armazena dados dos KPIs configurados no Performance Data Warehouse. O Lombardi usa os dados armazenados de KPI para executar algumas análises históricas no Optimizer.
É possível importar e descompactar o arquivo de exportação do Lombardi fornecido na seção
Downloads para analisar rapidamente todo o cenário de KPI, SLA e relatórios.
Esta seção descreve alguns dos principais conceitos com os quais você deve estar familiarizado antes de continuar a ler este artigo.
Uma métrica é um portador de informações, normalmente uma medição de desempenho dos negócios. Uma métrica pode ser usada sozinha, ou em conjunto com outras métricas, para definir o cálculo de um KPI, que mede o desempenho com base em um objetivo de negócio. Entre os exemplos de métricas estão: a duração de trabalho de um processo, o nome do usuário atribuído, o tempo de resposta de um fornecedor e o custo da etapa de avaliação de risco em um processo de seguro. Como unidade de medida, a métrica é frequentemente expressa como uma quantidade, tempo ou valor.
Uma KPI é uma métrica essencial para indicar o progresso rumo a uma meta ou para indicar uma situação positiva ou negativa. KPIs são medições significativas usadas para rastrear o desempenho com base em objetivos de negócio. Um KPI tem um alvo ou intervalos (ou ambos), para medir o aprimoramento ou deterioração do desempenho de uma atividade fundamental para o negócio. KPIs são diferentes dependendo do negócio e de seus objetivos.
KPIs são baseados em objetivos de negócio. O objetivo de negócio é uma meta de alto nível que pode ser quantificada, medida e orientada aos resultados. Um objetivo se transforma em um KPI que permite que a organização meça um aspecto do processo com base em uma meta definida.
Geralmente, um KPI descreve as medições rastreadas pelo Lombardi no tempo de execução do processo, armazenando os resultados que podem ser usados para analisar o desempenho do processo e da tarefa no Optimizer. O WebSphere Lombardi V7.1 inclui os seguintes tipos de KPIs:
Os KPIs padrão residem no kit de ferramentas do Lombardi System Data. Por padrão, a maioria dos KPIs é associada a cada atividade adicionada a um diagrama de BPD. Clique na opção de KPIs nas propriedades de uma atividade para visualizar os KPIs associados. Cada um desses KPIs possuem configurações padrão que podem ser alteradas.
É possível desenvolver KPIs customizados para as métricas, a fim de medir o desempenho das atividades.
Um acordo de nível de serviço (SLA) é parte de um contrato de serviço na qual o nível do serviço é formalmente definido. Na prática, um SLA é um contrato que exige métricas para atender metas específicas em um determinado intervalo de tempo. É um comprometimento com a conclusão de uma tarefa em um intervalo de tempo específico.
É possível criar SLAs com base em KPIs padrão ou customizados. Os SLAs permitem que você estabeleça uma condição para uma ou mais atividades que acionam uma consequência. Por exemplo, é possível criar um SLA que faz com que o Lombardi envie uma notificação por email quando a execução de uma atividade específica demora mais do que o esperado.
Ao executar instâncias de seus processos, as consequências de SLA não são acionadas até que a atividade associada seja iniciada ou concluída. Por exemplo, se você configurar um SLA para enviar uma notificação por email quando uma atividade específica demora mais do que dois dias para ser executada, o Lombardi não enviará a notificação no momento em que a violação ocorrer. Em vez disso, ele enviará a notificação quando a atividade for concluída. Dessa forma, se a atividade demorar três dias para ser concluída, o Lombardi enviará a notificação após esse período, informando aos usuários sobre a violação. Os SLAs permitem que você relate as violações de uma forma simples, além de entender a tendência das violações com o passar do tempo.
Em geral, os dados do KPI possuem duas origens diferentes: uma tem base nos dados de negócio, como informações existentes sobre o status da ordem, a outra são os dados básicos adicionais especificamente para o cálculo do KPI, como o horário de emissão e o horário efetivo da ordem. É usada uma página de interface com o usuário do KPI para exibir os dados, normalmente em formatos diferentes, como gráficos de setores, histogramas e outros.
A amostra de processo de ordem de compra usada nesta série utiliza os seguintes KPIs para ilustrar como é possível desenvolver e reportar KPIs customizados e páginas de interface com o usuário.
No cenário da ordem de compra, o KPI de tempo de processamento da ordem é usado para analisar o tempo médio de processamento de cada ordem. Para calcular o tempo médio de processamento de cada ordem de compra, os dois campos a seguir são obrigatórios:
- Order Creation Time
- Order Delivery Time
Para criar o KPI customizado de tempo de processamento da ordem, siga as etapas a seguir:
- Inicie o Lombardi Authoring Environment e abra o aplicativo de processo desenvolvido nas partes anteriores desta série.
- Clique no sinal de adição (+) ao lado da categoria Rules e selecione Key Performance Indicator na lista.
- Na caixa de diálogo New Key Performance Indicator, especifique um nome descritivo para o novo KPI, como
Order Processing Time KPI
e clique em Finish.
- Na seção Details da caixa de diálogo, selecione Time como a Unit do KPI, como mostra a Figura 1.
- Clique em Select para escolher um KPI a fim de subir a unidade selecionada para um KPI de nível superior.
- Especifique o valor para multiplicação da unidade que você está rastreando, antes de os dados serem coletados no KPI acumulado.
Figura 1. Crie um KPI de tempo de processamento da ordem
Um envio da ordem pode ter as seguintes origens:
- Order Submission by UI - envio da ordem usando uma interface com o usuário baseada na web.
- Order Submission by ERP - envio da ordem a partir do sistema ERP externo.
Verifique se os KPIs recém-criados estão listados nos tipos de KPI, clicando na categoria Performance , como mostra a Figura 2.
Figura 2. Tipos de KPI de desempenho
No Lombardi, os requisitos de rastreamento são chamados de definições, pois estabelecem um esquema de banco de dados no Performance Data Warehouse para acomodar os dados rastreados, gerados pelo Process Server. As definições precisam ser enviadas ao Performance Data Warehouse quando você fizer qualquer alteração em seus requisitos de rastreamento no Lombardi Designer.
Para criar relatórios customizados e de terceiros no Lombardi V7.1, é necessário identificar os dados que devem ser rastreados e enviá-los ao Performance Data Warehouse. O Lombardi fornece dois métodos de rastreamento: rastreamento automático e grupos de rastreamento.
Quando você usa o rastreamento automático para controlar os dados, os seguintes KPIs são rastreados:
- KPIs customizados associados a sua BPD
- KPIs customizados associados às atividades em sua BPD
- O KPI de tempo total associado a cada BPD por padrão
Os tipos de dados suportados são String, Integer, Decimal, Boolean e Date.
Se você deseja controlar explicitamente seus dados rastreados e pontos de rastreamento para obter relatórios customizados mais avançados, use os grupos de rastreamento para controlar os dados. Por exemplo, é possível agrupar por tipo as variáveis que você deseja controlar, colocar pontos de rastreamento de forma estratégica em sua BPD e variáveis de rastreamento em diversas BPDs. Com os grupos de rastreamento, seus pontos também podem envolver diversas BPDs.
Os tipos de dados suportados são String, Number e Date.
Se você deseja criar relatórios para analisar a quantidade de tempo decorrida entre determinadas etapas de seu processo, adicione os pontos de rastreamento a sua BPD e crie um intervalo de sincronização para capturar a duração entre um ponto de partida e um ponto de término. Ao usar os intervalos de sincronização, é necessário rastrear automaticamente as variáveis do processo que você deseja capturar e criar um grupo de rastreamento que contenha os dados do intervalo de sincronização.
As opções de relatório do Lombardi fornecem uma maneira poderosa de coletar, publicar e consumir informações sobre o desempenho do processo. Elas permitem que você defina com facilidade os dados que o ajudarão a analisar o desempenho do processo, configure os componentes do produto para coletar esses dados e crie os relatórios que consomem os dados coletados sobre o desempenho do processo.
O Lombardi fornece os seguintes recursos de relatório:
- Quadros de pontuação originais: os quadros de pontuação originais fornecidos pelo Lombardi podem ajudá-lo a analisar o desempenho pessoal, o desempenho da equipe, o desempenho do processo de negócio e as violações de SLA com o mínimo de configuração. Os quadros de pontuação padrão estão disponíveis por padrão no Lombardi Process Portal.
- Relatórios personalizados: os relatórios personalizados permitem que você analise os dados de negócio específicos de seus processos. É possível definir as variáveis para rastrear e criar relatórios personalizados a fim de consultar seus dados rastreados no Lombardi Designer. É possível visualizar os quadros de pontuação do relatório resultante no Lombardi Process Portal ou em qualquer navegador.
- Ferramenta de relatório de terceiros: o Lombardi fornece recursos para suportar uma ferramenta de relatório de terceiros, como o Cognos, a fim de consultar e visualizar o Lombardi Performance Data Warehouse e os dados extraídos.
Após o envio das definições de rastreamento para o Performance Data Warehouse a partir do Lombardi Authoring Environment e o início da execução de instâncias de seu processo, o Performance Data Warehouse recupera os dados rastreados do Process Center Server ou do Process Server em intervalos regulares. Como mostra a Figura 3, os relatórios funcionam com o Lombardi da seguinte maneira:
- Na visualização do Lombardi Designer, defina as variáveis que você deseja rastrear e envie as definições de rastreamento ao Performance Data Warehouse. O Performance Data Warehouse cria uma tabela de banco de dados para armazenar os dados rastreados.
- Execute instâncias de seus processos no Process Center Server ou em um Process Server no ambiente de tempo de execução.
- O Performance Data Warehouse recupera os dados rastreados para cada variável a partir do Process Center Server ou Process Server em intervalos regulares.
Quando um participante do processo acessa uma tarefa que faz parte do processo ou um sistema envolvido no processo gera um evento, o Process Server cria os dados rastreados. Os dados rastreados podem incluir valores de tempo de execução para os campos em um Grupo de rastreamento, valores para um Intervalo de sincronização ou variáveis cujos valores são rastreados automaticamente. O Process Server grava os dados rastreados no banco de dados do Process Server.
O Performance Data Warehouse pesquisa no banco de dados do Process Server em intervalos configuráveis, verificando a existência de um lote de dados pronto para ser transferido. Em uma única transação, o Performance Data Warehouse marca os dados no banco de dados do Process Server como transferidos (bloqueando-os para impedir quaisquer atualizações adicionais), carrega os dados do banco de dados do Process Server para o banco de dados do Performance Data Warehouse e exclui os registros de transferência do banco de dados do Process Server.
- Crie relatórios no Designer que consultam o Performance Data Warehouse para recuperar os dados necessários.
- Os relatórios definidos no Designer são exibidos como quadros de pontuação no Lombardi Process Portal ou em um portal customizado. Também é possível consultar o Performance Data Warehouse a partir de ferramentas de terceiros, como o Cognos, para criar relatórios mais específicos.
Figura 3. Processo de relatório do Lombardi
As seções a seguir explicam como ativar os recursos de rastreamento automático a fim de rastrear dados e gerar um relatório customizado da origem de envio da ordem usando o assistente Ad-Hoc.
- Para usar o rastreamento automático, abra o diagrama de BPD na visualização Designer. Clique no pool e certifique-se de que Enable Autotracking esteja marcado, como mostra a Figura 4. Quando o rastreamento automático está ativado para uma BPD, os dados de quaisquer processos aninhados dessa BPD também são rastreados. Subprocessos e serviços herdam a configuração do processo pai. Mude o nome padrão do rastreamento automático para
PurchaseOrderProcessTG
.
Figura 4. Ative o rastreamento automático
- Se você quiser analisar os dados do processo de acordo com valores de variável de negócio específicos, acesse a guiaVariables de sua BPD e clique com o botão direito do mouse em cada variável que você deseja rastrear, como orderID,status ou orderSubmissionSource e selecione Track this Variable, como mostra a Figura 5.
Figura 5. Selecionar variáveis para rastreamento
- Salve a BPD e envie os requisitos de rastreamento recém-definidos para o Performance Data Warehouse selecionandoFile => Send Definitions to Performance Data Warehouse. Em seguida, você pode acessar o banco de dados do Performance Data Warehouse no Process Center e verificar se uma visualização PurchaseOrderProcessTG foi criada e inclui uma coluna para cada variável rastreada, como mostra a Figura 6.
Figura 6. Verificar as variáveis na visualização PurchaseOrderProcessTG
- O assistente Ad-Hoc na visualização Designer permite que você gere e publique rapidamente os relatórios. Usando os dados rastreados automaticamente com o assistente, é possível criar facilmente relatórios customizados a fim de analisar os diversos aspectos de seu negócio.
Na visualização Designer, abra o diagrama da BPD selecionando File => Ad-Hoc Report Analysis a partir do menu principal. Escolha as configurações que deseja para o relatório no assistente. Por exemplo, como mostra a Figura 7, selecione a variável orderSubmissionSource para X-axis binding e a variável orderId para Y-axis binding com a função COUNT (#), pois queremos mostrar a soma para cada tipo de ordem de compra. Mantenha o layout de gráfico padrão (Stock Bar Chart) e clique no ícone Refresh no lado superior direito para visualizar o gráfico no assistente.
Figura 7. Relatório Ad-Hoc
- Quando estiver satisfeito com a aparência e os dados do gráfico, clique no ícone Create Report no lado superior direito. Na caixa de diálogo Create Report, especifique
Order Submission Source
como o nome do relatório e clique emFinish.
- Para criar um quadro de pontuação para exibição do relatório no Process Portal, clique no sinal de adição (+) ao lado da categoria Performance na biblioteca e selecione Scoreboard na lista de componentes.
- Na caixa de diálogo New Scoreboard, especifique
Order Submission Source
como o nome do quadro de pontuação, mantenha a configuração padrão de layout (Default Scoreboard Layout) e clique em Finish.
- No novo quadro de pontuação, em Reports, clique em Add, encontre o relatório e clique para adicioná-lo ao quadro de pontuação.
Em Layout, marque Enabled e especifique um título para o quadro de pontuação, como Order Submission Source
. Clique em Select próximo à opção Exposed to e selecione o grupo de participantes cujos membros podem visualizar esse quadro de pontuação no Process Portal, como mostra a Figura 8.
Figura 8. Especificar as opções do quadro de pontuação
Agora, ao efetuar o login no Lombardi Process Portal como membro do grupo de participantes ao qual o quadro de pontuação é exposto, é possível ver o título do Quadro de pontuação (Order Submission Source) em My Scoreboards no lado esquerdo do portal. Ao clicar no título, o Process Portal exibe o relatório, como mostra a Figura 9 abaixo.
Figura 9. Quadro de pontuação resultante
Nesta seção, você aprenderá a usar o assistente Ad-Hoc para aproveitar os dados capturados por meio dos grupos de rastreamento, de modo que você possa comparar a duração de um conjunto de tarefas para diferentes variáveis de processo.
- Para calcular o tempo de processamento de cada ordem de compra, adicione os pontos de rastreamento Submit eCompleted ao diagrama de BPD, como mostra a Figura 10.
Figura 10. Adicionar pontos de rastreamento
- Crie um grupo de rastreamento para armazenar os dados do intervalo de sincronização. Na biblioteca da visualização Designer, clique no sinal de adição ao lado da categoria Performance e selecione Tracking Group na lista de componentes. Para nossa amostra, especifique
OrderProcessingTimeTG
como o nome do grupo de rastreamento recém-criado e clique em Finish.
- Selecione o ícone para cada ponto de rastreamento no diagrama de BPD, selecione a opção Implementation nas propriedades, selecione o grupo de rastreamento OrderProcessingTimeTG e especifique os campos rastreados, como mostra a Figura 11.
Figura 11. Especificar os campos rastreados
- Agora, é necessário criar o intervalo de sincronização. Na biblioteca do Designer, clique no sinal de adição ao lado da categoria Performance e selecione Timing Interval na lista de componentes. Especifique
Order_Processing_Timing_Interval
como o nome do intervalo de sincronização recém-criado e clique em Finish.
- Abra o intervalo de sincronização (Order_Processing_Timing_Interval) e adicione os pontos de rastreamento inicial e final, como mostra a Figura 12. Selecionar o ponto de rastreamento Submit para Start Points do intervalo com Calculate from earliest point e o ponto de rastreamento Completed para End Points do intervalo com Calculate from latest point, conforme exibido na Figura 12.
Figura 12. Configurar o intervalo de sincronização de processamento da ordem
- Execute as etapas em Crie um relatório customizado simples para criar um relatório, selecionando a variávelOrderProcessingTimeTG.supplier para X-axis binding e a variável Order_Processing_Timing_Interval.duration para Y-axis binding com a função AVG (average), uma vez que você deseja mostrar o tempo médio de processamento para cada ordem de compra por fornecedor.
- Após a conclusão da criação do relatório e o quadro de pontuação, efetue login no Lombardi Process Portal como membro do grupo de participantes ao qual o quadro de pontuação é exposto. Você deverá ver o quadro de pontuação Order Processing Time em My Scoreboards. Clique nele para exibir o relatório Order Processing Time, como mostra a Figura 13.
Figura 13. Relatório Order Processing Time
Neste documento, você aprendeu a usar os KPIs e relatórios do WebSphere Lombardi para monitoramento e análise de desempenho. As opções de relatório do Lombardi fornecem uma maneira poderosa de coletar, publicar e consumir informações sobre o desempenho do processo. Especificamente, o Lombardi permite que você defina com facilidade os dados que o ajudarão a analisar o desempenho do processo, configure os componentes do produto para coletar esses dados e crie os relatórios que consomem os dados coletados sobre o desempenho do processo.
Download
Descrição | Nome | Tamanho | Método de download |
Purchase Order Process file | PurchaseOrderProcess_v6.zip | 466KB | HTTP |
Xi Ning Wang é engenheiro de equipe de software e líder de desenvolvimento de infraestrutura em nuvem, IBM SOA Advanced Technologies, IBM Software Group. Ele já projetou e desenvolveu tecnologias de SOA e soluções em projetos importantes. Atualmente, está focado nas áreas de computação em nuvem e solução de segmento de mercado. Ele foi designado como um autor contribuinte para o IBM developerWorks em 2009.