如何做好接口
来源:互联网 发布:surface linux 编辑:程序博客网 时间:2024/06/06 04:32
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 何人
“何人”指哪一方取数,可分为我方与他方,下面结合数据提供方式进行说明。
按照数据提供方式分为主动取数与对方推送数据两种:
主动取数:l 主动取数指对方提供数据源,我通过读取数据源数据的方式取得数据,又可分为直接取数与间接取数两种。
直接取数:HRPLUS接口中,HRPLUS系统提供其数据库中具有特定查询权限的数据库账户,我方通过对方提供的数据查询语句取得数据,就是直接取数。
间接取数:由于不是所有系统都愿意开放其数据库供他方系统访问,有些供应商只提供如WEBSERVICE之类的数据传递中介,我方可通过访问其WEBSERVICE,取得数据,这就是间接取数。
对方推送:l 对方推送我方提供可以接受数据的WEBSERVICE方法供他方调用,他方供应商可调用此 WEBSERVICE将数据推送到我方系统。在CAMS接口中,我方提供一个接受数据的WEBSERVICE方法,CAMS方在系统中有相关单据生成时, 调用此WEBSERVIEC,将表单数据传递至我方。
2.3.6 何法
何法主要指取得数据后的处理,需结合现有系统功能进行细致分析。
实施人员在充分挖掘客户需求的基础上,及时与开发部门进行沟通反馈,由于开发人员对系统设计层面的知识有更深的了解,在设计过程中更加容易发现问题。
以 CAMS接口为例,控制系统单据的预算由单据包含的维度成员来确定,当CAMS中单据向控制系统单据进行转换时,需要将CAMS系统中的维度,对 应到控制系统当中。由于控制系统中单据涉及六个维度,CAMS系统单据只包含两个维度,故需通过对应关系与设置默认值的方式,将CAMS中两个维度的单据 变为控制系统中六个维度的单据。
另外CAMS单据中部分字段是控制系统中没有的,设计表单时通过自定义字段,并在后台数据库中,将CAMS传递过来的列名与控制系统中的列名进行对应关系设置,将CAMS中的字段信息与控制系统的字段对应起来。
再 举个HRPLUS例子,接口调研时需要客户提供需要传递的字段信息,如员工姓名、登录名、职级、公司等,得到这些字段后,便要开始分析这些字段在 系统当中的作用,如HRPLUS系统中的登录名要转换成控制系统中的登录名。由于HRPLUS系统中公司与部门的层级关系,在控制系统中是项目与部门的层 级关系,还需有对应关系表,将二者对应起来。此外当HRPLUS中人员变动时,在控制系统中人员的相应信息,如职级信息,也要跟着变动,此时要考虑到是否 对系统流程产生影响,这就需要和开发部进行及时的沟通。
此过程是接口中最为复杂的部分,需要协调各方人员进行沟通,故在时间安排上此步骤也应当是最多的。沟通过程中涉及的细节问题需通过邮件与客户确认,并记录的相关文档当中。
阅读全文
0 0
- 如何做好接口测试?
- 如何做好接口测试
- 如何做好接口
- 如何做好Web接口测试
- 系统接口实录-如何做好接口
- 项目-系统接口实现 如何做好接口
- 软件测试工程师必知:如何做好接口测试
- 如何做好一个网站?
- 如何做好下属
- 如何做好一个软件
- 如何做好SQA?
- 如何做好职业生涯规划?
- 如何做好项目经理
- 如何做好SQA
- 如何做好PL
- 如何做好程序员
- 如何做好程序员
- 如何做好培训师
- 关键活动.cpp
- Transfer Error: "encountered 1 errors during the transfer" via SSH Secure File Transfer
- Sublime Text 3 更改字体
- Android 5.0 以下Native进程保活尝试
- #ifndef/#define/#endif 防止该头文件被重复引用
- 如何做好接口
- 位运算总结
- java反射和自定义注解的使用实例
- 《大型网站技术架构:核心原理与案例分析》拜读总结,第三章——大型网站架构核心要素
- 批处理快速插入数据
- LocalSessionFactoryBean为什么能注入到HibernateDaoSupport
- 任务篇:中恒成长1
- 命令行下的mysql的基础用法
- MyBatis+Oracle时间精度丢失的问题