IBM Business Monitor 产品提供一种称为入站事件发射器服务的功能,任何应用通过调用入站事件发射器服务,可以很容易的实现往 Monitor 服务器发送事件。本文将主要介绍 Monitor 产品提供的两种类型的入站事件发射器的使用。
IBM Business Monitor 产品(以下简称 Monitor)基于监控模型对事件的接收和处理来完成对事件源的监控,这里所说的事件源可以使任何应用程序,比如常见的">业务流程应用。所以一个应用要想能被 Monitor 所监控,前提是这个应用要具备往 Monitor 服务器发送事件的能力,目前 IBM 很多产品自身就已经具备了运行时发送事件的能力,诸如 IBM WebSphere Process Server, WebSphere Business Events,WebSphere ILOG JRules 等等,部署在这些产品上的应用可以通过简单的配置来实现往 Monitor 发送事件。但是对于那些没有被部署在这些产品上的应用,比如用户自己编写的应用,它们不具备发送事件的能力。为了解决这个问题,Business Monitor 产品提供了一个称为入站事件发射器服务的功能,任何应用通过调用入站事件发射器服务,可以方便快捷地的实现往 Monitor 服务器发送事件,实现与 Monitor 的集成。
Business Monitor 产品提供了两种类型的入站事件发射器服务:
基于 REST(Representational State Transfer,代表性状态传输)的入站事件发射器服 基于 JMS(Java Message Service,Java 消息服务)的入站事件发射器服务
本文以下章节将主要介绍这两种入站事件发射器服务的使用,阅读本文之前要求读者对 Business Monitor 基本架构和事件接收及处理的逻辑有基本的了解,请参阅参考资料。
两种入站事件发射器服务的简述
REST 事件发射器服务
REST 入站事件发射器服务基于 REST 的 Web API,使用起来非常简单,客户端应用只要对特定的 HTTP URI 发起 HTTP POST 请求并将字符串格式的事件消息作为 POST 参数发送即可,REST 事件发射器服务接收到消息之后会将其转发到公共事件基础结构 (Common Event Infrastructure, 简称 CEI),然后 CEI 组件会根据事件组信息将事件分发到相应的监控模型进行处理,REST 事件发射器服务处理完事件会向客户端返回结果消息,客户端可以通过返回的结果来判断事件是否发送成功。
JMS 事件发射器服务
JMS 入站事件发射器服务设计为一个消息驱动 Bean,该消息驱动 Bean 对指定的 JMS 队列或主题目标进行侦听,当目标中有事件消息到来,EJB 容器就会调用该消息驱动 Bean 将事件取出然后发送到 CEI 进行分发。使用 JMS 事件发射器服务发送事件是一个异步的过程 , 用户将事件发送到消息驱动 Bean 所侦听的目标中即完成,不用等待返回事件发射器服务处理时间的结果。
事件发射器的事件格式
Monitor 提供的两种事件发射器可以处理的事件格式 :
普通 xml 格式的事件 CBE(Common Base Events)格式的事件
事件发射器接收到事件之后,需要将事件发送到公共事件基础结构(Common Event infrastructure,简称 CEI)进行分发,所以事件源应用程序无论发送的事件格式是普通的 xml 格式,事件发射器会将其封装成 CBE 格式再发往 CEI,因为 CEI 只能处理 CBE 格式的事件。