近年来,随着网络技术不断发展,尤其是基于Web的信息发布和检索技术、Java技术以及网络分布式对象技术的飞速发展,导致了很多应用软件体系结构从C/S结构向更加灵活的多层分布结构演变,使得软件体系结构跨入一个新阶段,即B/S体系结构(Browser/Server的简称,浏览器/服务器模式),用于满足业务应用的深度及广度的变化。但当B/S结构的eHR系统陆续面市后,用户才痛苦的意识到:原来B/S结构的eHR系统并没有想象的那么美好,甚至很多方面与传统的C/S比较起来相差甚远。那么究竟eHR系统应该采用什么技术架构开发,用户选择eHR系统应该选择C/S还是B/S?似乎成了困扰人力资源软件开发者和选型者共同的难题。早期的财务、人事等应用大多数是C/S结构的程序,传统的GUI技术,开发工具大多数是VB、DELPHI、PB等,很多厂商经过多年的沉淀,在C/S应用开发上形成了诸多核心技术。
目前,市场上主流的eHR系统采用的技术架构主要有三种模式:C/S、B/S、C/S+B/S。基于Web的B/S方式其实也是一种客户机/服务器方式,只不过它的客户端是浏览器,为了区别于传统的C/S模式,才特意将其称为B/S模式。那么它们的特点是什么?各有那些优缺点?eHR系统技术架构究竟该如何选择?笔者根据多年从事eHR系统开发的经验,谈谈自己的一些观点,希望对那些即将开始人力资源信息化的客户有所帮助。
1、B/S架构模式的优点
●具有分布性特点,可以随时随地进行查询、浏览等业务处理。
●业务扩展简单方便,通过增加网页即可增加应用服务功能。
●软件维护升级简单方便,集中布署就可实现所有用户的应用同步更新。
●采用资源共享技术合理地利用稀有资源(数据库连接等业务组件对象),提高软件运行效率。
2、B/S架构模式的缺点
●操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。
●页面动态刷新,响应速度明显降低。
●网络传送的有效数据少,很大一部分是HTML标志,网络带宽利用率低。
●GUI界面功能弱以及基于HTTP协议等原因,难以实现传统应用模式下的特殊功能要求。
●软件开发复杂,要求软件工程师掌握的知识的宽度及深度(Javascript、HTML、DHTML、CSS、Java等)都较高,并能合理有效把这些松散知识整合起来形成软件产品。
3、系统的性能
在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。
不过,采用B/S结构,绝大部分工作由服务器承担,这使得服务器的负担很重。采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。
4、eHR系统的开发
随着企业人力资管理由传统的人事管理过渡到人力资源管理,管理的跨度已经由人力资源部门逐渐深入到各级部门经理以至于全员,eHR应用的深度更深和广度更宽。这些因素导致了设计eHR的角度需要重新定位,可能会更关注易用、速度、客户端布署、并发量、网络带宽利用率等参数。
B/S技术是近几年逐步发展起来的,在Web2.0等技术出来以前,B/S技术还不够成熟,在有些技术实现方面还不如传统的C/S技术,这就是一些早期的B/S版本的eHR系统得不到客户认可的主要原因。近几年,随着Web2.0等技术的出现,B/S技术得到了极大的改善,比如可以采用AJAX技术实现网页不用刷新就可以取得业务数据,满足交互性要求较高的企业应用。
C/S技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。但如果客户端要布署在不同的操作系统上,C/S结构的软件需要开发不同版本的客户端软件。这使得应用程序的维护、移植和互操作变得复杂。
5、eHR系统的升级维护
C/S系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器安装了浏览器,能上网就可以。对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势明显——所有的升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的。
2006年,中国最具权威的大型人力资源管理网络平台--中人网对市场上已经开发完成的人力资源管理软件产品进行了一次用户体验调查,调查后的结果显示:用户对已经上市的纯B/S架构的人力资源管理软件的评价普遍不高,存在的共性问题主要有三点:1、交互性(易用性)较差;2、运行速度慢;3、可扩展性(灵活性)不理想。而在这三个方面,传统的C/S应用往往有很好的表现。
如何将C/S已经做得很成熟的业务应用移植到B/S应用,扬B/S之长,避B/S之短,审时度势,巧妙的在B/S产品中保留了部分C/S插件的应用,给客户多了一个实实在在的选择,即网络条件不好时,就用BS完成工作;如果网络条件较好,就可以使用部分C/S功能,借助C/S界面交互性强、客户体验好的优点,提高工作效率,这种设计思路受到了客户广泛的欢迎。
综合以上,笔者认为,尽管B/S已经成为一种势不可挡的潮流,但到目前为止,能够开发出完全符合用户的要求,得到用户真正肯定的eHR产品还很少见,往往开发商自己认为做的不错的软件,到了客户那里就难以认可。基于国情民情,可以说中国人力资源管理软件的开发面临着痛苦的局面,软件既要做的灵活开放,又要操作非常简单,凡是懂软件开发的人都知道,这是一个非常矛盾的局面,但专业化的人力资源软件公司还是要迎难而上。我们在开发eHR软件的时候,脑子里萦绕的总是这个问题,把一些复杂的功能优化再优化,简单再简单,实在简单不了了,就把它藏在后台,一般操作人员和领导看到的软件往往是操作非常简便的前台,只有系统管理员或具有一定应用水平的客户才能看到软件灵活开放的后台,这样就有效缓解了以上的矛盾。