ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 令人心动的FLEX

令人心动的FLEX

原创 Linux操作系统 作者:梧桐雨—168 时间:2008-03-06 00:59:04 0 删除 编辑

2001年,Macromedia(现属于Adobe)发明了RIA(Rich Internet application)的概念。RIA带来了很多在用户交互上的最佳实践:防止页面刷新;利用影像来对用户进行交互和培训;更漂亮的用户界面。这一切都在颠覆传统的Web开发理念。长久以来,用户界面设计人员都在利用Flash, Html,以及 Javascript技术来实现RIA。

随着更多的开发人员和企业参与到RIA的开发和部署中来,他们发现为了更快和更好的开发RIA程序,需要以下两点来支持他们的工作:

首先,一系列基本的可以直接被广泛使用的用户控件。

其次,一些工具的组合来提供一个平台来更规范的快速地开发。

而Flex提供了这一切。Flex是一个成熟的给予企业解决RIA的方案,Flex 是 Macromedia 开发的一个RIA平台,它在用户接口设计人员和更多传统服务器端开发人员之间搭了一座桥。传统的后台程序员可以利用大量的吸引人的可视控制、效能、布局、及现有的 Flash 组件,加上他们对服务端点的深厚知识,从而装配出一个诱人的客户端应用程序。在任何时候不管有什么类型的资源在您的项目中可用,最后的结果都是可以容易地创建一个高交互及诱人的应用程序,它在 Web 服务中整合了您的投资。

同时,Flex提供了一个强健的数据集成服务(Flex Data Services),使得开发人员可以迅速简单的将数据和界面绑定。并且,由于Flex的基础是Flash,而现在连接上互联网的电脑97%都安装了Adobe的Flash Player,这也使得Flex的流行变成可能,而且原来的Flash编程人员也能快速的上手。

Flex可以方便的和传统的Web应用程序整合到一起。Flex提供一个Flash作为客户端,Flash则通过Web服务器来传递数据。

像图1描述的那样,Flex应用程序可以通过SOAP或者传统的Http来访问Web服务。也就是说,Flex可以被整合到脚本语言环境中,JSP,ASP,PHP,RUBY都可以和其集成。

Flex的编程语言是ActionScript和Mxml,ActionScript是类似于JavaScript的面向对象的脚本语言。在实际的开发中,可以根据需要建立各种各样的类,并且和后台的数据服务做交互。

由于后台的环境可能是JSP、ASP、PHP、RUBY其中的一种。为了保证系统的可移植性,FLEX一般通过API来调用基于SOAP的Web服务,一般来说,是将数据组合成有意义的XML文件,然后在客户端对ActionScript做映射。

Flex Data Services就是用来处理数据的传输和集成。而Mxml是类似XML的一种语言,开发人员可以通过它快速的制作用户界面和调试。

Flex和其它流行系统的集成

Flex对Java的支持非常强大,Flex Data Services可以部署在流行的Java服务器上,包括IBM WebSphere、BEA Weblogic、JBoss、Tomcat等,Flex Data Services可以方便地集成服务器上的Web服务。通过传递得到的XML文档来映射成本地的对象并进行操作。

从图2可以看出,Flex Data Services扮演了一个数据中转站的角色,它将从后台得到的数据进行转换,然后通过各种协议进行传输。更为重要的是,Flex Data Services是由Java写的,所以它可以自由的访问Web服务器暴露的Java对象和API。

一个比较简单的做法就是,利用JSP或者Servlet来生成XML,然后暴露地址给Flex。比如/user/get/1的地址对应的是取得id为1的用户信息,我们只需要通过servlet映射这个URL,然后从数据库中取出用户id为1的信息组成XML文档即可。

最后简单的添加http服务,这样Flex中的其它空间就可以通过userRequest来获得数据。只要知道XML文档的格式,就可以正确的解析和进行映射。

除了Java,Flex也提供对.Net环境的支持。虽然Flex Data Services是由Java写的,但是现在已经有了很多第三方的调节器,比如J-Interga。通过这些调节器,Flex就可以间接的访问.Net的对象和API。图3是一个典型的.Net环境中的Flex架构。

PHP是以前比较流行的一个Web框架,在Flex和Php的整合过程中,Php同样作为后台数据服务的提供者出现。Flex可以转换获取到的php对象,或者直接通过AMF和Remote procedure直接调用服务得到php的远程对象。现在Flex社区内已经有很多文档说明如何整合Flex和php的一些成熟框架,Adobe也开发了一个开源项目(PHP RIA SDK)帮助开发者开发基于php后台的RIA项目。

ROR(Ruby On Rails)是时下热门的一个Web开发框架,Flex和ROR的整合也很简单。假设这段代码是属于users控制器的,那么只需要把相应view下面的getUser.rhtml置空,然后通过users/get/1来访问即可。其中to_xml是把user转化为XML格式。

Flex和其它流行系统的集成是很容易实现的。Flex开发人员只需要关注用户体验,而把数据交互的工作交给传统的后台服务来做即可。并且由于开发简单性和跨平台的特性,也使得Flex的流行变成可能。

图1 FLEX的Web访问方式

图2 FLEX在企业架构中的应用

图3 .NET中FLEX架构

13270562_200803060059571.jpg

13270562_200803060059572.jpg

13270562_200803060059573.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13270562/viewspace-200431/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-02-28

  • 博文量
    141
  • 访问量
    402044