O registro é o processo pelo qual a lógica de negócios envia uma solicitação ao mecanismo de cálculo para o conjunto de dados de eventos brutos que se tornará parte do cálculo.
O processo de registro pode ser realizado de duas formas: usando o Assistente de registro ou manualmente, usando o objeto Dispatcher na lógica de negócios.
O uso do Assistente de registro é um processo simples de escolha entre as opções disponíveis. Você tem todas as opções disponíveis no registro manual, sem a capacidade de usar parâmetros. Se você precisar usar parâmetros, terá de executar o registro manualmente. O fluxo básico do assistente exige que você primeiramente determine o tipo de registro que deseja realizar e, em seguida, defina os tipos de recurso e os eventos nos quais o registro deve ser realizado e, finalmente, qual manipulador de eventos será usado para processar os eventos coletados.
Quando os registros estiverem concluídos, serão listados na guia "Registro" da métrica. Observe também que é possível ter mais de uma declaração de registro para uma métrica.
Na verdade, o Assistente de registro usa a mesma funcionalidade que o registro manual, e todas essas opções são abordadas na seção a seguir.
Quando realizado manualmente na lógica de negócios, o registro da fórmula é manipulado pelo manipulador de eventos OnRegistration. Ele deve ser implementado na fórmula e acionado sempre que um evento do mecanismo de registro for acionado. O evento de registro é acionado uma vez quando o contrato é ativado e depois cada vez que um recurso ou conjunto de alterações relevante se tornar ativo. Uma alteração no recurso afetado é considerada relevante se afetar os eventos que a métrica deve receber. Por exemplo, se o registro for feito pela parte contratual (RegisterByContractParty), isso significa que todos os eventos do tipo definido cujos recursos estão vinculados à parte contratual da métrica fazem parte do cálculo. Nesse caso, sempre que um novo recurso for vinculado ou desvinculado a essa parte contratual, o método de registro será acionado para notificar o mecanismo sobre a alteração.
Os métodos de registro são fornecidos pelo objeto Dispatcher que é transmitido para o OnRegistration como um argumento. Os diferentes métodos oferecem várias maneiras de definir os critérios de filtragem com base na definição de tipo de evento e qualquer critério de alocação de recursos, como recursos de um grupo de recursos ou recursos de um determinado tipo.
O uso dos métodos de registro de Parte contratual e Serviço é altamente recomendado, pois facilita o uso da lógica de negócios como um módulo ou modelo. Quando fizer isso, a parte contratual e o serviço relevantes são obtidos da definição da métrica associada, e ao reutilizar a fórmula para diferentes contratos e/ou componentes de serviço, o registro não precisa ser alterado.
Outro método de registro comum é o RegisterByResourceGroup, que é útil para trabalhar com os recursos que são agrupados logicamente mas nem sempre estão associados a partes contratuais ou serviços. A atribuição de recursos aos grupos aqui pode ser gerenciada pelo catálogo de recursos (individualmente ou por meio de conjuntos de alterações) e pode até mesmo ser atualizada automaticamente por meio de scripts de conversão.
Em geral, o método de registro é determinado durante a fase de design e é diretamente orientado pelo modelo de dados definido.
Observação: para verificar se o objeto Dispatcher foi corretamente usado, a função OnRegistration também é chamada durante a verificação de sintaxe de SLALOM. Por esse motivo, não suponha que o OnLoad foi executado antes da função OnRegistration e não use algumas das propriedades do objeto de contexto, como "TimeUnit", "IntervalLength", "IsPeriod", "CorrectionsApply" e "ExceptionsApply" no manipulador de eventos OnRegistration.
Os métodos de registro também são responsáveis pela associação dos eventos com um procedimento que será acionado de acordo com a data e hora do evento. O procedimento definido pode ter qualquer nome, mas sempre terá o objeto eventDetails como seu parâmetro. O objeto eventDetails reflete o evento de dados brutos recebido e contém todos os detalhes do evento como campos de dados, conforme mostrado no seguinte registro:
Sub OnRegistration(dispatcher) dispatcher.RegisterByContractPartyAndService "OnMemUseEvent", "MemUse", "Server" 'the parameters of the method are: <procedure name>, <Event Type>, <Resource Type> End Sub
A declaração de registro acima informa que todos os eventos de dados brutos do evento "MemUse" e associados ao tipo de recurso "Server" serão enviados para o manipulador de eventos "OnMemUseEvent" na lógica de negócios.
O procedimento a seguir também deverá ser definido adiante na lógica de negócios:
Sub OnMemUseEvent(eventDetails)
If InTimeSlot And eventDetails("MemoryUsage")>MaxMemoryUse Then
MaxMsmoryUse = eventDetails("MemoryUsage)"
End If
End Sub
Ao fazer referência ao objeto eventDetails e usar o parâmetro "MemoryUsage", a declaração extrai o valor do campo MemoryUsage do evento que foi passado para a função. Esses campos são os mesmos definidos no tipo de evento, e os nomes de campos diferenciam maiúsculas de minúsculas.
| Copyright © 2012 CA. Todos os direitos reservados. | Enviar email à CA Technologies sobre este tópico |