选择应用程序架构
将软件应用集成到企业现有的IT环境的重要性和复杂性正逐步增长。企业的信息系统(IS)部门及向企业出售解决方案的应用程序供应商都面临着架构解决方案方面的艰巨任务,因为架构解决方案既要满足当前的需求,还要满足将来的需求。
企业消息传递
企业消息传递是一种模型,该模型使用消息通过数据异步交付来连接一组不同的IT系统。企业消息传递技术包括Java Message Service(JMS)、TIBCO、IBM的WebSphere MQ(MQSeries)和Microsoft MQ(MSMQ)。有了企业消息传递,人们通常将消息置于中心消息传递服务器的队列上或者远程系统的队列上,从而实现系统之间的信息传递。每个队列都有一个或多个应用程序来消费置于其中的消息。
企业消息传递在许多方面都与数据同步不同。首先,该架构与层次型同步场景相比,结构化程度明显弱得多。很多不同的系统可以很轻松地与其他系统交换消息。该架构可以有一个中心服务器,它可以像集线器一样,将多个系统互连起来,或者系统可以直接与另一个系统对话(参见图3)。

图3.企业消息传递提供无限制的配置
其次,同步结束时,两个数据库的某一部分数据完全相同,但是对于企业消息传递来说,队列只接受消息。换言之,通过队列的通信一般是单向的。两个队列不会为了使其状态完全相同而互相复制消息。
再次,队列通常不用于永久性存储数据;相反,它们用于临时存储,直到队列被某个系统消费(也可能被存储)。特定的应用程序消费特定队列中的消息。消费的数据是否存储,或者如何存储,架构中的其他系统都无从得知。
当需要与消息传递系统(如:基于JMS的系统、J2EE应用服务器、IBM WebSphere MQ服务器或TIBCO)进行数据交换时,应该使用企业消息传递。当企业的IT策略允许在数据库外部同步数据,而不允许同步数据到数据库内部时,企业消息传递也是很有用的。如果情况确实如此,那么可能同步和消息传递都适合使用,企业消息传递向企业中间件服务器发送数据,而同步则从数据库提取数据。
寻找支持企业消息传递的数据管理解决方案。具体来说,要寻找具有如下特点的系统:
提供综合API,以管理消息和队列,并且要支持多种编程语言和开发环境。
可以与各种不同的企业消息传递系统集成,保证系统能够支持不断发展的企业架构。
保证消息交付的一次性,以便在发生系统故障时消息不会交付两次。
允许将消息组织为事务组,以便组中的消息要么全部交付,要么一条都不交付。
可以创建控制消息交付的传输规则,大力支持开发人员优化性能、降低成本和消息交付带宽。
当传输消息以及在消息队列中存储消息时,可以使用128位强加密来加密消息。
使用Web services模型
Web服务为不同的软件应用提供了一种互相交互和交换数据的方法。每一个Web服务都有一个使用Web services描述语言(WSDL)描述的接口。其他系统通过HTTP,使用简单对象存取协议(SOAP)(基于XML)消息与服务交互。正因为如此,接受Web services请求的系统需要某种类型的HTTP服务器。
您将会发现,Web services、企业消息传递和数据库同步之间有很多重要的区别。首先,目前没有任何规范描述Web services数据是如何暂时地或永久地存储的——这与数据库和企业消息传递的情况相反,数据库是高度结构化的数据存储形式,而企业消息传递则使用队列。
其次,不会为了响应Web services请求而返回数据。Web services的通信可以是单向的或双向的,而同步一般是双向的,通过任何给定的企业消息传递队列发送的消息则一般是单向的。
再次,通过Web服务发送的内容没有预定义的格式,此外,它是用XML编码的。相反地,数据库有表、行和列;而企业消息通常有一组头信息、属性,以及特定类型的内容,比如二进制或者文本。
- 本文关键词:

