摘要:该文论述了电子口岸门户网站的功能结构模式,并描述了其技术架构。
关键词:业务表示层;业务逻辑层;数据库层;技术架构
中***分类号:TP393文献标识码:A文章编号:1009-3044(2011)15-3519-02
System Design of Portal
JI Ke-ke
(Jiangsu Food Science College, Department of Computer Technology Application Department, Huai'an 223003, China)
Abstract: This paper discusses the port to the portal of function of staffing pattern and describe its technological architecture.
Key words: view-tier; business-tier; data-Warehouse; technological architecture
电子口岸应用平台未来的趋势是一个电子商务模块化集成平台,所以要求平台必须具有Portal的功能架构。未来不断新增的业务功能很容易的“插入”平台中,平台必须具备很好的兼容性和可扩展性。根据这一要求,系统的功能结构设计将采用由业务表示层、业务逻辑层和数据层组成的三层结构模式,如***1。
1) 业务表示层(View-tier)
该层包括网站所展示的通关和非通关业务内容,非通关业务内容展示提供给用户浏览。通关业务内容是对用户有权限要求的内容。通过用户权限和信息权限过滤后,统一用户界面显示,接收用户界面操作和查询请求,将业务逻辑处理后的数据生成用户界面。这里的用户界面方式是以浏览器为主,也可以通过常用的移动终端设备如PDA、WAP手机等接入方式。
2) 业务逻辑层(Business-tier)
负责按照用户界面层提交的请求,并按照业务逻辑提取、过滤和处理数据,并将处理完的数据包返回给用户界面层,进行显示。该层需要实现的功能主要体现在以下几点:
(1) 网站的内容管理系统。该系统要实现的功能包括网站的首页管理,布局管理,样式管理,信息后台管理(内容管理、系统维护),信息管理,系统安全管理,搜索引擎等。
(2) 各类***项目(中国电子口岸)、A省电子口岸通关项目和通关物流项目以及针对中国电子口岸项目本地化、本地电子口岸***和通关物流数据仓库进行挖掘、分析,为页面表示层提供功能支持的业务逻辑系统。
(3) 物流电子商务项目暂时被视为一种愿景,但在网站规划时,必须被纳入进来。
3) 数据库层(Data-Warehouse)
负责系统数据和信息的存储、检索、优化、自我故障诊断/恢复。为业务逻辑层提供数据支持。数据库层包括基于门户网站的系统建立以及其部分展示内容的管理数据库,基于SCAX的安全认证和基于单点登录的数据库,基于中国电子口岸本地化和本地电子口岸通关系统数据库,基于铁路、公路、空港、邮***、原油5大运输方式的通关物流数据库,对于物流与电子商务这一愿景项目,我们也要为其规划底层的数据库,以及其它后期的应用系统数据库。
为了简化开发的工作量,提供可维护性和扩展性,信息管理系统在J2EE基本技术之上,采用成熟的OpenSource框架,主要是Apache的Struts(表现层),Spring(业务逻辑层),Hibernate(数据持久层)。使得表现层、业务逻辑层、数据持久层相对***,降低了系统各层的耦合度,同时大大简化了各层的开发量,降低了项目成本。
鉴于目标系统的并发用户量、数据吞吐量和数据容量,我们采用J2EE的标准的三层结构,实现了展现、业务、数据的分离,同时支持服务器群集。从技术体系的总体结构上,我们可以把系统划分为如下表现层、业务逻辑层、数据持久层。
1 技术架构
基于本项目选用J2EE技术构架,所以设计上也使用了标准面向对象设计方法:根据需求抽象领出域模型(实体)提取业务逻辑,最后根据领域模型生成系统的数据库结构。
2 技术选型
1) 在整体框架上,采用Spring框架来整合各种层面的框架和技术。
2) 在表现层,采用Struts框架,来简化web表现层开发。
3) 在业务逻辑层,充分利用Spring的事务管理能力、对象工厂管理能力、以及对服务组件的集成能力,通过配置文件组装而成,具有很强的维护性和扩展性;Spring的这种能力是其它同类框架难以比拟的。
4) 在持久层,采用Hibernate的方式来操作数据库,利用Hibernate提供的对象关系映像能力,实现对数据库透明操作;结合Spring对它的强力支持,通过很少量的代码和Spring相应配置即可完成持久层的功能。
开发工作主要在UI表现层和业务逻辑层的方面。
3 逻辑架构
3.1 表现层
目前主要提供Web浏览器的方式,在服务器端采用Jsp和Struts(Tag、Form和Action)的结合。其主要功能如下:
(1) 针对用户请求,做出相应的响应。
(2) 提供一个控制器Controller,委派调用业务逻辑功能模块和其它上层处理,这里是Struts的ActionServlet,针对用户请求和响应进行统一的调度处理。
(3) 处理异常,扩展Struts的LookupDispatchAction基类封装异常处理机制。
(4) 为显示提供一个模型,这里是ActionForm类型的bean对象。
(5) UI验证,采用Struts的Validator验证框架。
国际化采用Struts的国际化方案,采用标签绑定资源文件的机制。
1) UI(User InterFace)
是系统和各个子系统展现在给各类用户的界面,主要负责接受用户输入的数据和操作指令,传递给业务层进行相应得处理。然后,把处理后的结果呈现给各类用户。
2) UI控制层
负责处理UI和业务层的数据交互;控制UI之间的流转;同时也交验数据的逻辑是否正确和数据格式等功能。
3.2 业务逻辑层
主要处理业务逻辑,执行各种业务请求,通过利用持久层提供的与数据库以及其它各种资源的交互能力来支持数据库交互。其主要功能如下:
(1) 处理应用程序的业务逻辑和业务校验。
(2) 提供与其它层相互作用的接口。
(3) 管理业务层级别的对象的各种依赖关系。
(4) 负责表现层和持久层之间的通信,降低层次间的耦合度。
1) 业务数据
根据自定义数据实体方式来表达业务数据。这样的方式性能比较好,而且在编译时的类型检测,数据表现方式非常直观的符合了业务的操作方式。同过get/set方式将数据单独封装在数据类里。
2) 业务操作
业务操作负责各个业务相关的处理;例如:用户权限判定、业务流向、验证等等。
把业务数据和相关的业务操作整合封装在一起,形成业务层内的业务实体,为表示层提供高性能的服务。
3.3 数据持久层
系统采用较好的数据持久解决方案――ORM(OR-Mapping)组件Hibernate;它的优点在于可以面向对象的形式操纵数据,因此可以直接处理自定义的数据实体,不用关注SQL语句以及底层存储方式;简化了代码的复杂程度,提高效率。采用DAO处理模型,使用JDBC和持久框架Hibernate的方式相结合访问数据库资源。利用Spring对JDBC和Hibernate的简化支持类,来实现数据持久层的处理。
参考文献:
[1] 孙卫琴.精通Hibernate Java对象持久化技术详解[M].北京:电子工业出版社,2005.
[2] 陆波,华祖耀.面向对象的软件工程与统一建模语言UML[J].软件工程,2002.
注:本文中所涉及到的***表、注解、公式等内容请以PDF格式阅读原文