当前位置:首页 > 工作计划 > [Flex在黄河水库调度运行信息平台中的应用]黄河水库
 

[Flex在黄河水库调度运行信息平台中的应用]黄河水库

发布时间:2019-02-28 03:51:36 影响了:

  摘要 黄河水库平台信息管理系统采用了流行的Spring框架,通过Spring中的JdbcTemplate操作数据库,最后,应用通过Servlet和JSP页面为用户提供前端界面,用Flex重新编写界面会带来更好的用户体验。通过集成Flex到JAVA EE应用和开发Flex客户端的方式实现了Flex在黄河水库调度运行信息平台中的应用。
  关健词 水库平台;Spring框架;Flex
  中图分类号TV7 文献标识码A 文章编号 1674-6708(2011)34-0101-01
  1 Flex介绍
  Flex是通过java或者.net等非Flash途径,解释.mxml文件组织components,并生成相应得.swf文件。
  Flex技术包括以下几个主要技术框架:1)描述应用程序界面的XML语言(MXML);2)符合ECMA规范的脚本语言(ActionScript),处理用户和系统的事件,构建复杂的数据模型;
  3)一个基础类库;4)运行时的即时服务;5)由MXML与ActionScript文件生成swf文件的编译器。
  2 Flex的实践应用
  在黄河水库调度运行信息平台中,采用了流行的Spring框架,通过Spring中的JdbcTemplate 操作数据库。最后,应用通过Servlet和JSP页面为用户提供前端界面。由于本系统的信息查询更接近于传统的桌面应用程序,因此,用Flex重新编写界面会带来更好的用户体验。
  2.1 集成Flex到JAVA EE应用
  将 Flex 集成至该Java EE应用需要让Flex和Java EE后端通信。针对Java EE开发的服务器端应用,可以通过集成 BlazeDS,充分利用 AMF 协议并能轻易与Flex 前端交换数据,这种方式是Java EE应用程序集成Flex的首选。
  尽管现有的应用程序已经有了 Facade接口,但这个接口是暴露给 Servlet使用的,最好能再为Flex定义另一个接口FlexService,并隐藏 Java 语言的特定对象。
  现在,Java EE后端与Flex前端的接口已经定义好了,要完成Java EE后端的接口实现类非常容易,利用Spring强大的依赖注入功能,通过几行简单的代码就可以完成。
  然后,我们将 BlazeDS所需的jar包放至 /WEB-INF/lib/。
  BlazeDS所需的所有配置文件均放在/WEB-INF/flex/目录下。BlazeDS将读取services-config.xml配置文件,该配置文件又引用了remoting-config.xml、proxy-config.xml和messaging-config.xml这3个配置文件,所以,一共需要4个配置文件。
  由于BlazeDS需要将Java接口FlexService暴露给Flex前端,因此,我们在配置文件remoting-config.xml中将FlexService接口声明为一个服务。
  然而,按照默认的声明,BlazeDS会去实例化FlexService对象。对于一个JavaEE应用来说,通常这些服务对象都是被容器管理的(例如,Spring容器或EJB容器),更合适的方法是查找该服务对象而非直接实例化。因此,需要修改配置告诉BlazeDS通过Factory来查找指定的FlexService对象。
  由于FlexService对象已经被Spring管理,因此,我们需要编写一个FlexFactory告诉BlazeDS如何找到Spring管理的FlexService的实例。flexFactory在services-config.xml中指定。FlexFactoryImpl实现了FlexFactory接口,该接口完成两件事情:1)创建FactoryInstance对象;2)通过FactoryInstance对象查找我们需要的FlexService。
  BlazeDS查找FlexService接口的过程:BlazeDS将首先创建FlexFactory的实例――FlexFactoryImpl;当接收到Flex前端的远程调用请求时,BlazeDS通过FlexFactory创建FactoryInstance对象,并传入请求的ServiceID。在这个应用程序中,被创建的FactoryInstance实际对象是SpringFactoryInstance;
  FactoryInstance的lookup()方法被调用,在SpringFactoryInstance中,首先查找Spring容器,然后,通过Bean的ID查找Bean,最终,FlexService接口的实例被返回。
  Property的SOURCE属性由 BlazeDS 读取XML配置文件获得。
  2.2 开发Flex客户端
  Flex Builder 将会把生成的 Flash 文件放到项目的 web/Skpt-Flex-debug目录下。
  为了能在 Flex 中实现远程调用,我们需要定义一个 RemoteObject 对象并列出其所有的方法。
  使用强类型的RemoteObject接口。这个强类型的RemoteObject最好能通过JavaEE应用的FlexService接口自动生成,这样,就无需再维护RemoteObject的定义。
  现在,JavaEE后端开发团队和Flex前端开发团队只需协商定义好FlexService接口,然后,利用Java2ActionScript,Flex团队就得到了强类型的FlexServiceRO类,而JavaEE团队则只需集中精力实现FlexService接口。
  在开发的前期,甚至可以用硬编码的FlexService的实现类。每当FlexService变动时,只需再次运行Ant脚本,就可以获得最新的FlexServiceRO类。这样,两个团队都可以立刻开始工作,仅需要通过FlexService接口就可以完美地协同开发。
  3 应用效果
  在黄河下游水库调度运行信息平台中采用了Flex技术有以下的优点:
  1)利用Flex提升开发效率
  通过在项目中应用Flex,提升了开发团队的工作效率。也解决了项目开发前后端无法及时沟通,需要互相依赖的开发模式。使得前后端开发人员可以专注于自己的工作,提升工作质量。
  2)利用Flex完善用户体验
  Flex本身就是基于富互联网应用(RIA)的技术,继承了Flash在表示层上先天性的美感、除了视觉上的舒适感外,还天生具备方便的矢量图形、动画和媒体处理接口。通过在黄河水库调度运行信息平台中使用Flex,为用户提供了界面美观、交互方便的应用系统。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3