技术

基于SOA的汽车SCM设计与实现

2025China.cn   2010年04月02日

     引言

       面向服务的体系架构(service oriented architecture,SOA)是一种可以根据业务需求,通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用的软件系统架构。SOA使得业务流程的自动化和在不同系统之间的信息共享变得更加容易脚,并支持跨企业和业务合作伙伴之间的端到端集成,使得客户可以迅速地响应新的业务需求,为企业的信息化带来了一种全新的设计理念。

  供应链管理(supply chain management,SCM)是一种集成的管理思想和方法,其围绕核心企业,执行供应链中从供应商到最终用户的物流、信息流、业务流、资金流的计划和控制职能,并通过分析、整合价值链来进行供应链管理。汽车业供应链是最典型的供应链组织结构模式。以汽车制造企业为供应链的核心,作为供应链的物流调度与管理中心,担负着信息集成与交换的作用,在产品设计、制造、装配等方面具有强大优势,其不但可以拉动上游供应商的原材料供应,也可以推动下游分销商的产品分销及客户服务。随着Web服务及相关计算机技术的迅速发展,汽车供应链系统也逐步过渡到以Web服务为基础的面向服务的系统结构(SOA)之上。如何在面向服务的体系结构之上实现随汽车工业市场的全球化与制造的全球化而灵活多变的SCM业务集成,建立松散耦合的供应链管理系统,成为各大汽车厂商迫切需要解决的问题。

  1 面向服务的体系架构

  早在2000年,面向服务的体系结构就随着HP的E-Speak实现而出现了。从20世纪90年代早期到中期,HP的实验室开始着手研究如何解决分布式系统的技术和成本的难题,这项研究被其称为E-Speak。E-Speak使用HTTP这样的通用协议,数据的表示采用的是XML,并且将各种联网系统看成能够快速插接数据流的“电子服务”。但是,E-Speak的理念比目前的WebServices技术内聚性更强,HP最近决定淡化E-Speak,转而支持更主流的WebServices。IBM和Microsoft发现SOA的潜在概念非常有价值:基于开发的标准下实现SOA,可使它在其它分布式计算模型失败之处获得成功。这些IT巨头都迅速的推出了各自的SOA技术和产品,同时得到了其它行业的热烈响应,如美国印第安纳大学CommunityGridsLab尝试用WebServices构建SOA架构的GIS系统。

  若不考虑具体实现,基本的SOA架构包含了SOAP、WSDL、UDDI等支持服务请求者与服务提供者进行交互,以及用于Web服务发现的规范:

  (1)服务提供者通常用WSDL来描述它所提供的服务,然后将该WSDL描述发布。它为处理一系列特定任务的软件资源提供服务接口。服务提供者能代表商业实体的服务,或者它甚至能代表可重用的子系统的服务接口。

  (2)服务请求者可以通过UDDI或其它的注册库来获取WSDL描述,并通过向服务提供者发送一个SOAP消息来请求执行服务。它发现并调用其它的软件服务来提供商业解决方案。服务请求者常常指对分布式对象(即服务提供者)执行远端过程调用的商业应用程序组件。在某些情况下,提供者就在本地的企业内部网上,在其它情况下,它可能存在于远端的Internet上。从本质上来说,SOA将传输协议、安全细节等留给特定的实现来处理。

  (3)服务注册者也称为服务中介者,作为存储库的功能,产生由服务提供者发布的软件接口。商业实体或者独立运营商能代表服务中介者。

  以上3类SOA参与者通过3项基本操作:发布、查找、绑定相互作用。服务提供者向服务中介者发布服务,服务请求者通过服务中介者查找所申请的服务,并绑定到这些服务上。SOA是执行分布式动态服务的概念性架构州。

  2 Web服务技术

  在SOA架构中,Web服务是封装成用于业务流程的可重用组件的应用程序函数,它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转变。Web服务成功实现的关键就是以SOA为构架、依靠开放的Intcrnet标准建立一个新兴的核心技术系列:服务描述语言(web servicesdescription language,WSDL)、服务注册和发现(universal,discovery,description,integration,UDDI)协议、服务通信协议一简单对象访问协议(simple object access protocol,SOAP)。Web服务定义了一种自描述方式来发现并调用软件应用程序中的方法——不必考虑位置或平台。数据被编入XML请求/响应文档,并使用HTTP或基于消息的协议在软件包之间进行传递。互操作性问题就潜伏在定义、发现以及请求/响应机制中。

  (1)Web服务描述语言(WSDL):WSDL是通过使用标准的XML语法描述服务IDL。它为服务提供者提供一种简单的方法,描述服务请求及响应方式的远程方法调用(RMI)信息,利用各自的参数和数据类型来定义其发布的操作。

  (2)通用服务描述、发现和集成协议(UDDI):UDDI规范提供一组公用的SOAPAPI来实现服务中介者,它们管理的服务接口目录是中介者所需要的标准方法。UDDI规范定义了4种核心数据模型,业务实体信息(businessEntity)、业务服务信息(businessService)、技术绑定信息(bindingTcmplate)和元技术信息(tModel),它促进了基于Web服务的创建、描述、发现和集成。

  (3)简单对象访问协议(SOAP):SOAP是一个基于XML的,用于在分布式环境下交换信息的轻量级协议,它在请求者和提供者对象之间定义了一个通讯协议。SOAP消息基本上就是一个XML文档,它包括4个部分:SOAP封装,封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则,用于表示应用程序需要使用的数据类型的实例;SOAPRPC表示,表示远程过程调用和应答的协定;SOAP绑定,使用底层协议交换信息。

  3 企业服务总线

  企业服务总线(enterprise service bus,ESB)是一种逻辑体系结构,它提供与SOA的原则保持一致的集成基础架构,并提供了管理服务基础架构的方法和在分布式异构环境中进行操作的功能。ESB是为了更好的服务于企业应用,解决SOA架构中服务模块间调用的互操作问题的一种基础架构。在ESB模式中,服务交互的参与者并不直接交互,而是通过一个总线交互,该总线提供虚拟化和管理功能来实现和扩展SOA的核心定义。

  ESB提供一个基于标准的松散应用耦合模式,可以作为分布式的异构基础架构,担当连接应用程序和整个企业中其它服务的共享消息收发层,可采用事件通知、智能路由、数据转换等技术实现。ESB所涉及的技术有:访问各个应用服务的适配器、消息的可靠传递与管理、基于XML的统一访问接口等,使用JMS(Java消息服务)和XML来实现标准化。JMS提供事件分布和事务性确保传递的方法,主要应用在事务性消息交换和实时事件通知领域。ESB是一个基于XML消息的高速逻辑通信总线,可用于所有的服务请求者和提供者,服务、应用以及资源的动态发现,元目录搜索,事务传输等。

  4 基于SOA架构实现汽车SCM系统

  利用面向服务的架构设计汽车供应链管理系统,在汽车企业现状基础上实现业务流程的改善,对整个供应链实施协同管理,平衡整体利益分配,建立充分的信任关系,实现流程的协同共享,进一步实现协同知识创新。建立生产主计划信息平台(master planning system,MPS) 、物料需求计划信息平台(materiel requirementplanning,MRP) 、零部件库存信息平台(warehouse management system,WMS) 、生产制造执行平台(manufacture execution system,MES) ,以及供应商数据信息交换平台。打通供应生态链的信息孤岛,逐步实现的同期化生产,缩短产品交付周期,降低制造成本,提高质量,以达到提高客户满意度和企业竞争力的目的。

  (1)系统模型:各模块都是基于服务实现的,这些服务提供可被调用的Web Services接口。通过单个服务或者多个服务的组合来形成业务流程,从而构成各业务子模块。各子模块通过SOAP消息进行通信,相互访问业务资源。系统从逻辑上分为3层:持久层、业务逻辑层、表示层。其中,持久层实现了业务对象数据的固化过程,主要封装了通过JDBC访问数据库的一些方法,业务对象数据最终存储的地方,例如Oracle、DB2、SQLServer数据库等;业务逻辑层实现业务逻辑、服务封装和数据访问代理的功能,并采用一致的组织策略对所有业务实体进行统一表示,对封装的Web服务提供查找和逻辑组合功能,业务实体和数据类的映射采用XML配置文件实现,业务逻辑层也是应用服务器上的UI层代理,作为UI和中间业务逻辑层以及业务流程引擎打交道的桥梁,可以根据界面的要求组织业务逻辑层的调用;表示层是最终用户的使用界面,包括Java应用程序、JavaApplet、Scrvlet或者JSP程序统称为UI层,主要体现与用户的交互过程。系统模型如图1所示。

图1 系统模型

  此外,在设计软件架构中创造性的将业务对象的属性单独提出形成业务数据BusincssData,各层应用之间的数据传递通过传递BusincssData完成。这些BusinessData对应于业务数据字典,同企业具体业务数据的描述保持一致,实现一个数据在企业应用中的定义及这个数据的构成结构。例如发布给供应商的采购订单、采购验收单等都是这样的业务数据类。

  (2)Web服务实现:以PurchascOrderService为例说明服务的具体实现:PurclmseOrder Service服务对应物料需求计划中的采购订单功能模块,实现了对采购订单的新增、修改、删除、生产部回复、审核、跟踪和查询操作,分别对应CreatePurchaseOrder()、ModifyPurchaseOrder()、DeletePurchaseOrder()、FeedBackPurclmseOrder()、CheckPurchaseOrder()、OverPurchaseOrder()和QueryPurchaseOrder()方法。生产部回复采购订单且经营部门同意生产部回复后,确定合同履行承诺的入库日期,并由经营部门负责回复发交计划,这个操作对应PurchaseOrder Service中的FeedBackToDistributePlan()方法。服务模型如图2所示。

图2 Purchase Order Service实现模型

  (3)服务组合及流程编排:采用BPEL流程管理器将上述定义好的Web服务进行编排,定义这些Web服务操作的执行顺序,并将聚集Web服务定义的操作映射到内含的Web服务所实现的操作中去。流程模型通过定义一个公共接口或操作的portType表示聚集Web服务。如图3所示,在采购收货流程中,将定义的Web服务:接收交换单服务(ReceiveDeliveryOrderService)、按采购订单收货服务(ReceiveByPurchaseOrderService)、补采购订单服务(AddeurchaseOrderService)、质量检验服务(QualitylnspectionService)、入库服务(MoveInService)、退货服务(RetumBackService),通过BPEL业务流程执行语言进行编排,实现这些服务的连接。

图3 采购收货流程编排

  通过BPEL流程管理,能够将系统中的任意服务进行松散耦合地编排起来,各服务程序并不关心对方服务的内部实现,只要按照预先暴露出来的服务接口进行编程即可。在这种交互模式中,对于同一个服务在不同时刻,可能是服务提供者,也可能是服务请求者,接收其它服务所传递过来的消息。

  (4)系统运行实例:通过基于SOA架构的思想实现了汽车供应链管理系统,整个系统是一个松散耦合的体系,不但内部结构更加具有柔韧性,而且可以随时响应外部系统的需求,并提供共通开放的数据接口,为企业的扩展带来了巨大改善。而且系统在加密通信和系统权限上也采取了有效的措施,能够保证企业供应链得到平稳安全地运行。

  在系统运行过程中,通过利用WebSphcreBusinessMonitor的实时图形化监控、性能管理功能,帮助流程的持续改善,能够让Web服务变得易管理,而且能及时发现Web服务存在的情况、可用性、运行状况、性能、用法以及动态配置平台内的Web服务。

  面向服务的架构不是一项技术,也不是一项技术标准,而是一个高级概念,SOA独立于标准,提供了架构蓝图。通过强大的“企业架构”概念来解决企业IT环境的结构性问题,建立一个组织级别的架构策略。SOA提供了这一手段,基于SOA架构的汽车供应链管理系统便是一个有效的解决方案。此外,SOA架构的实现是一个渐进的过程,需要长期的监管和指导,应该分步实现,一步一个脚印、稳定地接近日标。前进的路上不是一帆风顺,有时会遇到一些无法控制的影响。但要坚信,SOA一定会给企业带来长期效益。

(转载)

标签:SOA 汽车 SCM 我要反馈 
什么是新一代机器人界面(HMI)?
ABB协作机器人,自动化从未如此简单
优傲机器人下载中心
即刻点击并下载ABB资料,好礼赢不停~
西克
专题报道