Flex连接JavaEE后台的可用技术:
◆HTTPService(xml 方式)
◆Webservice (soap)
◆Blazeds
◆LiveCycle Data Services
◆Graniteds
◆Flamingo
◆Fiji
◆Fxstruts
◆其他开源项目
分别介绍一下:
HTTPService:
此方式主要是以xml文件格式的内容进行客户端与服务器端的交互,不需要什么扩展,由于此方式比较易用且适用于数据量不是很大的情况,因此一般较简单的flex连接应用都采用这种交互方式。以Java EE为例只要后台提供的数据是xml文档格式的,无论jap页面或者servlet都可以进行信息的传递。
缺点是效率不是很高,在数据量较大时表现比较明显,
WebService:
Webservice的交互就不用多说了,只要提供接口就可以了,在Flex链接Java EE过程中很轻松。
缺点也是效率较低,且对服务器的要求较高。
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做了根本的改变,会在后续版本中加入支持。
【编辑推荐】