flex httpservice vs Remote object 优点
2009-02-13 15:29
447 查看
1.RemoteObject要使用到AS的实体类(使用Bindable绑定Java类)。我的系统涉及到200多张表,如果改动表结构的话,AS实体类也要跟着改。十分麻烦,而且写好又要改getter,setter,又要部署到tomcat。除非你自己写工具自动生成。
2.使用RemoteObject,那你的J2EE后台要添加remoting-config.xml,services-config.xml 等等的配置文件和Flex的lib,多了很多文件,而我做项目的Flex仅仅是客户端显示,然后调用后台。因此我的服务端完全就可以我们熟悉的J2EE需要用到的文件。减少了配置和以后的维护。
3.如果你要使用到Spring的话,需要配置SpringFactory和destination。例如:
services-config.xml里面添加:
<factories>
<factory id="spring" class="flex.samples.factories.SpringFactory"/>
</factories>
remoting-config.xml里面添加:
<destination id="userService">
<properties>
<!-- 工厂对应你自己取的工厂名字 -->
<factory>spring</factory>
<!-- 这个source对应spring的bean的id -->
<source>userService</source>
</properties>
</destination>
这里需要为每一个Service配置,多的话。。。。
4.我这边做Flex的UI的开发者都是应届毕业生,使用RemoteObject有必要了解ORM(我后台持久层框架是JPA),不然他们调 RemoteObject的方法时很容易出错,或者不会调用。而使用HttpService只需要我们后台人员和前台做UI的Flex开发者约定一套通信的xml格式即可。后台的负责返回xml,前台的负责发送xml,很爽!例如:
<root>
<model>
<attribute1>attr1</attribute1>
<attribute2>attr2</attribute2>
</model>
</root>
5.Flex的组件对xml的支持十分友好。你可以直接将HttpService返回的xml放到组件的dataProvider就可以了,特别是dataGrid或者tree用起来特别好。
5.使用HttpService减少了部署量。我只要将后台的Java程序部署到Tomcat,前台的Flex就可以直接将FlexBuilder编译好的程序在客户机连接后台,而不用部署到Tomcat,直接测试就可以了。大大提高了开发效率。
6.使用HttpService也有缺点。首先就是通信的效率没有RemoteObject来的高(因为是xml,也可以使用JSON或者其它通信方式)。其次就是,你需要写Object与xml之间的转换。我没有使用xstream,而是自己用反射写工具类。你还需要提供Servlet给 Flex调用。我用的是SpringMVC提供的MulitiController对Flex提供Http服务。
7.使用HttpService,我碰到了一些意想不到的事情。最呕血的是我提供get方法返回xml数据的时候,Flex总是显示旧的数据。解决方法是在你请求的Servlet地址添加一个参数(参数名随便起,我用random),而且请求的参数必须每一次都不一样(可以通过当前时间或者 UUID实现),例如:http://192.168.2.111:8080/UserController.do?servlet=getAll& amp;random=sdfsdfs
2.使用RemoteObject,那你的J2EE后台要添加remoting-config.xml,services-config.xml 等等的配置文件和Flex的lib,多了很多文件,而我做项目的Flex仅仅是客户端显示,然后调用后台。因此我的服务端完全就可以我们熟悉的J2EE需要用到的文件。减少了配置和以后的维护。
3.如果你要使用到Spring的话,需要配置SpringFactory和destination。例如:
services-config.xml里面添加:
<factories>
<factory id="spring" class="flex.samples.factories.SpringFactory"/>
</factories>
remoting-config.xml里面添加:
<destination id="userService">
<properties>
<!-- 工厂对应你自己取的工厂名字 -->
<factory>spring</factory>
<!-- 这个source对应spring的bean的id -->
<source>userService</source>
</properties>
</destination>
这里需要为每一个Service配置,多的话。。。。
4.我这边做Flex的UI的开发者都是应届毕业生,使用RemoteObject有必要了解ORM(我后台持久层框架是JPA),不然他们调 RemoteObject的方法时很容易出错,或者不会调用。而使用HttpService只需要我们后台人员和前台做UI的Flex开发者约定一套通信的xml格式即可。后台的负责返回xml,前台的负责发送xml,很爽!例如:
<root>
<model>
<attribute1>attr1</attribute1>
<attribute2>attr2</attribute2>
</model>
</root>
5.Flex的组件对xml的支持十分友好。你可以直接将HttpService返回的xml放到组件的dataProvider就可以了,特别是dataGrid或者tree用起来特别好。
5.使用HttpService减少了部署量。我只要将后台的Java程序部署到Tomcat,前台的Flex就可以直接将FlexBuilder编译好的程序在客户机连接后台,而不用部署到Tomcat,直接测试就可以了。大大提高了开发效率。
6.使用HttpService也有缺点。首先就是通信的效率没有RemoteObject来的高(因为是xml,也可以使用JSON或者其它通信方式)。其次就是,你需要写Object与xml之间的转换。我没有使用xstream,而是自己用反射写工具类。你还需要提供Servlet给 Flex调用。我用的是SpringMVC提供的MulitiController对Flex提供Http服务。
7.使用HttpService,我碰到了一些意想不到的事情。最呕血的是我提供get方法返回xml数据的时候,Flex总是显示旧的数据。解决方法是在你请求的Servlet地址添加一个参数(参数名随便起,我用random),而且请求的参数必须每一次都不一样(可以通过当前时间或者 UUID实现),例如:http://192.168.2.111:8080/UserController.do?servlet=getAll& amp;random=sdfsdfs
相关文章推荐
- Flex与后台交互的4种方法 URLLoader、HTTPService、WebService、RemoteObject使用示例
- flex 数据传输 httpservice, webservice, RemoteObject, socket
- flex中remoteObject和httpservice的取舍
- Flex数据交互方法 :httpservice, webservice, RemoteObject, socket
- Flex基本通信方式(http,webservice,remoteObject)
- Flex HttpService获取服务端返回数据 xml object text等
- Flex Remote Object中直接使用HttpSession的方法
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- Flex通过HTTPService读取外部的XML文件
- Flex的通信方式(三)——HTTPService_1
- Flex中使用HTTPService向后发送请求,参数中如何使用URL的保留字符(问号、百分号)
- flex的httpservice与java交互过程中的乱码问题
- flex中HttpService的send方法
- Flex中利用HTTPService标签动态导入XML文件的例子
- Flex中如何利用mx:HTTPService标签读取文本文件中的name/value这样的一对数据并显示在DataGrid中的例子
- 使用Httpservice和Webservice来和Flex进行通讯
- flex中httpservice与java后台交互的两种传值方式
- flex通过httpService获取远程XML数据,并显示到DATAGIRD上
- FLEX使用HTTPSERVICE向JSP传输大数据量问题
- Flex与.NET互操作(四):使用HttpService、URLReqeust和URLLoader加载/传输数据