flex对接j2ee方案
本文摘自http://www.sunxin.org/article/277.html
?
Flex连接javaEE后台的可用技术:
1)HTTPService(xml?方式)
2)Webservice?(soap)
3)Blazeds
4)LiveCycle?Data?Services
5)Graniteds
6)Flamingo
7)Fiji
8)Fxstruts
9)其他开源项目
分别介绍一下:
HTTPService:
此方式主要是以xml文件格式的内容进行客户端与服务器端的交互,不需要什么扩展,由于此方式比较易用且适用于数据量不是很大的情况,因此一般较简单的flex应用都采用这种交互方式。以java为例只要后台提供的数据是xml文档格式的,无论jap页面或者servlet都可以进行信息的传递。
缺点是效率不是很高,在数据量较大时表现比较明显,
WebService:
Webservice的交互就不用多说了,只要提供接口就可以了。
缺点也是效率较低,且对服务器的要求较高。
Blazeds:
这是Adobe在2008年初推出的一个flex连接javeEE后台的一个产品而且是开源的免费的,他是LiveCycle?Data?Services的一个子集,使用Blazeds可以很方便的连接java后台,
BlazeDS是一个基于服务器的?Java?远程控制?(remoting)?和?Web?消息传递?(messaging)?技术,它能够使得后端的?Java?应用程序和运行在浏览器上的?Adobe?Flex?应用程序相互通信。
同时他也提供HTTPService、Webservice方式,不过这里的HTTPService、Webservice?使用方式不同于上边的那两个,Blazeds中是在配置文件中对其进行配置的,这样很大程度上提高了应用的灵活性。
在这里最重要的还是RemotingObject技术,他可以直接远程远程调用java后台提供的公共接口,使其效率大大提升,一般是采用HTTPService方式的10倍左右。
LiveCycle?Data?Services:
其与Blazeds有很多相同的部分,毕竟Blazeds是从他发展来的,LiveCycle?Data?Services对于单CPU用户是免费的,并可用于商业用途。他提供了一些更强大的功能,比如数据同步,对离线功能的支持,等很多针对大型企业级开发的功能。
Graniteds:
Gianiteds曾经是as与java交互最佳的选择,因为他在早期的开源产品中做的是比较好的,Gianiteds目前相对于Blazeds的优势是对java框架(hibernate、spring、ejb等)的支持。
Flamingo:
Flamingo是Exadel的一个开源项目,他的目标设计一个使用Java构建RIA应用的工具。在中间层,该工具对Seam和Spring都提供了支持。在?展现层,Flamingo既支持Flex也支持JavaFX,并提供了使用Flex或JavaFX与Seam或Spring相结合的无缝开发过程。
Fiji:
Fiji也是Exadel的一个开源项目,Fiji为jsf框架引入了flex支持。?并为Flex和JSF间的互操作消除了大量的手工编码。
Fxstruts:
Fxstruts是一个国外的牛人开发的,从名字也可以看出是将flex应用于struts的,而且只需要对struts的action进行简单配置就可以了,目前只支持struts1.x版本,因为struts2.x做了根本的改变,会在后续版本中加入支持。