简介: Smarter Planet™ 计划在帮助我们认识技术如何塑造我们与周围世界的互动这一方面扮演了重要的角色。和许多这类计划的类似点是,它们都观察和处理传感器数据,从中提取对物理世界的洞察。本文是系列文章中的第一篇,该系列介绍如何使用 IBM® WebSphere® Sensor Events、IBM WebSphere Business Events 以及其他企业产品,开发利用传感器事件处理的 Smarter Planet 解决方案。第 1 部分讨论了 Smarter Planet 计划的共同点,展示了传感器数据收集、解译和响应在这些计划中的核心作用,解释了所有这些因素如何促进 “物联化、智能化和互联化” 主题。 本文来自于 。
不管是 Stockholm 的智慧交通系统、Düsseldorf 交易集团的智慧供应链管理、北京 IBM Global Rail Innovation Center 开发的智慧铁路系统,还是 Hudson River 的智慧水管理,它们通用的基本原则是类似的:每个解决方案都是基于对传感器数据的观察和处理,从中提取对物理世界的洞察,然后就可以根据对这些数据的解译采取适当行动。
让我们看看 IBM WebSphere Sensor Events 如何参与到智慧地球计划的各个关键方面。
| 物联化 |
WebSphere Sensor Events 从一系列设备中集成和收集传感器数据。它们包括:
WebSphere Sensor Events 是一个集成平台,它提供基础设施来收集、过滤、分析这些数据,然后将其转化成推动业务对现实世界机遇和风险做出反应的可行事件。
| 互联化 |
WebSphere Sensor Events 在提供一个能够用于连接传感器、收集新数据的平台同时,还提供集成基础设施,将这些数据和业务处理连接在一起。WebSphere Sensor Events 提供一个框架,将传感器事件数据和传感器控制服务的操作规范化。它在适当的地方使用行业标准,这样一来业务就能轻松、可靠地连接到这些新的数据。但是,互联性不只仅仅关注传感器集成。您可以使用业务观察,它们可以是来自您的企业内部或者是您在全球范围内贸易伙伴的新数据。
| 智能化 |
WebSphere Sensor Events 链接物联化数据,并提供互联化服务,以收集和处理这些数据。从原事件数据集中获取值的关键就是一个流程,通过这个流程可以从这些数据中派生出实时业务智能。这个派生的智能是业务的产物,就像对集装箱的资产利用、食物保鲜或库存削减。WebSphere Sensor Events 在世界范围内用于部署,提供一个框架,在这个框架上执行分析。通过与 WebSphere Business Events 紧密合作,您甚至可以定义和检测到一个模式,这个模式让许多业务人员可以建立和完善从连续的传感器事件数据中识别业务事件的业务规则。有了这项智能,您可以在机会和风险产生时,几乎实时地对它们做出反应。
在一个事件驱动的系统中,事件在一个公共通道上生成和发布,感兴趣的订阅者可以在这个通道上接收这些事件,对它们做出反应。事件处理具有松散耦合和分布式特点。事件的创建者和事件本身都不会参与到随后的任何执行处理决定中。这个处理流程严格地由事件消费者和他们所采取的行动决定。
WebSphere Sensor Events 支持事件驱动架构的关键组件,这些组件构成了事件系统的关键方面。让我们看看它如何在高级 WebSphere Sensor Events 架构环境中发生,如图 1 所示。
图 1. 显示事件运行时基础设施的 WebSphere Sensor Events 高级架构
事件可以由一系列广泛的资源产生,包括无线电频率识别(RFID)传感器、其它类型的传感器(如温度、冲击或湿度)、健康检测器、应用程序、服务、业务流程,以及警报或通知系统。可以将事件作为系统的简单事件处理阶段予以甄选、过滤、聚合、标注或者补充。
在 WebSphere Sensor Events 架构中,这个简单事件处理通常在数据捕获层执行。
WebSphere Sensor Events 的数据捕获组件管理与传感器设备的直接集成,并将事件数据推入服务器事件处理通道。数据捕获中的简单事件处理(如过滤、聚合和验证)能够优化事件数据的处理,支持高度交互的本地行为,同时最小化不必要的服务器流量。与事件模型一致,事件资源负责以一个它所决定的频率异步传送事件消息。
在图 1 中,您可以看到数据捕获环境用于在一个分布式模型中运行,并且靠近时间数据资源。数据捕获环境提供一个运行时平台,这个平台基于在设备控制器上执行的 Java ™,以支持关键应用逻辑,这会因与传感器事件设备的临近性而获益。通过数据捕获,这个应用逻辑可以用 Java 编写,并部署在一个大范围的控制设备上 —— 同时还为不断增多的传感器事件设备和设备类型提供本地通信支持。
许多传感器设备是 RFID 阅读器。但是,传感器设备也不仅限于 RFID。它们可以包括环境传感器、 定位传感器、光纤传感器和声传感器等。数据捕获提供运行时框架,可扩展这个框架来支持这些类型的设备。通过数据捕获,一个通用 Java 应用编程界面(API)会把设备特定的 API 或者协议与应用逻辑隔离开来。
数据捕获提供本地设备通信和到通用 API 的映射。它还将一系列通用的低层次服务施加于传感器数据(如事件过滤和聚合)。除此以外,它还以通用格式和协议向 WebSphere Sensor Events 返回一个可靠的传感器数据消息传输。
数据捕获在 OSGi 上运行,以支持分布式运行时环境。WebSphere Sensor Events 管理配置定义和分布式数据捕获环境的软件负载。
在事件驱动的系统中,事件资源和事件监听器往往是松散耦合的。因此,对事件数据格式的理解对事件处理很重要。所生成的不符合格式的事件,必须在被放置到处理前的事件通知通道之前进行转换。在 WebSphere Sensor Events 中,事件格式在 Common Base Events (CBEs) 结构中定义。CBE 定义一个有通用负载的公共头文件。负载格式可以扩展。
广泛适用的业务事件格式行业标准并不存在。但是,Organization for the Advancement of Structured Information Standards (OASIS) 的 Web Services Distributed Management (WSDM) 规范包含一个 Web 服务的格式规范。这个格式规范就是我们所知道的 WSDM Event Format (WEF)。IBM 的对该规范的实现是 CBE。WebSphere Sensor Events 依赖于流量控制和路由的事件消息包络层的 CBE 事件格式规范。事件数据本身也包含在 CBE 中,是一个能利用预定义负载结构或通过扩展生成新负载的负载字段。
WebSphere Application Server 消息机制用作事件处理的底层消息传送引擎。消息源生成事件消息,这些消息最终通过 WebSphere Sensor Events 网关发布到总线。网关负责解析传入的事件消息,将 CBE 消息转化为对象,然后将这个对象适当命名(由具体的 CBE 头值决定),发布在总线上。为监听总线上的消息而配置的服务能够使用这些消息,传递特定功能值,然后可能还会重新将消息发布到已经改进或者充实过了的总线上。这些消息还可以以不同的主题名称发布,这样就可以由不同的消息服务使用。
当事件被发布到总线时,事件处理就会同步并立即开始。WebSphere Sensor Events 提供一系列事件处理服务,这些服务可以通过消息传送接口(通过消息驱动的 beans,它能在消息被发布到总线的同时开始使用消息)、Enterprise Java Bean (EJB) 接口或 Web Services 接口调用。
Enterprise Service Bus (ESB),比如 WebSphere ESB,可与中介流一同使用,中介流可以调用由 WebSphere Sensor Events 传送的服务。WebSphere Sensor Events 传送一系列的事件服务,这些服务可通过其定义的 Web Services 接口用于外部执行。
业务事件处理(BEP)引擎管理事件的逻辑处理,目的是为了根据已定义的规则识别模式和调用动作。这些动作可以指定调用某一个业务流程、调用某一个服务,或生成派生事件并将其放回系统进行进一步处理。BEP 引擎拥有事件相关的尖端技术。这些技术都是基于模式匹配和事件定义的,可以是空间上的或时间上的。事件是实时发生的,业务规则就需要有足够的灵活性,能够改变哪个事件模式应该调用特定业务流程。
WebSphere Business Events 与 WebSphere Sensor Events 绑定在一起,以提供识别事件模式的 BEP 功能,创造一个抽象的业务事件或直接执行一个业务流程。在一个 WebSphere Sensor Events 部署中,WebSphere Business Events 集成在一个事件消息传送基础设施上,根据它的规则定义来检测事件模式。
通过一系列已定义规则分析和关联这些事件,以触发特定动作或生成派生事件。这些反过来又有助于进一步分析和关联。使用这种方法,在低层次事件上的分析能够逐步产生高层次的业务事件,或调用业务流程。类似地,高层次事件能够被拆分成一个或者多个低层次事件或动作;例如,更换压力控制阀、拉响警报或发出警戒信号。
WebSphere Sensor Events 提供一系列业务层事件服务,这些服务可以从 WebSphere Sensor Events 内的流程中调用,也可以通过 Web 服务接口从外部业务流程中调用。这些服务包括事件数据的持久性、事件格式转换、与复杂事件处理引擎的集成、行政服务,等等。
业务层组件通过发布/订阅模式集成在总线上,也可以从业务流程中对其进行调用。服务会随时间扩大到支持行业解决方案和跨行业推广的业务服务。在很多情况下,对任意给定服务的调用,会导致派生事件被发布在总线上。然后,这些服务提供一个明确的业务功能,以及一个用于生成新的业务事件、从而进行进一步基于事件的处理的交互点。
WebSphere Sensor Events 向 WebSphere 业务流程管理(BPM)产品套件提供一个集成框架。如前所述,WebSphere Sensor Events 提供一系列业务层 Web 服务,这些服务能够从 BPM 产品内的流程中调用。例如,一个使用 BPEL 定义且在 WebSphere Process Server 内运行的业务流程,可以调用 WebSphere Sensor Events 服务。整个业务流程可以使用适当的 BMP 工具建模和监控。
除了提供业务流程要使用的服务以外,WebSphere Sensor Events 服务还能够调用业务流程。随着对传感器数据的分析和关联,需要识别业务事件,并调用业务流程。WebSphere Sensor Events 可以通过 WebSphere ESB 的中介能力提供这一功能。对外部流程调用的细节进行调节,能够隔离协议和格式差异。此外,WebSphere Sensor Events 提供将事件消息与 WebSphere Business Monitor、IBM InfoSphere Traceability Server 和 WebSphere Business Services 直接集成的集成服务。
物联化、互联化和智能化三者必须结合在一起,帮助您在正确的时间做正确的决定,从而变革您的业务。IBM WebSphere Sensor Events 提供联系基于传感器的实时数据所需的中间件平台,提供从传感器事件派生出业务事件的事件分析,还根据一个面向服务的架构(SOA)将这些业务事件集成到业务流程中。
该系列的下一篇文章将会详细介绍 Smarter Planet 计划的具体方面,比如智慧供应链、智慧医疗保健以及过程流。该系列每篇文章都会:
该系列的最后一篇文章会将该系列讨论过的共同点、建议、模式和实践总结在一起。概括设计 Smarter Planet 解决方案的方法,以及决定您应该如何、何时利用可用产品、组件和服务来构建解决方案的理由。
原文链接:http://www.ibm.com/developerworks/cn/websphere/techjournal/0911_hanis/0911_hanis.html
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14789789/viewspace-671150/ ,如需转载,请注明出处,否则将追究法律责任。