使用WebLogic事件服务器构建复杂事件处理应用

复杂事件处理(Complex Event Processing——CEP)是对传统 事件驱动架构(Event Driven Architecture)的扩展。 Wikipedia 解释说:“ CEP使用了如众多事件复杂格式的侦测、事件相关性和提取、事件层级、以及事件间的关系(如因果关系、成员关系)、定时和事件驱动处理等技术”。

BEA最近出版了基于其新的WebLogic事件服务器构建复杂事件处理应用的一个 指南,该WebLogic事件服务器是一个“ 事件驱动的SOA实时Java容器” 。该指南旨在帮助读者“ 理解实时事件驱动架构的设计原理”,指南一开始就指出 OSGi及 Spring Framework支撑了应用的配置:
WebLogic事件服务器所支持的事件驱动编程范式是基于Spring的声明性装配和配置。
在基于CEP的应用中,规则用来过滤和关联输入事件流。BEA引入了他们自己的事件处理语言(EPL):
EPL是一种强大的语言,可使开发者实现对事件的全程查询(从输入数据中“提取”事件并调用你的业务逻辑(POJO))。真正酷的地方是,EPL定义在应用编程方面之外,这便于提高开发者的生产效率和灵活性。实际上,你可以动态修改查询,无需重新编译、构建并重新发布相关应用即可使你的解决方案实时对修改条件或环境产生反应。
WebLogic事件服务器设计时考虑了实时需求,它使用了BEA的msA(微服务架构——micro-services Architecture):
其设计的核心是,一个提供确定性、在预期工作量峰值有极低应用响应时间(高性能实时应用的基本需求)的基础架构。
BEA为构建WebLogic事件服务器应用提供了一个Eclipse插件,并提供了一个HelloWorld例子使其易于上手。在该例提供了一个简单应用所有必须的文件,包括Java源文件、一个ENP(Spring配置)文件和一些EPL定义文件。在Java源文件中包含了HelloWorldBean(实现WebLogic EventSink接口)用于侦听事件处理器(processor)产生的事件。HelloWorldAdapter用于产生事件,它是对ActiveAdapter 框架类的扩展。

该指南最后总结:使用IDE特性“ 我们给开发者提供了简化动态创建和部署(发布)新WebLogic事件服务器应用的能力 ”。

更多关于WebLogic事件服务器和WebLogic实时产品的信息可以从 这里 获得。

查看英文原文:Building Complex Event Processing applications in Java with WebLogic Event Server

你可能感兴趣的:(使用WebLogic事件服务器构建复杂事件处理应用)