`

spring-blazeds

阅读更多

http://www.riameeting.com/node/419

我们这次主要介绍的是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.zi

在对其文件结构和配置进行介绍前,我先介绍一下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客户端之间交换信息。

分享到:
评论

相关推荐

    flex-spring-blazeds demo

    《Flex-Spring-BlazeDS整合应用探索》 在当今的Web开发领域,富互联网应用程序(Rich Internet Applications,简称RIA)已经成为提升用户体验的重要手段。Flex作为Adobe提供的RIA开发框架,以其强大的图形用户界面...

    spring-blazeds结合项目源码

    通过分析这个`springblazeds`项目源码,你可以全面了解Spring和BlazDS的集成方式,以及如何利用它们创建高性能、易维护的RIA应用。这不仅有助于提升你的Java和Flex技术,还能帮助你在实际项目中解决类似问题。

    spring-blazeds-reference.rar_blazeds-bin-4._flex

    配置BlazeDS涉及到Spring上下文配置和BlazeDS配置文件(services-config.xml)。在Spring配置中,需要定义要公开的服务bean,并指定其AMF通道。在BlazeDS配置文件中,定义了通道集、目的地以及安全设置,确保数据...

    Flex-Spring-JAVA-BLAZEDS.rar_Flex spring_flex_flex java

    标题中的“Flex-Spring-JAVA-BLAZEDS.rar”提到了三个关键技术:Flex、Spring和BlazeDS,这在IT行业中是关于前端与后端交互的重要技术组合。Flex是Adobe开发的一种用于创建富互联网应用(RIA)的开源框架,主要用于...

    spring-flex集成-demo

    3. **Spring-BlazeDS Integration**:在Spring Flex项目中,通常会使用BlazeDS作为中间件,它是一个免费的数据和消息传递服务器,允许Flex客户端与Spring应用服务器进行通信。BlazeDS提供了Remoting和 Messaging服务...

    spring blazeds 整合实例(源码)

    - `spring-blazeds-101`:可能是一个基础教程或者示例,帮助初学者快速入门Spring与BlazeDS的整合。 - `traderdesktop`:可能是一个交易桌面应用的示例,演示如何在Flex界面上实现与Spring后端的数据交换。 - `...

    spring-flex-1.5.0.M2-dist.zip

    4. **SBI(Spring BlazeDS Integration)**:这是Spring Flex的一个重要组成部分,它提供了与Adobe BlazeDS的集成,BlazeDS是Adobe提供的一个免费服务器端套件,用于在Flex和Java应用之间传递数据。 5. **Flex构建...

    Spring整合flex-Spring BlazeDS Integration-带项目demo

    Spring BlazeDS Integration是Spring框架的一个组件,它提供了与Adobe Flex的无缝集成,允许后端Java服务与前端Flex客户端进行通信。这个项目demo提供了实际操作的例子,帮助开发者理解和实现Spring与Flex的结合。 ...

    flex-spring blazeds integration基本框架搭建记录

    《Flex-Spring BlazeDS 整合基础架构构建详解》 在现代Web开发中,富互联网应用程序(Rich Internet Applications,简称RIA)的需求日益增长,而Flex作为Adobe提供的RIA开发框架,因其强大的图形用户界面和与服务器...

    spring整合flex所需jar包

    - Spring-BlazeDS Integration:这是一个Spring项目,它提供了与BlazeDS的集成,使得配置Spring服务为Flex客户端可用变得更加简单。 - Proxy服务:在Spring中定义Proxy服务,这些服务会被BlazeDS暴露,供Flex...

    Spring BlazeDS Integration 1.0.0

    **Spring BlazeDS Integration 1.0.0** 是一个关键的框架,它为Spring应用程序与Adobe Flex客户端之间的通信提供了一种高效且灵活的解决方案。这个版本的发布标志着开发者可以更轻松地利用Flex的富互联网应用(RIA)...

    spring-flex-1.0.1.RELEASE

    1. `flex-messaging-spring`:这是 Spring Flex 的核心模块,它包含 Spring 与 BlazeDS/LCDS 之间的集成,提供 Spring 上下文到 BlazeDS 发布配置的映射。 2. `spring-flex-core`:这个模块包含了处理 Flex 与 ...

    Flex blazeds-spring

    Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring

    spring+blazeDS+flex4 例子

    《Spring、BlazeDS与Flex4的整合应用详解》 在现代Web开发中,构建交互性强、用户体验良好的富互联网应用程序(Rich Internet Applications, RIA)是开发者追求的目标。Spring、BlazeDS和Flex4的结合,正是实现这一...

    Spring BlazeDS Integration Spring集成BlazeDS

    **Spring BlazeDS Integration** 是一个强大的技术组合,它允许开发者使用Spring框架在后端服务器上进行业务逻辑处理,同时利用Adobe Flex在前端构建富互联网应用程序(RIA)。BlazeDS是Adobe提供的一种开源服务器端...

    spring-flex官方文档

    虽然之前也可以通过BlazeDS与Spring管理的服务进行交互,但Spring BlazeDS Integration提供了一个更高级别的解决方案,使得这种集成更加顺畅和高效。 ##### 1.2 运行Spring BlazeDS Integration的要求 为了运行...

    flex+spring+blazeds消息推送

    标题中的“flex+spring+blazeds消息推送”是指在开发富互联网应用程序(RIA)时,采用Adobe Flex作为前端UI框架,Spring作为后端服务层框架,BlazeDS作为数据通信中间件,实现服务器到客户端的消息实时推送功能。...

    spring-flex-core-1.5.0.M1.jar

    Spring BlazeDS Integration

    Flex Spring JAVA BLAZEDS整合

    【Flex Spring JAVA BLAZEDS整合】是一种技术实践,它将Adobe Flex的前端展示层与Spring框架的后端业务逻辑层紧密结合,利用BlazeDS作为中间件进行数据传输。Flex作为一个强大的RIA(富互联网应用程序)开发平台,常...

    spring-flex-reference

    ### Spring与BlazeDS集成参考指南 #### 一、Spring与BlazeDS集成概述 ##### 1.1 背景介绍 Spring框架一直致力于成为一个技术中立的平台,允许开发者自由选择客户端技术和架构风格来访问其核心服务。随着Flex和...

Global site tag (gtag.js) - Google Analytics