高级Meb技术 J阳a2 Enterprise Edtion
高级Web技术 Java 2 Enterprise Edtion
本次课程内容 JMS
本次课程内容 ◼ JMS
JMS简介 JMs代表Java消息服务( Java Message Service)。 Sun开发JMs是为]ava程序访问企业消息传递系统、 也称面向消息的中间件(MoM)提供一种途径。 JMs是一组定义JMS客户机如何访问企业消息传递产品 设施的接口和相关语义。 JMs通过MoM产品为Java程序发送和接收消息提供 了一种标准可移植的方法。用JMs编写的程序能够在实现 JMs标准的任何MoM上运行。 多数Java2企业版(Java2 Enterprise Edition, 2EE)供应商实现了JMS。 http://java.sun.com/products/ims/
JMS 简介 ◼ JMS 代表Java 消息服务(Java Message Service)。 Sun开发 JMS 是为 Java 程序访问企业消息传递系统、 也称面向消息的中间件(MOM)提供一种途径。 ◼ JMS 是一组定义 JMS 客户机如何访问企业消息传递产品 设施的接口和相关语义。 ◼ JMS 通过 MOM 产品为 Java 程序发送和接收消息提供 了一种标准可移植的方法。用 JMS 编写的程序能够在实现 JMS 标准的任何 MOM 上运行。 ◼ 多数 Java 2 企业版(Java 2 Enterprise Edition, J2EE)供应商实现了JMS。 ◼ http://java.sun.com/products/jms/
JMS的目标 ■JMs引入是为了实现构造“复杂企业应用程序” 所要求的功能性。 ■JMs规范中制定的目标: 定义一组公共的消息传递概念和设施。 最小化程序员为使用企业消息传递必须了解的概念。 最大化消息传递应用程序的可移植性。 最小化为实现供应商所需的工作。 为点到点和pub/sub域两者都提供客户机界面。 “域”是消息传递模型的JMs术语
JMS的目标 ◼ JMS 引入是为了实现构造“复杂企业应用程序” 所要求的功能性。 ◼ JMS规范中制定的目标: ◼ 定义一组公共的消息传递概念和设施。 ◼ 最小化程序员为使用企业消息传递必须了解的概念。 ◼ 最大化消息传递应用程序的可移植性。 ◼ 最小化为实现供应商所需的工作。 ◼ 为点到点和 pub/sub 域 两者都提供客户机界面。 “域”是消息传递模型的 JMS 术语
JMS没有规定什么 下列MOM产品中的公共特性没有在规范中提到 负载均衡和容错 错误和咨询系统消息及通知 管理 安全性 消息类型资源库
JMS没有规定什么 ◼ 下列 MOM 产品中的公共特性没有在规范中提到 ◼ 负载均衡和容错 ◼ 错误和咨询系统消息及通知 ◼ 管理 ◼ 安全性 ◼ 消息类型资源库
MOM机制 通过中介这种间接方式来支持应用程序间数据的异步传递, MoM提供了一种以松散组织的、灵活的风格来集成应用 程序的机制。 ■MoM提供可靠的消息传输(或者说,至少尽了最大的努 力)并减轻了应用程序员要知道远程过程调用( remote procedure calls,RPC)的详细信息及网络/通信协议 的负担
MOM机制 ◼ 通过中介这种间接方式来支持应用程序间数据的异步传递, MOM 提供了一种以松散组织的、灵活的风格来集成应用 程序的机制。 ◼ MOM 提供可靠的消息传输(或者说,至少尽了最大的努 力)并减轻了应用程序员要知道远程过程调用(remote procedure calls,RPC)的详细信息及网络/通信协议 的负担
MOM机制 应用程序A通过MoM的应用程序编程接口(API)来发送消 息,从而和应用程序B通信。 ■MoM对网络通信进行处理。如果没有网络连接,MoM将一直 存储消息直至获得网络连接,然后将消息转发给应用程序B 应用程序B甚至可以不处于执行状态。MOM会一直保留消息到 应用程序B开始执行并试图取回消息为止 Application Application B Application Programming Interface Message Oriented Middleware/ Enterprise Messaging System
MOM机制 ◼ 应用程序 A 通过 MOM 的应用程序编程接口(API)来发送消 息,从而和应用程序 B 通信。 ◼ MOM 对网络通信进行处理。如果没有网络连接,MOM 将一直 存储消息直至获得网络连接,然后将消息转发给应用程序 B ◼ 应用程序 B 甚至可以不处于执行状态。MOM 会一直保留消息到 应用程序 B 开始执行并试图取回消息为止
两种消息传递模型 点模型( point-to- point mode,PTP) 每条由一个应用程序生成的消息由另一个应用程序来接收 发布/订阅( publish and subscribe,pub/sub) n用称作主题的内容的层次结构代替PTP模型中的单个目标 发送应用程序发布它们的消息,指示消息代表层次结构中某个 主题的信息。 想要接收这些消息的应用程序订阅哪个主题
两种消息传递模型 ◼ 点模型(point-to-point model,PTP) ◼ 每条由一个应用程序生成的消息由另一个应用程序来接收 ◼ 发布/订阅(publish and subscribe,pub/sub) ◼ 用称作主题 的内容的层次结构代替 PTP 模型中的单个目标 ◼ 发送应用程序发布它们的消息,指示消息代表层次结构中某个 主题的信息。 ◼ 想要接收这些消息的应用程序订阅那个主题
发布/订阅 MoM作为代理,将发布的适合某个主题的消息路由给订阅该主 题的订户。 Publisher Publisher stockquotes/ stockquotes Acme My Co Broker Subscriber Subscribe Subscriber stockquotes/ stockquotes stockquotes/ Acme Myco°
发布/订阅 ◼ MOM 作为代理,将发布的适合某个主题的消息路由给订阅该主 题的订户
JAXM与JMS区别) JAXM provider可以是轻量级的,而 JMS provider 通常是重量级的 ■JAXM支持 standalone模式而JMS不支持 JAXM client与符合SOAP1.1标准的其他客户端兼 容,而 JMS client与在同一个MOM之上的其他 JMS client可以互操作。 传输端点模型不同
JAXM 与 JMS (区别) ◼ JAXM provider可以是轻量级的,而JMS provider 通常是重量级的 ◼ JAXM 支持standalone模式而JMS不支持 ◼ JAXM client与符合SOAP 1.1标准的其他客户端兼 容,而JMS client与在同一个MOM之上的其他 JMS client可以互操作。 ◼ 传输端点模型不同