您的当前位置:首页基于面向服务架构的企业间业务协同服务平台及技术研究

基于面向服务架构的企业间业务协同服务平台及技术研究

2022-06-27 来源:爱问旅游网
第14卷第2期2008年2月

计算机集成制造系统

ComputerIntegratedManufacturingSystems

Vol.14No.2Feb.2008

文章编号:1006-5911(2008)02-0306-09

基于面向服务架构的企业间业务协同

服务平台及技术研究

刘 敏,严隽薇(同济大学CIMS研究中心,上海 200092)

摘 要:借鉴面向服务的架构、业务流程管理和语义Web服务等相关的标准和技术,讨论了面向服务架构的结构、服务类型划分、服务总线,然后利用现有的服务中间件,建立基于面向服务架构的企业间业务协同服务平台。平台采用基于面向服务架构的业务流程管理框架,分离核心业务逻辑和流程控制逻辑,采用面向语义的流程服务模型,构建Web服务的执行环境,以提高业务服务和流程服务的动态发现和建模能力,最后给出了原型。

关键词:Web服务;面向服务架构;业务协同服务;语义服务中图分类号:TP393   文献标识码:A

SOA2basedbusinesscollaborationserviceplatformfor

cross2enterpriseandrelativetechnologies

LIUMin,YANJun2wei

(CIMSResearchCenter,TongjiUniversity,Shanghai200092,China)

Abstract:BasedonServiceOrientedArchitecture(SOA),BusinessProcessManagement(BPM)andsemanticWebservice,theframeworkofSOA,classificationofservicetypesandtheservicebuswerediscussed,andthenaSOAandBPM2basedbusinesscollaborationserviceplatformforcross2enterpriseswasconstructed.Thisplatformappliedthesemantics2orientedbusinessprocesstoseparatekernelbusinesslogicandflowcontrollogic.TheprocessservicemodelorientedtosemanticswasappliedtosetupexecutionenvironmentforWebservicetoimprovetheabilityofdynamicalfindingandmodelingforbusinessservicesandprocessservices.Finally,aprototypewasprovided.Keywords:Webservice;serviceorientedarchitecture;businesscollaborationservice;semanticservice

0 引言

在跨地域经营和动态联盟的情况下,产品设计、

生产和交付需经过企业各部门、供应商、分销商、零售商和顾客之间的协作,设计活动和生产计划也需要基于设计需求和制造约束,与潜在的制造伙伴共同协商。为此,需要从企业间协同管理的需求出发,研究业务协同服务的新方法、技术及实现平台。关

于企业协作目前已有很多研究,并对支持企业协作

的业务流程管理系统提出了如下要求:①流程引擎具有尝试性和反复性;②协作企业能实时地执行各自流程,当用户需求发生改变或者预期结果无法实现时,流程能够很容易被监控和重新配置;③按照相关约束,可编译成可执行的业务流程,存储在分布式数据库。

尽管工作流技术部分满足了上述需求,并已广

收稿日期:2007205214;修订日期:2007207225。Received14May2007;accepted25July2007.

基金项目:国家863/CIMS主题资助项目(2007AA04Z104,2007AA10Z206)。Foundationitem:ProjectsupportedbytheNationalHigh2Tech.

R&DProgramforCIMS,China(No.2007AA04Z104,2007AA10Z206).

作者简介:刘 敏(1970-),男,江苏徐州人,同济大学CIMS研究中心副教授,博士后,主要从事企业应用集成、分布式计算、网格制造和企业建

模等的研究。E2mail:lmin@mail.tongji.edu.cn。

第2期刘 敏等:基于面向服务架构的企业间业务协同服务平台及技术研究307

泛应用于企业业务协作的自动化过程之中。然而,

由于其在模型定义、执行环境及接口方面的异构性,以及应用程序接口匮乏等问题,结果只能满足企业的内部需求,而不适用于跨企业的流程互操作。

面向服务的架构(ServiceOrientedArchitec2ture,SOA)和Web服务催生了面向服务的业务流程新范型,它采用Web服务作为业务流程执行平台,并将业务流程作为Web服务进行注册、发布和使用。然而,业务流程以Web服务的形式分布在各协作企业,Web服务业务流程执行语言(BusinessProcessExecutionLanguageforWebServices,BPEL4WS)、Web服务编排描述语言(WebServicesChoreographyDescriptionLanguage,WS2CDL)等Web服务聚合成一个流程服务,该流程可以看作是

一个高层次的业务交互抽象,或者可以认为是一个

可执行的业务流程服务。而业务流程建模语言(BusinessProcessModelingLanguage,BPML)是一种可扩展标记语言(eXtensibleMarkupLan2guage,XML)元语言,BPML规范详细说明了Web服务编制(WebServicesOrchestration,WSO)和Web服务编排(WebServicesChoreography,WSC)两种模式[7],用于描述和建模抽象业务流程,而这些流程涉及企业业务经营的各个方面。在此,WSO指的是一个可执行的业务流程能够和外部或内部的Web服务相互作用[8],用于定义合成服务(compos2iteservices)以及重用已有服务的内部流程(internalprocesses);而WSC指的是在多部门多组织中的关系描述和业务协作(businesscollaborations)[9],用于定义多方如何在一个更大的业务事务中,通过与交易伙伴及外部机构(如供应商和客户)交换信息,进行对等的(peertopeer)协作。Web服务编排接口(WebServiceChoreographyInterface,WS2CI)[9210]是面向Web服务的编排规范,能定义和呈现协作流程服务的复杂行为。WSCI采用WS2CDL定义Web服务的通用和补偿行为,描述点对点Web服务参与者的协作,而编排后的业务流程可实现企业间的业务交互和协同[11]。

然而,BPEL4WS和WS2CDL等BPDL定义的流程服务缺少语义信息。因此,为了提高各种服务的主动发现和自动建模能力,以及实现系统化的服务共享,需要从语义上定义和关联各类流程服务[12]。语义Web服务(SemanticWebService,SWS)技术增强了服务能力的语义描述信息,Web本体语言概要(WebOntologyLanguageSchema,OWL2S)是一种基于Web本体描述语言(WebOn2tologyLanguage,OWL)的Web服务本体[13],用于描述服务的属性和功能,便于发现和集成不同种类的Web服务。

业务流程定义语言(BusinessProcessDefinitionLanguage,BPDL)的事实标准模型在服务的动态发现与建模方面存在不足,需要建立基于语义的业务流程动态发现与管理机制,以此动态组合与管理协作中的各类业务和流程服务。

本文借鉴面向服务的架构、业务流程管理(Bus2inessProcessManagement,BPM)和语义Web服务等相关的标准和技术,通过对SOA架构、基于SOA的BPM框架、面向语义的流程服务模型(SemanticProcessServiceModel,SPSM)等内容的研究,利用现有的服务中间件(如BPEL引擎、Web服务器等),建立基于SOA的企业间业务协同服务平台(SOA2basedBusinessCollaborationServicePlat2formforcross2enterprise,BCSP)。

1 相关工作

Web服务最早用来整合多种不同种类的跨平

台资源[1],支持业务流程管理中简单的跨组织协作[224]。Web服务为运行在不同平台或架构上的软件应用程序提供了能够互操作的标准和一组标准的编码机制,这些机制通过特殊的传输协议和数据编码方式,使接口定义独立于具体实现。

目前,学术界和工业界已开发了一些基于Web服务的相关标准和语言,用来支持业务流程模型的协同和互操作。其中,Web服务流语言(WebServ2icesFlowLanguage,WSFL)是一种工作流语言[5],它利用图论模型来处理流程定义和执行,同时定义了一个公共接口,用来发布业务流程。基于WSFL语言,BPEL4WS采用Web服务编排和服务流模型模拟工作流管理[6],使设计者能够将两个或多个

2 面向服务架构的基础架构

企业应用集成技术(EnterpriseApplicationIn2tegration,EAI)和中间件技术不断发展,演化出SOA。美国学者DirkKrafzig认为,SOA不再重点考虑“以技术为中心”的细粒度实体,如数据库对象、Java对象、微软的分布式组件对象模型(DistributedComponmentObjectModel,DCOM)或Web服务,

308计算机集成制造系统

各种服务类型的关键特性    表1 

基本服务

中介服务

以流程为中心的服务

第14卷

而专注于“以业务为中心”的服务和定义清晰的服务

契约,这些服务具有业务级的事务粒度[14]。

SOA基础架构从SOA结构、SOA的服务类型划分、SOA服务总线等方面为企业间业务协同服务平台提供系统运行的基础结构。

(1)面向服务架构的结构在技术架构上,SOA包含应用程序前端、服务、服务库和服务总线等元素,如图1所示。

公共企业服务与其他企业共享的服务因具体服务而异因具体服务而异高低

简单服务,包括技术网关、适配封装流程

描述

混合服务

实现的复杂性

低中

添加服务中高

务高

数据、逻辑以及器、外观和功能逻辑的服或合作组织

状态管理无状态可重用性高更改频率低无状态低中高有状态低高

网关是业务服务的代理,包括两种或两种以上的通信或数据编码的技术,在不同于原始业务服务的技术环境中,表示底层服务的功能;适配器将一个服务的签名和消息格式与客户端的要求匹配;外观的作

应用程序前端是业务流程的所有者。服务提供业务功能,可供应用程序前端和其他服务使用。服务实现提供业务逻辑和数据,服务契约为服务客户指定功能、使用和约束,服务接口物理地公开功能。

服务库存储SOA中各个服务的服务契约(包括服务、操作和参数签名)、服务所有者、访问权限、服务预期性能和扩展性信息、服务的事务属性和服务的各个操作等信息,并提供开发和运行时的绑定功能。服务总线将应用程序前端和服务连接在一起。

(2)面向服务架构的服务类型划分

SOA关注的是功能基础结构和业务级服务。

用是显示一个或多个现有服务的不同视图(也许是聚合视图);功能添加服务在不更改服务自身的情况下,为原始服务添加新功能或所需的新特性。

以流程为中心的服务封装组织的业务流程逻辑和知识,并控制和维护流程的状态,支持复杂流程封装、负载平衡和流程逻辑的分离(将流程逻辑与核心业务逻辑和对话控制逻辑分开),即流程服务。

公共企业服务为跨企业协作和集成提供接口,粒度更大,并提供合理的解耦合(支持异步通信和基于载荷语义的解耦)、安全(提供跨越企业边界的身份验证、加密和访问控制)、收费(提供可靠机制的跨企业服务收费)和健壮性机制。

(3)面向服务架构的服务总线———企业服务总

在设计和实现时,根据企业业务功能,可以将SOA服务划分为基本服务、中介服务、以流程为中心的服务和公共企业服务等更小的组件模型,表1给出了各种服务类型的关键特性。

基本服务是SOA的基础,表示领域内的基本元素,包含以数据为中心、以逻辑为中心以及数据和业务逻辑的混合等三类服务。以数据为中心的服务类似于传统应用程序的数据访问层,用于处理持久数据,包括存储和检索数据、锁定机制和事务管理,处理和使用物理存储设备,如关系数据库、文件系统和磁带库,在实现时只处理一个主要业务实体;以逻辑为中心的服务封装复杂计算和业务规则的算法;混合服务既包含业务逻辑,又包含数据处理逻辑。

中介服务是桥接技术和概念缝隙的无状态传递器,用于消除技术的不连续和填补架构的设计差距,包括技术网关、适配器、外观和功能添加服务。技术

线

在企业实际应用程序环境中,通信模型可能不止一个。尽管Jave2企业版(Java2EnterpriseEdi2tion,J2EE)环境通过企业级JavaBean(EnterpriseJavaBean,EJB)提供面向对象的同步通信,Java消

息服务(JavaMessageService,JMS)提供消息传输,允许用电子邮件和简单对象访问协议(SimpleOb2jectAccessProtocol,SOAP)进行通信,Servlet规范

提供对超文本传输协议(HyperTextTransferPro2tocol,HTTP)应用程序的一般性支持。然而,企业常常使用支持相似通信模型的不同供应商的产品,很难有软件总线同时支持文件传输协议(FileTransferProtocol,FTP)、远程过程调用(Remote

第2期刘 敏等:基于面向服务架构的企业间业务协同服务平台及技术研究309

ProcedureCall,RPC)、公共对象请求代理结构(CommonObjectRequestBrokerArchitecture,CORBA)、远程方法调用(RemoteMethodInvoca2tion,RMI)、IP多媒体系统(IPMultimediaSubsys2tem,IMS)等通信模型。因此,企业必须创建基于元

3 基于面向服务架构的企业间业务协同服

务平台

  在上述SOA架构、技术和标准基础上,建立基于SOA的企业间业务协同服务平台,平台由BPM支持的业务流程服务执行框架和集成语义的Web服务执行环境两部分构成,如图3所示。3.1 业务流程管理支持的业务流程服务执行框架

级别的企业服务总线(EnterpriseServicesBus,

ESB),提供粗粒度的XML通信协议,以及实际交付使用的面向消息的中间件内核等元素,将SOA的所有参与者(服务和应用程序前端)相互连接在一起,并提供连接性、技术异质性、通信异质性和技术服务等功能,如图2所示。

在基于SOA的业务协同服务平台中,业务流程服务将SOA架构和业务流程管理系统相结合,从SOA的服务层次(表1中的服务类型划分)分别构建基本的业务服务和流程服务。业务服务用于封装复杂的业务规则,流程服务用于粘合业务服务,提供流程的控制逻辑。平台通过抽象流程(AbstractProcessFlow,APF)和扩展业务规则(ExtendedBusinessRule,EBR)管理器进行建模,并通过流程

引擎执行,如图3所示。

业务流程管理系统(BusinessProcessManage2mentSystem,BPMS)没有将重要业务流程的信息

和规则直接编码到应用程序代码之中,而是将这些信息从应用程序系统中分离出来,并将其置于BPM系统的控制之下。其中,SOA成为面向企业流程的

310计算机集成制造系统第14卷

支持基础结构,提供BPMS需要的后端功能,以实现其流程功能,如图4所示。

程引擎。

(5)流程库 本地流程信息存贮在知识库中,当流程引擎查询到有流程改变时,可以从流程库中查询可执行的流程。

(6)工具库 用来管理企业业务协同过程中用

到的一些工具。流程引擎从工具库中找到每一项原子任务所需的工具,并用该工具来完成此任务。当一个用户通过流程引擎为一个特殊的工具发送了一个执行请求给工具服务器时,它可以远程查找并执行,最后把执行结果返回给流程引擎。3.2 集成语义的Web服务执行环境

集成语义的Web服务执行环境由Web服务代理、服务注册中心、本体管理器、Web服务执行环境等基本部件构成。

BPM支持的业务流程服务执行框架将核心业

(1)Web服务代理(Agentservice) 根据用户

务逻辑和流程控制逻辑分离开来。核心业务逻辑包括基本数据访问服务、复杂计算和复杂业务规则,保留在单个服务中。流程控制逻辑不包含应用程序相关的状态(业务状态),如汇率、客户数据或销售情况等;但包含与流程本身相关的状态(流程状态),如流程参与者(人员和服务)、参与者的输入,及基本规则等,将核心业务服务粘合在一起。因此,SOA服务,可以分解为包含核心业务逻辑的业务服务(如图4中基本层的基本业务服务)和包含控制逻辑的流程服务(如图4中流程层的流程服务)。通过组合后的业务流程服务可以在协同平台的注册中心进行注册,并被其他的服务组合和调用。

在BCSP平台中,BPM支持的业务流程服务执行框架由APF管理器、EBR管理器、BPEL4WS转换器、流程引擎、流程库、工具库组成。

(1)APF管理器 管理抽象业务流程,通过流

的需求或偏好规则选择相应的Web服务,设置具体的绑定信息,并返回调用结果。代理服务需要和它所代理的服务具有相同的接口描述。

(2)服务注册中心 每个协作公司都有以上所

有的部件,而服务注册中心是所有公司共同使用的,储存了一些公司发布的Web服务的详细信息,如设计和功能规范等。服务注册中心不仅包括服务类型、输入输出规范、前置条件和后置条件等语义信息,还包括Web服务描述语言(WebServiceDe2scriptionLanguage,WSDL)描述的技术信息。在BCSP中,服务类型分类并公开,图3中的A和B知

识库是根据不同的应用领域分类的。如A代表材料铸造领域的知识,B代表机加工领域的知识等。

(3)本体管理器 基于用户评价的本体管理框

架,管理领域内的本体构建、进化过程,以及基于用户端的评价管理和本体版本管理。

(4)Web服务的执行环境 连接流程引擎和Web服务,流程引擎就能为某个任务查找到适当的

程服务进行部署。

(2)EBR管理器 管理企业私有业务逻辑,通

过业务服务进行访问。

(3)BPEL4WS转换器 基于流程单元的状态

服务,并且调用这些服务。Web服务的执行环境支持带有语义的服务的发布。为了在BCSP中搜索到适合的服务,流程引擎通过参数调用该模块,该模块再去服务注册中心查询,当流程引擎选择好服务提供者后,该模块调用Web服务。

如图3所示,在Web服务的执行环境中,业务流程作为Web服务进行发布和使用。但因Web服务缺少服务的语义信息,在发现和建模过程,仅能通

模型,将抽象业务流程和业务逻辑进行组合,形成BPEL4WS支持的可执行业务流程模型,并可通过Web服务进行发布。

(4)流程引擎 负责处理流程执行和维持执行

的当前状态,还具有预估计功能,能够预先估算流程的选择,IBM,HP,ORACLE公司都提供不同的流

第2期刘 敏等:基于面向服务架构的企业间业务协同服务平台及技术研究

表2 一个逻辑服务语义模型的例子

〈!22definitionofLogicalService〈!22definitionof\"ControllerDsg\"

〈service:LogicalServicerdf:id=\"ControllerDsg\"〉

311

过手工组合现有的Web服务,如IBM,ORACLE,HP等公司的BPEL建模工具和运行环境。因此,

 需要给流程服务模型赋予语义信息,可以通过服务的本体进行推理,在服务注册中心动态发现相关的Web服务,并动态绑定到流程服务中。

〈service:hasInput〉/33一个Web服务的输入语义规范33/ 〈service:Specrdf:resource=\"#EngineSpec\"/〉 〈service:Specrdf:resource=\"#CoolantType\"/〉〈service:hasInput/〉

〈service:hasOutput〉/33一个Web服务的输出语义规范33/ 〈service:Specrdf:resource=\"#WiringSpec\"/〉 〈service:Specrdf:resource=\"#ControllerSpec\"/〉〈service:hasOutput/〉〈service:hasAlternativeChoices〉/33一个Web服务是否有可选服务的定义33/

 〈service:AlternativeChoicerdf:parseType=\"collection\"〉 〈service:AlternativeChoice/〉〈/service:hasAlternativeChoices〉〈/service:LogicalService〉

 在语义上,采用与Web服务类似的定义,一个

流程服务是一个大类,它可分为逻辑服务(Logi2calService)和原子服务(AtomicService)两个子类,

其本体模型如图5所示。逻辑服务代表流程服务中的逻辑任务,原子服务代表流程服务中的原子任务

[15]

。一个流程服务具有四个方便请求者辨认和利用的属性:前置条件、后置条件、输入和输出。这些属性都可以被逻辑服务和原子服务所继承。逻辑服务可以通过一个或多个组合服务实现(如图5中的服务组合),并可利用连接属性描述服务组件之间的业务流和逻辑规则。

流程服务的语义信息采用OWL描述,通过服务注册中心进行注册和发布,并提供服务名称、服务类型、输入输出规范和前置条件、后置条件等语义信息。表2描述的一个逻辑服务语义模型给出了该Web服务的输入输出规范,以及是否有可选服务的

流程服务在注册中心通过OWL和WSDL提

供流程服务的全部信息。其中,OWL提供给服务详细的语义信息,如类型、前置条件和后置条件、输入和输出等;WSDL提供统一资源定位(UniformResourceLocator,URL)地址、服务中的方法列表和输入参数类型等技术信息,如图6所示。  在此基础上,建立Web服务的执行环境,由Web服务部署模块和Web服务调用模块组成,如图7所示。利用Web服务部署模块,服务提供者首先描述协作服务的语义信息,然后通过Web服务注册、Web部署和OWL2to2Service实现等工具,把服务部署到自己的Web服务的服务器上,并注册到服务注册中心。当公司决定通过Web服务来外包一项协作流程或任务时,协同平台用执行环境中的Web服务调用模块,搜索并调用合适的服务和流程。

  Web服务执行环境的主要部件描述如下:

语义信息,该信息通过OWL进行描述,并在服务注册中心与该服务的技术信息———WSDL描述进行注册和发布,便于服务使用者进行语义检索和匹配,如图6的服务语义和技术注册信息所示。前置条件和后置条件用来在协作过程维持流程的一致性,即服务请求者在调用服务前要求服务提供者保证服务品质(前置条件),并在返回输出后保证某些服务属性(后置条件)。例如,服务提供者可以为服务请求者限制一定的条件,并指定输入参数的品质来发布服务结果,服务提供者在后置条件中描述服务执行的品质矩阵,如产品规格、流程时间等品质。

312计算机集成制造系统第14卷

任务可以影响到另一公司的另一个任务。

(1)OWL2to2Service实现工具 把语义描述信

息通过编码形成服务执行代码,提供一些转换方法,如从用户得到输入规范并传递给Web服务、调用Web服务、把输出规格传递给用户、传递流程图形信息给用户、把服务提供者本地库中的组合流程传递给用户等。

(2)Web部署工具 编译服务执行,并部署到Web服务器。

(3)Web注册工具 阅读服务提供者提供的WSDL文档和语义描述信息OWL,并把服务存进注册中心。

(4)服务请求者 利用Web服务调用模块发现和执行Web服务。其中,服务发现工具通过对注册中心的查询操作来发现一个Web服务,语义阅读器供用户能够浏览服务语义信息,WSDL阅读器帮助服务调用者理解WSDL文档,服务调用者调用已选Web服务发布的一个方法。

另外,基于SOA的协同服务平台应满足合作伙伴间通过Web开展商务协同、设计协同、制造协同和供应链协同的安全需求,如安全通信、消息认证、不可否认的数字签名等内容,本文不作描述。

A公司负责设计风扇罩并提出性能需求,包括

直径35.56cm、高25.4cm、重3.405kg,壁厚范围

从2.235cm(底部)到0.315cm(边壁),高热传导性、统一的金属填充、多孔性和正负12.7μm的误差等产品关键属性。另外,A公司还设置了材料属性需求:密度小于0.0061kg/cm3,热传导率大于120W/mK,极限抗张强度大于40Ksi,受拉屈服强度大于20Ksi。这些属性采用OWL定义,按照输出规范(表3给出了一个例子)传送给B公司和C公司。

表3 铸造业务服务(设计需求服务)中的

一个输出规范信息

〈DesignRequirements〉 〈SizeDiameter=\"35.56\"Weight=\"3.405\"…/〉 〈Tolerancedimentional=\"0.0127\"range=\"plusminus\"/〉 〈performance〉  〈factor〉highthermalconductivity〈/factor〉  〈factor〉uniformmetalfill〈/factor〉 〈/performance〉 〈Materials〉  〈Densityrange=\"LT\"〉10〈/Density〉  〈TensilYieldStrenthrange=\"GT\"〉20〈/Tensi2…/〉  … 〈/Materials〉  …

〈/DesignRequirements〉

 4 制造协作过程实例

现以一个电机风扇罩的拉模铸造协作过程作为系统平台的设计与实现原型。该过程分为若干子任务,而每一个子任务被分配到开始协作的公司。有五个公司准备进入协作过程(如图8),每一个公司有自己的详细工作,如定义需求、选择材料、制造模具和铸造产品等。而且,过程中的各个子任务之间存在相互依赖与相互制约关系,即一个公司的一项

 B公司根据需求规范为该产品选择材料,可选

材料有A130,ZA8,A380等多种合金,由于A130具有最好的热传导性和安全性,B公司选择了A130。

C公司得到A公司的设计规格和B公司的材料选择报告后,开始冲模的设计和制造过程,包括模

第2期刘 敏等:基于面向服务架构的企业间业务协同服务平台及技术研究313

具设计、模具裁剪和模具制造等几个子流程。每一

项子流程还可细分为带有生产规则的子任务,例如模具设计任务有几个可供选择的过程,像真空辅助铸造、高压力铸造和半固体化铸造等。

D公司根据B公司和C公司的规范铸造产品。如果D公司决定以外包的方式来执行铸造产品任务时,公司首先定义产品的品质需求,如材料、完工和证书等要求,然后在服务注册中心中用这样的品质需求进行搜寻。而服务的语义模型定义了流程服务的前提条件和后置条件,用来查找和评估服务提供商。

假设浙江地区的一个公司E能满足D公司的铸造能力需求,服务注册中心会告知D公司E公司能够胜任铸造产品工作,表4给出了一个OWL描述的注册实体(entity)信息,用于描述在注册中心所注册服务的语义信息。然后D公司评估其他一些在查询条件里面没有的品质,如果有必要还可以准备商议,之后调用E公司的服务来完成此次外包。

表4 服务注册中心中的服务语义注册实体信息

〈entry〉 〈entryID〉00001〈/entryID〉

 〈serviceType〉CastingProduct〈s/serviceType〉 〈profile〉

  〈serviceName〉DieCasting〈/serviceName〉  〈Address〉Liuix,Zhejiang,China〈/Address〉  〈Telephone〉05712xxxx2xxxx〈/Telephone〉  …

 〈/profile〉 〈precondition〉

  〈Materials〉Aluminum〈/Materials〉  〈Machining〉CNC〈/Machining〉  〈Machining〉Tapping〈/Machining〉  〈Finishing〉PowderCoating〈/Finishing〉  … 〈/precondition〉

 〈postcondition〉  〈Certifications〉ISO9002〈/Certifications〉  〈EndMarkets〉Automotive〈/EndMarkets〉  〈EndMarkets〉Furniture〈/EndMarkets〉  …

 〈/postcondition〉 〈inputSpec〉TrimDies〈/inputSpec〉 〈inputSpec〉Dies〈/inputSpec〉

 〈inputSpec〉SelectedMaterial〈/inputSpec〉 〈outputSpec〉FinishedProduct〈/outputSpec〉

 〈wsdl_binding〉http://www.tongji.edu.cn/cims/wsdl/DieDe2sign.wsdl〈/wsdl_binding〉 〈owl_binding〉http://www.tongji.edu.cn/cims/wsdl/services.

daml〈/owl_binding〉

然而,单个公司的决策有可能会阻碍产生一个

行之有效的结果,甚至可能由于各个公司基于局部的决策而导致协作任务失败。因此,在分布式协作制造环境中,要求能够允许取消某些决策任务。例如,在第一步中,B公司执行部件分析工作,并产生输出结果。经过某一过程,C公司也完成了模具设计工作,D公司开始执行外包流程。在第二步中,D公司在最终产品上找到了一个设计问题,并且该产品未能通过某项机械压力检测。经过一些诊断,D公司做出结论:该产品需设计得更加坚固,并且需要改变材料。然后B公司以最低的消耗改变了热传导性材料。这一项改变影响到了C公司和D公司的进程执行,因为他们用到了B公司选择的A130铝合金。在此情况下,C公司和D公司需要初始化其业务流程,以返回到原先的工作状态,并进行相应修改。在第三步中,当D公司生产产品失败时,D公司描绘出问题所在并执行一个返回。该失败被认为是由于一个材料强度问题导致的,D公司执行一个回滚到B公司,并给B公司一个问题诊断报告,同时D公司向协作环境做出一个回滚信息报告。然后协作环境通过调用B公司公告栏的Web服务来发送一个执行信息给B公司,要求B公司给出解决方案。在这种情况下,B公司选用了另一种材料———锌合金ZA8,它的热传导性比铝合金A130低6%,但强度比铝合金A130高60%。B公司也立刻告知C公司和D公司。当D公司收到返回信息后,立即延缓服务;B公司的新选择传至C公司和D公司,以使他们采取合适的行动;C公司会先确认是否当前的模具设计方案适合于ZA8;D公司也会检查已选择的铸造公司能力,若E公司的铸造能力不适用于ZA8合金,D公司要初始化当前任务并重新搜索新的外包公司。

5 结束语

本文借鉴面向服务的架构、业务流程管理和语义Web服务等相关的标准和技术,建立了基于SOA的企业间业务协同服务平台BCSP。平台采用基于SOA的BPM框架,分离核心业务逻辑和流程控制逻辑,采用面向语义的流程服务模型构建Web服务的执行环境,以此提高业务服务和流程服务的动态发现和建模能力。最后结合实例,讨论了基于SOA的企业间业务协作过程。

〈/entry〉

314计算机集成制造系统第14卷

参考文献:

[1] SteelFounderπsSocietyofAmerica.Astudyinaluminumdie

castingdesign2housingforathermoelectricfan[EB/OL].[2007203216].http://www.sfsa.org.

[2] BURDICKD.Collaborativeproductcommerce:thetechnology

vision[EB/OL].[2000201204].http://www.gartner.com.[3] CASATIF,SHANE,DAYALU,etal.Business2oriented

managementofWebservices[J].CommunicationoftheACM,2003,46(10):55260.

[4] PAPAZOLGOUMP,JEUSFELDMA,WEIGANDH,et

al.Distributed,interoperableworkflowsupportforelectroniccommerce[J].LectureNotesinComputerScience,2002,1402:1922204.

[5] LEYMANNF.Webserviceflowlanguage(WSFL1.0)[EB/OL].[2006207228].http://www24.ibm.com/software/solu2tions/WebService/pdf/wsfl.pdf,2001205.[6] PELTZC.Webservicesorchestrationandchoreography[J].

IEEEComputer,2003,36(10):46252.

[7] ebPML.org.BPML1.0analysis[EB/OL].[2007203216].

http://www.ebpml.org/bpml_1_0_june_02.htm,200226.[8] BPEL.Webservicesbusinessprocessexecutionlanguage(WS2

BPEL)[EB/OL].[2007203216].http://www.oasis2open.org/committees/tc_home.pht?wg_abbrev=wsbpel.

[9] WSCDL.Webserviceschoreographydescriptionlanguage(WS2

CDL)[EB/OL].[2007203216].http//www.w3.org/2002/ws/chor/#published.

[10] ARKINA,ASKARYS,FORDINS,etal.Webservicecho2

reographyinterface(WSCI)1.0[EB/OL].[2007203216].http://www.w3.org/TR/2002/NOTE2wsci220020808.

[11] KAVANTZASN,BUTDETTD,RITZINGERG,etal.

WebserviceschoreographydescriptionlanguageVersion1.0[EB/OL].(2005211208)[2007203216].http://www.w3.org/TR/ws2cdl210/.

[12] SYCARAK,PAOLUCCIM,ANKOLEKARA,etal.Au2

tomateddiscovery,interactionandcompositionofsemanticWebservices[J].JournalofWebSemantics,2003,1(1):27246.[13] MCGUINNESSDL,HARMELENFV.OWLWebontolo2

gylanguageoverview[EB/OL].[2007203216].http://www.w3.org/TR/2004/REC2owl2features220040210/.

[14] KRAFZIGD,BANKEK,SLAMAD.EnterpriseSOAserv2

ice2orientedarchitecturebestpractices[M].NewYork,N.Y.,USA:PrenticeHall,2005.

[15] KIMW,CHUNGMJ,QURESHIK,etal.WSCPC:anar2

chitectureusingsemanticWebservicesforcollaborativeprod2uctcommerce[J].ComputersinIndustry,2006,57(8/9):7872796.

(上接第261页)

[8] WANGZheng,YANHongsen.Concurrentoptimizationin

productdevelopmentprocess[J].ComputerIntegratedManu2facturingSystems,2002,8(11):8512857(inChinese).[汪 

[13] FENGJianmin,XIEDonghui,LIBiqiang.Theproductrede2

signpolicybasedonlearningtheory[J].SystemsEngineer2ing—Theory&Practice,1997,17(10):1142119(inChi2nese).[冯健民,解东辉,李必强.基于学习理论的产品重新

峥,严洪森.产品开发过程并行度优化[J].计算机集成制造系统,2002,8(11):8512857.]

[9] ZHOUXionghui,LIXiang,RUANXueyu.Studyontask

planalgorithmforinjectionproductandmoldcollaborativede2sign[J].ChineseJournalofMechanicalEngineering,2003,39(2):1132118(inChinese).[周雄辉,李 祥,阮雪榆.注塑产

设计策略[J].系统工程理论与实践,1997,17(10):1142

119.]

[14] ZHANGDongmin,LIAOWenhe,LUOYanling.Astudyon

themodelingofadesignprocessbasedonthedesignstructurematrix[J].JournalofApplicationSciences,2004,22(4):5182522(inChinese).[张东民,廖文和,罗衍领.基于设计

品与模具协同设计任务规划算法研究[J].机械工程学报,

2003,39(2):1132118.][10] XUDuo,YANHongsen.

Timemodelandoptimization

methodinconcurrentproductdevelopmentprocess[J].Chi2neseJournalofMechanicalEngineering,2006,42(1):23230(inChinese).[许 多,严洪森.并行产品开发过程的时间

结构矩阵的设计过程建模研究[J].应用科学学报,2004,22

(4):5182522.]

[15] MEIChenggang.Productdesignprocessmodelingandre2

engineeringbasedondesignstructurematrix[D].Wuhan:HuazhongUniversityofScienceandTechnology,2003(inChinese).[梅成刚.基于设计结构矩阵的产品设计过程建模

模型及其优化方法[J].机械工程学报,2006,42(1):23230.]

[11] HELMSR.Frameworkforreleasingpreliminaryinformation

inproductdevelopment[J].AdvancedEngineeringInformat2ics,2004,18(4):2312240.

[12] YASSINEAA,SREENIVASRS,ZHUJ.Managingthe

exchangeofinformationinproductdevelopment[EB/OL].(2005211228)[2007203208].http:∥www.iese.uiuc.edu/pd2lab/Papers/info2Inodeling.pdf.

和重组方法研究[D].武汉:华中科技大学,2003.]

[16] WANGAihu,YANGManli.Systematicmanagementmeth2

odforcomplexproductdevelopmentproject[J].IndustrialEngineeringandManagement,2005,10(3):7217(inChi2nese).[王爱虎,杨曼丽.复杂产品开发项目系统化管理方

法[J].工业工程与管理,2005,10(3):7217.]

因篇幅问题不能全部显示,请点此查看更多更全内容