服务接口设计(服务接口设计方案)

网友投稿 388 2023-03-05


本篇文章给大家谈谈服务接口设计,以及服务接口设计方案对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享服务接口设计的知识,其中也会对服务接口设计方案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

接口设计怎么写?

接口设计包括三个方面:一、用户接口用来说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。二、外部接口用来说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。三、内部接口用来说明本系统之内的各个系统元素之间的接口的安排

(转)对外接口设计规范

1、接口禁止方法重载服务接口设计,重载会在做服务SLA控制服务接口设计,日志监控等方面带来不便

2、接口注释必须清晰地表达如何使用服务接口设计,接口是同步还是异步,服务内容,参数校验规则(精度、长度、取值范围等),返回值信息,异常情况;使用场景有要求的需要重点这几个方面描述

a)不同使用场景,在注释中区分描述

b)特定使用场景下的业务规则描述

c)特定使用场景下的注意事项描述

格式上参照注释规范{*}

3、接口返回值中属性禁止使用枚举,如果返回值属性是枚举类型,会为后期升级埋下隐患(由于枚举序列化的特性导致

删除枚举值和增加枚举值都可能导致客户端反序列化失败),建议提供String类型,取值范围可以通过枚举来告诉客户端

禁止声明方式

建议声明方式

/** 强制还款标志,取值范围见{@link EnforceFlagEnum}*/

private String enforceFlag;

4、接口参数涉及取值范围选择的(比如交易码,渠道类型,身份标识),需提供对应的常量给客户端使用,谨慎使用枚举做入参

唯一性控制属性服务接口设计:a)如接口请求参数包含业务唯一性控制字段,需要对相关字段以及唯一性控制方式进行特别说明

b)若在唯一性控制基础之上,涉及相关业务幂等控制处理,需要进行相关详细描述

5、接口方法确保不对外抛出异常,异常情况需要通过错误码通知客户端,处理失败也需要有返回值,返回值实现可参考EcBaseResult及其子类实现

POM依赖

9、接口返回值中的方法尽量只提供基本属性的get set方法,不要提供有业务规则含义的方法(因为业务逻辑的变化会要求客户端升级jar包版本)

10、操作类的接口务必考虑幂等性控制,因为网络重发,客户端异常等都可能会引起重复调用,严重的可能会引起资损

根据业务约定的部分唯一性字段,对多次请求的数据判断是否重复提交的判断依据,比如通过外部订单号outOrderNo做唯一性控制,在唯一性控制的基础上,对请求中的其服务接口设计他字段进行判断,

如果全部业务数据(或关键业务数据)和已经落库的数据一致,则请求一次和请求多次都不会对业务处理产生影响,返回结果不变,

如果outOrderNo关联的其他信息与系统已经持久化的数据不一致则提示XXX参数与原先的数据不一致。

11、接口命名统一以Facade结尾,个别的SPI接口可以使用别的结尾词以便更好地表达SPI的要求,SOFA框架系统对外接口统一存放在xxx-common-service-facade

这个bundle下

12、接口必须提供有效的监控日志,配置监控报警规则监控日志输出见日志规范

13、敏感信息:接口返回对象属性字段包含敏感信息,需要做好标识,进行相关提示避免客户端打印到日志中去

金额:接口返回对象属性涉及到金额,需要描述金额的单位以及对应的币种 统一使用支付宝金额类com.iwallet.biz.common.util.money.Money

Money所在jar坐标

接口设计是什么

接口设计一般出现在软件开发服务接口设计的概要设计阶段,概要设计要根据需求划分模块,而模块之间服务接口设计的联系就是通过定义接口实现的。例如有模块A,B。A,B互相不知道对方实现的细节,当A要用到B中的功能时,就要使用模块B提供的外部接口,接口可以理解为一些功能函数的原型,包括函数名,参数列表和返回值。

REST API 和WebService有哪些不同?

从基本原理层次上说,REST 样式和 SOAP 样式 Web Service的区别取决于应用程序是面向资源的还是面向活动的。例如,在传统的WebService中,一个获得天气预报的webservice会暴露一个WebMethod:string GetCityWether(string city)。而RESTful WebService暴露的不是方法,而是对象(资源),通过Http GET, PUT, POST 或者 DELETE来对请求的资源进行操作。在 REST 的定义中,一个 Web Service总是使用固定的 URI 向外部世界呈现(或者说暴露)一个资源。可以说这是一种全新的思维模式:使用唯一资源定位地址 URI,加上 HTTP 请求方法从而达到对一个发布于互联网资源的唯一描述和操作。
所以我理解为rest架构定义的webservice实际上定义了一个借口的规范。
REST其实并不是什么协议也不是什么标准,而是将Http协议的设计初衷作了诠释,在Http协议被广泛利用的今天,越来越多的是将其作为传输协议,而非原先设计者所考虑的应用协议。
REST的思想归结以下有如下几个关键点:
1.面向资源的接口设计
所有的接口设计都是针对资源来设计的,也就很类似于我们的面向对象和面向过程的设计区别,只不过现在将网络上的操作实体都作为资源来看待,同时URI的设计也是体现了对于资源的定位设计。后面会提到有一些网站的API设计说是REST设计,其实是RPC-REST的混合体,并非是REST的思想。
2.抽象操作为基础的CRUD
这点很简单,Http中的get,put,www.hbbz08.com post,delete分别对应了read,update,create,delete四种操作,如果仅仅是作为对于资源的操作,抽象成为这四种已经足够了,但是对于现在的一些复杂的业务服务接口设计,可能这样的抽象未必能够满足。其实这也在后面的几个网站的API设计中暴露了这样的问题,如果要完全按照REST的思想来设计,那么适用的环境将会有限制,而非放之四海皆准的。
3.Http是应用协议而非传输协议
这点在后面各大网站的API分析中有很明显的体现,其实有些网站已经走到了SOAP的老路上,说是REST的理念设计,其实是作了一套私有的SOAP协议,因此称之为REST风格的自定义SOAP协议。
4.无状态,自包含
这点其实不仅仅是对于REST来说的,作为接口设计都需要能够做到这点,也是作为可扩展和高效性的最基本的保证,就算是使用SOAP的WebService也是一样。

服务器所使用的磁盘接口技术有哪几种?各有什么特点?

硬盘接口是硬盘与主机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据。不同的硬盘接口决定着硬盘与计算机之间的连接速度,在整个系统中,硬盘接口的优劣直接影响着程序运行快慢和系统性能好坏。 区别 从整体的角度上,硬盘接口分为IDE、SATA、SCSI和光纤通道四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而光纤通道只在高端服务器上,价格昂贵。SATA是种新生的硬盘接口类型,还正处于市场普及阶段,在家用市场中有着广泛的前景。在IDE和SCSI的大类别下,又可以分出多种具体的接口类型,又各自拥有不同的技术规范,具备不同的传输速度,比如ATA100和SATA;Ultra160 SCSI和Ultra320 SCSI都代表着一种具体的硬盘接口,各自的速度差异也较大。 IDEIDE的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”, 常见的2.5英寸IDE硬盘接口它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。IDE这一接口技术从诞生至今就一直在不断发展,性能也不断的提高,其拥有的价格低廉、兼容性强的特点,为其造就了其它类型硬盘无法替代的地位。 IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,比如ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘。 SCSISCSI的英文全称为“Small Computer System Interface”(小型计算机系统接口), SCSI接口是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。 光纤通道光纤通道的英文拼写是Fibre Channel,和SCIS接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等。 光纤通道是为在像服务器这样的多硬盘系统环境而设计,能满足高端工作站、服务器、海量存储子网络、外设间通过集线器、交换机和点对点连接进行双向、串行数据通讯等系统对高数据传输率的要求。 SATA使用SATA(Serial ATA)口的硬盘又叫串口硬盘, SATA硬盘接口是未来PC机硬盘的趋势。2001年,由Intel、APT、Dell、IBM、希捷、迈拓这几大厂商组成的Serial ATA委员会正式确立了Serial ATA 1.0规范,2002年,虽然串行ATA的相关设备还未正式上市,但Serial ATA委员会已抢先确立了Serial ATA 2.0规范。Serial ATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。 串口硬盘是一种完全不同于并行ATA的新型硬盘接口类型,由于采用串行方式传输数据而知名。相对于并行ATA来说,就具有非常多的优势。首先,Serial ATA以连续串行的方式传送数据,一次只会传送1位数据。这样能减少SATA接口的针脚数目,使连接电缆数目变少,效率也会更高。实际上,Serial ATA 仅用四支针脚就能完成所有的工作,分别用于连接电缆、连接地线、发送数据和接收数据,同时这样的架构还能降低系统能耗和减小系统复杂性。其次,Serial ATA的起点更高、发展潜力更大,Serial ATA 1.0定义的数据传输率可达150MB/s,这比目前最新的并行ATA(即ATA/133)所能达到133MB/s的最高数据传输率还高,而在Serial ATA 2.0的数据传输率将达到300MB/s,最终SATA将实现600MB/s的最高数据传输率。 SATAII接口SATA II是在SATA的基础上发展起来的,其主要特征是外部传输率从SATA的1.5Gbps(150MB/sec)进一步提高到了3Gbps(300MB/sec),此外还包括NCQ(Native Command Queuing,原生命令队列)、端口多路器(Port Multiplier)、交错启动(Staggered Spin-up)等一系列的技术特征。单纯的外部传输率达到3Gbps并不是真正的SATA II。 SATA II的关键技术就是3Gbps的外部传输率和NCQ技术。NCQ技术可以对硬盘的指令执行顺序进行优化,避免像传统硬盘那样机械地按照接收指令的先后顺序移动磁头读写硬盘的不同位置,与此相反,它会在接收命令后对其进行排序,排序后的磁头将以高效率的顺序进行寻址,从而避免磁头反复移动带来的损耗,延长硬盘寿命。另外并非所有的SATA硬盘都可以使用NCQ技术,除了硬盘本身要支持 NCQ之外,也要求主板芯片组的SATA控制器支持NCQ。此外,NCQ技术不支持FAT文件系统,只支持NTFS文件系统。 由于SATA设备市场比较混乱,不少SATA设备提供商在市场宣传中滥用“SATA II”的现象愈演愈烈,例如某些号称“SATA II”的硬盘却仅支持3Gbps而不支持NCQ,而某些只具有1.5Gbps的硬盘却又支持NCQ,所以,由希捷(Seagate)所主导的SATA-IO(Serial ATA International Organization,SATA国际组织,原SATA工作组)又宣布了SATA 2.5规范,收录了原先SATA II所具有的大部分功能——从3Gbps和NCQ到交错启动(Staggered Spin-up)、热插拔(Hot Plug)、端口多路器(Port Multiplier)以及比较新的eSATA(External SATA,外置式SATA接口)等等。 值得注意的是,部分采用较早的仅支持1.5Gbps的南桥芯片(例如VIA VT8237和NVIDIA nForce2 MCP-R/MCP-Gb)的主板在使用SATA II硬盘时,可能会出现找不到硬盘或蓝屏的情况。不过大部分硬盘厂商都在硬盘上设置了一个速度选择跳线,以便强制选择1.5Gbps或3Gbps的工作模式(少数硬盘厂商则是通过相应的工具软件来设置),只要把硬盘强制设置为1.5Gbps,SATA II硬盘照样可以在老主板上正常使用。 SATA硬盘在设置RAID模式时,一般都需要安装主板芯片组厂商所提供的驱动,但也有少数较老的SATA RAID控制器在打了最新补丁的某些版本的Windows XP系统里不需要加载驱动就可以组建RAID。

关于服务接口设计和服务接口设计方案的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 服务接口设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于服务接口设计方案、服务接口设计的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:质量管理体系 解释api(api质量管理体系的要求是什么?)
下一篇:api能力接口文档内容(api能力是什么)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~