项目-系统接口实现 如何做好接口
目录:
1 概述... 3
1.1 前言... 3
1.2 客户现状... 3
1.3 负责工作... 4
2 如何做好接口... 4
2.1 什么是接口... 4
2.2 接口形式... 4
2.3 接口5W1H.. 5
2.3.1 何因... 5
2.3.2 何事... 5
2.3.3 何地... 5
2.3.4 何时... 6
2.3.5 何人... 6
2.3.6 何法... 6
3 其他... 7
3.1 心得... 7
1 概述
1.1 前言
在大型公司的软件实施中,软件接口在实施中占有较大比重。由于大型公司企业信息化程度相对较高,使用的软件系统也较多,当需将多个系统协调配合进行工作时,接口是进行数据沟通、整合信息最佳方式。
当接口越来越复杂,涉及到的应用系统越来越多时,如何将接口做好变成为一门学问。接口过程中涉及的东西很多,如项目管理、业务背景、技术背景、协调能力等等。唯有通过不断的实践总结理论,再以理论指导进行更好的实践,循环往复探索更加符合企业软件环境的接口实施方法。
1.2 客户现状
客户目前使用HYPERION系统做预算编制,为了更好的控制预算,并简化复杂的报销流程,选用了我公司的网络报销控制系统。通过控制系统系统与现 有系统进行数据集成,将已有系统中可使用的数据与我方系统相结合,保持多个系统数据的一致性,并有效利用现有数据,减少手工的数据录入。
客户正在使用当中并与我方系统相关的系统如下:
l 系统
HYPERION用做企业预算编制,包含企业大部分预算数据,这些预算数需要导入到控制系统中,转换成我方系统中的预算数。
l 系统
HRPLUS主要用于为员工工资发放,包含公司人员的相关数据。HRPLUS接口需将其中的人员信息按客户需求做适当处理进入成本控制系统。控制系统的审批流程 需依据HRPLUS系统的直属主管信息进行判断,流程步骤根据员职级进行设置, HRPLUS中的基础数据是控制系统运行基础。
l 系统
CAMS用做工程款付款管理,系统有不与HYPERION重合的单独在建工程预算,并包含工程付款所需要的单据。接口程序需将CAMS系统当中的部分单据数据以及与之对应的预算数据导入的费用控制系统当中,在进行流程审批后,将控制系统产生的付款信息导回到CAMS系统当中。
1.3 负责工作
笔者主要负责CAMS系统接口以及HRPLUS接口,主要包括如下方面:
l 了解客户需求并将编写相关文档进行需求确认。
需求调研:l 设计接口逻辑方案与技术方案,通过与客户、开发部、第三方供应商的沟通,确定接口实现方式以及实现效果。
方案设计:l 在方案确定后,需开发部门安排接口中每一个功能实现时间,版本更新时间,每天进行进度跟踪。
进度跟踪:l 主要分为基础数据搜集录入以及配置对应关系表,如CAMS接口涉及6张对应关系表,需通过对应表将客户提供的数据与控制系统中的数据关联。
数据配置:l 测试是对上述工作的检测,接口是否符合客户需求,是否稳定都需在测试阶段进行验证。
接口测试:l 测试完成后将接口部署的客户正式服务器上,并更新系统相关配置文件。
部署:上述工作也是接口实施中基本会涉及到的工作任务,需实施人员做好合理安排,确保各个工作有条不紊的进行。
2 如何做好接口
2.1 什么是接口
要做好接口,首先要知道接口是什么。实施过程中的接口是指通过技术手段,实现两个或多个系统之间数据交互、数据共享一种解决方案。
2.2 接口形式
接口的三种形式:
l 第一种:对方提供数据给我方系统。
HRPLUS接口使用属于第一种情况,我方通过对方提供的数据库用户,对表中数据直接进行读取。
l 第二种:我方提供数据给对方系统。
l 第三种:前两种的结合,包括数据的取得与回传。
CAMS接口是第三种情况,接口当中我方首先要得到CAMS系统中的单据数据,在控制系统中走完付款流程后,将流程中产生的财务审批相关的数据再回写到CAMS系统当中,是双向接口。
2.3 接口5W1H
做系统接口过程就是解决问题的过程,将5W1H分析法用在接口分析上,从何因、何事、何地、何时、何人、何法六个方面提出问题进行思考,可帮助接口需求人员更加细致的了解接口过程中需要完成的工作。
此种分析法可作为接口调研设计过程中的模板,解决好5W1H,是做好接口的保证。
2.3.1 何因
“做正确的事,再正确的做事”,在客户提出要做接口时,首先想到的是这个接口不是怎么去做,而是是不是有必要去做。
对于客户的接口要求,不要立刻答应,当然也不能立刻回绝,需和客户经过详细的沟通,并参考开发部门的意见后再做决定。对于不合理的接口需求,应通过 引导客户的方式,尽量不要做。比如和控制系统基本上没有关系,或是没有包含在当初的招标文件当中以及合同当中,此类需求需尽量通过沟通说服等方式解决。
另有些接口可以用系统现有功能替代实现,并非一定要定制开发,实施人员可建议一些较为容易的实现方式,如系统已有的数据导入导出方式,对于导入导出实在满足不了需求的,再做定夺。
2.3.2 何事
“何事”主要针对于取数的对象,即客户需要将什么系统的什么数据取到我方系统中,此时需要关注的问题是这些数据在控制系统当中的用途,如何与系统现有功能进行结合。
以CAMS接口为例,CAMS系统不包含审批流程控制功能,故客户希望将CAMS中的单据数据传递到控制系统当中进行流程的审批。客户的此种需求就 涉及到与控制系统中控制单据这个功能模块进行结合,进行分析时应考虑到控制系统对单据的格式要求以及数据要求。此外,客户需要已有的基础数据如单据的格 式、字段信息、审批流程作为接口方案设计的参考数据。
2.3.3 何地
“何地”不是指具体的地点,而是指从什么服务器获取数据,取数后存放在什么服务器。
如HRPLUS接口进行取数时,根据HRPLUS供应商提供的数据库账户,将其系统中查询到的数据存放到我方系统的临时表中,然后再做处理。
CAMS接口是通过WEBSERVICE进行数据传递,这里的“何地”是指WEBSERVICE地址。
2.3.4 何时
“何时”指什么时间进行数据的传递,可分为实时与定时:
l 实时接口:指当用户执行触发特定事件后执行接口程序,进行数据传递,如CAMS接口,当用户点击单据回传按钮后,触发接口程序,将带有付款审批信息的CAMS单据回传到CAMS系统。
l 定时接口:通常用做数据的定期同步,如HPRLUS接口每天晚上9点将最新HRPLUS数据同步到控制系统当中。做需求时需根据用户实际情况进行定时时间的确定,一般是凌晨进行。
2.3.5 何人
“何人”指哪一方取数,可分为我方与他方,下面结合数据提供方式进行说明。
按照数据提供方式分为主动取数与对方推送数据两种:
直接取数:HRPLUS接口中,HRPLUS系统提供其数据库中具有特定查询权限的数据库账户,我方通过对方提供的数据查询语句取得数据,就是直接取数。
间接取数:由于不是所有系统都愿意开放其数据库供他方系统访问,有些供应商只提供如WEBSERVICE之类的数据传递中介,我方可通过访问其WEBSERVICE,取得数据,这就是间接取数。
2.3.6 何法
何法主要指取得数据后的处理,需结合现有系统功能进行细致分析。
实施人员在充分挖掘客户需求的基础上,及时与开发部门进行沟通反馈,由于开发人员对系统设计层面的知识有更深的了解,在设计过程中更加容易发现问题。
以CAMS接口为例,控制系统单据的预算由单据包含的维度成员来确定,当CAMS中单据向控制系统单据进行转换时,需要将CAMS系统中的维度,对 应到控制系统当中。由于控制系统中单据涉及六个维度,CAMS系统单据只包含两个维度,故需通过对应关系与设置默认值的方式,将CAMS中两个维度的单据 变为控制系统中六个维度的单据。
另外CAMS单据中部分字段是控制系统中没有的,设计表单时通过自定义字段,并在后台数据库中,将CAMS传递过来的列名与控制系统中的列名进行对应关系设置,将CAMS中的字段信息与控制系统的字段对应起来。
再举个HRPLUS例子,接口调研时需要客户提供需要传递的字段信息,如员工姓名、登录名、职级、公司等,得到这些字段后,便要开始分析这些字段在 系统当中的作用,如HRPLUS系统中的登录名要转换成控制系统中的登录名。由于HRPLUS系统中公司与部门的层级关系,在控制系统中是项目与部门的层 级关系,还需有对应关系表,将二者对应起来。此外当HRPLUS中人员变动时,在控制系统中人员的相应信息,如职级信息,也要跟着变动,此时要考虑到是否 对系统流程产生影响,这就需要和开发部进行及时的沟通。
此过程是接口中最为复杂的部分,需要协调各方人员进行沟通,故在时间安排上此步骤也应当是最多的。沟通过程中涉及的细节问题需通过邮件与客户确认,并记录的相关文档当中。
3 其他
3.1 心得
接口是一个很细致的工作,不仅要考虑到接口中数据的取得,还需考虑与系统的结合。作为项目实施中占有较大比重的一部分,接口实施的好坏直接关系的项目整体的实施进度与实施质量,只有多实践多总结,才能了对接口实施有更加深入的了解。
目录