系统组件化接口设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

系统组件化接口设计

标签: 业务组件接口传递数据接口调用

1. 定义

这里的系统是指对于一个大系统(如供应链系统)来说划分成的若干小的项目包(如销售管理、采购管理、生产管理)。系统间的接口要讨论的是有关项目包间如何传递数据、数据传递的方式、接口程序及调用方式等问题。

2. 原则

保持各项目包间的高度独立性,包括设计的独立性和运行的独立性。项目包间接口只允许数据接口,不允许系统间直接引用程序。

3. 方案

系统间接口采用双缓存的方案。即提供数据方与数据需求方都对数据进行缓存,缓存的格式在各系统设计时单独考虑,格式允许不同,由接口程序进行翻译。采用双缓存的方案,优点是:

∙两个系统可分开独立设计。

∙设计接口程序时不用涉及单据的内部结构,缓存的结构较单据要简单。

∙容易与外部系统接口。

∙接口程序独立于业务系统,容易修改,易与多种系统接口。

对于“需要向其它子系统提供数据”的系统,事先要估计需求方所需的数据内容,并在业务发生时将数据放入缓存即可。只需要保证数据的完整性(记录不多也不能少)。

对于“需要其它子系统提供数据”的系统,要设计一个单据录入模块和一个单据生成模块。单据录入模块用于在没有其它子系统为其提供数据时能够人工录入数据,保持系统的独立性。单据生成模块利用缓存中的数据成批快速地生成单据,需要对已处理的缓存中的数据置“已处理”标记。

接口程序应独立于数据的需求和提供方系统进行设计,它只关心双方的数据结构,将不同结构的数据按数据项的对应关系进行转换。对于转换(处理)过的数据,应在源数据中做标记。

接口程序的运行时机可采用定时、数据提供方或数据需求方调用的方式。采用何种方式,根据系统的运行要求。

4. 举例

【销售管理】项目包向【应收管理】项目包提供发票数据,用于【总帐管理】项目包自动生成销售凭证。【应收管理】项目包向【销售管理】项目包提供回款数据,用于【销售管理】项目包进行客户资信的计算。对于发票数据,【销售管理】项目包是数据的提供者,【应收管理】和【总帐管理】项目包是数据的需求者;对于回款数据,【应收管理】项目包是数据的提供者,【销售管理】项目包是数据的需求者。

当【销售管理】项目包生成发票时,同时将【应收管理】所需的发票数据放入发票数据缓存中,然后调用发票接口程序,将数据存入【应收管理】的发票数据缓存。【应收管理】将财务生成凭证所需的发票数据放入发票数据缓存中,然后调用发票接口程序,将数据存入【总帐管理】的发票数据缓存,系统的销售凭证生成模块利用新的发票数据生成对应的销售凭证。

如果没有【销售管理】项目包,则销售凭证通过凭证录入模块人工录入。

当【应收管理】发生回款时,记录回款的同时将回款数据放入缓存中,然后调用回款接口程序,将数据存入【销售管理】项目包的回款数据中。资信计算程序利用回款数据计算客户资信。

如果没有【应收管理】,则回款数据通过回款录入模块由人工录入。

相关文档
最新文档