王万生
[摘要]针对煤炭企业实际情况,本文引入面向服务的理念,对该企业的协同管理软件从业务逻辑层进行重新规划与部署,将业务按照“高内聚,低耦合”的原则进行划分,形成17个相对独立的服务,每个服务实现一类具体的业务需求,这些服务在协同服务管理器的有效调控下,及时有效的响应用户请求。实际应用表明,该软件架构增强了部署的灵活性,提高了响应效率,实现了负载均衡。
[关键词]面向服务;协同管理;业务逻辑层
[中图分类号]C36 [文献标识码]B [文章编号]1672-5158(2013)06-0259-01
1 引言
本论文引用面向服务架构(SOA,Service Oriented Architecture)的理念,将协同管理软件的业务逻辑层按照“高内聚,低耦合”的原则进行划分,形成17个相对独立的服务,每个服务处理一类具体的业务需求,这些服务协作起来在服务分析器的有效调控下,对用户请求进行有效及时的响应。从而提高软件部署的灵活性,响应效率,实现负载均衡。
2 面向服务的煤炭企业协同管理软件
2.1 服务的划分
煤炭企业协同管理软件将该企业的人、财、物等资源进行集中管理和统一调度,为领导者提供决策,其管理的范围比较广泛,实现的业务功能比较全面,经过各方面的综合考虑,某煤炭企业协同管理软件业务分为17个子服务,分别是OA办公子服务、人事管理子服务、财务管理子服务、资产管理子服务、审计管理子服务、纪委监察管理子服务、团组织管理子服务、党组织管理子服务、社保管理子服务、劳资管理子服务、安全管理子服务、车辆管理子服务、档案管理子服务、项目管理子服务、工会管理子服务以及企业文化管理子服务,具体如图2-1所示。
协同管理软件17个子服务内部内聚度高,服务与服务之间耦合度低。它们之间业务功能划分也相对比较明确,相对于煤炭企业来说,每个服务处理一类具体的业务,而每个业务也相对集中某一个或几个部门,这样有利于集中管理;另外这些子服务之间的粒度大小也相当,在系统运行过程中,用户的访问均衡的分散到这17个子服务中,实现了任务分摊,负载均衡。
2.2 服务的工作机理
协同管理软件的17个子服务要协同起来工作,必须还有一个服务分析器,服务管理器负责接收用户的访问请求,判断由那个服务处理,进而调用该服务进行处理,并将处理结果反馈给用户。
面向服务的煤炭企业协同管理软件工作机理是这样的,用户通过浏览器发出访问请求,服务分析器接收访问请求,判断该访问请求属于17个子服务哪个处理的业务范围,进而调用对应的服务进行处理,对应服务响应接收到的用户请求,处理相关业务并且根据需要传输数据库处理命令给数据库,数据库执行对应的数据库语句并且将处理结果返回给对应的服务,服务对结果进行加工处理后反馈给服务分析器,服务分析器进一步反馈处理结果给浏览器,让用户进行结果的查看操作。如图2-2所示。
2.3 服务的部署
面向服务的煤炭企业协同管理软件最大的优势就在于部署灵活上,可以根据软件的运行情况随时调整部署模式。
首先将服务分析器和服务分开部署在不同的服务器上,服务分析器就专心的进行任务的分析和转发,而17个服务到底部署在几台计算机上合适,其实是相对灵活方便的。
(1)17个子服务部署在一台服务器上。
协同管理软件在煤炭企业刚投产运行时候,访问的用户量并不是很多,有些部门因为硬件或者网络等原因退后使用,这是如果把17个子服务分开部署,则对计算机资源无疑是个浪费,因此可以将17个子服务部署在同一台服务器上,但是工作机理是不变的。这样其实和没有进行服务划分的软件系统一样,反而比没有划分的复杂,但是随着后面用户访问数的增多,则划分服务的协同管理软件优势则显示出来。
(2)17个子服务部署在几台服务器上。
煤炭企业协同管理软件的普及使用使得访问其的用户越来越多,此时有几个服务需要处理的业务则不断增长,如人事管理、财务管理、资产管理等,而有些服务处理的业务仍比较少,如审计、纪委监察等,此时对于业务访问请求多的服务应该分开部署在不同的服务器上,而业务处理少的服务则几个合并部署在一台服务器上。
(3)17个子服务部署在17台服务器上。
对于一个大型煤炭企业,协同管理软件运行几年后几乎企业所有员工都需要使用该软件,此时软件的每一个服务都有不少的用户访问请求,对于前面几种部署的那几个服务也需要分开部署,从而实现17个子服务分别部署在17个服务器上,这样每个服务器只管属于自己服务业务范围内的访问,从而实现17类业务的并行工作。
依据煤炭企业协同管理软件的访问情况来动态调整服务的部署方式,使得在不浪费资源的前提下实现任务分摊和负载均衡,防止访问瓶颈,提高响应效率。
3 结论
大型煤炭企业协同管理软件采用面向服务的模式进行架构,将业务逻辑层分成17个相对独立的子服务,这些服务在服务分析器的有效管理下协同工作,分摊任务,对外提供统一接口,来及时高效的响应用户的访问请求。本文虽然研究的是煤炭企业的协同管理软件,但是对其它大型企业分布式环境下相关软件的架构和开发都有一定的借鉴价值。
参考文献
[1]赵艳妮;分布式工时软件平台架构关键技术研究[D];陕西师范大学;2008
[2]杜攀,徐进,SOA体系下细粒度组件服务整合的探士[J]计算机应用,2006(03)
[5]高俊,沈才梁,陈暄,一种面向服务体系结构的服务组合方案求解方法[J],计算机应用研究,2011(11)
[4]梁胜彬;朱小艳;董靓,基于SOA的协同软件体系架构研究[J]现代计算机(专业版),2012(08)