面向接口的多层体系结构开发模式在航运物流管理信息系统中的应用_数据访问层论文

面向接口多层架构开发模式在航运物流管理信息系统中的应用,本文主要内容关键词为:航运论文,多层论文,物流管理论文,架构论文,接口论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

中图分类号:F253.9 文献标识码:A 文章编号:1002-3100(2011)07-0026-03

1 概述

我国现代物流整体规模扩大,发展速度加快,运行效率提高,对经济发展的支撑和促进作用更加明显[1]。同时,据统计,国际航运业承担着国际货物贸易90%以上的运输量[2],随着经济全球化的快速发展,航运在全球化的贸易运输中的地位就显得尤为突出,航运物流信息的管理更显重要[3]。

信息技术和信息系统蓬勃发展,给物流企业业务流程、管理模式、组织机构的重组乃至整体的发展带来新的机会,促使传统的经营方式和思想观念发生深刻的变革,也对物流企业的经营理念和管理模式提出了挑战。我国的航运物流企业如果要实现适应未来日益激烈的市场竞争,最有效的方法就是通过开发管理信息系统来加强企业各个部门之间的相互协作,以提高企业的整体运作水平[4]。由此可见,航运物流企业构建管理信息平台已是大势所趋。

现有航运物流管理信息系统的开发模式下,IT组织很难对不同的功能和系统进行集成,很难对变化的商务需求和竞争需求及时做出反应。只要不是由单独的一个开发商来提供所有的功能,就一定存在着不严格的应用程序。本文提出了一种经改进后适应于.NET平台的J2EE平台的成熟、稳定、易维护的五层架构开发模式,同时考虑到系统将来的重用和扩展问题,将面向接口编程思想运用于此架构对系统进行开发和实现。这些接口在开发之初就已经考虑到重用问题,提供了标准的接口,可以被各种应用和其它服务所调用。

2 面向接口编程

定义:在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。

(1)接口编程和面向对象编程是什么关系

面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属面向对象思想体系,属于其一部分。

(2)面向接口编程优势

这样做的好处是显而易见的,首先对系统灵活性大有好处。当下层需要改变时,只要接口及接口功能不变,则上层不用做任何修改。使用接口的另一个好处就是不同部件或层次的开发人员可以并行开工,就像造硬盘的不用等造CPU的,也不用等造显示器的,只要接口一致,设计合理,完全可以并行进行开发,从而提高效率。

3 基于.NET平台面向接口的分层架构

在.NET平台上,比较经典的分层架构是三层架构,从下到上依次是:数据访问层、业务逻辑层、表示层。各层职责如下:

数据访问层:负责与数据源交互,完成数据访问等一系列操作。

业务逻辑层:完成与系统业务有关的逻辑操作。

表示层:负责与用户交互、呈现数据等一起与系统表示有关的操作。

在这个架构中,每一层都不是一个类,而是一个类族。所以,在本文中,为数据访问层和业务逻辑层分别定义一族接口,业务逻辑层不依赖具体的数据访问层,而是仅依赖数据访问层的接口族,表示层也一样,依赖业务逻辑层的接口族。如此一来,当要更换数据库时,就不必改写整个业务逻辑层,因为业务逻辑层里根本没有任何数据访问层中的具体类,而全是通过接口实现的。

3.1 职责划分

目前,在典型的三层架构中,对层次各自的职责划分并没有一个统一的规范,综合现有的成功实践和.NET平台的特殊性,在本文中将三层架构的职责划分如下:

数据访问层——负责与数据源的交互,即数据的插入、删除、修改以及从数据库中读出数据等操作。

业务逻辑层——负责系统领域业务的处理,负责逻辑性数据的生成、处理及转换。

表示层——负责接收用户的输入、将输出呈现给用户以及访问安全性验证。

4 系统设计

面向接口编程的多层架构开发模式下的航运物流管理信息系统模块见图1,在宏观上将整个系统分为以下几个模块:

图1 航运物流管理信息系统模块图

实体类模块(POJO)——一组实体类的集合,负责整个系统中数据的封装及传递。

数据访问层接口族(IDAO)——一组接口的集合,表示数据访问层的接口。

业务逻辑层接口族(IApp,IServer)——一组接口的集合,表示业务逻辑层的接口。

数据访问层模块(持久层)——一组类的集合,完成数据访问层的具体功能,实现数据访问层接口族。

业务逻辑层模块(App层,Server层)——一组类的集合,完成业务逻辑层的具体功能,实现业务逻辑层接口族。

表示层模块(UI层)——程序及可视元素的集合,负责完成表示层的具体功能。

IOC容器模块(类工厂)——负责依赖注入的实现。

辅助类模块(Common层)——完成全局辅助性功能。

依照上面各模块间交互关系此航运物流管理信息系统框架图如图2。

图2 航运物流管理信息系统框架图

Client(客户端):包括UI,App,IApp三个项目。

·UI,使用App接口变量和类工厂(本地模式)。

·IApp,定义函数接口。

·App,使用Server接口和类工厂(Remoting服务端singleCall模式),领域的数据模型。

Server(服务器端):Server,IServer,持久层,持久层接口。

·IServer,定义函数接口。

·Server,使用持久层接口和类工厂(本地模式),企业数据模型,Cache池。

·持久层接口,定义连接数据库函数的接口。

·持久层,使用强类型数据模型,屏蔽底层数据库实现,统一数据操作唯一入口。

·数据库。

5 结论

基于.NET面向接口编程的架构模式已成功地部署在航运物流管理信息系统中,到目前为止,运行情况良好。其优点具体包括:

(1)使用面向接口的编程,接口的实现既可以是基于部门级数据,也可以是基于企业级数据;数据层不同的实现策略与业务逻辑实现无关;数据库修改引起的程序修改是可以被预期的。

(2)程序具有一致的结构,便于理解和维护,且数据的维护只有一个入口。

(3)系统允许递增迭代开发。用户界面、业务组件与Web服务可并行开发,单元调试与集成调试的效率都很高。

(4)通过加入Server层,向客户端屏蔽的数据库连接,数据库不需要向外公布IP地址以提高安全性,连接可以被共享,提高性能。

(5)此开发模式,做到需求与设计独立,设计与实现独立,业务逻辑实现与数据库独立;强调用户参与,强调流程的作用,降低个人作用;测试自动化。

标签:;  ;  ;  ;  ;  ;  

面向接口的多层体系结构开发模式在航运物流管理信息系统中的应用_数据访问层论文
下载Doc文档

猜你喜欢