分布式应用学习笔记(3)
处理;
4. 处理完毕后将结果按照XML-RPC协议写入xml中并返回。
根据原理来回答下之前学习应用级协议带着的几个问题:
1. 传输的标准格式:标准格式的XML。
2. 如何将请求转化为传输的流:将XML转化为流。
3. 如何接收和处理流:通过监听的端口获取到请求的流,转化为XML,并根据
协议获取请求的信息,进行处理并将结果写入XML中返回。
4. 传输协议:Http。
2.2.3 Binary-RPC
Binary-RPC看名字就知道和XML-RPC是差不多的了,不同之处仅在于传输的标
准格式由XML转为了二进制的格式。
根据原理来回答下之前学习应用级协议带着的几个问题:
1. 传输的标准格式:标准格式的二进制文件。
2. 如何请求转化为传输的流:将二进制格式文件转化为流。
3. 如何接收和处理流:通过监听的端口获取到请求的流,转化为二进制文件,根
据协议获取请求的信息,进行处理并将结果写入XML中返回。
4. 传输协议:Http。
2.2.4 SOAP
SOAP 原意为Simple Object Access Protocol,是一个用于分布式环境的、轻量级的、
基于XML进行信息交换的通信协议,可以认为SOAP是XML RPC的高级版,两者的
原理完全相同,都是http+XML,不同的仅在于两者定义的XML规范不同,SOAP也
是Webservice采用的服务调用协议标准,因此在此就不多加阐述了。
2.2.5 CORBA
Common Object Request Broker Architecture(公用对象请求代理[调度]程序体系结
构),是一组用来定义“分布式对象系统”的标准,由OMG(Object Menagement Group)
作为发起和标准制定单位。CORBA的目的是定义一套协议,符合这个协议的对象可以
MOM JMS 分布式 架构
互相交互,不论它们是用什么样的语言写的,不论它们运行于什么样的机器和操作系
统。
CORBA在我看来是个类似于SOA的体系架构,涵盖可选的远程通信协议,但其
本身不能列入通信协议这里来讲,而且CORBA基本淘汰,再加上对CORBA也不怎
么懂,在此就不进行阐述了。
2.2.6 JMS
JMS是实现java领域远程通信的一种手段和方法,基于JMS实现远程通信时和
RPC是不同的,虽然可以做到RPC的效果,但因为不是从协议级别定义的,因此我们
不认为JMS是个RPC协议,但它确实是个远程通信协议,在其他的语言体系中也存在
着类似JMS的东西,可以统一的将这类机制称为消息机制,而消息机制呢,通常是高
并发、分布式领域推荐的一种通信机制,这里的主要一个问题是容错(详细见ErLang
论文)。
来看JMS中的一次远程通信的过程:
1. 客户端将请求转化为符合JMS规定的Message;
2. 通过JMS API将Message放入JMS Queue或Topic中;
3. 如为JMS Queue,则发送到相应的目标Queue,如为Topic,则发送给订阅了
此Topic的JMS Queue。
4. 处理端则通过轮训JMS Queue,来获取消息,接收到消息后根据JMS协议来
解析Message并处理。
根据原理来回答下之前学习应用级协议带着的几个问题:
1. 传输的标准格式:JMS规定的Message。
2. 如何将请求转化为传输的流:将参数信息放入Message中即可。
3. 如何接收和处理流:轮训JMS Queue来接收Message,接收到后进行处理,处
理完毕后仍然是以Message的方式放入Queue中发送或Multicast。
4. 传输协议:不限。
2.3 可选实现技术
当然,在上面的原理中并没有介绍到所有的java领域可选的远程通信协议了,例
如还有EJB采用的ORMI、Spring自己定义的一个简单的Http Invoker等等。
看完原理后我们再来看看目前java领域可用于实现远程通讯的框架或library,知
名的有:JBoss-Remoting、Spring- Remoting、Hessian、Burlap、XFire(Axis)、ActiveMQ、
MOM JMS 分布式 架构
Mina、Mule、EJB3等等,来对每种做个简单的介绍和评价,其实呢,要做分布式服务
框架,这些东西都是要有非常深刻的了解的,因为分布式服务框架其实是包含了解决
分布式领域以及应用层面领域两方面问题的。
当然,你也可以自己根据远程网络通信原理(transport protocol+Net IO)去实现自己
的通讯框架或library。
那么在了解这些远程通讯的框架或library时,会带着什么问题去学习呢?
1. 是基于什么协议实现的?
2. 怎么发起请求?
3. 怎么将请求转化为符合协议的格式的?
4. 使用什么传输协议传输?
5. 响应端基于什么机制来接收请求?
6. 怎么将流还原为传输格式的?
7. 处理完毕后怎么回应?
2.3.1 JBoss-Remoting
Jboss-remoting是由jboss编写的一个java领域的远程通讯框架,基于此框架,可
以很简单的实现基于多种传输协议的java对象的RPC。
1. 是基于什么协议实现的?
JBoss-Remoting是个通讯框架,因此它支持多种协议方式的通信,例如纯粹的
socket+io方式、rmi方式、http+io方式等。
2. 怎么发起请求?
在JBoss-Remoting中,只需将需要发起的请求参数对象传入jboss-remoting的
InvocationRequest对象即可,也可根据协议基于InvocationRequest封装符合需求的
InvocationRequest对象。
3. 怎么将请求转化为符合协议的格式的?
JBoss-Remoting基于Java串行化机制或JBoss自己的串行化实现来将请求转化
为对象字节流。
4. 使用什么传输协议传输?
支持多种传输协议,例如socket、http等。
5. 响应端基于什么机制来接收请求?
响应端只需将自己的处理对象注册到JBoss-Remoting提供的server端的
MOM JMS 分布式 架构
Connector对象中即可。
6. 怎么将流还原为传输格式的?
JBoss-Remoting基于java串行化机制或jboss自己的串行化实现来将请求信息
还原为java对象。
7. 处理完毕后怎么回应?
处理完毕后将结果对象直接返回即可,jboss-remoting会将此对象按照协议进行
序列化,返回至调用端。
另外,jboss-remoting支持多种通信方式,例如同步/异步/单向通信等。
2.3.2 Spring-Remoting
Spring-remoting是Spring提供java领域的远程通讯框架,基于此框架,同样也可
以很简单的将普通的spring bean以某种远程协议的方式来发布,同样也可以配置spring
bean为远程调用的bean。
1. 是基于什么协议实现的?
和JBoss-Remoting一样,作为一个远程通讯的框架,Spring通过集成多种远程
通讯的library,从而实现了对多种协议的支持,例如rmi、http+io、xml-rpc、binary-rpc
等。
2. 怎么发起请求?
在Spring中,由于其对于远程调用的bean采用的是proxy实现,发起请求完
全是通过服务接口调用的方式。
3. 怎么将请求转化为符合协议的格式的?
Spring按照协议方式将请求的对象信息转化为流,例如Spring Http Invoker是
基于Spring自己定义的一个协议来实现的,传输协议上采用的为http,请求信息是
基于java串行化机制转化为流进行传输。
4. 使用什么传输协议传输?
支持多种传输协议,例如rmi、http等等。
5. 响应端基于什么机制来接收请求?
…… 此处隐藏:2945字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




