BlazeDS是一组服务器端的通讯服务,它能够使得运行在浏览器的 Adobe Flex 应用程序服与服务器端的 Java 应用程序相互通信。
Blazeds使用基于消息的框架在客户端和服务端之间发送和返回数据。
Blazeds在它们之间使用了两个交换模式。第一个模式是请求---响应模式,客户端发送请求给服务端处理。服务端返回处理结果给客户端。RPC Service就是使用这个模式。
第二个模式是发布—订阅模式,即服务端发布消息设置,客户端订阅了去接收它们。Messaging Service使用这个模式将数据推给“感兴趣“的客户端。
-
Blazeds特征
-
如图,BlazeDS提供了三种关键的服务。
Remoting Service。提供一种客户端直接调用服务器端java方法的方式。
Message Service 。提供一种基于发布/订阅模式的消息服务,可以用于实现实时的数据推送或协作的flex应用。
Proxy Service。通过proxy service,使得flex应用可以实现安全的,受限的跨域访问, 也就是说它让您的Flex应用程序访问的服务可以处于不同的域,而不需要在目标域里配置crossdomain.xml权限文件。
BlazeDS 客户端使用BlazeDS提供的基于消息的框架与服务器通讯。消息框架的客户端部分是Channels,Channels封装了flex客户端与BlazeDS服务器的连接。
下图是BlazeDS客户端的结构图
Flex 通讯组件
Flex提供了RemoteObject,HTTPService,WebService,Producer,Consumer
等可以与BlazeDS通讯的组件,这些组件都包含在了Flex SDK中,是Flex组件库的一部分。
Channels Set
Channels封装了Flex组件与BlazeDS服务之间的连接,是处于Flex组件之下的一个通讯层。
BlazeDS提供了AMFChannel和HTTPChannel。Flex客户端可以使用不同类型的Channel与服务器通讯。
Channel是在services-config.xml中配置,下面是一个AMFChannel的配置:
<channels>
...
<channel-definition id="samples-amf" type="mx.messaging.channels.AMFChannel">
<endpoint url="http://localhost:8400/myapp/messagebroker/amf" type="flex.messaging.endpoints.AMFEndpoint"/>
</channel-definition>
</channels>
amf协议。Amt全称是action message format,它是一种二进制格式,专用于as和服务器端通讯,比http通讯要快很多,支持多种数据类型,如java,.net,php等。
BlazeDS服务是一个J2EE的web容器,Flex客户端通过channel发送一个请求,请求在BlazeDS服务端会到达一个endpoint,从endpoint开始,请求会通过一条Java对象处理链,包括:MessageBroker, service, destination, adapter,结构如下:
MessageBroker
MessageBroker负责转发消息到service,接收到消息时,MessageBroker查看消息消息的destination,并把消息转发给目标service。如果destination有安全限制保护,在转发之前,MessageBroker会执行身份认证和授权检查。 MessageBroker的配置在BlazeDS应用的WEB-INF/flex/services-config.xml文件中
Services 和 destinations
Services 和 destinations在BlazeDS 服务中,是消息处理链的下一环节。
BlazeDS 包括四种一一对应的services 和 destinations:
RemotingService和RemotingDestination
HTPProxyService和HTTPProxyDestination
MessageService和MessageDestination
不同的Flex组件的请求是由不同的Services和destinations进行处理的,对应关系如下:
HTTPService 和WebService与HTTPProxyService/HTTPProxyDestination
RemoteObject 和RemotingService/RemotingDestination
Producer /Consumerhe和MessageService/MessageDestination
services 和 destinations 可以在services-config.xml配置, 但是最好的做法是分别在下面的文件中进行配置:
RemotingService 在remoting-config.xml 中配置
HTTPProxyService 在the proxy-config.xml中配置
MessageService 在messaging-config.xml 中配置
Adapters
当一个消息到达正确的destination时,destination会把消息发到相应的一个Adapter。Destination与Adapter的对应关系如下:
RemotingDestination使用JavaAdapter
HTTPProxyDestination使用HTTPProxyAdapter或SOAPAdapter
MessageDestination使用ActionScriptAdapter或JMSAdapter
• 下载Blazedshttp://www.alisdn.com/wordpress/?paged=2
• 解压到tomcat的webapps目录下
• 启动tomcat
• 访问http://127.0.0.1:8080/ds-console/
加入blazeds\WEB-INF\lib\下的jar包
复制blazeds\WEB-INF\flex下的文件到项目的WEB-INF/flex目录下,包括:
messaging-config.xml
proxy-config.xml
remoting-config.xml
services-config.xml
在web.xml文件中定义MessageBrokerServlet 和 session listener
分享到:
相关推荐
1. BlazeDS 介绍 BlazeDS 是一款开源的服务器端组件,它提供了与 Flex 和 Adobe AIR 应用程序之间的高效数据通信。BlazeDS 支持 AMF(Action Message Format),这是一种二进制协议,相比于基于文本的协议如 SOAP,...
1. **BlazeDS介绍**:BlazeDS是Adobe Flex架构的一部分,它是一个开源服务器端技术,用于在Flex客户端和Java服务器之间进行数据交换。它支持AMF(Action Message Format)协议,这种二进制格式能高效地传输数据,...
三、BlazeDS介绍 BlazeDS是Adobe提供的开源项目,它为Flex应用程序提供了与Java后端服务通信的能力,支持AMF(Action Message Format)协议,以高效、低带宽的方式传输数据。BlazeDS通过HTTP和WebSocket协议与服务器...
二、BlazeDS介绍 BlazeDS是Flex和Java之间的桥梁,它支持AMF(Action Message Format)协议,这是一种高效的数据传输格式,可以将复杂的数据结构在客户端和服务器之间快速交换。BlazeDS还提供了LiveCycle Data ...
- 本文档未详细介绍安装过程,请参考官方文档或其他资源完成安装步骤。 #### 四、入门教程 1. **新建Flex LCDS工程** - 使用Eclipse打开FlexBuilder 3并创建新的Flex项目(File -> New -> Flex Project…)。 - ...
本文将详细介绍Blazeds的核心概念、功能以及如何使用它。 Blazeds,全称BlazeDS,是Adobe Flex和后端服务器之间进行数据交换的一种解决方案。它的主要目标是提供灵活的数据集成,使Flex前端可以与Java后端服务进行...
1. `blazeds-turnkey-readme.htm`:这是项目的基本使用指南,详细介绍了如何配置和运行BlazeDS Turnkey,包括系统需求、安装步骤和启动方法。对于初学者来说,这是一个很好的起点,能够快速上手项目。 2. `samples....
整合开发Flex、MyEclipse和Blazeds的过程涉及到了多种技术的融合,下面将详细介绍这一过程所包含的关键知识点。 首先,了解JDK环境的配置。JDK是Java开发的基础,其环境配置包括安装JDK、设置JAVA_HOME环境变量、...
这篇教程不仅详细介绍了创建项目的过程,还涵盖了如何整合与部署J2EE项目和LCDS项目,以及如何掌握基本的RemoteObject请求和配置方法。以下是根据教程内容整理的关键知识点。 #### 二、基础知识概述 1. **Flex**:...
本文将详细介绍Blazeds的配置步骤以及相关的源码分析。 **一、Blazeds配置步骤** 1. **下载与安装**: 首先,你需要从Adobe官方网站或者第三方资源下载Blazeds的安装包。解压后,你会得到一个包含多个文件夹和文件...
2. **BlazeDS介绍**: BlazeDS是Adobe提供的一个免费服务器端组件,它提供了与Flex客户端进行AMF通信的能力。BlazeDS支持HTTP和RTMP(Real-Time Messaging Protocol)协议,使得Flex应用可以轻松地与Java应用进行...
本文将详细介绍BlazeDS的安装与配置过程,帮助开发者快速上手并有效利用这一工具。 #### 一、BlazeDS安装前的准备 在开始BlazeDS的安装之前,确保以下环境已经搭建好: 1. **Java运行环境**:确保系统中已安装...
"blazeds-bin-readme.htm"可能是包含BlazeDS安装指南和使用说明的文件,通常会介绍如何部署BlazeDS服务器,如何配置Web应用程序服务器,以及如何创建和调用远程服务等信息。开发者可以通过阅读这个文件快速了解如何...
BlazeDS、Flex和Tomcat是Java服务器端与富互联网应用程序(RIA)客户端之间通信的重要技术组合。在J2EE环境中,这种集成提供了一种高效、动态的方式,以实现数据的实时双向传输,增强了Web应用的用户体验。下面将详细...
然后,教程会介绍如何在Java后端创建服务。这通常涉及创建Java类和使用Spring框架来管理服务。BlazeDS通过服务暴露这些Java方法,使得Flex客户端可以通过AMF调用它们。这一步骤对于理解客户端和服务器之间的数据交换...
本篇笔记主要介绍了如何将 Flex4、Blazeds4.0、Spring3.0 和 hibernate2.5.2 进行整合,实现一个完整的富互联网应用程序。下面是对笔记中关键部分的详细解释: 准备工作 在开始整合之前,需要准备以下软件和资源:...
8. **监控和调试**:介绍如何使用Log4j日志系统进行调试,以及使用Flex Management Console监控BlazeDS服务的运行状态。 9. **最佳实践**:提供关于设计、开发和部署BlazeDS应用的建议,帮助开发者遵循最佳实践,...