企业采购业务架构设计与实现

时间:2022-03-01 01:39:03

企业采购业务架构设计与实现

摘要:由于技术的局限性,基于电子数据交换(EDI)和可扩展标记语言(XML)的电子采购系统并不能完全满足企业对采购的实时性和动态性要求。该文通过提出基于WebService的企业采购系统的架构说明了如何使用WebService来实现供应商库存的动态更新和采购双方业务的紧密集成,从而达到企业采购管理的实时性和动态性。通过企业电子采购系统的设计和实施说明,WebService能够更好地帮助企业在不同场景下完成采购业务,提高采购业务的绩效。

关键词:EDI;XML;WebService;电子采购;采购管理

1引言

许多行业和公司已成功通过信息技术实现采购管理的数字化,有效提高了采购流程的效率。通过采购业务流程的信息化改造,采购活动的买卖双方在交易成本、管理成本、资产利用率方面都得到了改进,但更重要的是采购企业的采购及时性需求得到了响应。因此,基于信息技术的采购流程优化成为多数公司致力研究的方向[1]。WebService是松散耦合,可重复使用的软件组件,在语义上封装离散功能,并通过标准Internet协议进行分布式和编程访问的标准通用标识语言[2]。WebService提供了一种实现分布式组件的标准方法,可通过互联网上的标准协议(如HTTP、XML和SOAP)为不同企业提供数据和业务逻辑服务。“松散耦合”意味着WebService独立于任何编程语言、平台和对象模型。使用无处不在的低成本互联网,WebService可以轻松地通过Intranet和In-ternet提供可互操作的软件功能。从分布式计算架构的角度来看,WebService描述了面向服务和基于组件的应用程序架构。从面向业务和概念的角度来看,WebSer-vice是一种可用于构建动态电子商务模型的支持技术。伴随的电子商务流程由作为WebService实现的离散任务组成,并在整个增值服务网络中广泛分布[3-5]。而通过WebService可以降低企业的采购成本,并提高原本无法实现的采购服务水平。在实时动态企业采购业务中,外部贸易伙伴需要及时获取企业内部流程或来自内部流程的信息,以支持企业在采购过程中需求变化[6]。本文将通过对EDI、XML和WebService之间差异的研究来讨论采购管理中信息技术的发展,提出基于Web-Service的企业电子采购应用程序的体系结构和设计,并提供了利用WebService的独特动态绑定功能的电子采购流程的描述,最后实现了支持动态企业电子采购系统。

2采购管理与信息技术的共生关系与演化

采购管理是一种协调订单履行中涉及的企业之间的功能和流程的方法,其目标是在规定时间和地点交付采购合格产品,以使企业的生产组织总成本最小化。采购管理通常跨多个企业,包括供应商、制造商、运输承运人、仓库、零售商以及采购企业本身[7-8]。从过程的角度来看,采购管理协调订单管理、生产管理、库存管理、采购、配送、运输和产品设计。在采购流程的背景来看,采购业务的流程涉及多个企业之间的合作,例如早期供应商参与产品设计,以及日常采购物料流程的协调。在最后一个环节中,采购企业内部也需要共享订单、库存和生产信息,以便使企业在多个决策点上做出更有利于协调管理的决策。从信息技术的角度来看,采购管理将多个组织边界内的一组相互关联的活动与不同的计算平台和数据格式同步,使这些活动集成到简化的高效流程中成为一项重大挑战[9-10]。因此,信息技术和相关标准对采购流程管理的演变产生了重大影响。下面讨论从基于EDI的静态采购流程向支持WebService的实时和动态采购流程的演变。2.1EDI。电子数据交换(EDI)作为电子商务主要技术基础,已被零售商、制造公司和物流公司广泛使用,实现了降低贸易伙伴之间的交易成本[11]。近年来,一些企业尝试使用EDI对采购流程进行重构。然而,使用EDI难以实现采购链上下游企业之间的数据有效集成,部分原因是数据批量传输的及时性问题得到不保证。数据批量处理通常难以或不可能及时地在采购链不同位置上的多个企业获得一致的数据。每个企业都以高度动态的方式管理其采购业务流程,因此企业之间的采购流程缺乏同步性。在供应链中的每个公司中,生产、营销和工程团队通常不断更新和改进他们的工作计划。生产计划人员可能会改变运营计划以提高效率,营销经常调整促销和定价以更好响应市场需求,工程师根据供应商和客户群体的不断调整产品和服务。鉴于此,很容易看到采购流程中的两个位置在数据批量模式下在任何单个时间点都不能通过数据传输和处理获得相同的完整采购数据集。EDI可能由公司内部的信息部门管理,但许多供应商都依靠增值网络(VAN)供应商提供数据传输服务来批量获取数据[12]。这些供应商中都需要EDI转换器将业务文档或交易数据转换为EDI格式并返回内部数据系统可用的数据格式。这些VAN服务和EDI转换器的开发成本都很高。因此,实施EDI的总成本非常高。对企业而言,大量日常采购业务面对中小供应商,这些中小供应商对EDI的成本承受能力是十分有限的。如果在企业采购系统中忽略这些中小供应商,企业也无法整合完整的采购链。因此需要成本低廉、松散耦合的技术手段来替代EDI。2.2XML。XML是在1990年底出现的一种数据交换标准,以取代B2B电子商务中的EDI标准。XML应该被视为一套标准[13]。XML代表了“可扩展标记语言”,它被认为是可扩展的,因为它不是像EDI和HTML那样的固定格式。XML已成为便携式数据的标准。与XML相关的三个抽象级别:(1)XML定义语言有两个标准:XML1推荐(W3C,2000B)和XML模式(W3C,20011A);(2)应用领域标准(如OASIS标准化的),用于各种商业文档或数据集;(3)以XML格式编码的实际业务文档。其他支持标准(如XSL(W3C,2000c)、XMLDOM(W3C,2000c)或SAX(SAXProject,2002))用于XML文档解析和转换[14-15]。XML相对于EDI有以下几个优势:1、Unicode:XML使用Unicode,因此可以使用不同的国家语言进行编码。2、错误检查:XMLDTD和XSD文件基本上是标记语言的定义。它们定义了特定文档的结构和约束,因此可用于捕获和验证业务文档,这是B2B电子商务的关键功能。3、免费和集成的解析工具:许多免费的XML解析器随时可用于各种编程语言,并与.NET和J2EE等企业计算平台完全集成。开发人员可以轻松使用这些XML工具构建应用程序来处理XML数据。XML已经在数据交换领域获得广泛应用。在许多公司中的协同办公系统等信息系统都建立在XML技术基础上。因此,采购流程中大部分应用系统都可以采用XML实现数据跨平台的交互。但是,基于EDI或XML的业务文档通常以批处理模式处理,处理延迟使得来自采购双方的最新业务数据可能无法用于支持实时决策。因此,EDI和XML都不能完全支持以实时方式响应企业采购管理的工作。2.3WebService。WebService通常使用XML进行数据格式标准化,使用SOAP进行消息传递(即XML消息传递协议)以支持可互操作的软件组件。WebService可用于开发新的软件组件或构建包装器以向外部采购合作伙伴公开业务流程。它还可以在内部用于为其他系统提供可编程接口,并将Web支持的应用程序直接与某些系统系统集成[16]。EDI和XML都可以在供应链流程所集成的各个应用系统之间提供数据交换方法,采购数据可以在多个系统之间随意流转。XML仍然用于SOAP下的数据交换目的,但是,WebService采用面向服务和流程的方法来解决采购管理中不同系统的集成问题。使用WebService启用的应用程序可以通过使用旧系统(例如检查库存状态)和外部供应商(例如请求供应商报价)的WebService来提供简化的功能。这些WebService透明地组合在应用程序的场景后面,使用户可以从单个应用程序访问更多的采购链功能。SOAP是一种WebService消息传递机制,它遵循HTTP请求/响应消息模型。因此,采购链上所集成的各个系统的运营数据可以实时交换。大多数WebService应用程序使用静态绑定来调用在设计时已知的特定Web-Service。然而,采购管理应用本身就是动态的,因为采购管理上各个层级的条件会随着时间而变化。例如,随着产量的增加和出货量降低成品的库存水平,成品的库存水平将不断波动。使用WebService,供应商可以在要进行库存补货决策的时间点请求客户库存地点的库存状态。然后,WebService可用于推进先前信息技术的操作,以实现对动态供应链条件的实时数据更新,从而提供无法以其他方式有效提供给扩展企业的必要支持。在这种情况下需要动态绑定方法;但是,很少有文献资料讨论如何使用动态绑定设计和实现Webservices应用程序。本文将提出一个基于WebService的动态采购系统架构,以便在企业采购管理中实现这种具有实时性的应用系统互连。

3基于WebService的企业采购系统的架构和设计

企业管理的一项重要功能是及时购买生产经营所需的物资和服务。一家典型的公司将其收入的至少一半用于商品和服务的外购,因此供应商的选择和日常物流的控制是企业提高采购管理效率的关键。在这方面信息技术支持对提高企业采购管理绩效发挥了重要作用。3.1电子采购应用场景。企业采购商品和服务可视为两个过程:供应商选择和物资购买。企业在执行采购之前选择供应商,并且在产品生命周期内对供应商进行相对较少的变更,因此可以把供应商看作是静态的。供应商选择过程包括定义所购买物品的要求、识别潜在供应商、请求供应商报价、评估报价并最终基于预期商品性能和价格选择供应商。一旦选择了供应商,就进行物资购买。物资采购过程通常包括计算物资需求量的计算和向潜在供应商签订采购订单两个主要操作。企业中大量正在进行的采购都是日常采购的。这种形式的采购具有价值小、频率高的特点,所以采购企业和物资供应商能够提前确定所采购物资的种类、数量和交货时间。此外企业采购还大量存在另外一种应用场景。当企业在生产经营过程中面临意外情况,常常需要通过紧急采购生产物资以恢复正常的生产经营。在此类应用场景下常常需要紧急采购、变更或取消采购等。这种类型的采购与日常采购迥异,与潜在供应商的销售预期也有较大的差距,可能导致无法按时供货或所采购材料质量等不令人满意等事件发生。这两种企业采购应用场景具有类似的流程,如图1所示。在某些紧急采购的情况下,原先设定的供应商无法满足加急物资的采购要求,因此需要能够及时找到合格的供应商,此时由WebService启用的动态供应商标识和订单功能将非常有用,因为采购企业可以快速请求和评估潜在供应商的报价。在实践中,WebService注册数据库将提供有关潜在供应商的信息,这些供应商能够足够灵活以响应此类型的快速和紧急的采购请求。然后,满足采购要求的潜在供应商将通过WebService提交供货时间和报价,以便采购企业进行评估。订单、提交报价和评估的过程需要非常快速地实时执行。然后,采购企业评估所有报价,做出采购决定,并将订单与所选供应商一起通过WebService出去。所选供应商接收采购订单并运送物料,物流由物流企业接收并提供给采购企业以完成订单的执行。下面针对上述完整的采购流程利用WebService构建采购系统架构实现全过程的电子采购。3.2电子采购系统的架构。系统的整体架构设计如图2所示。该系统由以下几个子系统组成。1、电子采购:电子采购是在WebService中实现的软件组件。它作为一个中间组件来处理与Web-Service注册中心和潜在供应商的WebService的交互。它使用供应商WebService注册中心提供的WebService和供应商提供的WebService。电子采购实现为前端用户界面应用程序要使用的WebService服务。2、用户界面(UI)子系统:由于电子采购是在WebService中实现的,因此可以使用能够使用WebSer-vice的各种用户界面组件轻松实现电子采购UI子系统。UI子系统包括:a)在桌面计算机上运行的GUI客户端。基于GUI的应用程序提供丰富的用户界面元素和交互。它通常由在采购公司内部工作的采购人员使用。b)基于浏览器的应用程序。Web表示层组件是在服务器端运行的Web程序。这些Web表示层程序可以使用WebService,并且只要有Internet访问就可以访问电子采购系统。c)移动客户端。诸如手机之类的移动设备可以通过移动客户端访问WebService。移动客户端可以支持特殊的微浏览器来访问服务器端的Web程序。移动Web程序需要以适合于请求移动设备的WML或cHTML等格式呈现Web页面。3、供应商WebService登记子系统:公共UDDI过于通用,没有从电子采购的角度提供为采购双方提供足够的信息,不适用于拟议的电子采购系统。因此,本文开发了一个私有WebService注册系统。该WebService注册系统使用WebService描述语言(WSDL)文件存储了所有潜在供应商以及所能提供物资的信息。注册系统的数据库存储所有合格的供应商信息的详细信息,包括其供货能力、供货质量以及完成电子采购交易所需的各种交互(例如价格报价和订单)的WSDL。该注册系统在扩展潜在供应商列表时和实现采购流程的实时性方面发挥着关键作用。电子采购使用该注册系统的WebSer-vice来访问供应商的WebService信息。4、注册管理子系统:采购企业工作人员使用这个子系统来维护供应商数据和他们的WebService条目,评估潜在供应商以确定这些供应商是否应注册在私有Web-Service注册表中。采购企业工作人员可通过访问公共服务目录不断地识别和更新供应商及其WebService条目。5、供应商的WebService:在本文的设计中,想要加入电子采购系统的供应商需要根据已的WSDL文件定义的一组特定的Web操作来实现电子采购系统所需的WebService。这些Web操作的实现是微不足道的。但是,所有供应商都需要支持这些Web操作的相同签名,即对于来自不同供应商的相同操作的名称、参数数量和参数的数据类型必须相同。这些WebService被视为电子采购系统的扩展和不可分割的一部分。提供这些Web-Service使供应商能够实时提交报价并被评估报价,且在提交报价和评估报价的过程需要很少或不需要人工来干预。由于采购企业意外情况的发生,采购物资需要在短时间内获得,WebService使电子采购系统能够快速准备一个“报价请求”,以便许多供应商可以快速响应可用性、价格和交付,然后是采购企业的报价评估以及与所选择的供应商进行订单交易。电子采购系统使采购组织能够在接近全自动化交易处理的情况下实时采购物资。3.3电子采购系统设计。电子采购是电子采购系统体系结构的关键要素。它是一个在WebService中实现的中间层业务逻辑组件,可用于识别一组合格供应商的信息、查询价格和可用性报价以及提出购买建议。图3所示的UML序列图说明了电子采购的设计,重点是它与系统其他组件的交互。在设计电子采购系统时,采用了三层体系结构方法,包括表示层、业务逻辑层和数据服务层,与企业应用体系结构的模式一致。在采购系统中,实现了一个基于windows的移动Web用户界面作为系统的表示层。电子采购是业务逻辑层,它封装了采购业务规则,并从表示层组件中隐藏了数据服务层的复杂性。供应商提供的供应器-产品数据和WSDL条目打包在数据服务层(即WebService注册中心)中。注册中心功能可以由一组公共WebSer-vice操作访问,电子采购可以使用这些操作。图3所示的子采购系统UML模型显示了紧急采购的流程。序列图表示采购企业为从供应商采购材料或服务而执行的一系列操作。使用UML,可以将WebService建模为类。在该序列图中,WebService被建模为对象(即WebService类的实例)。指定WebService提供的接口的Web方法或Web操作可以建模为消息。Web操作签名由方法名称、参数及其类操作的数据类型组成。序列图中的循环操作用星号(*)表示。UML序列图代表了电子采购系统和实时采购过程的典型场景。采购人员被库存短缺或即将发生的物料控制系统警告,并登录到电子采购系统。产品ID被输入到采购表单表示层组件。最终用户通过采购表格提交的产品ID将提交给采购服务(即图2所示的电子采购)。实现为WebService的采购服务组件将调用由WebSer-vice注册表提供的WebService,以检索所请求产品的所有合格供应商的WSDLs。因此,我们假设供应商资格的过程是独立的,提前完成,也许是连续的材料短缺的预期。对每个合格供应商进行价格报价WebService调用的迭代。XML格式的供应商报价将由采购服务返回并汇总。潜在的所有报价都可以发送给采购商,采购商应用一些既定的业务规则来推荐采购奖励决策。奖励决策的业务规则可以简单到“首先从具有最低报价的供应商处购买”或“以最快的交货时间从供应商处购买”,或者与供应商质量和历史交付绩效等其他因素的组合。例如,如果要使用多个供应商,则可以使用所有权总成本(TCO)来对能够按时提供所需组件的供应商进行评分,作为对订单分配的输入。TCO是一种最佳实践,它将产品价格,购买公司的采购相关成本以及预期的供应商绩效纳入决策过程。绩效指标可能包括供应商影响的可靠性成本、质量成本、资产利用率、停机时间和周期时间以及库存。然后,用于计算奖励决策的数据将变得更加动态并且与实时数据和采购企业公司的管理策略保持一致。报价或推荐的采购决定将通过采购表格组件显示给采购人员。一旦采购企业作出采购决策,采购订单将通过WebService发送给选定供应商。采购企业的工作人员可以动态地从WebService注册表中检索供应商的订单的WSDL。

4动态电子采购系统的实现

随着WebService的出现,可以使用由WebService启用的电子采购系统来促进购买加速购买,其中几个合格的供应商能够提供所需的产品。此处介绍的采购流程利用了WebService的动态和实时功能。我们描绘了一个说明性示例,以及描述买方如何随时访问并做出关于供应链B2B细分中生产设施的材料电子采购的决策的原型。这种经过修改的采购流程可提高供应链的绩效,使供应链更好地响应客户需求和对这些需求的变化,以及在生产运营中定期发生的内部中断。4.1设计WebService注册数据库和WebSer-vice接口。WebService注册信息存储在关系数据库中,Web-Service被用来提供以便其他子系统或应用程序能够访问存储在注册数据库中的信息接口。图4用实体关系图表示服务注册数据库的一部分设计。订单历史实体类型源自历史采购数据,并且可用于在动态供应商选择过程中确定每个供应商的排名或评级,或者用于向多个供应商分配加急订单。虽然本文仅在此实施中使用历史订单记录,但其他指标(例如基于废品和退货历史的产品质量)可以类似地合并到流程中。产品来源是一种关联实体类型,提供交叉引用表,指示供应商可以提供哪些产品。WebService操作实体类型存储由所有合格供应商提供的每个WebService操作的信息。此处记录了访问WebService操作的WSDL条目。可选的UDDI条目属性用于为在公共UDDI上注册其Web-Service的供应商存储WebService的相应UDDI条目。该数据模型支持并与使用TCO的供应商评分和订单分配的实践相一致。在数据模型中,产品源表中的优先级属性用于分配订单给供应商的优先级或权重。与每个产品ID和供应商组合相关联的优先级值基于传递历史数据导出的交付可靠性和产品质量性能。优先级属性可用于对供应商进行排序,以便在第一选择供应商不能提供全部订单的情况下,第二供应商容易被标识为装运全部或剩余数量。或者,供应商可以根据历史业绩分配订单,这通常是以标准采购方式进行的。例如,首选的供应商可以被分配75%的正在进行的累积购买决策,而次选供应商接收25%。可以构造优先级属性来支持这一点。为电子采购WebService注册中心提供接口而开发的主要WebService操作是:1、获取供应商WSDL(供应商ID、Web操作):Web操作是注册中心中所有供应商实施的预定义操作集。例如,“价格报价”操作允许我们发送是询问一个材料或组件的价格报价,并从供应商收到报价。“订单”是允许WebService使用者通过WebService接口从供应商订购产品的操作。此Web方法的返回值是供应商的WSDL(由实施Web操作的供应商ID标识)。2、设置供应商WSDL(供应商ID,Web操作,WS-DL):此方法用于添加或更新供应商的Web操作的WS-DL条目。3、合格供应商(产品ID):根据产品ID检索供应商的供应商ID数组。4、下订单(产品ID、数量、供应商ID):使用来自供应商ID的产品ID下订单,目标供应商的WebService将调用“订单”Web操作来完成此请求。采购管理中的买方和卖方需要聚集在一起以定义一组具有相同操作签名的标准WebService操作(即操作名称,相同数量的参数以及每个参数的相同数据类型)。这项标准工作对于开发这种动态采购系统的成功至关重要,应分配资源和时间,以确保所有供应商都了解并同意这种实施。在短期内,本文认为需要人为干预来筛选供应商。目前,管理注册表的功能由采购企业工作人员使用注册表管理子系统处理。从长远来看,如果有市场监管部门运营的具有公共性质的垂直UDDI可以保证UDDI注册中心列出的供应商的质量,然后采购企业可以将电子采购数据库链接到公共UDDI,以不断更新每个供应商的WS-DL,并可以使用内部和外部数据持续评估供应商绩效并自动更新,则可能实现无需人为干预全自动筛选供应商。4.2电子采购系统的实施。在关系数据库中实现的注册表包含用于在该电子采购系统中的买方和供应商之间进行交互所需的各种Web-Service操作的WebService条目。实现一组WebService以为其他软件应用程序和组件提供与WebService注册表交互的接口。买方的产品编号与不同供应商使用的产品代码之间的映射存储在注册表中,以便向WebService使用者隐藏内部物资编号到供应商产品编号的转换。本文采用三层架构设计和实施部署了企业的电子采购系统。表示层可以是传统的Windows界面、Web用户界面或移动Web应用程序。由于基于WebService的业务层和数据服务层组件的实现可以很容易地实现这一点,客户可以使用传统客户端或智能客户端Applications这些组件。采购服务软件组件在用作业务层组件的Web-Service中实现。采购服务可以被视为采购。由于.NETFramework环境中对WebService开发的强大支持,因此在MicrosoftWindows2003Server下的VisualStudio.NETProfessional2003中实现电子采购系统。基于Windows的表示层的实现如图5所示。缺货库存的产品ID和所需数量可由采购企业内部ERP系统生成。采购管理人员根据附加的数据和判断来修改要购买物资的金额。采购管理人员可以直接为库存中的产品手动输入产品编号,然后可以单击“获取报价”按钮将获取报价请求发送给符合条件的供应商以获取所请求的产品。供应商的报价回复包括以下信息:供应商ID、报价、供应商可及时供货数量以及以小时为单位的估计运输时间。用户可以单击数据网格中每列的标题,按该属性按升序或降序对结果进行排序,以根据不同的属性评估这些报价。可以开发对业务规则引擎的额外调用,该业务规则引擎应用各种业务规则来进行推荐购买。用户可以通过单击数据网格中与特定供应商报价对应的行来选择报价。然后,用户将在单击“下订单”按钮之前输入要从供应商订购的数量,以通过所选供应商提供的订单WebSer-vice发出在线订单。与所选供应商的绑定是与动态完成的。在提交订单之前将出现确认对话框。订单提交的结果将显示给用户。采购订单将在内部创建为审计跟踪并用于跟踪购买。能够使用WebService的移动计算设备可以使用作为WebService实现的分布式组件来访问采购数据和应用程序,这将有效扩大电子采购系统的可访问性。采购企业的物流主管检查库存或供应商人员可使用移动应用程序及时查询订单信息。电子采购系统所提供的良好移动性使采购企业能够由适当的人员随时随地启动采购流程。4.3模拟测试和性能评估。模拟环境中的服务器配置为英特尔酷睿4.00GHzCPU和16GB内存。所有供应商WebService都在同一台服务器上运行,因此网络流量不被纳入性能测量。在调用100供应商报价WebService的模拟测试中,本文所设计的电子采购系统获得了3秒响应时间。这是由于电子采购系统中的动态WebService调用是同步执行的,具有很好的响应时间。如果使用具有回调函数和多线程异步WebService调用来实现WebService调用,则可以进一步提高性能,并且多线程异步机制能够支持并行处理,使得某些服务调用中的延迟可能对系统的整体性能没有重大影响。

5结束语

由于早期的信息技术不支持采购管理流程的实时和动态需求,本文采用WebService设计和实现了能够实时进行数据交互的企业电子采购系统。通过所实施的电子采购系统对于快速采购流程的支持,可以看出基于Web-Service的动态特性采购企业可以维持一份能够提供及时供货能力的动态供应商列表。此外,如果通过WebSer-vice可以广泛访问内部和外部供应商注册信息,则采购企业能够可以使用不同的动态标准来对供应商进行评估从而实现自动分配订单。通过部署WebService可以降低企业采购系统的集成成本,并将服务的及时性提高到一定程度,因此可以预期WebService在具有全方位采购业务战略的企业中将发挥更多的积极意义。

作者:卫祥 罗发政 杨浩 闫庆华