热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

构建Flex数据服务程序

构建Flex数据服务程序当我们使用Flex数据服务来开发程序,我们利用加强的数据服务体系结构。这个话题包含Flex数据服务的一个概览。关于Flex数据服务我们通过添加
构建Flex数据服务程序

当我们使用Flex数据服务来开发程序,我们利用加强的数据服务体系结构。这个话题包含Flex数据服务的一个概览。

关于Flex数据服务
我们通过添加Flex数据服务构建基于FlexSDK的功能的程序。Flex数据服务包含企业信息支持,以及一个加强的数据服务体系。这些特性可以使得我们创建与部署充分利用Flex所提供的丰富的表现层的企业类程序。
Flex数据服务在我们的Java程序服务器上或是Java容器上执行,在下列特性上提供功能:
加强的数据服务
多个客户端的数据共享
客户到客户的数据通信支持
自动的服务器数据增加
客户访问服务器资源的认证
数据服务日志
加强的远程过程调用(RPC)功能

关于Flex数据管理服务
Flex数据管理服务是一个Flex数据服务特性,可以让我们创建使用发布的数据进行工作的程序。这个特性可以让我们构建提供数据同步,数据复制以及偶而连接程序服务器等功能的程序。另外,我们可以管理数据的大量连接以及嵌入的数据关系,例如一对一和一对多的关系,并且使用数据适配器来与数据源进行集成。
数据管理服务,消息服务以及Flex数据服务的RPC服务都是基于底层的消息部件的,如下图所示:

消息部件可以让一个Flex程序与消息目的地进行连接,向其发送消息,以及从其他的消息客户接收消息。这些消息客户端可以是Flex程序或是者是其他类型的客户端,例如Java消息服务(JMS)客户端。JMS客户端可以发布以及向同一个Flex程序消息目的地进行订阅。这意味着Flex程序可以在Java客户端程序之间进行消息交互。
消息部件使用一个服务器端消息服务和一个在Flex客户端程序的相应消息API。Flex客户端程序通过一个服务器上的端点集合来发送消息,消息服务然后将这些消息发送到一个主题。消息服务然后将这些消息广播回端点,然后发送到订阅这个主题的客户端程序。
Flex数据服务同时提供作为Flex消息服务的消息部件,这样我们就可以充分利用他来创建自己的程序。

关于Flex消息服务
Flex消息服务是建立在已建立的消息标准和术语上的。Flex消息服务提供了一个客户端API以及一个相应的服务器端消息服务用来创建Flex消息程序。消息服务同时也可以参与Java消息服务(JMS)。
消息系统通过在消息服务中传递称之为消息的数据包返回与前进,使得单个的程序平等的异步的进行交流。一个消息通常由一个消息头与一个消息体组成。消息头包含标识与路由信息。消息体包含程序数据。
发送消息的程序称之为生产者,而接收消息的程序称之为消费者。在大多数的有意义的系统中,生产者与消费者并不需要了解彼此的任何任何东西。生产者发送消息到指定的消息目的地,而消息服务器将这些消息转发到合适的消息消费者。
消息通道将生产者与消费者连接到消息目的地。要在一个特定的通道上发送消息,程序连接到与消息通道相关的消息端点上。消息端点是负责将消息数据编码为消息的代码,并且将消息解码为消费者可以用的格式。在一些消息系统中,一个端点可以将解码的消息发送到一个消息中介,然后消息中介将这些消息转发到合适的目的地。
消息适配器是扮演Flex消息服务与其他的消息系统之间管道的代码。例如,Java消息服务(JMS)适配器是可以让Flex程序向JMS主题与队列订阅的消息适配器。Java程序可以将消息发送到Flex,而Java代码可以响应Flex程序发送的消息。
下面的例子演示了由消息生产者发送到消息消费者的数据流。数据编码为消息,并且通过通道发送到目的地。这个消息然后通过通道发送到消息消费者并且解码为消费者可用的数据。

发布-订阅消息
Flex支持发布-订阅消息,也就是所谓的基于主题的消息。在Flex消息服务中,主题是与消息服务目的同义的。在发布-订阅消息中,每一个消息可以有多个消费者。当我们希望多于一个的消费者来接收同一个消息时我们可以使用这种类型的消息。使用发布-订阅消息的程序例子如拍卖站点,股票报价服务,以及其他的需要将一个消息发磅到多个订阅者的程序。
生产者向消息服务器上指定的主题发布消息,而消费向这个主题订阅来接收消息。消费者只可以消费那些向他所订阅的主题发布的消息。
下面的例子演示了一个简单的发布-订阅消息流:

在程序中使用Flex数据服务
Flex提供了MXML以及ActionScript API可以让我们在我们的程序中使用Flex数据服务。我们可以创建扮演生产者,消费或是者同时是二者的程序。Flex数据服务程序通过在Flex服务器上声明的通道发送消息到同时在Flex服务器上声明的目的地。
Flex数据服务使用XML配置文件来管理服务器上的消息主题也队列。作为消息配置的一部分,我们可以设定消息的最大尺寸。如果消息超过了这个最大值,就会使用多个消息分支,在客户端将这些单个的消息重新进行组合。这就允许了跨网络的异步的消息调度。

关于RPC服务
Flex数据服务包含配置RPC服务的远程服务以及代理服务。这些特性基于Flex 2 SDK中可用的RPC服务。
使用仅在Flex 2 SDK中可用的RPC服务组件
我们可以使用Flex 2 SDK而不需要Flex数据服务来创建程序,这个程序可以直接调用HTTP服务或是网络服务而不需通过服务器端的代理服务。我们不可以在没有Flex数据服务的情况下使用远程对象组件。在默认情况下,Flash播放器不允许从与程序不在同一个服务器的域获取数据。所以RPC服务或者是与程序服务器在同一个域,或者是远程服务器定义了crossdomain.xml文件。
一个crossdomain.xml文件是一个XML文件,这个文件提供了一种方法来标识他的数据或是文档对于特定域或是所有域的SWF文件可用。crossdomain.xml文件必须位于Flex程序服务器的根。
配合Flex数据服务使用RPC服务组件
当我们要提供企业级功能时我们可以使用Flex数据服务,例如从不同域的服务阻塞代理,客户认证,允可的RPC服务URL判优,服务器逻辑,本地化支持,以及RPC服务的集中管理。Flex数据服务同时允许我们使用远程对象组件来访问远程Java对象,而不需要将他们配置为SOAP适应网络服务。
当我们使用Flex数据服务时,并不是直接访问服务器,RPC服务组件访问目的地。目的地是可管理的服务端点,可以让我们通过基于XML的服务器端来进行管理。

关于开发环境
我们将Flex数据服务的服务器端代码以及程序文件存储在J2EE适应程序服务器或是Servlet容器的标准网络程序的目录结构中。MXML的部署模型与JSP相似。我们在我们的文本编辑器中创建MXML文件,然后将其放置在由网络浏览器可以直接访问的网络程序目录中。例如,我们可以将MXML文件放在网络程序的根目录或是子目录中,而不是保留的WEB-INF目录中。
标准的Flex网络程序的目录结构如下表所示:
web_app  包含WEB-INF目录以及由用户浏览器可以访问的所有文件,例如MXML文件,JSP,HTML页面,CSS,图像以及Javascript文件。我们将这些文件直接放在网络程序的根目录或是不使用保留的WEB-INF的子目录中。
/WEB-INF 包含标准的网络程序的部署描述(web.xml)。
/WEB-INF/flex 包含Flex配置文件
/WEB-INF/flex/user_class 包含自定义的ActionScript类和MXML组件
/WEB-INF/lib 包含在JAR文件中的Flex服务器代码
/WEB-INF/flex/frameworks 包含SWC组件文件,例如包含Flex程序框架文件framework.swc和rpc.swc


推荐阅读
  • 深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用
    深入解析Spring Boot启动过程中Netty异步架构的工作原理与应用 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 在多线程环境中,IpcChannel的性能表现并未如预期般优于Tcp和Http通道。实际测试结果显示,在IIS6中通过Remoting创建的Ipc通道,其速度比Tcp通道慢了约20倍。本文详细分析了这一现象的原因,并提出了针对性的优化建议,以提升IpcChannel在高并发场景下的性能表现。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • (1)前期知识:1. 单机架构:单一服务器计算机——其处理能力和存储容量有限。2. 集群架构(负载均衡器与多节点服务器)——通过增加节点数量来提升系统性能和可靠性,实现高效的任务分配和资源利用。 ... [详细]
  • 本文全面解析了 gRPC 的基础知识与高级应用,从 helloworld.proto 文件入手,详细阐述了如何定义服务接口。例如,`Greeter` 服务中的 `SayHello` 方法,该方法在客户端和服务器端的消息交互中起到了关键作用。通过实例代码,读者可以深入了解 gRPC 的工作原理及其在实际项目中的应用。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
author-avatar
手机用户2502893675
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有