Flex 和Java 应用程序的架构.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Flex 和 Java 应用程序的架构 客户端/服务器架构 Flex 和 Java 应用程序使用一个多层架构,其中的应用程序层是 Flex 应用程序,业务或应用程序层是 Java EE 服务器和代码,数据层则是数据库。您可以像普通 Java 应用程序一样编写后端代码、为对象建模、定义数据库、使用 Hibernate 或 EJB 3 等对象关系框架、编写用于查询和操作这些对象的业务逻辑。业务层必须可以从 Flex 应用程序通过 HTTP 进行访问,它将用于移动演示层与数据层之间的数据。 典型的 HTML 应用程序包含多个页面,当用户在页面之间导航时,必须传递应用程序数据,这样应用程序本身(它包含的页面和功能集)可以保持状态。相对而言,Flex 应用程序在本质上有状态。Flex 应用程序嵌入一个 HTML 页面,用户不会离开该页面并且页面由 Flash Player 渲染。Flex 应用程序可以动态更改视图,在后台向服务器异步发送和检索数据,更新应用程序界面,但不会离开该界面(请参阅图 1)(与 XMLHttpRequest API 使用 JavaScript 提供的功能相似)。 图 1.客户端/服务器架构。 客户端/服务器通信 Flex 应用程序可以使用直接套接字连接或更常见的 HTTP 与后端服务器通信。Flex 框架有三个通过 HTTP 与服务器通信的远程过程调用 API:HTTPService、WebService 和 RemoteObject。它们三个包起 Flash Player 的 HTTP 连接性,而后者则使用浏览器的 HTTP 库。Flex 应用程序无法直接连接到远程数据库。 您使用 HTTPService 对 JSP 或 XML 文件、RESTful Web 服务或通过 HTTP 返回文本的其他服务器文件发出 HTTP 请求。您为返回的数据指定端点 URL、listener 函数(当 HTTPService 请求返回成功或失败响应时调用的回调函数)以及数据类型(一旦 Flex 应用程序收到后,应当将它转换为哪种数据结构)。您可以将待处理的数据指定为原始数据文本,分配到 String 变量或转换为 XML、E4X 或传统的 ActionScript 对象。如果回到 JSON,您可以使用 Adobe Flex corelib* 类包将 JSON 对象反序列化为 ActionScript 对象。要对基于 SOAP 的 Web 服务器发出调用,您可以使用 HTTPService API 或更专用的 WebService API,后者会将 SOAP 格式的文本自动序列化和反序列化为 ActionScript 数据类型或反之。 发出远程过程调用的第三个选项是使用 RemoteObject API。它对服务器端 Java 类的方法发出 Flash Remoting 请求,该类通过 HTTP 返回二进制 Action Message Format。尽可能使用 Flash Remoting,它的二进制数据传输格式使应用程序载入数据的速度比 XML、JSON 或 SOAP 等更冗长、基于文本的格式快 10 倍(请参阅图 2)。有关 AMF 与其他基于文本的序列化技术的对比,请参阅 James Ward 的 Census RIA Benchmark 应用程序*。 图 2.Flex 和 Java 的连接方法。 Flash Remoting Flash Remoting 是客户端和服务器端功能的组合,它们为从 Flash Platform 应用程序访问服务器端对象共同提供了一个调用和响应模型,仿佛它们是本地对象一样。它在 ActionScript 和服务器端数据类型之间提供透明的数据传输、序列化为 Action Message Format (AMF)、反序列化以及客户端与服务器之间的数据编组。 Flash Remoting 使用 Flash Player 中的内建客户端功能和某些服务器中的内建服务器端功能(如 ColdFusion 和 Zend),但必须安装在其他服务器上(例如,BlazeDS* 或 LiveCycle Data Services* 安装在 Java EE 服务器上,WebORB 或 FluorineFX 安装在 .NET 服务器上,Zend Framework 或 amfphp 安装在 PHP 服务器上,等等)。有关 BlazeDS 和 LiveCycle Data Services 的更多详细信息,请参阅 Flex 和 Java 应用程序的构建技术一文。 BlazeDS 和 LiveCycle Data Services 使用基于消息的框架在客户端和服务器之间来回发送数据。它们提供 Remoting、Pro

文档评论(0)

iuad + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档