热门标签 | 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


推荐阅读
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • 本文探讨了如何利用 Application 对象在 PHP 应用程序中共享数据,特别是在多用户环境中保持数据的一致性和安全性。文章还介绍了 Application 对象的基本结构、方法和事件,并提供了实际应用示例。 ... [详细]
  • 本文探讨了在JavaScript中如何有效地从服务器控件DropDownList中获取绑定的ID值,而非仅仅是显示的文本值。这对于需要根据用户选择动态处理数据的应用场景非常有用。 ... [详细]
  • 浏览器、中间件与服务器的交互机制
    本文详细探讨了浏览器、中间件和服务器之间的交互过程,特别是HTTP请求的完整流程,包括DNS解析、TCP连接建立及数据传输等关键步骤。 ... [详细]
  • 本文介绍了FTP(文件传输协议)的基础知识,包括其定义、如何通过TCP建立控制和数据连接,以及主动模式与被动模式的区别。FTP作为一种重要的文件传输协议,在互联网数据交换中扮演着关键角色。 ... [详细]
  • 理解HTTP状态码及其应用
    本文详细解析了HTTP状态码的分类及常见代码的意义,帮助开发者和用户更好地理解和解决网络请求中遇到的问题。 ... [详细]
  • 本文探讨了在使用 ClickOnce 部署方式时遇到的自动更新失败问题,包括本地安装与服务器安装的不同表现,并提供了详细的解决方案。 ... [详细]
  • 在使用Postman进行接口测试时,如果携带大量参数,可能会遇到‘请求头过大’的问题。本文将详细介绍如何调整Tomcat的请求头大小限制,并提供有效的路径映射解决方案,以避免因路径配置不当导致的404错误。 ... [详细]
  • Hibernate入门指南:单表数据库操作详解
    本文介绍了Hibernate作为全面的ORM框架的基础知识,并详细讲解了在MyEclipse环境中配置Hibernate以及进行基本的数据库单表操作的方法,包括增删改查等常见操作。 ... [详细]
  • 深入解析ASP.NET中的HttpHandler、HttpModule与IHttpHandlerFactory
    本文探讨了ASP.NET页面生命周期中的关键组件——HttpHandler、HttpModule和IHttpHandlerFactory的工作原理及其应用场景。通过实例分析,帮助读者更好地理解和利用这些组件来优化Web应用程序。 ... [详细]
  • 本文探讨了一种方法,通过开发C#应用程序来拦截并处理从遗留系统发出的Http请求,该系统原本依赖于已停止服务的Web服务。解决方案涉及使用代理技术或HTTP监听器来捕获和重定向这些请求。 ... [详细]
  • 优化Nginx中PHP-FPM模块配置以提升性能
    通过调整Nginx与PHP-FPM之间的配置,可以显著提高Web服务器处理PHP请求的速度和效率。本文将详细介绍如何针对不同的应用场景优化PHP-FPM的各项关键参数。 ... [详细]
  • 远程访问用户 Kindle通过电子书实现控制
    介绍自2007年以来,亚马逊已售出数千万台Kindle,令人印象深刻。但这也意味着数以千万计的人可能会因为这些Kindle中的软件漏洞而被黑客入侵。他 ... [详细]
  • Python安全实践:Web安全与SQL注入防御
    本文旨在介绍Web安全的基础知识,特别是如何使用Python和相关工具来识别和防止SQL注入攻击。通过实际案例分析,帮助读者理解SQL注入的危害,并掌握有效的防御策略。 ... [详细]
  • PHP网站部署指南:从零开始搭建PHP网站
    本文提供了详细的步骤指导,帮助开发者在不同环境下成功部署PHP网站,包括在IIS和Apache服务器上的具体操作。 ... [详细]
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社区 版权所有