doi:10.3969/j.issn.1674-4993.2011.09.022 1 引言 物流公共信息平台是指采用计算机、网络和通讯等现代信息技术构筑虚拟开放的物流网络平台。它对物流各个环节的相关信息进行收集和处理,提供给企业、政府、相关机构和个人。 近年来,很多省的一些物流枢纽、物流企业、园区都采用互联网技术建设了物流公共信息平台。目前,急需建设一个省级的物流公共信息平台,将政府的电子政务系统以及物流枢纽、物流企业、园区的物流公共信息平台都集成整合在一起,实现信息资源的优化整合和充分利用。该平台既能用于政府的宏观调控,使得制造、物流运输和商业企业以及交通、港口、海关、银行等各行各业不同的主体在一个开放、标准、高效的平台上交换信息,实现协同工作。做到区域物流资源信息的共享,最大限度地优化配置社会物流资源,才能达到降低社会物流成本、提升物流业全过程的整体水平。 物流公共信息平台的开发涉及到数据库、信息安全、中间件、异构系统的对接等技术。目前很多平台的开发存在结构混乱、耦合度高、代码重用率低等问题。而在Java EE平台和MVC(Model/View/Controller,模型/视图/控制器)模式中正好能很好解决上述问题,本文说明了如何运用Struts、Spring和Hibernate三种流行的开源框架设计省级物流公共信息平台。 2 相关概念 2.1 MVC模式 MVC中这3个字母对应的词语的含义,模型(Model):表示系统的业务逻辑,包括数据和业务上的规则、操作;视图(View):是系统的外观表现,是系统与用户交互的界面;控制器(Controller):提供对系统处理过程的控制,对用户的输入做出响应,创建并设置模型中的属性值,对输入的数据做出校验,根据客户端提出的请求,选择合适的模型来处理业务逻辑,再将数据返回给视图。其基本设计思想如图1所示。
图1 MVC模式的基本设计思想示意图 MVC模式在实现时把“做什么(业务处理)”和“怎么做(业务实体)”进行了分离,使得开发人员的分工可以更细,业务逻辑可以重用。 2.2 Struts框架技术 Struts是实现了MVC模式的框架。Struts框架技术是Java Web开发人员逐步深入应用需要掌握的一种常用的框架技术,掌握这种技术将给实践工程的开发工作带来许多方便,成倍地提升开发效率。采用Struts框架技术的Web应用能够自动保留表单中的输入数据,能够自动进行常见的数据校验工作,能够通过OGNL表达式简化JSP页面的代码,实现了MVC模式使系统具有更好的可维护性并能适应更大的应用场合等。 2.3 Spring框架技术 Spring是一个开源的框架,它的内容非常丰富,从实现了MVC的Spring Web MVC、表现层的Spring标签,到Spring AOP、核心的IoC等,需要理解的概念也非常之多。可以把Spring看成是各种开源技术的粘合剂,用它可以把各种组件组装在一起,而又互不影响,因此有可能通过Spring满足开发人员对轻量级J2EE系统开发的一站式需求。 2.4 Hibernate持久化技术 Hibernate其实就是一种ORM(Object-Relation Mapping,对象—关系映射)中间件,说到底就是可以将数据库表中的数据包装为Java对象,又可以将Java对象映射到数据库表中的数据,于是开发人员可以利用面向对象编程的思想来操作数据库中的数据。如何在Java对象与数据库中的数据之间保持一致,如何在对象与数据库表之间进行映射,这些工作就交由Hibernate来完成,开发人员就可以专注于实现业务逻辑了。 Hibernate技术在Java对象与数据库中的关系型数据之间架起了桥梁,可以将Java Web系统封装得更有层次性,从而具有清晰的系统架构。 3 SSH框架的整合 结合上述Struts、Spring、Hibernate三种技术的优点,并对其加以整合,采用Struts+Spring+Hibernate(SSH)架构来开发基于WEB的应用系统的流程是:通过JSP界面来实现与用户的交互,Struts根据Struts-config.xml文件中的配置实现业务处理等动作,把收到的请求交给Action处理;在持久层中由Hibernate实现数据库与持久对象的交互;在业务逻辑层中会连接表现层和数据层的中间层,Spring向Action提供具体的业务逻辑实现,同时根据Action收到的请求,结合提供的数据对象进行业务处理。