任何接口,如果不能做到自动采集数据,那么它就是一个伪接口。简单非核心的数据,出于成本等因素,往往我们能够接受手工录入或excel导入的方式;但是越涉及核心的数据,越是不能这样来做。我们必须把各个子系统打通,让数据能够实时流动,才能实现真正的高效率。
在软件开发的世界中,软件接口向来是最耗时费力的工作,没有之一。一件事一个人做,可能5分钟足矣。但一件事涉及到10个人,往往并非 5* 10=50分钟这么简单。做系统接口,必须是熟悉系统的专业人员,两个系统则必须是两个专业人员。假如第三方系统早就没人维护了,那么首先要做的,是先理解业务,究竟能不能实现功能?还是必须要先踢掉旧系统换新系统?由此带来的额外开发成本能否接受?
举个简单例子。比如中国搞一带一路,目标是货物能陆路直达西欧。不过就是一条铁路,但必须先做典型案例,于是先修中巴铁路。但是巴基斯坦铁路轨距和中国不一致,原有铁路线不能用,基本上必须新修线路。而巴经济落后,搞铁路需要稳定电力,所以我们发现中巴战略合作的启动节点,更多是造电力设施,而非造路。为了开辟一条新路,必须先解决一切外围基础设施瓶颈,所以说这是一项世纪大工程。
所以很多时候,所谓做一个接口,并不是在做接口,而是在重新设计和规划,有时甚至得推倒重来,从源头改造和重构各个子系统,这时候需要尊重专业系统架构师的合理建议。一旦代价大到无法接受,很多时候公司必须面对现实,尽量用好手头现成的技术,放弃部分非核心功能,比如简化和调整业务逻辑,不再追求完美的审批流,用最省费用的方式,来获取最大经济效益。
eHR软件的最大特点,是与人相关,企业当前最准确的人员、组织结构相关数据都在系统里面。eHR系统与其他第三方系统的接口,目的是为了实现考勤、绩效奖金等自动计算功能,更多是转换数据,而非创造数据。那么接口数据结构的设计应该简洁实用,能和每个员工绑定,数据够用就行,比如原始数据可溯源,能够精确到月份汇总,通常不需要也没必要在eHR系统中直接存放大量业务系统数据。
比如绩效奖金,尽量不要存放每笔交易或是操作明细,而应该在业务系统中先期进行数据汇总,把汇总后的结果,通过接口或是电子表格,导入到eHR系统中,由eHR系统来做后期的考核和薪酬计算。原始数据并非越全越好,否则会出现数据冗余,业务系统中数据发生调整,eHR中的对应数据也需要做调整,这种很容易变成数据耦合,变相给将来挖坑。
实践中常常会犯的错误,是用户误以为今天既然要上eHR系统,那么很多旧系统没做清楚的功能,都可以在eHR里面多打几个补丁来实现。往往这种思路,只是解决了眼前问题,并不能解决根本问题。接口需要简洁实用,不能造成系统界限模糊不清,功能耦合,导致未来各个子系统升级改造之时,时时受到之前不合理架构设计的束缚,让本来轻松能完成的任务,变成不停的打新补丁,甚至导致必须推翻重做的恶果。
365云人事软件(365YunHR)的接口设计,采用基于web的restful接口技术,为每个模块的各个子功能,都提供了标准接口功能,用户只需按我们的标准,就可以轻松实现所有和人员相关的绩效数据导入。条件许可的情况下,我们都会推荐实时数据接口,以便获取最佳的性能和用户体验。我们希望每个接口都能达到简洁实用的效果,让eHR系统发挥专长,真正做它擅长的任务。
—END—
了解更多,可关注365云人事