今天海浪分享一篇系统组件化接口设计的一点看法
1.   定义
这里的系统是指对于一个大系统(如供应链系统)来说划分成的若干小的项目包(如销售管理、采购管理、生产管理)。系统间的接口要讨论的是有关项目包间如何传递数据、数据传递的方式、接口程序及调用方式等问题。
2.   
原则 
保持各项目包间的高度独立性,包括设计的独立性和运行的独立性。项目包间接口只允许数据接口,不允许系统间直接引用程序。
3.  
方案
对系统组件化接口设计的一点看法_职场
 
系统间接口采用双缓存的方案。即提供数据方与数据需求方都对数据进行缓存,缓存的格式在各系统设计时单独考虑,格式允许不同,由接口程序进行翻译。采用双缓存的方案,优点是:
·         两个系统可分开独立设计。
·         设计接口程序时不用涉及单据的内部结构,缓存的结构较单据要简单。
·         容易与外部系统接口。
·         接口程序独立于业务系统,容易修改,易与多种系统接口。
对于需要向其它子系统提供数据的系统,事先要估计需求方所需的数据内容,并在业务发生时将数据放入缓存即可。只需要保证数据的完整性(记录不多也不能少)。
对于需要其它子系统提供数据的系统,要设计一个单据录入模块和一个单据生成模块。单据录入模块用于在没有其它子系统为其提供数据时能够人工录入数据,保持系统的独立性。单据生成模块利用缓存中的数据成批快速地生成单据,需要对已处理的缓存中的数据置已处理标记。

接口程序应独立于数据的需求和提供方系统进行设计,它只关心双方的数据结构,将不同结构的数据按数据项的对应关系进行转换。对于转换(处理)过的数据,应在源数据中做标记。
接口程序的运行时机可采用定时、数据提供方或数据需求方调用的方式。采用何种方式,根据系统的运行要求。
4.  
举例

对系统组件化接口设计的一点看法_看法_02
 
【销售管理】项目包向【应收管理】项目包提供发票数据,用于【总帐管理】项目包自动生成销售凭证。【应收管理】项目包向【销售管理】项目包提供回款数据,用于【销售管理】项目包进行客户资信的计算。对于发票数据,【销售管理】项目包是数据的提供者,【应收管理】和【总帐管理】项目包是数据的需求者;对于回款数据,【应收管理】项目包是数据的提供者,【销售管理】项目包是数据的需求者。
当【销售管理】项目包生成发票时,同时将【应收管理】所需的发票数据放入发票数据缓存中,然后调用发票接口程序,将数据存入【应收管理】的发票数据缓存。【应收管理】将财务生成凭证所需的发票数据放入发票数据缓存中,然后调用发票接口程序,将数据存入【总帐管理】的发票数据缓存,系统的销售凭证生成模块利用新的发票数据生成对应的销售凭证。

如果没有【销售管理】项目包,则销售凭证通过凭证录入模块人工录入。
当【应收管理】发生回款时,记录回款的同时将回款数据放入缓存中,然后调用回款接口程序,将数据存入【销售管理】项目包的回款数据中。资信计算程序利用回款数据计算客户资信。
如果没有【应收管理】,则回款数据通过回款录入模块由人工录入。
以上就是海浪给大家分享的系统组件化接口设计的一点看法,大家对系统组件还有什么好的认识,欢迎与海浪交流。