BlazeDS 是一个基于服务器的 Java 远程控制 (remoting) 和 Web 消息传递 (messaging) 技术,以LGPL(Lesser GNU Public License)公共许可证书发布。它能够使得后端的 Java 应用程序和运行在浏览器上的 Adobe Flex 应用程序相互通信。在Java应用服务器上,它以servlet的形式存在, 因此可以在任何标准Java网络应用中运用它。
blazeDS是一套面向actionscript的前后台通信框架。
在服务器端,blazeDS以servlet的方式存在于java应用服务器上。它默认提供3中服务,远程调用(在remoting-config.xml中配置)、访问代理(proxy-config.xml)、消息服务(messaging-config.xml),同时框架允许你添加自定义的服务(在services-config.xml中配置)。
在客户端,blazeDS提供了RemoteObject、HttpServcie、WebService,Product和Comsumer等组件来提供访问服务器端数据的能力,其中RemoteObject、Product和Comsumer是以amf协议来交换数据的,而HttpServcie和WebService则采用的是比较通用的访问协议,可以用来访问非blazeDS服务器(即普通的web服务器)。
那么服务端和客户端如何关联起来呢?答案是通过destination和channel、endpoint。
首先要在服务器端定义需要的destination,根据destination所属的service类别不同,应该把destination定义在不同的配置文件里(remoting-config.xml或proxy-config.xml或messaging-config.xml)。同时为destination指定channel(如果不指定,就会使用默认的channel)。
在客户端的代码中只需要为你的组件(比如RemoteObject)指定destination和取得数据后的回调函数就行了,剩下来的就是编译器的事情了。Flex为你隐藏了channel的调用。所以你需要写的代码很少。
服务端的结构图如下:
客户端的结构图如下:
如果做个helloworld的例子,网上很多,blazeDS自带的examples也很典型。这里就不累诉了。相信有一定经验的初学者都能很快上手。需要强调的是,blazseDS客户端工程的特殊之处是它的编译依赖于服务端程序的4个配置文件,就是之前其提过的services-config.xml 、remoting-config.xml、proxy-config.xml、messaging-config.xml(都位于服务端工程的WEB-INF\flex目录下),同时编译参数Context Root必须设置正确。编译错了,程序再对也出不来结果的,呵呵。
介绍了blazeDS的结构体系,下面来分析下我们能用blazeDS来做什么呢?
这个就要中blazeDS所提供的3种服务来分析了。
1. 远程调用。其实框架在这里起到的作用和struts等服务端的框架差不多,都是任务分配的功能,只不过blazeDS支持客户端直接对象调用,一方面提高了数据传输速度,另一方面省了在客户端写url,但是它需要编译客户端的时候关联服务端配置文件,烦!综合考虑优缺点,这个功能还是值得使用的。
2. 访问代理。能够提供权限控制,和跨域访问的能力。这个任何web服务器都能做到(加httpClient转发么),没什么特殊之处。
3. 消息服务。这个正式blazeDS 牛的地方,它能向普通的浏览器客户端页面推送数据,而不需要建立socket链接。这个应用在很多地方都有用到,比如股票信息即时刷新,在线聊天等等需要实时数据推送的场景。
我的想法是,如果是一个全新的完整的flash应用项目,那么用blazeDS的框架是一个不错的选择。如果是要在原有的javaWeb系统上增加功能的话,还是仅仅用一下blazeDS的消息推送服务就可以了,毕竟用flex直接访问http也很方便。
- 大小: 22.4 KB
- 大小: 21.7 KB
分享到:
相关推荐
8. **源码分析**:在给出的博文链接中,作者可能会分享关于项目源码的解析和实现细节,包括组件设计、数据访问、服务调用等方面,这对于理解Flex BlazeDS项目的具体实现非常有帮助。 综上所述,Flex BlazeDS Java...
标签中的“源码”可能意味着博客内容会深入到源代码级别,讨论如何解析和理解Flex和BlazeDS的内部工作原理,以及如何自定义或扩展它们的功能。而“工具”可能涵盖了使用Flex Builder或命令行工具进行开发的相关知识...
《Flex与BlazeDS通信详解及源码解析》 在开发富互联网应用程序(RIA)时,Flex和BlazeDS的结合提供了强大的数据通信能力。本文将深入探讨如何利用BlazeDS进行Flex与后台Java服务的交互,以及相关的环境配置和代码...
BlazeDS是Flex的配套服务器组件,它允许Flex应用通过AMF(Action Message Format)与Java应用程序进行高效的数据通信。BlazeDS不仅支持远程方法调用(RPC),还支持发布和订阅消息模型,使得实时数据同步成为可能。...
在本文中,我们将探讨如何使用Flex通过BlazeDS与Java进行通信,并以“HelloWorld”为例进行详细步骤的解析。Flex是一种用于构建富互联网应用程序(RIA)的框架,而BlazeDS是Adobe提供的一个开放源代码服务器端技术,...
根据给定的文件信息,以下是对“flex+blazeds搭建环境步骤”的详细解析与扩展,旨在帮助读者深入了解Flex与BlazeDS集成的过程及其在Web开发中的应用。 ### Flex与BlazeDS概述 Flex是一种用于构建和维护客户端应用...
BlazeDS是Adobe提供的一个免费服务器端数据服务组件,它允许Flex客户端与Java后端进行实时双向通信,支持AMF(Action Message Format)协议,提高了数据传输效率。 在Flex中,文件上传通常涉及到以下知识点: 1. *...
而 BlazeDS 是一款免费的服务器端 Java 软件,它作为 Flex 应用程序与 Java 后端服务之间通信的桥梁,实现了高效的数据交换与实时消息传递。 #### 二、Flex 与 BlazeDS 的结合优势 1. **高性能通信**:通过 ...
- **BlazeDS**:Adobe BlazeDS是一个开源远程服务和消息传递框架,主要用于实现Flex或AIR客户端与Java后端之间的通信。它可以提供低延迟的数据推送和远程对象调用能力。 #### 二、BlazeDS工作原理详解 1. **通道...
五、Flex与Ruby的通信:Ruby社区中的Gem如BlazeDS Ruby Adapter或Red5 Ruby Gateway允许Flex与Ruby应用通过AMF进行通信。 六、Flex与RESTful API的通信:Flex内置的HTTPService组件也能够很好地处理与RESTful服务的...
BlazeDS是Adobe提供的开源项目,它为Flex应用程序提供了与Java后端服务通信的能力,支持AMF(Action Message Format)协议,以高效、低带宽的方式传输数据。BlazeDS通过HTTP和WebSocket协议与服务器进行通信,并提供...
- Flex客户端调用:通过HTTPService组件发送SOAP请求,解析返回的SOAP响应。 在Flex中,我们还需要关注以下几点: - RemoteObject组件:提供与服务器进行AMF通信的便捷方式,可以自动映射Java对象到Flex对象。 - ...
Flex SDK中的BlazeDS或LCDS服务可处理AMF通信,使Flex客户端能够与Java后端通过HTTP或RTMP协议交换数据。 2. ** BlazeDS服务配置** 要配置BlazeDS服务,首先需要在Java服务器上部署BlazeDS库,然后创建Message...
除了Spring的配置之外,还需要配置BlazeDS相关的XML文件来支持与Flex客户端的通信,如`services-config.xml`和`remoting-config.xml`等。 #### 五、总结 通过本文的介绍,我们可以了解到Spring、BlazeDS和Flex的...
尤其要注意的是,选中LiveCycle Data Services选项,以启用Blazeds的支持,这是实现Flex与Java后端通信的关键组件。 ### Java 作为整个技术栈的核心语言,Java提供了强大的后端处理能力。在配置项目时,需确保...
而BlazeDS是Adobe官方提供的一个轻量级中间件,用于实现在Flex和Java后端之间的数据通信。本教程将深入讲解如何在已有的Flex3基础上集成BlazeDS3.2,实现基于RPC模式的消息传递,让Flex应用程序能够调用后端服务方法...
- ** BlazeDS服务**:Adobe的BlazeDS是Flex与服务器端通信的主要桥梁,它提供了一套轻量级的消息传输协议,包括AMF(Action Message Format)和Remoting,使得客户端与服务器之间的数据交换更为高效。 - **AMF**:...