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.
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
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_1ouchild_KPI_2é maior do que o valor inicial do intervalo de um dos filhostake_action. Se essa condição for avaliada comotrue, o valor do KPI pai é definido como 2. Como mostrado na Figura 4, 2 mapeia para o intervalo detake 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_1ouchild_KPI_2é maior do que o valor inicial do intervalo de um dos filhoscaution. Se essa condição for avaliada comotrue, o valor do KPI pai é definido como 1. Como mostrado na Figura 4, 1 mapeia para o intervalo decaution. 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 intervaloaceitá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.nameespecifica o nome do KPI do Business Monitor. -
KPIBase.idespecifica o ID do KPI do Business Monitor. -
KPIDefinition.isChildOf_KPIDefinitionespecifica 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.
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
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
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
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
É 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());
}
|
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.
| Descrição | Nome | Tamanho | Método de download |
|---|---|---|---|
| A complete test project | IOC-KPI-Test-Project.zip | 34KB | HTTP |
Informações sobre métodos de download
Aprender
- Principais Indicadores de Desempenho (KPIs) do IBM Intelligent Operations Center,
Parte 1: Definição de um KPI de baixo nível: Assegure-se de ler a Parte 1 dessa série.
-
Especificação de Common Alerting Protocol versão 1.2 : O Common Alerting Protocol (CAP) é um formato simples, mas geral para troca alertas de emergência e avisos públicos sobre todos os perigos em todos os tipos de redes.
-
Centro de informações do IBM Business Monitor 7.0
-
Guia dos Implementadores de KPI do IBM Intelligent Operations Center
-
Centro de Informações do IBM Intelligent Operations Center
-
Demo do IBM Intelligent Operations Center para Cidades Mais Inteligentes
-
Smarter Cities Series: Introducing the IBM City Operations and Management Solution
- IBM Government Industry Framework
-
Podcasts do developerWorks: Ouça entrevistas e discussões interessantes para desenvolvedores de software. Sintonize a Série de podcasts técnicos de Smarter Planet Industry Solutions: 1ª Temporada para ouvir entrevistas com especialistas do segmento de mercado.
-
Segmentos de mercado no IBM developerWorks: Obtenha todos os recursos técnicos específicos do segmento de negócio mais recentes para desenvolvedores.
-
developerWorks: Mantenha-se atualizado em relação à tecnologia nessas sessões.
-
developerWorks no Twitter: entre hoje para seguir os tweets do developerWorks.
Obter produtos e tecnologias
-
Versões de avaliação de produtos IBM por segmento de mercado : Localize os produtos usados em cada Industry Frameworks. As Estruturas de Segmento de Mercado são plataformas de software específicas projetadas para aproveitar o poder dos produtos IBM, a fim de atender aos padrões de mercado.
Discutir
-
Blogs do developerWorks: Confira esses blogs e participe.
