基于三层架构与SOA的TBM系统设计
2014-02-12
(天津海运职业学院,天津 300350)
一、三层架构与SOA
三层架构就是把二层架构中的应用构件独立出来,形成新的应用层,从而变成三层的架构。而SOA则是一种面向服务的体系结构,它是一个组件模型,将一个应用程序的不同功能的服务之间定义一些良好的结构并把它们很好的结合起来,是独立于硬件、操作系统和编程语言的一种结构。而这样的系统可以用统一和通用的方法来交互。
(一)SOA的需求
1.客观上需要。网络发展越来越迅速,也越来越普及,人们也越来越需要一个应用能将多个应用的功能集成在一起,来实现更强的信息处理。
2.基础理论越来越成熟。如面向对象和构建架构的理论和技术,已经发展到了可以把建模语言同一,并可以提供建模工具。而且中间件集群理论也已经趋向成熟,并提出了中间件Inter Bus技术。
3.随着浏览器技术的普及,这已经成为了行业内的标准,也奠定了SOA的理论基础和技术规范,这样SOA的强劲增长便是顺理成章的事了。
(二)SOA的优点
1.把现有的资产利用起来。方法是用这些资产,包装成一些服务,而这些服务可以提供企业功能。这样组织就不用重新构建,从现有的资产就可以获取价值。
2.便于集成。可以把发生的改变带来的不良影响降到最低的限度。
3.以最快速度把现实整合。利用这些构件,开发一款软件就不再需要那么长的时间,可以以最快的速度完成一款软件。
4.减少成本。通过集成的方式,企业可以根据自己的需要,自由地把功能和服务组合,从而减少不必要的成本支出。
5.SOA的服务可以更轻松地去添加,修改,管理和删除,不需要重新开发,十分方便。
二、TBM系统功能分析
(一)人员管理
人员管理是TBM系统中最基本的管理之一,当中涉及了员工的申请注册、离调职管理、基本信息管理和各种业务的打印功能。
(二)考勤管理
考勤管理涉及的方面有人员的上下班时间、查岗,记录考勤状态、记录其中的次数等操作。该模块需要通过逻辑判断和处理,来分析一个员工的考勤状态并记录下来,而且该状态可以供管理员查询,并有打印等操作。
(三)项目组管理
项目组管理就是管理各个基地的基本组成单位,项目组管理可以让指导老师对他们所指导的项目组进行合理的监控和有必要的指示,从而保证项目的顺利进行,降低风险。
(四)设备管理
由于基地内有大量的设备,设备管理就是负责管理这些设备的模块。对于固定设备,该模块可以提供分配、保修等操作,而对于公共设备,可以提供申请与审核的操作。并可以由管理员去查阅每个设备的状态。
(五)请销假管理
基地内的员工会有请假的需要,因此便需要请销假管理。该模块可以提供给普通员工请假、销假的操作,而对于管理员,则提供审批和查阅的操作。
(六)值日管理
基地需要有值日的安排,该模块负责这方面的管理。对于普通员工,提供查看值日安排、填写值日情况操作。对于管理者,提供制定值日表,修改值日表,打印值日表等操作。
(七)加班管理
该模块负责基地内加班人员的管理。该模块提供加班的申请与审核操作。
(八)账户及权限管理
这个系统涉及十分多的账户,所以需要一个管理这些账户的模块。该模块可以添加和删除账户,也可以修改账户的权限和访问的页面等等。
(九)系统管理
该模块负责一些系统的参数,例如上下班时间、节假日时间等等,这些时间都是可更改的。
三、TBM系统架构设计
(一)技术架构设计
系统采用了分层设计,并不是使用传统的三层架构模式,而是适当扩充了一下,将逻辑层的大量函数封装成可以供上层调用的Web服务。这样系统分别由数据访问层、业务逻辑层和表示层组成。数据访问层主要负责对数据库的数据进行添加、删除、修改等操作。而业务逻辑层就主要是针对业务的流程去实现系统的功能,当中已经封装了的Web服务对于逻辑层方法再封装一次,这样就可以实现基于SOAP和XML的数据传输,上层不同的程序就可以调用。表示层通过Web程序和Winform程序来表现出业务的逻辑,来完成所需要的功能。
(二)表现形式
由于TBM系统涉及到了所有实训的同学和管理人员,在表现形式上,要尽量考虑简易操作,表达清晰,最好能做到学习成本低,使用无障碍等要求,又尽量做到不要浪费资源,浪费空间和时间。经过考虑,系统采用了B/S与C/S的混合结构作为表现形式。
对于普通员工,采用的操作界面是Web浏览器,因为他们使用的频率并不高,单独制作一个客户端意义不大,因为Web浏览器已经满足了需求。而对于管理者,则提供WinFrom窗体客户端,来进行频繁的查看,打印,修改,管理等操作,这些操作经常使用Web浏览器并不方便,因此制作这个客户端可以使他们更加便利地去进行操作。
四、TBM系统应用设计
(一)公共对象设计
名称:tools.cs
作用:处理数据集的转换
输入:数组或List集合
输出:同上
名称:upconstlist.cs
作用:记录操作权限
输入:无
输出:权限值,类型是静态常量
名称:SQLServerDBHelper.cs
作用:数据库语句
输入:数据库的链接,SQL语句
输出:数据的条数,属性,状态
名称:wordhelper.cs
作用:WORD的操作
输入:文件路径
输出:要打印的文档
名称:excelhelper.cs
作用:Excel的操作
输入:文件路径
输出:要打印的文档
(二)功能模块设计
由于这个TBM系统采用了分层架构,那么其实每一层就是系统的一个功能模块。分别是Entity模块、SQLDAL模块、BLL模块和UI模块。
Entity模块里又涉及人员管理模块、考勤管理模块、项目组管理模块、值日管理模块、设备管理模块、请销假管理模块、加班管理模块、账号及权限管理模块、和系统管理模块。
SQLDAL模块主要就是涉及数据里的链接和数据的访问、添加、修改等功能,各个领域对象的SQLDAL涉及两个部分,第一就是单记录的操作,修改的记录及时更新到数据库中;第二就是多记录操作,通过数据集的操作来把数据集体更新到数据库中。
BLL模块就是TBM系统负责业务处理的模块。它主要负责的是完成去处理系统的逻辑业务。利用数据访问层提供的函数接口来进行封装和集成等操作,这样就可以把更加复杂的业务需求实现。
UI模块就是用户界面的管理模块,用来把整个系统的各个功能都清晰地展现出来,让用户简单地去实现各种操作。
(三)后台服务程序设计
后台服务程序在数据库的服务器上运行,可以帮助系统完成一些自动处理的工作。由于这个功能并不会与操作软件的操作者有太多的交互,所以以控制台的形式展现,并制定了一些操作命令,让管理员去输入这些命令来进行操作,为了系统的安全性,需要登录后才可以进行这一系列的操作。
六、结语
综上所述,把软件架构知识合理运用,能最大限度地减少软件开发的成本,也能加大程序之间的复用性,使得现在一个软件可以集成多个软件的功能和服务。因此,如何使不同平台、不同地域的计算机可以更方便地交流数据,分享数据,共用服务,减轻维护的工作强度,这是很多人研究的方向。本文上面所描述的TBM系统表示采用了三层架构与SOA技术的管理系统,可以在一定程度上实现更高效、更便捷地半自动化管理。
参考文献:
[1]章利.基于.NET的多层分布式企业应用架构的设计与实现[D].哈尔滨理工大学,2007.
[2]孙华林,赵正文.基于Web Services的面向服务架构(SOA)的探索与研究[J].信息技术,2007,(01).
[3]夏克付.基于三层架构的企业用户服务系统设计[J].电脑知识与技术,2010,(27).
[4]赵伟.王志华.周兵.基于NET技术和MVC的新架构模式[J].计算机工程与设计,2012,(07).