应用程序无法启用_启用向IBM Business Monitor发出程序化事件

应用程序无法启用

有关IBM Business Monitor的功能和体系结构的概述,请参阅第1部分

IBM Business Monitor旨在接受和处理来自任何来源的事件。 可以对应用程序进行检测,使其发出包含IBM Business Monitor消耗的业务有效负载的事件。 它从传入的事件中提取和分析业务数据,以供以后在仪表板中报告。

图1. IBM Business Monitor仪表板
IBM Business Monitor仪表板

本文介绍了如果您的应用程序在不提供自动事件发射的环境中运行,则如何启用事件发射。

IBM Business Monitor处理XML,提取与业务相关的度量标准数据,然后将其存储到数据库中,仪表板可以查询该数据库以显示与业务用户相关的信息。 无论应用程序是如何实现的,无论它是用Java™,C ++,COBOL还是其他语言实现的,并且无论它在何处运行,无论是在智能手机,PC还是大型机上,只要它可以向IBM Business提供XML监视,应用程序可以享受业务活动监视的好处。 在本文中,您将学习如何将XML获取到IBM Business Monitor。

第1部分中所述,将事件获取到IBM Business Monitor的首选方法是在启用了自动事件发射功能的众多IBM产品之一中运行您的应用程序。 在这样的环境中,您只需要选中一个复选框,事件就可以进行,而无需任何编码。 您无需担心如何构造XML,使用哪种包装程序,将使用哪种协议或将其传递到的端点。 通过使用带有内置业务事件发射支持的IBM运行时,这一切都将为您解决。

但是,有时您别无选择,只能在无法自动处理事件发出的环境中运行应用程序。 在这种情况下,支持几种为业务活动监视目的手动发出事件的方法。 使用哪种方法的选择取决于业务应用程序执行的环境。

无论选择哪种方法来发出程序化事件,都需要遵循第2部分中描述的手动监视器模型编写方法,并且需要提供描述将XML作为输入发送的XSD或WSDL。 您还需要确保发送的事件遵循W3C的XML名称空间建议。 特别是,XML中的所有标记都应包含名称空间前缀,以便XPath表达式可以正确引用XML事件的所需元素或属性。 有关使您的监视器模型了解XML事件的结构的详细信息,请参阅第2部分

启用异步事件发射

有两种发送事件的方法:同步或异步。 使用同步事件发出,被监视的应用程序必须暂停并等待事件被处理,而使用异步事件发出,则将事件简单地放置在中间目标中,从而允许被监视的应用程序继续运行,同时在平行。

通常,大多数客户更喜欢异步路由,因为它对受监视的应用程序影响最小,因此,我们将首先探讨该选项。 此方法使用Java消息服务(JMS),如图2所示。

图2.使用JMS向IBM Business Monitor发出事件
使用JMS向IBM Business Monitor发出事件

清单1中的代码片段显示了一个使用JMS发送XML消息的示例。

清单1.使用JMS发出事件的代码示例
String xml = null; //initialize with the XML you want to send

// Connect to the server
Context jndiContext = new InitialContext();

// Get the connection factory via its JNDI name
QueueConnectionFactory connectionFactory = (QueueConnectionFactory) jndiContext.lookup(
   "jms/MonitorEventEmitter/QueueConnFactory");

// Create a connection
QueueConnection jmsConnection = connectionFactory.createQueueConnection();

// Start a session
QueueSession session = jmsConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

// Create your message
TextMessage jmsMessage = session.createTextMessage(xml);

// Get the queue via its JNDI name
Queue jmsQueue = (Queue) jndiContext.lookup("jms/MonitorEventEmitter/Queue");

// Send the messsage to the queue
QueueSender sender = session.createSender(jmsQueue);
sender.send(jmsMessage);

// Cleanup
sender.close();
session.close();
connection.close();

以下列表包括受支持的JMS提供程序,以及有关何时选择一个与另一个的一些指导。

  • WebSphere Platform Messaging :对于在基于WebSphere Application Server的环境中运行的应用程序,首选方法是将业务有效负载XML放入JMS文本消息中,然后使用WebSphere Platform Messaging(也称为服务集成总线)将其发送。 使用这种方法,您只需创建一个JMS TextMessage ,然后将XML放入该消息中,然后将其提交到一个知名的JMS目标即可。 您无需担心使用任何特殊的包装器或在JMS标头中设置任何特殊的值-只要将其传递到适当的目的地,IBM Business Monitor就会处理其余的事情。
  • IBM MQ :对于在不基于WebSphere Application Server但可以访问IBM MQ的环境中运行的应用程序,此方法非常相似。 您只需创建一个MQ消息,然后将XML放入该消息中,然后将其传递到众所周知的MQ目标即可。 您的管理员可以配置IBM Business Monitor以从MQ JMS提供程序下定义的此目标进行使用。
  • 第三方JMS提供程序 :如果愿意,可以使用非IBM JMS提供程序。 方法是相同的:将XML放在JMS消息中,将其传递到众所周知的目的地,然后配置IBM Business Monitor以从第三方JMS提供程序定义的目的地使用。

启用同步事件发射

有时,您需要同步发送事件,例如,当事件不包含可靠的序列信息时,因此,您需要选择一个选项以确保事件按顺序排列。 同步事件发出有两种方法:

  • WS-Notification :如果您在Web服务环境中运行,则最自然的事件发出方法是使用WS-Notification。 使用这种方法,您可以构造XML,并通过Web服务(SOAP)调用将其提交给WSDL描述的知名端点。 与其他选项一样,不需要特殊包装。 您只需发送XML,IBM Business Monitor就会使用它。 您的管理员必须配置WS-Notification才能将通知事件转发到使用IBM Business Monitor的JMS目标。

    使用WebSphere Business Monitor V7和更高版本的IBM Business Monitor产品使通过WS-Notification将事件发送到IBM Business Monitor变得更加容易,因为您不再需要围绕XML创建Common Base Event(CBE)包装器。 相反,只要IT管理员配置WS-Notification主题以将消息传递到上面异步部分中指定的JMS队列中,您就将XML直接发送到Notify方法。

  • REST :如果您在mashup或Portlet环境中运行,则可以通过代表性状态传输(REST)与服务器进行通信。 使用这种方法,您可以构造XML,然后通过HTTP(或HTTPS)请求将其提交给在IBM Business Monitor服务器上运行的REST服务。 同样,不需要特殊的包装器或HTTP标头信息。 您只需通过REST接口提交XML,IBM Business Monitor服务器将在那里进行处理。

    清单2显示了一个使用REST发送XML消息的示例。

    清单2.使用REST发出事件的代码示例
    String xml = null; //initialize with the XML you want to send
    
    // Set up URL to the desired host:port where REST Event Emitter is deployed
    URL url = new URL("http://myhostname:80/rest/bpm/events");
    
    // get the connection from the URL
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    
    // setup the connection
    connection.setRequestMethod("POST");
    connection.setRequestProperty("Accept", "multipart/mixed");
    
    // set the content type
    connection.setRequestProperty("content-type", text/xml));
    
    // Set the DoOutput flag to true; use the URL connection for output
    connection.setDoOutput(true);
    
    // Write the XML to the stream
    OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
    writer.write(xml);
    writer.flush();
    
    
    // Get the response from servlet
    InputStreamReader reader = new InputStreamReader(connection.getInputStream())
    BufferedReader buffer = new BufferedReader(reader);
    
    String output = "";
    String line = null;
    
    // Get all of the lines
    while ((line = buffer.readLine()) != null) {
    	output += line;
    }
    
    // Cleanup
    buffer.close();
    writer.close();

请注意,在以前的发行版中,必须使用专有事件格式(Eclipse的Common Base Event或CBE)和专有发射API(Common Event Infrastructure或CEI)才能将自己的事件发送到IBM Business Monitor。 在V7中不再需要此功能。 尽管仍旧支持旧方法以实现向后兼容,但是在编写您自己的自定义事件发射时,上面概述的所有方法均不涉及CBE或CEI的使用。

访问IBM Business Monitor数据

第1部分的体系结构图所示,仪表板通过向IBM Business Monitor服务器发出REST请求来获取其数据。 仪表板中的每个小部件都发出HTTP请求以获取所需的数据,以JavaScript Object Notation(JSON)形式接收结果,然后使用诸如Dojo之类的技术进行解析并将其适当地呈现,如图3所示。

图3. REST访问以监视模型数据
REST访问以监视模型数据

要以编程方式访问IBM Business Monitor,您可以编写自己的自定义仪表板iWidget(或Portlet),它们发出相同的HTTP请求,然后以高度自定义的方式呈现结果,以满足业务用户的需求。 您也可以在简单的servlet或JSP或任何其他基于浏览器的技术中执行相同的操作。

您还可以超越基于Web浏览器的访问范围来访问监视器模型的数据。 例如,Microsoft®Excel®(2007或更高版本)提供了Ribbon(丝带) ,它是基于Microsoft .NET的插件,可以进行适当的REST调用来检索数据并将其带入电子表格,以便您可以进行图表和进一步的计算根据这些数据。 可以将这些数据配置为以指定的时间间隔自动刷新。 同样,Lotus®Notes和Lotus SameTime具有与基于Java的Eclipse / Expeditor插件相同的功能,可让您从电子邮件和即时消息客户端中访问业务监视数据。 您可以对智能手机的本机应用程序或任何其他能够与您的IBM Business Monitor服务器(或委托给它的HTTP服务器/代理)建立HTTP连接的环境来执行相同的操作。

图4.自定义客户端到业务监视数据
自定义客户到业务监控数据

摘要

第1部分中 ,您了解了为IBM Business Monitor提供一流支持的产品。 在第2部分中 ,您了解了可以将事件发送到IBM Business Monitor的其他产品,以及如何在模型编写时启用它。 在第3部分中,您学习了如何检测应用程序以编程方式发送事件。

某些方案需要IT开发人员进行更多工作,但所有方案都需要使用仪表板为业务用户提供丰富的体验,使他们能够深入了解其业务绩效并建议业务流程中需要改进的领域,无论何时何地这些进程可能会运行。 通过将业务活动监视添加到企业中,无论使用哪种类型的业务流程,无论托管在IBM运行时还是本地环境中,您都可以实现业务流程管理的全部潜力。 您可以通过为业务用户提供业务仪表板来增强他们的能力,使他们可以从中监控业务流程并优化他们的业务成果。


翻译自: https://www.ibm.com/developerworks/websphere/library/techarticles/1105_alcorn3/1105_alcorn3.html

应用程序无法启用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值