- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用AMI编程
4
用AMI编程
本章将概括介绍应用程序消息接口,讲解什么是AMI 以及如何应用AMI 。如欲了解更
多有关信息,请参见《应用程序消息接口参考》编号:SC34-5604 。
89
4.1 概览
应用程序消息接口(AMI )是对现有MQSeries API 的最新补充。其可向程序员提供一
种可以用于处理队列管理器对象非常简单的接口。利用AMI ,程序员不必深入了解所有
MQI 调用,他们只要专注于应用程序的商业逻辑即可。这就意味着在编程时出现的错误
更少,具有更高的处理业务及技术改变的灵活性。AMI 减少了编写新应用程序所需的代
码数量。
每种编程模式都有不同的调用。举例说来,如果程序员希望编写发布/预订应用程序代码,
那么他将必须采用不同于编写请求/ 回复应用程序的程序员所采用的调用。单个函数之中
的结构更少,但是动词会更多。许多函数现在都是中间件层的一部分,在中间件层,企
业确立的一系列策略代表应用程序得以应用。AMI 与包括Java 、C 和C++等在内的标准
编程语言已绑定。
AMI 允许中央集中式控制和灵活的改变管理,为点到点模型提供高级接口,可以进行发
布/预订工作。AMI 的重要特点是,其是独立于运输和消息发送基础设施的。
可采用以下方式发送和接收消息AMI :
发送-遗忘,不需要回复。
分配表,将消息发送到多个目的地。
请求/ 回复,发送消息的应用程序需要请求消息的回复。
发布/预订,由代理管理消息的分配。
第91 页上图4 -1 所示的就是一个简单的发送-遗忘应用程序实例。
90
图4 -1 AMI 发送-遗忘应用程序实例
利用AMI ,程序员通常需要处理三个概念:
消息,或者说交换的是“什么”。消息包括:
- 标题信息,确定消息及其属性。
- 消息主体,包含应用程序数据。应用程序数据可以由应用程序生成,也可以由
消息服务API 生成。
在采用MQI 的MQSeries 应用程序中,消息属性是用MQI 显示设定的,因此
应用程序设计人员必须理解其目的是什么。利用 AMI 工作时,消息属性包括
在消息对象中,或由系统管理员设定的策略所定义,因此程序员就不必再关心
这些细节。
策略,或者说将要“如何”处理消息。其包含优先级或交付确认等信息。任何数
量的应用程序都可以利用相同的策略,而且任何应用程序都可以利用超过一个的
策略。IBM 提供了一套通用或默认策略,此外,其也提供了开放式策略处理器框
架,该框架允许第三方软件销售商创建更多策略。如果必须修改策略的话,那么
通常来说,我们不必修改应用该策略的应用程序。
91
服务,或者说消息将被发送到“何处”或应从“何处”接收消息。就MQSeries 而
言,这是指队列、分配表等。服务可以是指由单个应用程序提供服务的单个目的
地,也可以是指目的地列表或消息代理。服务通常定义在储存库(REPOSITORY )
中,其可指定到消息发送网络中真实资源的映射。储存库可以定义不同类型的服
务。服务由AMI 暗示打开和关闭。
储存库可为服务及策略提供定义。如果服务名或策略名在储存库中找不到,或者 AMI
应用程序没有储存库,那么就可采用集成在AMI 中的定义。将储存库定义保存在XML
格式的储存库文
文档评论(0)