Spring与BlazeDS的整合之BlazeDS介绍(2)

来自于:http://www.riameeting.com

 

我们这次主要介绍的是BlazeDS,基于Java的一个AMF实现。也是Adobe 官方给出的一个开源实现。
源码SVN:
http://opensource.adobe.com/svn/opensource/blazeds/
下载带Tomcat服务器的整合包,解压后可以直接运行,体验例子:
http://flexorg.wip3.adobe.com/blazeds/3.0.x/milestone/3978/blazeds-turnkey-3.2.0.3978.zip
下载部署包,仅仅源码所必须的内容:
http://flexorg.wip3.adobe.com/blazeds/3.0.x/milestone/3978/blazeds-bin-3.2.0.3978.zip

在对其文件结构和配置进行介绍前,我先介绍一下BlazeDS的结构。 这个图翻译自Adobe的BlazeDS官方文档


在BlazeDS中,其结构被设计为多层的传递式构建。

端点(Endpoint) (在MessageBrokerServlet中实现)

我们一般可以看到,BlazeDS暴露的Endpoint有几种

  1. 提供远程方法调用的
    这种endpoint是最常见的一种endpoint,其默认形式是 /messagebroker/amf 或者如果通过https协议访问则是/messagebroker/amfsecure
  2. 提供普通http服务端
    普通HTTP服务其是就是我们最常见的一些以xml形式或者逗号分割符的形式返回纯文本内容的形式。这里不加详细分析 其默认访问形式  /messagebroker/http 或者 /messagebroker/httpsecure
  3. 提供消息流的
    所谓消息流其实是Steaming, 他的含义通过标准的HTTP协议,提供防火墙穿透力很强的即时信息服务。其实现原理是客户端发出一个HTTP请求,服务器会将这个http请求放入休眠状 态。由于http协议的特性,一个请求如果没有返回,则这个请求的tcp/ip连接是保持的。 当服务器端有消息的时候,他会激活这个睡眠的线程请求,让其返回。客户端收到这个返回后,会重新发出一个新的请求,用于取出服务器上的消息。然后重复等 待。这个endpoint的形式一般为 /messagebroker/streamingamf
  4. 提供服务器polling的.
    polling也就是我们所说的刷服务器法。 每隔一定的时间间隔,刷新服务器去获取新的消息更新。这个方法跟steaming方式的不同在于,其效率比steaming低,而且他没有steaming提供的消息即时性好。

 

 

服务(Services)

我们看到,一个来自客户端的请求,通过MessageBrokerServlet捕获后,根据请求服务种类,转交给不同服务。

这里有

  1. 远程方法调用服务
    远程方法调用也就是我们最常用的一种服务调用方式,其作用是在Flex客户端调用服务器上的某个方法,取得其返回结果。
  2. 代理服务
    代理服务应该用在某些特殊场合,比如客户端需要调用企业内部的某个服务器上的webservice,而客户端又处于企业防火墙外部,这种情况下,通过 BlazeDS的代理服务,可以让客户端通过BlazeDS服务器(位于企业防火墙之内而又暴露了对外访问的服务器),去访问防火墙内部的某个服务。 另外,当遇到某些服务需要跨域策略文件(crossdomain,xml)的时候,可以通过代理来实现。
  3. 消息服务
    消息服务主要是为Flex客户端提供一个健壮的消息服务接口,你可以通过JMS适配器直接和一些企业级的消息服务器直接连接。

目标(Destination)

目标其实是一个请求的目标:

对于常用的远程方法调用来说,其目标(destination)就是某个特定的java服务,或者某个特定的配置好的Java类

对于代理目标来说,则是定义好的代理种类,比如说普通HTTP代理还是基于WebService的代理

对于消息目标来说,则是某个特定的消息服务种类。

 

适配器(Adapter)

适配器的作用是提供多种实现来提供某种特定的服务

对于远程调用来说,BlazeDS提供了一个默认的JavaAdapter.这个适配器允许你调用服务器上的一个Java类,实际上,还有EJBAdapter,他可以让你的远程调用服务调用一个EJB的方法。

对于代理服务来说,一个不同的适配器意味着你可以访问不同种类的代理资源,这里的例子是基于普通HTTP的代理以及基于SOAP的代理

对于消息服务来说,如果提供JMS适配器,则能让你连接到标准的JMS服务器来交换消息。如果提供一个Actionscript适配器,则可以让你在你的Flex客户端之间交换信息。

python023基于Python旅游景点推荐系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值