如何进行系统接口设计 如何调用其它系统的接口
若一个系统或者网站在正常的运行,并达到期望的运行需求,很多都是和各系统间串联有关的。在系统接口设计开工的过程中,其间有两个问题很值关注,如何设计供其它系统调用的接口和如何调用其它系统的接口。
如何进行接口设计?
1.一般来说,公布给其它的系统用接口,都是稳定的,较少变动的,所以做足需求,能考虑到多种因素和未来可能发生的因素是前提,这样能尽可能减少接口的变动
2.对数据校验不通过的和执行失败的,最好能有清淅明了的提示返回给调用方。
3.对于产生交易数据的接口,最好写log,记录调用方传过来的数据,方便将来查数,不能指望所有的调用方都会写log。
4.接口的使用的类型变量尽量通用,特别是对使用此接口的用户一无所知情况下,对方可能是JAVA,也可能是VB6,也可能是C#,不要使用某种编程语言的特定类型,我认为比较好的是,参数和返回值都使用string类型,这样基本上的编程语言都能支持,然后参数和返回都使用XML来定义。
公布接口的时候一同公布接口定义文档,最好加上XDL文档。
5.对接口接收过来的数据,最好进行数据效验,因为你不能保证其它系统会传给你完全符合标准的数据。
如何调用其它系统的接口?
因为是其它系统的接口,直接调用就行了,没有什么啊,其实不然,下面是我总结的一些经验,还是很有用的。
1.对于调用会产生数据交易的其它系统接口,一定要写Log,这对将来数据出错时,查找问题的根源很必要,特别是对方系统的接口没有写log时,一旦出现数据问题,往往会不知从何查起,是我们给的数据有问题,还是对方系统处理我们给的数据有问题?在最近的一个项目中,因为我们产生数据的逻辑很复杂,而对方接口收到我们产生的数据后,也会做一个很复杂数据交易动作,在系统上线初期,出现了很多莫名其秒的数据,而我们正是通过在调用对方接口时的写log数据,很快查出一些是我们生成的数据有问题,一些是对方处理数据有问题。
2.不要程序各个地方直接使用其它的系统的接口,最好是写一个类来封装其它系统的接口,如果其它系统的接口很多,可以专门建一个项目来管理类,这样当接口发生变化时(如接口名,接口方式),只需要替换该项目的DLL就可以了,而程序的其它地方都可以不用改,切忌在程序的各个地方直接调用其它系统的接口。
接口开发就是为了能够是系统的功能更加的完善,也是一个系统能够不断扩大的必要手段除了会调用系统原有的接口以外,设计者还要学会设计开发接口来为系统服务。
如何进行接口设计?
1.一般来说,公布给其它的系统用接口,都是稳定的,较少变动的,所以做足需求,能考虑到多种因素和未来可能发生的因素是前提,这样能尽可能减少接口的变动
2.对数据校验不通过的和执行失败的,最好能有清淅明了的提示返回给调用方。
3.对于产生交易数据的接口,最好写log,记录调用方传过来的数据,方便将来查数,不能指望所有的调用方都会写log。
4.接口的使用的类型变量尽量通用,特别是对使用此接口的用户一无所知情况下,对方可能是JAVA,也可能是VB6,也可能是C#,不要使用某种编程语言的特定类型,我认为比较好的是,参数和返回值都使用string类型,这样基本上的编程语言都能支持,然后参数和返回都使用XML来定义。
公布接口的时候一同公布接口定义文档,最好加上XDL文档。
5.对接口接收过来的数据,最好进行数据效验,因为你不能保证其它系统会传给你完全符合标准的数据。
如何调用其它系统的接口?
因为是其它系统的接口,直接调用就行了,没有什么啊,其实不然,下面是我总结的一些经验,还是很有用的。
1.对于调用会产生数据交易的其它系统接口,一定要写Log,这对将来数据出错时,查找问题的根源很必要,特别是对方系统的接口没有写log时,一旦出现数据问题,往往会不知从何查起,是我们给的数据有问题,还是对方系统处理我们给的数据有问题?在最近的一个项目中,因为我们产生数据的逻辑很复杂,而对方接口收到我们产生的数据后,也会做一个很复杂数据交易动作,在系统上线初期,出现了很多莫名其秒的数据,而我们正是通过在调用对方接口时的写log数据,很快查出一些是我们生成的数据有问题,一些是对方处理数据有问题。
2.不要程序各个地方直接使用其它的系统的接口,最好是写一个类来封装其它系统的接口,如果其它系统的接口很多,可以专门建一个项目来管理类,这样当接口发生变化时(如接口名,接口方式),只需要替换该项目的DLL就可以了,而程序的其它地方都可以不用改,切忌在程序的各个地方直接调用其它系统的接口。
接口开发就是为了能够是系统的功能更加的完善,也是一个系统能够不断扩大的必要手段除了会调用系统原有的接口以外,设计者还要学会设计开发接口来为系统服务。