- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 24J331《地沟及盖板》(替代02J331).pdf VIP
- kb第二版资料(英语)030 KB4 Unit8-1.pptx VIP
- 《A-Million-Dreams》合唱谱SATB钢琴伴奏谱.pdf VIP
- 北京现代-悦纳-产品使用说明书-1.4L 两驱 五座手动青春版 -BH7140UMV-悦纳产品使用说明书.pdf VIP
- 医学继续教育管理制度.pdf VIP
- 剑桥国际英语Unit 8 Book 4.ppt VIP
- 护儿周全童享健康—降低新生儿低血糖发生率.pptx VIP
- 智能智能化脑机接口设备考核试卷.docx VIP
- 医院安全消防制度.docx VIP
- 电动叉车充电操作规程.pptx
文档评论(0)