Pesquisar neste blog

20 de jun. de 2013

Guia para Certificação BPM pela OMG

Por: Fernando Palma
Em: http://www.portalgsti.com.br/2012/07/certificacao-bpmn-pela-omg.html


Guia completo e material certificação OCEB disponível para download

BPMN logo
BPMN logo
Olá amigos do Portal GSTI! Preparei um guia para obtenção da certificação Expert em BPM pela OMG (ou certificação OCEB - OMG Certified Expert in BPM). Nesta publicação, vou apresentar o básico do conteúdo deste exame, abordando também a importância e como candidatar-se. Espero que seja útil!

O que é BPM ?

A sigla BPM significa Business Process Management, ou Gestão de Processos de Negócio. Segundo o BPM CBOK* é uma abordagem disciplinada para identificar, desenhar, executar, documentar, medir, monitorar, controlar e melhorar processos automatizados ou não, para alcançar os resultados pretendidos consistentes e alinhados com as metas estratégicas de uma organização.
_______________________________________________________________________
* CBOK é um livro guia para o BPM, criado pela ABPMP (Association of Business Process Management Professionals).

O que é BPMN?

BPMN signifca Business Process Modeling Notation, ou Notação de Modelagem de Processos de Negócio. Trata-se uma notação do BPM para definir padrões para práticas usadas em desenho de processos. O padrão foi criado para facilitar entendimento sobre o processo que está sendo modelado, de forma que possa ser compreendido tanto pela área de TI como Negócio da organização: uma linguagem em comum. BPD (Business Process Diagram) ou Diagrama de Processo de Negócio deve ser um modelo único, e pode ser entendido como um mapeamento de processo por diagramas, semelhante ao conhecido fluxograma, mas com complexidade maior. O BPD pode ser utilizado por ferramentas para automatizar o processo de negócio, sem a necessidade de codificar aplicações. 
Acesse aqui um material de introdução a BPMN e conheça como um processo é modelado. Este material cobre cerca de 30% dos requisitos da certificação.
Veja aqui exemplos de diagramas de processo de negócio com a notação BPMN

Sobre a certificação OCEB

A certificação OMG Certified Expert in BPM foi desenvolvida em parceria com a UML Technology Institute (UTI)O esquema de certificação abrange os seguintes níveis:
  • Nível Fundamental;
  • Níveis Intermediários: um nível intermediário com a visão técnica e outro com a visão de negócio;
  • Nível avançado: também possui duas provas, com as mesmas características do nível intermediário.
A importância da certificação BPMN
A Notação de BPM surgiu como proposta de uma nova linguagem padrão de documentação de processos de negócio, que pudesse ser compreendida tanto pelo próprio negócio da organização como pelo departamento de tecnologia. A própria UTI (UML Technology Institute) participa de sua estrutura e divulgação, considerando que esta é a tendência para a automação de processos de negócios. Além de se tratar linguagem de fácil compreensão (quando comparada a UML), a notação em BPM agrega uma característica fundamental que a torna diferenciada: ela pode ser interpretada por ferramentas de BPMS*, gerando sistemas automaticamente sem a necessidade de codificar. Tais ferramentas ainda contam com funcionalidades para monitorar os sistemas durante todo o ciclo de vida do processo.

Partindo deste pressuposto de que o padrão seria uma nova solução para automatizar os processos de negócio, fica clara a importância deste conhecimento para profissionais de tecnologia, sobretudo os envolvidos com análise e desenvolvimento de sistemas. 
_______________________________________________________________________
*Business Process Management System (BPMS): se refere aos sistemas de gestão de processos de negócio. Pode-se definir um BPMS como uma categoria de software que visa atender o ciclo completo da Gestão de Processos, que inclui redesenho, modelagem, implementação, monitoramento e otimização de processos (Fonte: CBOK).
Veja aqui uma lista de ferramentas BPMS open source.

Como me inscrever para a certificação OCEB?

Você deve fazer o cadastro no site da VUE. Selecione a organização Object Management Group (OMG) e procure o centro acreditado mais próximo: existem centros em quase todos os estados brasileiros. A prova está disponível apenas em inglês e dispões de 90 questões. O candidato deve responder corretamente pelo menos 65% delas para ser aprovado. O exame é realizado online e o resultado sai no mesmo instante que o candidato conclui as questões. 

Como estudar para a certificação OCEB?

A melhor maneira de estudar por conta própria é acessado este material oficial que cobre todos os requisitos do exame (em inglês). Veja aqui uma tradução do material acima (não oficial).

Em breve, pretendemos oferecer o curso oficial online em nossa loja virtual
    Onde ler mais sobre BPM e BPMN?

    14 de jun. de 2013

    Material do Treinamento em BPMS - SYDLE SEED


     Documento preparado e cedido pela Sydle:


    Processo proposto
    Relembrando a descrição do processo mostrado durante o treinamento

    Um colaborador solicita a compra de materiais; Seu gerente aprova a solicitação da compra;
    O Administrativo realiza 3 cotações;
    O Solicitante avalia as cotações e escolhe um fornecedor; O Administrativo faz a compra;
    O Financeiro efetua o pagamento;
    O Solicitante recebe o material;

    Veja o Tutorial

    10 de jun. de 2013

    Livro em PDF gratuito do KOLBAN - IBM BPM

    Dica de: Guilherme Arantes
    Em: http://www.neilkolban.com/IBM/


    I am an IBM employee who focuses on the IBM Business Process Manager and related products. Over time, I have built and collected information related to the use of this product which I have found to be of value to users, potential users and fellow IBMers. This page presents access to my personal notes, links and other related items that I feel may be of value.
    Although I am an IBM employee, please note that any words, concepts or content may not necessarily represent the views of IBM. In addition, there are definetly inaccuracies in my content and thoughts. As such please use this information for what it is, an attempt to share information on IBM's BPM products from my mind to yours.
    Enjoy!!

    Kolban's Book on IBM BPM

    As I learn an IBM product, I take copious notes and jot down thoughts. I have bundled these together into book format and now make it available as a PDF document available for download. The book is released once a month (normally on the 1st day of the month) so it is a good idea to bookmark this page and check back regularly.
    May

    Other Links


    Feedback

    Feedback is very welcome on the material contained in the book. I'd like to ask that users post to the DeveloperWorks forum as opposed to emailing me directly. The thread covering the book can be found here:
    For questions not related to the book, please post these to the IBM DeveloperWorks forum dedicated to IBM BPM.

    Modelando seus processos de negócio com o IBM WebSphere Lombardi Edition, Parte 6: Usando KPIs e relatórios para monitoramento e análise de desempenho

    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:
    • KPIs padrão
    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.
    • KPIs customizados
    É 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:
    1. Inicie o Lombardi Authoring Environment e abra o aplicativo de processo desenvolvido nas partes anteriores desta série.
    2. Clique no sinal de adição (+) ao lado da categoria Rules e selecione Key Performance Indicator na lista.
    3. Na caixa de diálogo New Key Performance Indicator, especifique um nome descritivo para o novo KPI, como Order Processing Time KPIe clique em Finish.
    4. Na seção Details da caixa de diálogo, selecione Time como a Unit do KPI, como mostra a Figura 1.
    5. Clique em Select para escolher um KPI a fim de subir a unidade selecionada para um KPI de nível superior.
    6. 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.
    Execute as etapas em Create an Order Processing Time KPI para um KPI de recurso de envio da ordem.
    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:
    1. 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.
    2. Execute instâncias de seus processos no Process Center Server ou em um Process Server no ambiente de tempo de execução.
    3. 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.
    4. Crie relatórios no Designer que consultam o Performance Data Warehouse para recuperar os dados necessários.
    5. 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.
    1. 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 paraPurchaseOrderProcessTG.

      Figura 4. Ative o rastreamento automático

    2. 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

    3. 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 

    4. 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 

    5. 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.
    6. 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.
    7. 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.
    8. 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.
    1. 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

    2. 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.
    3. 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

    4. 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. EspecifiqueOrder_Processing_Timing_Interval como o nome do intervalo de sincronização recém-criado e clique em Finish.
    5. 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

    6. 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.
    7. 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çãoNomeTamanhoMétodo de download
    Purchase Order Process filePurchaseOrderProcess_v6.zip466KBHTTP

    Xi Ning Wang photo
    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.

    Modelando seus processos de negócio com o IBM WebSphere Lombardi Edition, Parte 4: Desenvolvendo um serviço humano usando Coaches

    Por: Chang Hua Sun 
    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 do Lombardi.
    Na Parte 4, você aprenderá a usar os Coaches do Lombardi para desenvolver serviços humanos. Continuaremos a usar o cenário de negócio típico de um processo de ordem de compra como nossa amostra.
    Os Coaches do Lombardi fornecem a interface para interação com o usuário final e são normalmente usados para desenvolver serviços humanos. A Figura 1 mostra o layout do designer de Coach do Lombardi.

    Figura 1. O designer de Coach 
     
    1. Mostra todos os Coaches no serviço aberto atualmente. É possível alterar ou implementar a página de Coach clicando em um dos Coaches.
    2. Mostra o design e a implementação do Coach selecionado na guia Design . É possível clicar na guia Preview para ver qual será aparência do Coach para os usuários finais quando o serviço for executado.
    3. Use os três primeiros ícones para: (1) mostrar o design do Coach; (2) mostrar o design e o código do Coach; (3) mostrar somente o código do Coach, respectivamente;
    4. Lista as seções, controles e variáveis que podem ser incluídos no Coach. Arraste uma seção ou controle da paleta para a guia Design para adicioná-lo ao Coach. Para criar um controle para uma variável incluída no serviço, arraste uma variável da paleta para a guia Design . O tipo de controle criado depende da variável. Por exemplo, uma variável de entrada que é uma cadeia de caractere cria um campo de texto de entrada.
    5. Mostra as propriedades do controle selecionado na guia Design .A Figura 1 mostra as propriedades de Order Name no Order Head Coach.
    Neste artigo, iremos desenvolver um serviço humano Submit Purchase Order na amostra de processo de Ordem de compra usando Coaches. Para a amostra e processo de Ordem de compra, o comprador precisa enviar uma ordem de compra para iniciar o processo. O serviço humano Submit Purchase Order que iremos desenvolver precisa coletar a entrada do comprador como o valor para a variável complexa order.
    A Figura 2 ilustra a estrutura de dados da estrutura complexa Order. A variável order é uma instância de Order e inclui duas variáveis complexas: orderHead e orderDetail. Além disso, orderDetail é uma lista, ou array, da estrutura complexaOrderDetail. Portanto, um order incluirá um orderHead e uma ou mais variáveis orderDetail .
    O serviço humano Submit Purchase Order fornecerá uma interface com o usuário para coletar informações do usuário a fim de preencher a variável order.

    Figura 2. a estrutura de dados de Order
     
    A Figura 3 ilustra o design geral de Coach para o serviço humano Submit Purchase Order. Primeiro, é necessário iniciar a variável complexa tw.local.order. Uma vez que um tw.local.order tem um tw.object.OrderHead e um ou maistw.object.OrderDetail, desenvolveremos Coaches separados para Order Head e Order Detail. Finalmente, desenvolveremos um coach para mostrar o resumo da ordem para o usuário.

    Figura 3. O coach geral para Submit Purchase Order
     
    Como Order é uma variável complexa, primeiro é necessário inicializá-lo. A Figura 4 ilustra a implementação da inicialização. Você pode usar new tw.object.objectType para inicializar a variável com o tipo objectType e usar new tw.object.listof.objectType para iniciar uma variável de lista com um tipo objectType. Use um elemento Server Script para executar a inicialização.
    Algumas das propriedades de Order podem ser receber valores padrão; por exemplo, o identificador de orderHead pode ser inicializado como o ID de instância do processo (tw.system.currentProcessInstanceID) e a data e hora da ordem podem ser inicializadas como a data e hora do sistema atual, como mostra a Figura 4.

    Figura 4. Iniciando o script do servidor de saída
     
    Como mostrou a Figura 4, uma ordem incluirá um orderHead e uma ou mais variáveis orderDetail . Para preencher a variável order , é necessário fornecer uma interface para coletar informações de orderHead e orderDetail . Como há apenas um orderHead para uma ordem, primeiro é necessário criar um Coach para orderHead.

    Figura 5. O Coach Create Order Head 
     
    A Figura 5 ilustra a implementação do coach Create Order Head. Como orderHeadorderDate e orderTime são iniciados como mostra a Figura 4, e orderCloseDateorderCloseTime receberão valores no fechamento da ordem, você precisa apenas desenvolver entradas para orderHeadNamebuyersupplierNamesupplierContact e needBuyerConfirm.
    Para a entrada do tipo String , arraste e solte Text ou Text Area (para entrada de diversas linhas) da paleta à direita e mude oLabel e selecione Binding para o texto de entrada, como mostra a Figura 6.
    Para a entrada do tipo Boolean (needBuyerConfirm), é possível arrastar e soltar Check Box da paleta e configurar as propriedades Label e Binding , da mesma forma que fez com o texto de entrada.

    Figura 6. Configure as propriedades de Input Text
     
    Após coletar a entrada do usuário, você precisa de pelo menos um botão para enviar os valores do formulário para o backend. A Figura 7 mostra as propriedades de Button Group. Nas propriedades de Presentation , é possível configurar o Label e até mesmo adicionar alguns scripts em Validation Script para executar alguma validação.

    Figura 7. Configure as propriedades de Button Group
     
    O Coach Create Order Detail é mais complicado do que o Coach Create Order Head, pois é um número incerto de variáveisorderDetail ou orderDetail pode ser uma lista. Como o número de instâncias de orderDetail em uma ordem é determinado pelo usuário, é possível desenvolver o Coach com uma página e executar o loopback para a página. As Figuras 8 e 9 ilustram as variáveis e a implementação do Coach Create Order Detail.

    Figura 8. As variáveis do Coach Create Order Detail
     

    Figura 9. A implementação do Coach Create Order Detail 
     
    É possível definir duas variáveis privadas: orderDetailNum (Integer) para registrar o número atual de entradas do usuárioOrderDetail ; e orderDetailTmp (OrderDetail) para registrar o valor de entradas de usuário OrderDetail na página do Coach.
    Na página do Coach Order Detail, desenvolveremos as quatro propriedades a seguir para orderDetailTmpshipDate,productNumberquantity e unitprice. Outras propriedades serão geradas automaticamente ou definidas em um estágio posterior. As quatro propriedades têm três entradas de texto, que podem ser configuradas conforme exibido na Figura 6.
    productNumber é um controle Single Select. A Figura 10 mostra as propriedades de apresentação de um Single Select. Os dados de um controle de seleção única podem ser manuais ou dinâmicos. Manual data tem duas colunas: Value é o valor real ao enviar o formulário para o backend, Display Text é o texto exibido na página. Neste exemplo, desenvolveremos a seleçãoproductNumber usando manual data. Você aprenderá como usar dynamic data na Parte 5.
    Dois botões na página do Coach Create Order Detail controlam a lógica. Quando um dos botões é clicado, o valor deorderDetailTmp é adicionado à lista tw.local.order.orderDetail . Se o botão Save & Create Another Order Detail for clicado, o usuário será redirecionado à página do Coach Create Order Detail. Se o botão Next for clicado, a etapa Create Order Detail será concluída.

    Figura 10. Propriedades de Single Select 
     
    A Figura 11 mostra a implementação da lógica. No início, orderDetailNum tem um valor padrão de zero etw.local.orderDetailTmp é instanciado como um novo tw.object.OrderDetail.

    Figura 11. As designações anteriores e posteriores para Create Order Detail
     
    Após o usuário enviar a página do Coach, tw.local.orderDetailTmp é adicionado à lista tw.local.order.orderDetail , como mostra a Listagem 1.

    Listagem 1. Designações posteriores à execução
    tw.local.order.orderDetail[tw.local.orderDetailNum] = new
    tw.object.OrderDetail();
    
    tw.local.order.orderDetail[tw.local.orderDetailNum].shipDate =
    tw.local.orderDetailTmp.shipDate;
    tw.local.order.orderDetail[tw.local.orderDetailNum].productNumber =
    tw.local.orderDetailTmp.productNumber;
    tw.local.order.orderDetail[tw.local.orderDetailNum].quantity =
    tw.local.orderDetailTmp.quantity;
    tw.local.order.orderDetail[tw.local.orderDetailNum].unitPrice =
    tw.local.orderDetailTmp.unitPrice;
    
    tw.local.order.orderDetail[tw.local.orderDetailNum].orderDetailCode =
    tw.system.currentProcessInstanceID + tw.local.orderDetailTmp.productNumber;
    tw.local.order.orderDetail[tw.local.orderDetailNum].orderNumber = "ORDER_" +
    tw.system.currentProcessInstanceID + tw.local.orderDetailTmp.productNumber;
    tw.local.order.orderDetail[tw.local.orderDetailNum].updatedQuantity =
    tw.local.orderDetailTmp.quantity;
    tw.local.order.orderDetail[tw.local.orderDetailNum].updatedUnitPrice =
    tw.local.orderDetailTmp.unitPrice;
    tw.local.orderDetailNum = tw.local.orderDetailNum + 1;
    

    Após a conclusão dos Coaches Create Order Head e Create Order Detail, a ordem estará preenchida e o trabalho do Human Service Submit Purchase Order estará concluído. No entanto, é uma boa ideia mostrar um resumo da ordem para o usuário. A Figura 12 ilustra a implementação de um Coach View Order Summary.
    A seção Order Head mostra o valor de tw.local.order.orderHead como o texto de saída. A seção Order Detail mostra o valor de tw.local.order.orderDetail como um controle de tabela. O controle de tabela exibe o orderDetail e é necessário apenas para configurar a propriedade Binding, parecida com a propriedade Text Input.

    Figura 12. Implementação do Coach View Order Summary
     
    As Figuras 13, 14 e 15 ilustram o serviço humano Submit Purchase Order concluído. Quando o usuário inserir os valores paraOrder Head e clica em Next, a página Create Order Detail é exibida. O usuário pode criar quantos detalhes da ordem quiser, clicando no botão Save & Create Another Order Detail . Finalmente, o usuário recebe um resumo da ordem.

    Figura 13. Coach Submit Purchase Order
     

    Figura 14. Detalhes da ordem
     

    Figura 15. Resumo da ordem
     
    Neste documento, você aprendeu como usar os Coaches do Lombardi para desenvolver serviços humanos. Os recursos do Coach enriquecem a experiência do usuário em nossa amostra de processo de ordem de compra.
    Na Parte 5, cobriremos recursos mais avançados do Coach, incluindo ligação de dados dinâmicos, o mecanismo de renderização em tempo de execução do Coach e como customizar o Coach.

    Chang Hua Sun photo
    Chang Hua Sun é engenheiro da equipe de software da equipe de otimização de serviço e desempenho dos negócios dentro do IBM Software Group, no qual ele desenvolve tecnologias e soluções de SOA e BPM.
    Xiao Xing Liang photo
    Xiao Xing Liang é engenheiro de software e trabalha para o Centro de Design SOA no Laboratório de Desenvolvimento na China. Ele é um desenvolvedor certificado pela IBM para o WebSphere Enterprise Developer e para o SOA Solution Designer. Seu foco atual está no controle SOA e em tópicos relacionados, incluindo WebSphere Service Registry and Repository, Rational Asset Manager, Tivoli Application Dependency Discovery Manager e Tivoli Change and Configuration Management Database.
    Xi Ning Wang photo
    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.
    Xi Lin photo
    Xin Li é engenheiro de software no Laboratório de desenvolvimento da IBM China, onde se concentra no design e desenvolvimento relacionado ao SOA. Li Xin tem bastante experiência em integração de sistema de domínio de telecomunicações e também muito conhecimento sobre normas e tecnologias de telecomunicações.