Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

A primeira vez que acessar o developerWorks, um perfil será criado para você. Informações do seu perfil (tais como: nome, país / região, e empresa) estarão disponíveis ao público, que poderá acompanhar qualquer conteúdo que você publicar. Seu perfil no developerWorks pode ser atualizado a qualquer momento.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Principais indicadores de desempenho (KPIs) do IBM Intelligent Operations Center, Parte 2: Definindo um KPI pai

Allen Smith, Senior Certified IT Specialist, IBM
Allen Smith photo
Allen Smith é IT Specialist certificado senior e membro do grupo IBM Industry Solutions Development em Research Triangle Park, Carolina do Norte, EUA. Ele desenvolve novos contextos que ampliam as ofertas de soluções no segmento de mercado.

Resumo:  O IBM Intelligent Operations Center é um novo produto que a IBM projetou para ajudar as cidades a gerenciar e melhorar suas operações. Ele fornece um subsistema de principal indicador de desempenho (KPI) que permite às cidades monitorar e avaliar o desempenho de serviços, programas e outros recursos da cidade. Esse é o segundo de uma série de artigos que mostra como modelar, implementar e testar os KPIs do IBM Intelligent Operations Center. Esse artigo discute como relacionamentos entre KPIs pais e filhos são modelados e como as notificações assíncronas de atualizações de KPI são acionadas.

Visualizar mais conteúdo nesta série

Data:  31/Ago/2012
Nível:  Intermediário Também disponível em :   Inglês
Atividade:  2080 visualizações
Comentários:  


Introdução

O subsistema de KPI do IBM Intelligent Operations Center usa o IBM Business Monitor como seu mecanismo de processamento de KPI. Na Parte 1 dessa série de artigos, vimos como modelar um KPI de baixo nível (um KPI sem filhos) usando o kit de ferramentas do IBM Business Monitor. Nesse artigo, discutimos como definir e modelar KPIs pais e relacionamentos pai-filho, e como usar eventos de saída para enviar notificações de atualização de KPI assíncronas para o IBM Intelligent Operations Center.

Os KPIs de amostra do Intelligent Operations Center são definidos como KPIs aninhados, ou seja, há um relacionamento pai-filho entre os KPIs. Para ajudar a ilustrar os conceitos, vamos rever as amostras de KPI do Departamento de Polícia do IBM Intelligent Operations Center mostradas na Figura 1. Há dois KPIs de nível baixo no conjunto de KPIs do Departamento de Polícia. Crime Response Time Precinct One, que vimos na Parte 1, calcula o tempo de resposta médio a crimes no Precinct One. Seu filho, Crime Response Time Precinct Two, calcula o tempo de resposta médio a crimes do Precinct Two. O pai desses dois KPIs é Crime Response Time, que tem um pai chamado Police Department.


Figura 1. KPIs do departamento de polícia

O KPI pai de nível superior dentro de determinada árvore de KPIs é chamado de KPI de nível 1, seus filhos são chamados de KPIs de nível 2, e assim por diante. Na Figura 1, Police Department é um KPI de nível 1, Crime Response Time é um KPI de nível 2, Crime Response Time Precinct One e Crime Response Time Precinct Two são KPIs de nível 3.


KPIs de expressão

Os KPIs obtêm seus valores de duas formas: o valor vem de uma métrica (normalmente um valor em uma mensagem de Common Alerting Protocol (CAP)) usando uma função de agregação ou vem de um cálculo baseado em outros KPIs ou funções XPath definidas pelo usuário. Nós nos referimos a KPIs que obtêm seu valor de métricas e funções de agregação como KPIs de agregação. E nos referimos a KPIs que obtêm seus valores de outros KPIs ou de funções XPath definidas pelo usuário como KPIs de expressão. Apesar de o IBM Business Monitor permitir que o valor de um KPI seja calculado usando outros valores de KPI, ele não fornece um meio para definir relacionamentos hierárquicos entre KPIs. Dado isso, como o IBM Intelligent Operations Center suporta KPIs aninhados? Ele faz isso definindo os relacionamentos pai-filho no IBM Intelligent Operations Center e usando expressões de KPI dentro do Business Monitor para calcular valores de KPI pai.


Criar um KPI pai no IBM Intelligent Operations Center

Usaremos o KPI Crime Response Time do conjunto de KPI Police Department para ilustrar como criar um KPI pai do IBM Intelligent Operations Center. O padrão usado nas amostras de KPI do IBM Intelligent Operations Center é definir KPIs pai como KPIs de expressão. Criamos KPIs de expressão da mesma forma que KPIs de agregação. É possível criar KPIs usando o menu pop-up de contexto do KPI como mostrado na Figura 2.


Figura 2. Menu pop-up de contexto do KPI

Depois de criar o KPI, você especifica o tipo de KPI (Decimal ouDuração), define os intervalos do KPI e especifica a definição do KPI. A diferença entre KPIs de expressão e agregação reside na definição do KPI. KPIs de expressão usam expressões para o cálculo do KPI (diferentemente de funções de agregação) e não têm filtros de hora ou dados. Para especificar um KPI como um KPI de expressão, selecione a opção Write an expression to calculate this KPI based on existing KPIs na cláusula KPI Value , como mostrado na Figura 3.


Figura 3. Definição de KPI de expressão

Os nomes e cores de intervalos de KPI são exibidos nos portlets de KPI do IBM Intelligent Operations Center para indicar o status de um KPI. O padrão usado nos modelos de amostra do monitor do IBM Intelligent Operations Center define valores de KPIs pais para 0, 1 ou 2, onde 0 mapeia para aceitável, 1 para cuidado e 2 para tomar medida. Esse mapeamento usa as definições de intervalo mostradas na Figura 4.


Figura 4. Definições de intervalo de KPIs pais


Expressão de KPI pai

Ao definir um KPI de expressão, o editor de modelos do monitor exibe um formulário de Cálculo de KPI , onde você insere a expressão de cálculo de KPI. Os KPIs de amostra do IBM Intelligent Center Operations usam instruções if-then-else na expressão do KPI para avaliar os valores de KPIs filhos e definir o valor do KPI pai com base nas avaliações. A Listagem 1 mostra a expressão de KPI geral usada nos modelos de amostra do monitor do IBM Intelligent Center Operations para KPIs com mais de um filho.


Lista 1. Expressão de KPI

if (
   child_KPI_1 value >=   
   child_KPI_1/take_action/startValue or 
   child_KPI_2 value >= 
   child_KPI_2/take_action/startValue 
  ) then 2  
else ( 
     if ( 
          child_KPI_1 value >=         
          child_KPI_1/caution/startValue or 
          child_KPI_2 value >= 
          child_KPI_2/caution/startValue 
         ) then 1 
      else 0

A expressão do KPI mostrada na Listagem 1 faz o seguinte:

  • Verifica se o valor de child_KPI_1 ouchild_KPI_2 é maior do que o valor inicial do intervalo de um dos filhos take_action . Se essa condição for avaliada como true, o valor do KPI pai é definido como 2. Como mostrado na Figura 4, 2 mapeia para o intervalo de take action . Se quaisquer valores do KPI filho indicarem "take action", então o valor do KPI pai também é definido para indicar "take action".
  • Verifica se o valor de child_KPI_1 ouchild_KPI_2 é maior do que o valor inicial do intervalo de um dos filhos caution . Se essa condição for avaliada como true, o valor do KPI pai é definido como 1. Como mostrado na Figura 4, 1 mapeia para o intervalo de caution . Se quaisquer valores do KPI filho indicarem "caution", então o valor do KPI pai também é definido para indicar "caution".
  • Se nenhuma das verificações anterior for avaliada como true , o valor do KPI pai é definido para 0. 0 mapeia para o intervalo aceitável .

Figura 5, ilustra a expressão de cálculo do KPI definido para o KPI Crime Response Time .


Figura 5. Expressão do KPI Crime Response Time

Para KPIs com somente um filho, instruções if-then-else não são necessárias na expressão do KPI para transferir o valor do KPI filho para o pai. Quando um KPI tem somente um filho, basta atribuir o valor do KPI filho para o valor do KPI pai.

A Figura 6 mostra as expressões de cálculo do KPI definidas para o KPI Police Department .


Figura 6. Expressão do KPI Police Department

Para fornecer um exemplo concreto de como as expressões de cálculo dos KPIs Crime Response Time e Police Department funcionam, vamos presumir que o valor do KPI Crime Response Time Precinct One seja 3 minutos e 30 segundos e que o valor do KPI Crime Response Time Precinct Two seja 6 minutos e 47 segundos. Usando as definições de intervalo para os KPIs Precinct One e Two mostradas na figura 7, Crime Response Time Precinct One cairia dentro do intervalo aceitável e Crime Response Time Precinct One cairia dentro do intervalo caution . As expressões de KPI definidas para os KPIs Crime Response Time e Police Department definiriam os valores de KPI para 1, que cairia dentro do intervalo caution .


Figura 7. Definições de intervalo de Crime Response Time Precinct One e Two

Como discutido na Parte 1 (consulte Recursos), usamos definições de intervalo de KPI (nome e cor do intervalo) para representar o status de um KPI nos portlets de KPI do IBM Intelligent Operation Center. Usando os valores de KPI do Departamento de Polícia descritos, esses KPIs teriam os valores de status mostrados na Figura 8 quando exibidos no portlet de detalhamento do KPI.


Figura 8. Portlet de detalhamento do KPI


Relacionamento de KPI pai-filho

Os relacionamentos de KPIs pai-filho são definidos para o IBM Intelligent Operations Center usando um arquivo de Resource Description Framework (RDF) que é importado para o IBM Intelligent Operations Center usando o componente Model Manager. Depois de importadas, as definições são armazenadas no banco de dados Model Manager e disponibilizadas para o subsistema de KPI. As definições de KPI dirão ao subsistema de KPI quais KPIs do Business Monitor deverão ser recuperadas e como desenvolver a árvore de KPIs para cada conjunto de KPIs. A árvore de KPIs é exibida no portlet de detalhamento do KPI (consulte a Figura 8) permitindo que os usuários expandam e recolham os KPIs pais e filhos.

A Listagem 2 mostra as definições de RDF para o conjunto de KPIs do Departamento de Polícia.

  • KPIBase.name especifica o nome do KPI do Business Monitor.
  • KPIBase.id especifica o ID do KPI do Business Monitor.
  • KPIDefinition.isChildOf_KPIDefinition especifica o ID do KPI pai do Business Monitor. Se o KPI for um KPI de nível superior (não tem pai), ele especifica o ID do modelo do monitor contendo o KPI.
  • Os IDs do KPI e do modelo do monitor definidos para o Model Manager dizem ao subsistema de KPI quais KPIs deverão ser recuperados a partir do servidor do Business Monitor.

Lista 2. Definições RDF de KPI

<icop:KPIDefinition rdf:ID="Police_Department">
<icop:KPIBase.name>Police Department</icop:KPIBase.name>
<icop:KPIBase.id>Police_Department</icop:KPIBase.id>
<icop:KPIDefinition.isChildOf_ModelDefinition 
rdf:resource= "#icoc_sample_public_safety_monitor_model"/>
</icop:KPIDefinition >

<icop:KPIDefinition rdf:ID="Crime_Response_Time">
<icop:KPIBase.name>Crime Response Time</icop:KPIBase.name>
<icop:KPIBase.id>Crime_Response_Time</icop:KPIBase.id>
<icop:KPIDefinition.isChildOf_KPIDefinition rdf:resource= "#Police_Department"/>
</icop:KPIDefinition >

<icop:KPIDefinition rdf:ID="Crime_Response_Time_Precinct_One">
<icop:KPIBase.name>Crime Response Time Precinct One</icop:KPIBase.name>
<icop:KPIBase.id>Crime_Response_Time_Precinct_One</icop:KPIBase.id>
<icop:KPIDefinition.isChildOf_KPIDefinition rdf:resource= "#Crime_Response_Time"/>
</icop:KPIDefinition >

<icop:KPIDefinition rdf:ID="Crime_Response_Time_Precinct_Two">
<icop:KPIBase.name>Crime Response Time Precinct Two</icop:KPIBase.name>
<icop:KPIBase.id>Crime_Response_Time_Precinct_Two</icop:KPIBase.id>
<icop:KPIDefinition.isChildOf_KPIDefinition rdf:resource= "#Crime_Response_Time"/>
</icop:KPIDefinition >


Atualizações assíncronas de KPI

As definições de configuração do subsistema de KPI afeta quando os KPIs são recuperados a partir do Business Monitor e como eles são armazenados. Por padrão, o subsistema de By KPI pré-carrega e armazena os KPIs em um cache. O tempo de atualização padrão do cache é de duas horas. Para a maioria dos KPIs, o tempo de atualização é suficiente para entregar atualizações de KPI para o IBM Intelligent Operations Center de maneira oportuna. Para KPIs que tenham períodos menores ou para aqueles que mudam frequentemente, o tempo de atualização do cache poderá ser insuficiente.

O Business Monitor pode gerar e enviar eventos de saída de um contexto de monitoração ou de KPI quando ele detecta uma situação de negócio. Ele pode enviar esses eventos para filas de mensagens externas que permitem que aplicativos acionados por eventos, como o IBM Intelligent Operations Center, os consumam. A Figura 9 ilustra como o subsistema de KPI usa esse mecanismo para receber atualizações assíncronas de KPI.


Figura 9. Fluxo de atualização assíncrona de KPI

Um único evento de saída é criado para cada conjunto de KPI. O evento de saída é um documento XML (XML de notificação) contendo os valores para todos os KPIs no conjunto de KPIs. A Figura 10 mostra uma amostra de notificação para o conjunto de KPIs do Departamento de Polícia.


Figura 10. XMX de notificação

Para criar uma notificação assíncrona, é preciso definir um acionador, uma origem do acionador e um evento de saída que envia o XML de notificação. Conforme descrito no primeiro artigo, acionadores são pontos de controle usados para iniciar ou acionar processamento adicional dentro do Business Monitor. Para eventos de saída, acionadores iniciam o processamento do evento de saída. A origem do acionador é o mecanismo que inicia o processamento do acionador. Os KPIs de amostra do IBM Intelligent Center Operations usam duas diferentes origens de acionadores. A primeira é uma origem com base em evento.Cada conjunto de KPIs tem um evento de entrada associado que serve como a origem do acionador. O evento de entrada é mapeado para a mensagem ou mensagens de CAP que afetam os valores dos KPIs no conjunto. Quando as mensagens de CAP são recebidas, o acionador é disparado e envia a notificação do evento de saída. Em teoria, as mensagens de CAP nem sempre acionam uma mudança de KPI, mas, na prática, normalmente o fazem. Quando ele recebe a notificação do evento de saída, o subsistema de KPI determina se um KPI mudou.

As origens de acionador com base em evento são ideais para enviar notificações assíncronas quando a entrada para o cálculo de um KPI muda. No entanto, elas não tratam a situação quando um valor de KPI muda com base em um período de expiração. O operadorSevere Traffic Accidents , por exemplo, tem um período de uma hora. Presuma que o KPI tem um valor de 3 às 10h e que nenhuma mensagem de CAP afetando o KPI seja enviada para o servidor do Business Monitor durante a próxima hora. Às 11h, o período expira e o valor do KPI será 0. Para tratar essa situação, os modelos de amostra do monitor usam origens de acionadores com base em horário que disparam em intervalos programados para KPIs com períodos curtos.


Evento de entrada do KPI

Os modelos de amostra do monitor IBM Intelligent Operations Center definem um evento de entrada para cada conjunto de KPIs. Definir um evento de entrada para um contexto de KPI é similar a defini-lo para um contexto de monitoramento. Você especifica o nome e o ID do evento, o esquema de CAP e uma condição de filtro, mas não define uma expressão de correlação. É possível criar eventos de entrada, eventos de saída e acionadores usando o menu pop-up de contexto de KPI, como mostrado na Figura 11.


Figura 11. Menu pop-up de contexto KPI

A convenção de nomenclatura do evento de entrada do KPI usada pelos modelos de amostra do monitor do IBM Intelligent Operations Center combina o nome de nível 1 do KPI com a cadeia de caractere "KPI Change Trigger Message". O KPI de nível 1 em nosso exemplo de conjunto de KPI é Police Department , que resulta em um evento de entrada chamado Police Department KPI Change Trigger Message , como mostra a A Figura 12.


Figura 12. Evento de entrada de contexto do KPI

Conectar o evento de entrada ao esquema XML CAP

Como foi feito com o evento de entrada do contexto de monitoramento, é preciso especificar o esquema XML do CAP para o Business Monitor para que ele conheça a estrutura da mensagem de CAP. Sem esse conhecimento, o Business Monitor não será capaz de determinar o tipo de evento CAP, que é usado para filtrar mensagens de CAP que não afetam os valores dos KPIs do conjunto de KPIs do Departamento de Polícia. Para especificar o esquema, use a função de adição Events Type Details e faça referência ao arquivo CAP-v1.2-os.xsd. Consulte a Figura 13. Esse arquivo está contido no projeto de amostra Business Monitoring do IBM Intelligent Operations Center.


Figura 13. Event Type Details

Condição do filtro de evento de entrada

A condição de filtro do evento de entrada é uma expressão usada para determinar que mensagem ou mensagens de entrada servirão como a origem do acionador. Como mencionado anteriormente, os modelos de amostra do monitor do IBM Intelligent Operations Center usam um evento de entrada como a origem do acionador para cada conjunto de KPIs. Como resultado, a condição de filtro precisa especificar a mensagem ou mensagens CAP que afetam os valores de todos os KPIs no conjunto de KPIs. Para os KPIs do Departamento de Polícia, as mensagens CAP com um tipo de evento de Crime_Response_Time são as únicas mensagens que alteram quaisquer valores de KPI do Departamento de Polícia. Apesar de estarmos interessados somente nesse tipo de evento, precisamos filtrar mensagens Crime_Response_Time que não tenham uma gravidade de severa ou extrema e aquelas que não sejam para Precinct One ou Precinct Two. Para aceitar somente mensagens CAP que atendam a esse critério, você precisará definir a condição do filtro, como mostrado na Figura 14.


Figura 14. Condição do filtro de evento de entrada


Acionador de evento de saída

Depois de definir o evento de entrada que servirá como a origem do acionador, é possível definir o acionador propriamente dito. A convenção de nomenclatura do acionador do evento de saída usado pelos modelos de amostra do monitor do IBM Intelligent Operations Center combina o nome do KPI de nível 1 com a cadeia de caractere "KPI Change Trigger". Usando nosso exemplo do conjunto de KPIs, o nome do acionador seria Police Department KPI Change Trigger.

Para definir o acionador, selecione a opção Trigger is repeatable para garantir que o acionador seja disparado mais de uma vez. Além da origem do acionador, a definição do acionador permite especificar uma condição de acionador opcional que fornece controle adicional sobre quando o acionador será disparado. Os modelos de amostra do monitor do IBM Intelligent Operations Center definir uma condição de acionador para garantir que o KPI de nível 1 tenha sido definido para um valor de 0, 1 ou 2. Essa condição de acionador será disparada somente quando as mensagens CAP corretas tiverem sido recebidas e os KPIs de nível superior tiverem sido definidos. A figura 15 mostra o completo Police Department KPI Change Trigger.


Figura 15. Police Department KPI Change Trigger


Evento de saída

O evento de saída define as informações enviadas do servidor do Business Monitor para o subsistema de KPI do IBM Intelligent Operations Center. Criar um evento de saída é similar a criar um evento de entrada. Você especifica o nome e o ID, e o esquema que descreve a estrutura do evento. O que difere os dois é que você deve definir o conteúdo do evento de saída.

A convenção de nomenclatura do evento de saída usado pelos modelos de amostra do monitor do IBM Intelligent Operations Center combina o nome do KPI de nível 1 com a cadeia de caractere "KPI Change Notification". Usando nosso conjunto de KPI de exemplo, o nome do evento de saída seria Police Department KPI Change Notification , como mostra a figura 16.


Figura 16. Evento de saída

Conexão do evento de saída ao esquema do XML de notificação

Depois de criar o evento de saída, é preciso especificar o esquema XML usado para desenvolvê-lo. Como com eventos de entrada, o esquema deverá existir no projeto de Business Monitoring contendo o modelo do monitor. Especifique as definições de esquema usando a visualização do editor de modelo do monitor Events Type Details , como mostrado na a Figura 17. O esquema do XML de notificação, IOC-notification-v1.0.xsd, está incluído no projeto Business Monitoring de amostra do IBM Intelligent Operations Center.


Figura 17. Detalhes do evento de saída

Conteúdo do evento de saída

O conteúdo do evento de saída associa o acionador com o evento de saída e define o conteúdo do evento. Para definir o conteúdo do evento de saída, use a função de adição na visualização Outbound Event Content do editor de modelo de monitor. A função de adição solicita que você selecione o acionador; consulte a figura 18.


Figura 18. Seleção do acionador do evento de saída

O operador Outbound Event Content adiciona o Police Department KPI Change Trigger e o XML de notificação à visualização Outbound Event Content , conforme ilustrado na A Figura 19. Ela também indica que há uma condição de erro, pois nenhum dos elementos de notificação teve um valor atribuído.


Figura 19. Conteúdo do evento de saída

Nem todos os elementos requerem valores para que o subsistema KPI do IBM Intelligent Operations Center para processá-los. No mínimo, é preciso definir o elemento <sentFrom> e os elementos <parameter> . A instalação do IBM Intelligent Operations Center configura o Business Monitor para procurar um valor de 'Monitor' no elemento <sentFrom> . Esse valor diz ao Business Monitor para enviar a notificação do evento de saída para a fila de mensagens de atualização de KPI do IBM Intelligent Operations Center. Para especificar o valor <sentFrom> , clique na célula Expressão na visualização Outbound Event Content e insira 'Monitor' usando aspas simples, como mostrado na figura 20.


Figura 20. Definir o elemento do evento de saída

O operador <parameter> especificam o ID do modelo do monitor e o ID e o valor dos KPIs no conjunto de KPIs. O subsistema de KPI do IBM Intelligent Operations Center usa essas informações para recuperar um KPI do servidor do Business Monitor se ele determinar que o valor do KPI mudou. Como o esquema do XML de notificação permite vários elementos <parameter> , é preciso adicionar o número necessário de elementos para o evento de saída antes que seja possível determinar os valores dos elementos. Para adicionar os elementos, selecione o elemento parâmetro na célula Nome , clique com o botão direito do mouse e selecione Add Elements... na janela pop-up, consulte a A Figura 21.


Figura 21. Adicionar elementos de parâmetros

O primeiro elemento de parâmetro especifica o ID do modelo do monitor contendo os KPIs enviados no evento de saída. Para especificar o ID do modelo do monitor, é preciso definir <parameterName> como 'modelId' e o <parameterValue> para o ID do modelo do monitor. Para nosso exemplo do conjunto de KPIs, o ID do modelo do monitor é icoc_sample_public_safety_monitor_model.

Os elementos de parâmetro remanescentes especificam os IDs e valores dos KPIs no conjunto de KPIs. O ID do KPI é especificado usando o elemento <parameterName> e o valor com o elemento <parameterValue> . É possível usar a janela de assistente de conteúdo para definir ambos os valores do elemento. Para iniciar a janela do assistente de conteúdo, posicione o cursor na célula do elemento Expressão e pressione Ctrl+Barra de espaço. Para definir o <parameterName>, selecione o KPI na janela do assistente de conteúdo e coloque o ID do KPI entre aspas simples. Para definir o <parameterValue>, selecione o KPI na janela do assistente de conteúdo e coloque-o dentro de uma função xs:string()do Python. A Figura 22 mostra os elementos completos de Police Department KPI Change Notification <parameter> .


Figura 22. Parâmetros do evento de saída


Teste dos KPIs

É uma boa prática testar seus KPIs antes de implementar os aplicativos de seu modelo no servidor do Business Monitor. A maneira mais fácil de testar os KPIs descritos nessa série de artigos é criar uma classe com um método principal estático que desenvolve e envia a mensagem CAP Crime_Response_Time necessária para o servidor do Business Monitor. O código mostrado na Listagem 3 cria uma mensagem Crime_Response_Time que pode ser usada para testar os KPIs do Departamento de Polícia. Esse fragmento de código define a mensagem CAP como uma Sequência e usa substituição de cadeia de caractere para definir o identificador, datas de início e de envio, gravidade, descrição, delegacia, número do relatório e data da resposta.


Lista 3. Código de amostra para criar uma mensagem CAP Crime_Response_Time

String event = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><cap:alert 
xmlns:cap=\"urn:oasis:names:tc:emergency:cap:1.2\" 
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" 
xsi:schemaLocation=\"urn:oasis:names:tc:emergency:cap:1.2 CAP-v1.2-os.xsd \">
<cap:identifier>&IDENTIFIER</cap:identifier><cap:sender>911 Operator</cap:sender>
<cap:sent>&SENT</cap:sent><cap:status>Actual</cap:status><cap:msgType>Alert</cap:msgType>
<cap:scope>Public</cap:scope><cap:info><cap:category>Security</cap:category>
<cap:event>Crime_Response_Time</cap:event><cap:urgency>Unknown</cap:urgency>
<cap:severity>&SEVERITY</cap:severity><cap:certainty>Unknown</cap:certainty>
<cap:eventCode><cap:valueName>OwningOrg</cap:valueName><cap:value>Police</cap:value>
</cap:eventCode><cap:onset>&ONSET</cap:onset><cap:senderName>911 Operator</cap:senderName>
<cap:description>&DESCRIPTION</cap:description><cap:parameter><cap:valueName>
</cap:valueName><cap:value>&REPORT_NUMBER</cap:value></cap:parameter><cap:parameter>
<cap:valueName>Precinct</cap:valueName><cap:value>&PRECINCT</cap:value></cap:parameter>
<cap:parameter><cap:valueName>Responded</cap:valueName>
<cap:value>&RESPONSE_DATE</cap:value></cap:parameter></cap:info></cap:alert>";
	
String onset = "2011-05-27T15:00:00-00:00";
String responseDate = "2011-05-27T19:12:00-00:00";
String description = "Burglary";
String severity = "Severe";
String precinct = "precinct one";
String reportNumber = "1122";
UUID uuid = UUID.randomUUID(); 
String identifier = uuid.toString();

event = event.replaceFirst("&IDENTIFIER", identifier);
event = event.replaceFirst("&ONSET", onset);
event = event.replaceFirst("&SENT", onset);
event = event.replaceFirst("&DESCRIPTION", description);
event = event.replaceFirst("&SEVERITY", severity);
event = event.replaceFirst("&REPORT_NUMBER", reportNumber);
event = event.replaceFirst("&PRECINCT", precinct);
event = event.replaceFirst("&RESPONSE_DATE", responseDate);

O código mostrado na Listagem 4 envia a mensagem CAP Crime_Response_Time criada na Listagem 3 para o servidor do Business Monitor. Para ver um projeto completo de teste para enviar mensagens CAP Crime_Response_Time e obter os valores de KPI do Departamento de Polícia, consulte a seção Download deste artigo. O projeto de teste está contido em um archive que pode ser importado para o Rational Application Developer ou qualquer outro ambiente de desenvolvimento com base em eclipse.


Lista 4. Código de amostra para enviar mensagem CAP


try {
	URL url = new URL("http://localhost:9080/rest/bpm/events");
	HttpURLConnection connection = (HttpURLConnection) url.openConnection();
	connection.setRequestMethod("POST");
	connection.setAllowUserInteraction(false);
	connection.setDoOutput(true);
	connection.setRequestProperty("Content-type", "text/xml");
	OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
	writer.write(event);
	writer.flush();
	int rspCode = connection.getResponseCode();
	if (rspCode == 200) {
		InputStream ist = connection.getInputStream();
		InputStreamReader isr = new InputStreamReader(ist);
		BufferedReader br = new BufferedReader(isr);
		String nextLine = br.readLine();
		String returnString = new String();
		while (nextLine != null) {
			returnString = returnString + nextLine;
			nextLine = br.readLine();
		}
		System.out.println(returnString);
	} else {
		System.out.println("HTTP return code = " + rspCode);
	}
} catch (Exception e) {
	System.out.println(">>>> Exception occurred: " + e.toString());
}



Conclusão

Eu escrevi essa série de artigos para dar um entendimento básico sobre como os KPIs de amostra do IBM Intelligent Operations Center foram implementados. Espero que, ao lê-los, você tenha obtido conhecimento suficiente sobre o conjunto de ferramentas do Business Monitor e os padrões do IBM Intelligent Operations Center para que possa modificar os KPIs de amostra ou criar um conjunto de KPIs novos. Consulte o Guia dos Implementadores de KPI do IBM Intelligent Operations Center (consulte Recursos) para obter um conjunto completo de instruções passo a passo para implementar os KPIs descritos nesses artigos.



Download

DescriçãoNomeTamanhoMétodo de download
A complete test projectIOC-KPI-Test-Project.zip34KBHTTP

Informações sobre métodos de download


Recursos

Aprender

Obter produtos e tecnologias

Discutir

Sobre o autor

Allen Smith photo

Allen Smith é IT Specialist certificado senior e membro do grupo IBM Industry Solutions Development em Research Triangle Park, Carolina do Norte, EUA. Ele desenvolve novos contextos que ampliam as ofertas de soluções no segmento de mercado.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Segmentos de mercado
ArticleID=757375
ArticleTitle=Principais indicadores de desempenho (KPIs) do IBM Intelligent Operations Center, Parte 2: Definindo um KPI pai
publish-date=08312012