面向服务体系结构中构建事件驱动应用程序(三)
本系列文章的第 1 部介绍了 WSN (WebService Notification) 和 WSRF (WebService Resource Properties Framework) 两个规范,第 2 部分将为大家展示一个基于 WSN 和 WSRF 的具体应用。在第 3 部分中,我们将对程序架构进行调整,在Notification Producer和Notification Consumer之间增加一个间接层:ESB,然后将我们之前实现的WSN应用迁移到ESB上,最后进行测试。
1.引言
本系列文章的第 1 部分中面向服务体系结构中构建事件驱动应用程序(一)介绍了WSN(WebService Notification) 和WSRF(WebService Resource Properties Framework) 两个规范;第 2 部分中面向服务体系结构中构建事件驱动应用程序(二)为大家展示一个基于WSN和WSRF的具体应用。在这个WSN应用中,Notification Producer和Notification Consumer之间是一种端到端的直接交互。在第 3 部分中,我们将对程序架构进行调整,在Notification Producer和Notification Consumer之间增加一个间接层:ESB,然后将我们之前实现的WSN应用迁移到ESB上,最后进行测试。
2. 在SOA中构建WSN应用
在第 2 部分我们实现的WSN应用中,Notification Producer和Notification Consumer之间是一种端到端的直接交互。在一个复杂的企业计算环境中,如果广泛采用这种直接的端到端的交互,那么随着企业内应用程序的增加和复杂度的提高,最终应用程序之间的关联会逐渐变的非常复杂,形成一个网状结构,这将带来非常昂贵的系统维护费用,同时也使得IT基础设施的重用变的困难重重。正如计算机领域的那句名言:"有难以解决的问题,那么就增加一层",要解决上面描述问题,我们需要对我们的程序架构进行调整,在Notification Producer和Notification Consumer 之间增加一个间接层:ESB。在这一部分,我们将首先在WebSphere Application Server V6上利用SiBus建立一个ESB,然后将我们之前实现的WSN应用迁移到ESB上,最后进行测试。
2.1 SOA中的WSN应用实例架构
图 1 是之前的WSN应用迁移到ESB上后的系统架构图:
图1:WSN应用迁移到ESB上后的系统架构图
这里大家可以看到Notification Producer和Notification Consumer之间的调用已不再直接把消息发给对方,而是将消息发送给ESB,然后通过ESB中的路由机制路由到目标服务,这样做的好处是:首先这样的结构将之前描述的复杂的网状结构的复杂性归纳到了ESB的服务选择和消息路由之上,大大降低了系统架构上的整体复杂性,这一点在有多个应用程序之间需要发布,订阅事件时体现的更为明显,其次,在这样的架构下,我们可以享受到服务替换,中介,监控等等ESB的基本特性,而且随着我们提升ESB的能力模型,我们还可以享受到ESB的一些如QoS这样的高级特性。
2.2 在WebSphere Application Server V6中构建ESB
要将我们的WSN应用迁移到ESB上,我们首先需要创建一个ESB,这里我们使用的应用服务器是WebSphere Application Server V6中,我们将使用该应用服务器的SiBus来创建我们的ESB,具体步骤如下:
登陆WebSphere Application Server的管理控制台,选择Service Integration'Buses,然后在右边的窗口中选择New,然后在General Properties下的Name属性处输入Demo作为我们的Bus(总线)的名字,最后直接点OK创建我们的总线,如图 2 所示:
图2:创建总线
图3:总线创建成功
- 本文关键词:




