陈洪钧
(广州南洋理工职业学院,广东 广州 510925)
多层体系结构的汽车管理信息系统设计
陈洪钧
(广州南洋理工职业学院,广东 广州 510925)
汽车行业管理信息系统使用多层体系结构进行设计可以降低软件模块的耦合度,提高软件的开发效率,降低软件的维护成本。本文分析了多层体系结构中各层之间的关系,并根据不同的客户群体提出了不同的解决方案。
多层体系结构;汽车管理信息系统
随着信息化技术的快速发展,汽车管理信息系统在汽车行业得到了越来越广泛的应用。在汽车管理信息系统领域,主要包括客户关系管理系统;汽车4S店的整车销售管理系统;汽配批发商的配件销售管理系统;车辆保险行业的保险代理管理系统;等等。另外由于生产各子系统的软件开发厂商不同,其子系统之间的数据共享困难,子系统与其他管理系统(如财务软件管理系统)之间的数据共享也比较麻烦。随着WEB开发技术、移动应用开发技术及两者结合的开发技术的日益成熟,应用范围日益广泛,汽车管理信息系统体系结构也正在发生着一定程度的演变。其演变的主要特点为支持多种开发语言,多种操作数据,多种操作系统,多种体系结构同时存在,并相伴发展。
当前汽车行业管理系统的开发存在的主要问题集中于:小系统很难与大系统配合使用,小系统难以移植,大系统开发成本太高,基于Web的开发发展较慢。在实际开发中,考虑到该行业领域中所使用的功能变化不大,但使用这些功能的方式已悄然改变,从当今应用系统使用方式的改变入手,全面审视数据的存储及传递方式的改变、软件开发技术的改变、软件体系结构的改变,形成相对完整的异构的多层分布式应用系统设计概念,在此之上,构建异构的多层分布设计的具体模型。可以根据具体的情况设计多层:表示层、表现逻辑层、应用逻辑层、数据处理层、数据层。
在表示层,HTML5标准规范于2014年10月制定完成;意味着原来很多以插件的形式存在于浏览器的表示层技术将内嵌入浏览器当中;Web UI技术快速发展使得表现逻辑层的开发更加快捷方便;业务逻辑层(这里面包含元知识库和应用层[2],本文只讨论应用层)开发主要表现在向表示逻辑层提供数据,编写简单的业务逻辑;数据逻辑层则只需实现与业务逻辑层相关的对象,并使对象有与数据层形成映射的能力;数据层负责数据的存储。软件的复用提高到一个非常重要的地位,为了使软件构件更好地复用,NATO(北大西洋公约组织)制定了一整套软件构件复用的指导性标准,以帮助NATO及其参与国和承包商的项目管理部门进行有效的软件复用[3]。采用分层技术开发可以大大降低软件开发的难度,使软件的可维护性、可扩展性得到了增强,对用户需求变化能快速作出反应。
汽车行业管理系统的使用对象是多元的,不应设计一种体系结构覆盖所有的客户群。以下的各种体系结构是汽车行业管理系统中常用的几种,在分析这些体系结构时还给出了各体系结构之间的演变关系。
2.1 二层结构
二层结构一般情况指的是C/S体系结构。C/S体系结构就是客户机/服务器体系结构,其中客户机指的是在客户端必须有应用程序来访问服务器端,而服务器一般指的是后台数据库。在这种结构中客户端完成大部分功能,服务器主要功能在于数据的存储及少量核心业务的逻辑处理。
2.2 三层结构
三层结构包括三层C/S结构和三层B/S结构。三层C/S结构分为表示层、功能层和数据层。表示层用于与用户进行交互,并通过功能层向数据层获取及更新数据,数据层完成数据的存储及核心业务逻辑处理。B/S三层架构是开发Web应用程序时经常使用的一种成熟的软件架构,它在逻辑上将功能划分为三层:表示层、业务逻辑层和数据访问层[6]。第一层为表示层,客户端表示逻辑的用户界面完全通过标准的浏览器实现,可供用户录入数据并显示执行结果,但不存在任何事务处理程序[7];第二层为Web业务逻辑层,用来处理业务逻辑,并提供对数据库的访问。第三层是数据访问层,完成数据的增、删、改、查操作。三层结构与我们通常所说MVC设计模式有一定的关系,但也有着相当大的区别。MVC的英文全称是Model-View-Controller,中文意思是“模型-视图-控制”。它是一种软件设计模式。MVC体系结构使用面向对象的设计原理将应用程序模块化,使其成为数据组件、表现组件和输入处理组件[8]。在MVC模式的设计思想中,它的结构由模型(Model)、视图(View)、控制器(Controller)三部分组成:模型(Model)指业务逻辑的处理和数据的存储,它接收视图请求的数据,并返回最终的处理结果,可以用Java-Bean实现;视图(View)主要用来展现用户所需要的数据,它是用户和系统进行交互的界面,可以用HTML、JSP实现;控制(Controller)就是一个分发器,它根据用户实际请求选择合适的模型、视图匹配以完成用户请求,可以用Servlet实现。通过将模型、视图与控制器分离,使得一个模型可以对应多个视图,一个视图也可以对应多个模型。MVC模式使得整个系统责任明确、接口清晰,有利于加快设计开发过程。MVC的提出,正好将软件界面的构成独立于它的计算模型[9]。通过以上描述,可以看到三层B/S结构和MVC设计模式均不包括数据层,也就是说没有讨论该层。三层B/S结构中的表示层可以理解与视图基本相当,而业务逻辑层和数据访问层应当属于模型。控制层一般包含在业务逻辑层中。所以三层B/S结构和MVC设计模块各层之间可能存在相当包含,并不是完全一致。
2.3 多层B/S结构
多层B/S结构源于三层B/S结构。在客户端,视图层不但需要体现与客户的交互界面,还有独立的与客户端交互的数据,这些数据是临时的,放在客户端的内存中,所以在客户端就又可分为两层,表现层及表现逻辑层。客户端这样划分,就将原来三层B/S结构中的业务逻辑层划分出了一部分,即表现逻辑层,而另一部分放在应用服务器端为应用逻辑层。多层中的数据处理层与三层中的数据访问层功能相当,在一般情况下,应用逻辑层会调用数据处理层,在一些简单的Web应用开发中可以将两层合并为一层,当系统较复杂时建议将两者分开,例如用户注册在应用逻辑层为一个方法,但要调用数据处理层的两个方法,一个方法为判断用户是否存在,另一个方法是将用户信息存储到数据库中。而多层中的数据层在三层中只是没有讨论,当然也是必须使用的一层。在实际的开发过程中服务器端的数据处理层也需要将从客户端接收的数据,发自数据层的数据,从数据层获取的数据及发往客户端的数据进行封装为实体层。至于MVC架构中的控制器层在多层中也是必须要考虑的,有了控制层,整个系统的业务层更加清晰,系统安全也更加有保证。综上所述,在多层结构的设计过程中,一般会包括到表现层,表现逻辑层,控制层,实体层,应用逻辑层,数据处理层,数据层。设计人员有时会将以上的多层中某两层或多层进行合并,从体系结构来讲,各层之间的界线应用是很明确的。
汽车行业管理系统的目标客户可以是汽配店、汽修厂、汽车4S店甚至是原厂。不同客户使用软件对于功能和性能的要求是不一样的。所以多层体系结构的汽车管理信息系统的设计一定根据具体情况具体分析。
汽配店和汽修厂,可能使用单机系统,基于局域网的多机系统或基于互联网的多店系统。汽配店的每日业务量少则几十条,多则成百上千条。汽修店的每日业务量是几条或几十条,相对较小,但整个流程较复杂。两者的共同特点是系统的使用者一般为同一单位内部员工,数据与外界交流很少,但可能存在与单位内部的其他管理信息系统之间的数据通讯。这类用户使用三层C/S体系结构可以保证有高效的响应时间和安全的应用环境。
汽车4S店的主营业务为某品牌的汽车销售,其他还包括该品牌汽车配件的销售、汽车维修,汽车保险等业务。同原厂之间可能还存在着订单之间数据通讯。这样用户使用三层的B/S架构基本可以解决数据通讯问题,当然也可考虑使用多层的B/S架构。
汽车原厂的业务最为复杂,其系统可以包含ERP、CRM和OA系统,内部多系统之间存在数据通讯,外部也存在与4S店之间的数据通讯。一般都会使用多层的B/S架构。
体系结构的设计不仅要考虑现在,还要考虑未来;不仅要考虑到系统本身,还要考虑到与其他系统的集成。因此在设计体系结构必须要考虑到系统集成问题。面向Web的数据集成是解决多种异构体系结构的一种良好方案。它是一项复杂的技术,考虑到XML在数据表示和Web service在跨系统跨平台方面的能力,可以考虑利用Web Service来解决Web上异构数据集成问题[10]。而SOA就是面向服务的体系结构,必须有服务的提供方,而服务的使用方必须按照提供方的规则使用相应的服务。
汽车行业管理信息系统使用多层体系结构进行设计可以降低软件模块的耦合度,提高软件的开发效率,降低软件的维护成本。由于不同的结构有不同的处理能力及相应的优势和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题。本文分析了多层体系结构中各层之间的关系,并根据不同的客户群体提出了不同的解决方案。
[1]Brett J.L.Landry.Using the Private-Internet-Enterprise(PIE) Model to Examine IT Risks and Threats Due to Porous Perimeters[J].Information security Journal,2009,4:21-26.
[2]Ahn.JeongYong,Itan.Kngn.Seok.Onthedesi,CRM industrial Management and Data Systems[J].2003,103(5):324-331.
[3]朱治国.基于XML的异构构件库群协同检索中间层模型[D].哈尔滨:哈尔滨工业大学,2007.
[4]Nikos Papadakis,Dimitris Plexousakis,Yannis Christodolou.The ramification problem intemporal databases:a solution implemented in SQL[J]. Applied Intelligence,2011,4(30):105-109.
[5]Martin Kalin.Java Web Services:Up and Running,Java Web服务构建与运行[M].卢涛,李颖译.北京:电子工业出版社,2014.
[6]解红,刘建,周洁,等.基于三层架构与Web服务的“异构数据同步”研究与实现[J].2010 International Conference on Circuit and Signal Processing,2010,2(33):596-599.
[7]Andreas Pilz,Joachim Swoboda.Network Management Information Models[J].International Journal of Electronics and Communictions,2004.6(58):165-171.
[8]Harvey M.Deitel,Paul J.Deitel,Sean E.Santry,钱方,梅皓,周璐、吴志英等译.JAVA大学教程[M].北京:电子工业出片社,2004.
[9]王映辉.基于MVC的软件界面体系结构研究与实现[J].计算机应用研究,2014,3(9):188-193.
[10]巫丹丹,李冠宇,于水明.面向服务的Web异构数据集成体系结构研究[J].计算机与数字工程,2007,35(8):35-38.
Design ofAutomobile Management Information System Based on Multi-layerArchitecture
Chen Hongjun
(Guangzhou Nanyang College,Guangzhou 510925,Guangdong)
The application of multi-layer architecture in the management information system of automobile industry can reduce the coupling degree of software modules,improve the development efficiency and reduce the maintenance cost.This paper analyses the relationship between layers in the multi-layer architecture,and puts forward different solutions according to different customer groups.
multilayer architecture;automobile management information system
TP311
A
1008-6609(2017)07-0056-03
陈洪钧(1974-),男,湖北随州人,硕士,软件设计师,研究方向为Java EE应用开发、Android应用开发。