`
neatchenheng
  • 浏览: 25239 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

BlazeDS架构分析

阅读更多

     BlazeDS应用程序包括客户端应用程序和服务端应用程序两部分。客户端应用程序通过特定的通道(channels)与服务端应用程序进行通信。其基本原理图如下所示:

BlazeDS

 

 一、客户端架构

      (Flex Components )

           RemoteObject : 远程对象

           HTTPService :HTTPService

           WebService :WebService

           Producer :生产消息

           Consumer :消费消息

      (Channel Set)

           通道封装了客户端与服务端沟通的细节。关于通道的定义请参考附件中的services-config.xml文件。

       (Messages)

客户端与服务端交互的数据都是以一定格式的Message来封装的。常用的Message有:       RemotingMessage,AcknowledgeMessage,CommandMessage,AsyncMessage等。例如客户端的RemoteObject将客户端数据序列化封装成RemotingMessage通过合适的通道发送给服务器,服务器通过终端(Endpoint)反序列化RemotingMessage中的数据进行业务处理,然后序列化数据为AcknowledgeMessage,并封装到客户端组件的ResultEvent中。

 

 

二、服务端架构

BlazeDS应用的服务端包含在一定的JavaEE WEB应用中。客户端产生一个请求(Request)

并能过合适的通道(channel)路由到服务端合适的终端(endpoint);到达终端以后,请求再通过包含了MessageBroker,Service,Destination,Adapter 这些类的处理链处理,最后请求转化为合适的Adapter类,而这些类可以被服务端Java应用程序处理。响应结果在服务端被封装序列化成客户端能够识别的数据格式。

 

 (Endpoint)

Endpoint包含在JavaEE Servlet容器中,并由MessageBrokerServlet引导管理。客户端应用通过channel与服务端的endpoint通信。所以channel和endpoint必须使用同样的消息格式。例如AMFChannel必须与AMFEndpoint映射。

  (MessageBroker

      MessageBroker检查endpoint的目标并路由到正确的服务类。

  (Service And Destinations

RemotingService and RemotingDestination

HTPProxyService and HTTPProxyDestination

MessageService and MessageDestination

 

Destination是Service的实例,客户端组件通过指定destination 来调用对应的 Server实例。

   (Adapters and assemblers

RemotingDestination uses JavaAdapter

HTTPProxyDestination uses HTTPProxyAdapter or SOAPAdapter

MessageDestination uses ActionScriptAdapter or JMSAdapter

 

适配器类主要是将客户端请求转换为正确定的对象,以方便服务端处理。

 

下面附主要的配制文件(见附件中的web.xml,Messaging-config.xml,Proxy-config.xml,Remoting-config.xml)

 

 

 

 

 

 

 

 

 

 

  • 大小: 38.5 KB
  • 大小: 43.9 KB
分享到:
评论

相关推荐

    Professional BlazeDS

    1. **BlazeDS架构**:介绍BlazeDS的基本组成,包括Remoting服务、MessageBrokering服务以及LiveCycle Data Services扩展。 2. **配置与部署**:讲解如何在Java EE环境中配置和部署BlazeDS,包括Spring集成、Tomcat...

    Spring-Flex架构分析

    《Spring-Flex架构分析》 在现代Web应用开发中,Spring框架因其强大的依赖注入和面向切面编程特性,成为Java企业级应用的首选。而Flex作为Adobe提供的富互联网应用程序(RIA)开发平台,以其丰富的用户界面和交互性...

    BlazeDS开发者指南.rar

    通过实际项目案例,学习如何设计和实现一个完整的BlazeDS解决方案,从需求分析到系统架构,再到代码编写和测试。 总的来说,“BlazeDS开发者指南”涵盖了BlazeDS的基础概念、核心功能、配置方法、集成策略、性能...

    Spring blazeDS

    #### 六、Spring与BlazeDS集成案例分析 1. **远程调用**:Spring框架可以作为后端服务提供者,通过BlazeDS的远程调用机制向Flex客户端暴露业务逻辑。 2. **数据传输**:利用BlazeDS支持的AMF协议优化数据传输效率。 ...

    Flex4+BlazeDS整合 项目源码

    - **数据绑定**:Flex4应用可以通过BlazeDS与Java后端进行数据绑定,实现模型-视图-控制器(MVC)架构。 - **Remoting**:BlazeDS提供Remoting服务,使Flex客户端可以直接调用Java后端的业务逻辑方法。 - **消息...

    Spring MVC+BlazeDS+Flex框架实践

    Spring MVC是Spring框架的一部分,它是一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。Spring MVC提供了灵活的模型绑定、数据验证、本地化支持以及与其他Spring组件的无缝集成,使得开发者能够更专注于业务...

    FLEX——blazeDS原理.pdf

    2. **后端架构**:采用Java作为后端开发语言,部署在Tomcat服务器上。 3. **通信协议**:考虑到实时性要求较高,选择使用BlazeDS的AMFChannel进行通信。 4. **服务配置**: - **LoginService**:与**...

    Flex4+blazeds+JAVA+JDBC+mysql

    在这个架构中,Flex4作为客户端的展示层,BlazeDS作为服务器端的数据通信中间件,Java处理业务逻辑和数据访问,而JDBC则用于Java与MySQL数据库之间的数据交互。以下将详细阐述这个技术组合的关键知识点: 1. **Flex...

    RIAs with Java, Spring, Hibernate, BlazeDS, and Flex

    #### 技术栈分析 1. **Java**: 是一种广泛使用的编程语言,尤其适用于构建企业级应用。Java 提供了一个跨平台的环境,使得开发者能够编写一次,在任何支持 Java 的平台上运行。 2. **Spring Framework**: 是一个...

    Flash Builder 4 + BlazeDs + Spring + Hibernate + Cairngorm开发框架

    它提供了强大的代码编辑、调试和性能分析功能,使得开发者可以更高效地编写ActionScript和MXML代码,构建具有交互性和动态性的前端用户界面。 BlazeDs是Adobe提供的一个开源服务器端技术,它充当了Flex客户端与Java...

    FlexAPI在企业计算环境中的应用

    2. **松散耦合集成**:Flex+Blazeds架构可以轻松地与现有的系统进行集成,不论后者使用的是哪种框架,如Struts或Spring等,都能够实现平滑过渡。 3. **现有系统的升级价值**:即使已经存在使用其他技术栈构建的应用...

    Flex体系架构剖析

    Flex Builder是基于Eclipse的集成开发环境(IDE),为Flex开发提供了强大的代码编辑、调试和性能分析功能。它集成了Flex SDK,并提供了图形化组件拖放设计、代码提示、自动格式化等功能,极大地提高了开发效率。 五...

    Blazds三个war包

    通过运行和分析这些示例,开发者可以深入理解BlazDS的工作原理,从而更好地利用其特性来构建实际项目。 在实际应用中,BlazDS常用于企业级的Flex项目,因为它提供了高效的数据同步机制,使得Flex客户端可以实时获取...

    Flex体系架构深度剖析

    6. ** BlazeDS**:BlazeDS是Adobe提供的一个服务器端技术,用于与Flex客户端进行数据通信。它提供了AMF(Action Message Format)协议,使数据传输更高效,支持实时双向通信。 7. **数据绑定**:Flex中的数据绑定...

Global site tag (gtag.js) - Google Analytics