`
keren
  • 浏览: 1585060 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex BlazeDS体系结构图

    博客分类:
  • Flex
阅读更多
http://www.alisdn.com/wordpress/?p=578
【基于消息的框架】
  Blazeds使用基于消息的框架在客户端和服务端之间发送和返回数据。
  Blazeds在它们之间使用了两个交换模式:
  1,第一个模式是请求—响应模式,客户端发送请求给服务端处理。服务端返回处理结果给客户端。RPC Service就是使用这个模式。
  2,第二个模式是发布—订阅模式,即服务端发布消息设置,客户端订阅了去接收它们。Messaging Service使用这个模式将数据推给“感兴趣“的客户端。
BlazeDS整体结构图:

【BlazeDS提供了三种关键的服务】
1,Remoting Service。提供一种客户端直接调用服务器端java方法的方式。具体配置:remote-service.xml.
2,Message Service 。提供一种基于发布/订阅模式的消息服务,可以用于实现实时的数据推送或协作的flex应用。具体配置:message-service.xml.
3,Proxy Service。通过proxy service,使得flex应用可以实现安全的,受限的跨域访问, 也就是说它让您的Flex应用程序访问的服务可以处于不同的域,而不需要在目标域里配置crossdomain.xml权限文件。具体配置:proxy-config.xml.
BlazeDS服务是一个J2EE的web容器,Flex客户端通过channel发送一个请求,请求在BlazeDS服务端会到达一个endpoint,从endpoint开始,请求会通过一条Java对象处理链,包括:MessageBroker, service, destination, adapter,结构如下:
BlazeDS服务器端结构图:

【MessageBroker】
MessageBroker负责转发消息到service,接收到消息时,MessageBroker查看消息消息的destination,并把消息转发给目标service。如果destination有安全限制保护,在转发之前,MessageBroker会执行身份认证和授权检查。          MessageBroker的配置在BlazeDS应用的WEB-INF/flex/services-config.xml文件中
【Services 和 destinations】
Services 和 destinations在BlazeDS 服务中,是消息处理链的下一环节。
BlazeDS 包括四种一一对应的services 和 destinations:
1,RemotingService和RemotingDestination
2,HTPProxyService和HTTPProxyDestination
3,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 中配置
【destinations配置】
<destination id="shoppingCart"><properties><source>com.mark.pojo.shoppingCart</source><scope>session</scope></properties></destination>


desitnation节点的scrop属性的可选值为application、session和request,指定了远程对象实例作用域。
1,如果作用域为request,那么服务器会为每一次请求都创建一个远程Java对象实例,request是默认的作用域。
2,如果作用域是session,服务器则为每一个会话创建一个共享的远程Java对象实例。通常来说,连接服务器的每一个浏览器实例构成了一个会话。例如,如果我们启动Firefox来访问连接LiveCycle Data Service的Flex应用,启动的Firefox就是一个浏览器实例。在该Firefox浏览器中,如果打开其他标签页也访问同一Flex应用,那么这些应用就处于同一会话中,共享同一远程对象实例。
3,如果作用域是application,那么服务器则为每一个Flex应用创建一个远程的Java对象实例。

限制远程访问Java对象的某些方法:
有些时候,远程Java对象定义了许多公共方法,但是我们也许并不希望这些方法都开放给Flex应用。在这种情况下,可以通过include-methods属性定义允许访问的方法列表,如果Flex应用试图访问该列表外的方法就会导致异常,在客户端会调用fault事件。
<destination id="shoppingCart"><properties><source>com.mark.pojo.shoppingCart</source><scope>session</scope><include-methods><method name="purchaseItem"/><method name="deleteItem"/></include-methods><exclude-methods><method name="purchaseItem"/></exclude-methods></properties></destination>
【Adapters】
当一个消息到达正确的destination时,destination会把消息发到相应的一个Adapter。Destination与Adapter的对应关系如下:
RemotingDestination使用JavaAdapter
HTTPProxyDestination使用HTTPProxyAdapter或SOAPAdapter
MessageDestination使用ActionScriptAdapter或JMSAdapter

【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中配置.
【amf协议】Amt全称是action message format,它是一种二进制格式,专用于as和服务器端通讯,比http通讯要快很多,支持多种数据类型,如java,.net,php等。
BlazeDS客户端结构图:


其他参考:
Flex BlazeDS+Spring RemoteObject使用案例
http://keren.iteye.com/admin/blogs/376886
  • 大小: 20.9 KB
  • 大小: 17.1 KB
  • 大小: 16.1 KB
分享到:
评论

相关推荐

    Flex blazeds spring hibernate 增删改

    综上所述,这个压缩包提供了一个基于Flex、BlazeDS、Spring和Hibernate的图书管理系统示例,涵盖了前后端的完整交互,从用户界面到数据库操作。开发者可以借此学习如何整合这些技术,构建实时、高性能的Web应用。

    Myeclipse8.5+flex4.5+Blazeds+SSH环境搭建

    通过以上步骤,开发者可以构建一个完整的 Flex 前端与 Java 后端通过 BlazeDS 通信的 Web 应用系统,利用 SSH 框架处理业务逻辑,并通过 MySQL 存储数据。这种环境搭建对于开发复杂的富互联网应用程序非常有用。

    Flex+BlazeDS整合J2ee示例

    2. **BlazeDS**: BlazeDS是Flex与Java后端之间通信的桥梁,支持AMF(Action Message Format)协议,这是一种高效的数据交换格式,允许快速传输复杂的数据结构。BlazeDS还提供了HTTP和RTMP(Real-Time Messaging ...

    blazeds和flex整合

    4. **数据管理和状态控制**:通过BlazeDS,Flex应用可以管理复杂的数据结构和用户会话状态,实现高效的业务逻辑处理。 **整合过程** 1. **配置BlazeDS**:在服务器上安装并配置BlazeDS,将它与Java应用程序服务器...

    ecplice 中用Flex插件 BlazeDS 开发flex web应用

    BlazeDS是Flex和Java之间的桥梁,它支持AMF(Action Message Format)协议,这是一种高效的数据传输格式,可以将复杂的数据结构在客户端和服务器之间快速交换。BlazeDS还提供了LiveCycle Data Services(LCDS)的...

    Flex+blazeds+java发布/订阅聊天程序(带java工程)

    Flex+BlazeDS+Java发布/订阅聊天程序是一种基于客户端-服务器架构的实时通信解决方案,它结合了Adobe Flex的用户界面构建能力、BlazeDS的数据服务功能以及Java后端的强大处理能力,实现了高效的聊天应用程序。...

    Flex+BlazeDS

    Flex和BlazeDS是两种与富互联网应用程序(Rich Internet Applications, RIA)开发密切相关的技术。Flex是由Adobe公司推出的基于ActionScript的开放源代码框架,主要用于构建交互性强、图形丰富的Web应用程序。...

    Flex4+BlazeDS整合 项目源码

    - **源码包结构**:源码包可能包含Flex的MXML和ActionScript文件,BlazeDS的相关配置文件,以及Java后端的服务接口和实现。 - **代码逻辑**:通常会看到ActionScript代码中与Java服务交互的部分,如RemoteObject或...

    Flex+BlazeDS+Spring+Hibernate

    Flex+BlazeDS+Spring+Hibernate 是一个经典的前端与后端集成方案,广泛应用于构建富互联网应用程序(Rich Internet Applications,RIA)。在这个框架组合中,Flex 作为用户界面层,提供了丰富的交互体验;BlazeDS ...

    spring+blazeDS+flex4 例子

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

    Spring MVC+BlazeDS+Flex框架实践

    Spring MVC、BlazeDS和Flex是构建富互联网应用程序(Rich Internet Applications, RIA)的三个关键技术,它们在现代Web开发中扮演着重要角色。本文将深入探讨这些技术的结合使用,以及如何通过它们来实现高效的前后...

    Flex-Spring-JAVA-BLAZEDS.rar_Flex spring_flex_flex java

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

    flex通过blazeds与java集成增删改查

    Flex是一种开源的富互联网应用程序(RIA)开发框架,主要用于创建交互性强、用户体验良好的桌面和移动应用。BlazDS是Adobe提供的一个服务器端数据服务组件,它使得Flex客户端能够与Java后端进行无缝通信,实现数据的...

    flex4+blazeDS+spring+ibatis开发教程

    ### Flex4+BlazeDS+Spring+iBatis 开发教程详解 #### 一、富互联网应用(RIA)概念与背景 ##### RIA定义 富互联网应用(Rich Internet Application,简称RIA)是一种新兴的应用程序形式,它结合了客户端与服务器端...

    Flex+Eclipse+BlazeDS+JDK+Tomcat开发实例

    【Flex+Eclipse+BlazeDS+JDK+Tomcat开发实例】是一个典型的BS架构(Browser-Server,浏览器-服务器)的开发配置,用于构建富互联网应用程序(RIA)。在这个实例中,我们将详细介绍如何整合这些组件来创建一个用户...

    Flex4.X+BlazeDS+Spring3L实战开发在线书店三

    《Flex4.X+BlazeDS+Spring3 实战开发在线书店》是一门深入探讨使用Adobe Flex 4.6、BlazeDS、Spring 3框架以及Java相关技术进行Web应用程序开发的课程。这门课程旨在帮助开发者掌握如何构建功能丰富的、交互性强的...

    flex+Cairngorm+blazeds整合.doc

    总结起来,Flex + Cairngorm + BlazeDS的整合涉及到项目配置、服务设置、目录结构规划以及Cairngorm模型的实现。这种整合方式使得前端Flex应用能够高效地与Java后端进行数据交互,同时利用Cairngorm的MVC架构,提高...

    Flex pureMVC blazeDS j2ee Spring3.0+Hibernate3.0

    总的来说,"Flex pureMVC blazeDS j2ee Spring3.0+Hibernate3.0"这个项目结合了多种技术,实现了从前端到后端的完整应用开发流程,展示了如何利用现代Web技术构建高效、灵活的多层架构系统。通过这样的组合,开发者...

Global site tag (gtag.js) - Google Analytics