Flex、Dorado、Spring、iBatis整合实践

    这几个框架的整合有人看了也许会觉得莫名其妙,Flex是表示层,dorado是以表示层,dorado和Spring整合就挺麻烦的,后台还用那个更显麻烦的iBatis?好吧,说下由来,Flex我是自学的,同事还都没涉足这个领域,现在做的这个项目页面数量庞大,不可能由我一个初学者完成架构搭建+全部RIA内容的开发,而同事们对dorado挺有研究,几个兄弟之前以dorado+marmot+spring+ibatis的方案没有遇到大的问题,于是乎就想到扩展成标题中的这个方案。
   
  所遇到的问题与对策:
1.Flex与Dorado前台的交互
    首先感谢www.deitte.com上面的Flex Iframe组件,这个是我能考虑这个架构的基本前提,即Flex控制主页面的FishEye风格模块菜单、依据视图状态自动折叠展开的功能选单与区域选择菜单、浏览窗口与明细窗口等等界面元素,而功能节点的web页内容以dorado来进行开发,作为一个Iframe嵌入Flex的Canvas里,切换到明细查询界面则将2个Iframe自动排列显示。
    使用Iframe遇到的问题是点击flash部分有时会造成iframe刷新不正常,解决方法是swf的配置参数里设置wmode为opaque。
    Flex组件要触发Dorado里组件的情况怎么解决呢?在deitte.com上发现一个使用Ajax-bridge的例子,在Actionscript3里我们可以调用父页面的Javascript函数,而反过来通过AS3里预定义的Callback函数我们能接收外部JS函数发来的“消息”。
PS:Ajax-Bridge的使用看这个子帖:
http://taiwei.iteye.com/blog/334165

2.FlexRemoting无法配置成功
Flex的DataService必须指定容器的明确路径,而dorado的运行环境是自行生成的启动配置调用Tomcat,无法启用DataService,这也是我推行半Flex半Dorado的重要原因。
    如何解决后台数据交互:
  不能用方便的Remoting,那就用HttpService吧!WebService不考虑,我们需要的仅仅是个XML档而已,用不着那么麻烦。如何生成?我用的是Servlet,用来从数据库动态读取懒加载的XML菜单节点数据和用户信息数据等等。

3.Spring与iBatis
    也许更多人会选择Spring+Hibernate,不过对于这个组合iBatis明显更灵活,Hibernate在ORM时会形成一些局限。

  (内容待完善)

你可能感兴趣的:(spring,Ajax,Hibernate,ibatis,Flex)