版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自动Web服务组合技术的研究薛莹河海大学计算机及信息工程学院,南京(210098E-mail:xingji110摘要:Web服务技术的快速发展使得利用Web服务组合来满足应用的需要成为可能。本文首先分析了几种Web服务描述的方式,然后介绍了服务组合的方法,这些方法都是基于工作流与AI规划的。提出了自动Web服务组合的模型并给出了服务组合的过程。最后指出Web服务组合面临的挑战和进一步研究的方向。关键词: Web服务、服务组合、工作流、AI规划中图分类号:TP3931.引言Web服务是自包含、自描述、模块化的应用程序,可以在Web上发布、查找和调用Web服务。近几年来,越来越多的公司和组织开始只
2、关注并实现他们的核心业务,而把其他应用服务进行外包1。因此,在运行时有效地选择和集成不同组织之间以及Web上的异构服务的能力对于开发Web应用程序非常重要。如果单个Web服务不能满足用户所需的功能,则可以将多个现有服务组合在一起,成为组合服务(composite service以满足需求。在Web服务的相关研究中,出现了不同的工业标准,这些标准在不断的演化之中,其中统一描述发现和集成规范(Universal Description, Discovery and Integration,UDDI2、Web服务描述语言(Web Service Description Language,WSDL3、
3、简单对象访问协议(Simple Object Access Protocol,SOAP4分别用于服务的查找、描述和消息传递。其他语言,例如业务过程执行语言(Business Process Execution Language for Web Service,BPEL4WS和OWL-S的ServiceModel重点表示服务组合,但是服务之间的过程流和绑定关系都是预先知道的。虽然有这些标准,但是Web服务组合仍然是高度复杂的任务,不能单靠人工处理整个过程。其组合的复杂性来源于:(1近年来Web上可用的服务数量剧增,需要查找巨大的Web服务库。(2Web服务可以实时地创建和更新,因此组合系统需要在
4、运行时检测更新信息并根据最新的信息进行决策。(3Web服务可由不同的组织进行开发,这些组织可能使用不同的概念模型来描述服务,而且现在还不存在一种统一的语言来定义Web服务。因此,使用自动的或半自动的工具来建立组合Web服务很有必要。很多专家和学者提出了各自的方法,他们的方法主要介于两个领域:工作流的组合以及AI规划。本文首先介绍了不同的Web服务描述方法,其中包括Web服务语法描述和语义描述。然后基于目前存在的一些组合平台和框架,重点分析了基于工作流和基于AI规划的Web 服务组合的原理和应用,接着提出了自动Web服务组合的模型并说明服务组合的过程,最后指出Web服务面临的挑战和进一步的研究方
5、向。2.Web服务描述Web服务具有广泛的适应性和应用背景,Web服务组合依赖于Web服务描述。W3C 提出了多种Web服务描述语言。2.1 WSDLWeb服务描述语言(Web Service Description Language,WSDL是一种基于XML的语言,通过提供数据抽象定义的消息和Web服务用来传输消息的操作来说明Web服务。在WSDL中,服务访问点和消息的抽象定义从具体的服务部署或数据格式绑定中分离出来。消息是对交换数据的抽象描述;而端口类型是指操作的抽象集合;用于特定端口类型的具体协议和数据格式规范构成了可再次使用的绑定。将Web访问地址与可再次使用的绑定相关联,可以定义一个
6、端口,而端口的集合则定义为服务5。WSDL中有4种类型的操作:one-way、request-response、solicit-response和notification消息。终端(endpoint可以接收消息(one-way、发送消息(notification、接收消息并发送相关消息(request-response以及发送消息并接收相关消息(solicit-response。WSDL定义了Web服务的功能,但是没有定义如何完成该功能。WSDL只是从语法层对Web服务进行描述,不支持丰富的语义描述。2.2 WSCIWeb服务编排接口23(Web Service Choreography In
7、terface,WSCI用于描述Web服务的可观察行为,也就是用户根据交换消息间的时序和逻辑依赖所看到的行为。WSCI描述了如何根据消息交换的上下文编排操作的方式。WSCI根据使用的上下文能够描述交换消息的正确顺序,并且能够定义相同Web服务的多种行为。而且,它还提供了管理异常情况(如超时和错误消息的方法。它是一种编排语言。2.3 OWL-S语义Web6(Semantic Web的发展要求可以通过Web资源的内容等语义信息来访问Web资源,而不仅仅是通过数据类型匹配、关键词匹配来查找信息。Web服务作为Web上的一类越来越重要的资源,同样要求语义Web对其提供广泛的语义支持,从而实现语义Web
8、服务(Semantic Web Services,SWS。OWL-S就是语义 Web中一种用来描述Web 服务的属性和功能的本体规范,它使用一系列基本的类和属性来描述Web服务,提供了一个可共享的框架。在OWL-S(Ontology Web Language for Services,即以前的DAML-S中,描述服务的基本信息主要有3类本体:ServiceProfile,ServiceModel和ServiceGrounding,如图1所示。 图1 OWL-S模型的顶层本体z ServiceProfile:提供了服务的高层描述,说明服务的功能,其最重要的信息包括输入、输出、前提和结果。它能提供
9、3类信息,即(1人类可阅读的服务描述(2服务提供的功能说明(3有关服务的额外信息和需求的功能属性。z ServiceProfile:描述了服务的过程模型,说明服务的工作原理,即服务执行时发生的操作。z ServiceGrouding:将过程模型的描述和WSDL的通讯协议及消息描述联系起来,说明agent访问服务的细节内容。一般地讲,ServiceProfile为agent或软件提供发现服务所需的信息,ServiceModel 和ServiceGrounding为agent或软件使用服务提供足够的信息。2.4 OWL-S和WSDL的关系文献7指出DAML-S(OWL-S和WSDL是互补的。一方面
10、,开发人员可以使用DAML-S 的过程模型以及DAML+OIL类的类型机制的表达能力;另一方面,他们还能重用WSDL 以及软件对于基于声明的消息交换的支持。3.Web服务组合的方法近几年,工业界和学术界提出了很多服务组合的方法,这些方法大致基于两种思想:基于工作流的思想和基于AI规划的思想。下面将首先介绍服务组合的动态和静态的概念和区别,然后介绍自动和人工服务组合,最后将集中介绍基于工作流和AI规划的服务组合方法。3.1 静态与动态服务组合Web服务组合方法从组合方案生成方式来分有两大类:静态组合和动态组合5。静态组合意味着请求者应在组合计划实施前创建一个抽象的过程模型。抽象的过程模型包括任务
11、的集合以及任务间的数据依赖关系,每个任务包含一个查询的子句,用来查找完成任务的真正的Web服务。静态组合中最常用的是用图来描述过程模型。而动态组合不仅自动地选择、绑定Web服务,同时更重要的是自动地创建过程模型。这需要请求者指定一些约束关系,包括Web服务间的依赖关系、用户的偏爱等。3.2 自动与人工服务组合单个简单的Web服务往往无法满足实际的应用需求,人们常常需要组合多个Web服务以完成一个较复杂的任务,这就是服务的组合问题8,它包括服务的选择和执行。传统方式下服务的选择和执行通常是由用户(人工地完成的,但是随着服务数量的剧增,如何根据必要的信息自动地、动态地选择和组合服务,即Web服务的
12、自动组合问题。这些必要的信息就是服务的语义描述模型,而模型的描述手段就是语义Web标记语言。引言中提过,有必要使用自动的或半自动的工具来建立组合Web服务。而工作流的方法与AI规划都能完成服务的自动组合。对于前者,动态的工作流方法为自动地绑定节点和具体资源或服务提供了手段。另一方面,动态组合方法需要自动生成规划,而大多数生成自动规划的方法与AI规划和演绎定理证明相关。这种方法都基于这样的假设:在规划上下文中,可以使用服务的前提和结果来说明服务。本文中的自动化是指方法能自动生成过程模型,或是指方法在给定抽象过程模型的情况下自动找到正确的服务。文献9介绍了一种半自动的服务组合方法。3.3 基于工作
13、流的服务组合在很多情况下,组合服务与工作流很相似10。组合服务的定义包括原子服务的集合以及服务之间的控制流和数据流。同样,工作流也必须说明这些控制流和数据流。另外,动态的工作流方法提供了自动绑定抽象节点到具体资源或服务的方法。EFlow11是一个说明、制定和管理组合服务的平台,它使用静态工作流生成方法。组合服务被建模为图,在该图中指定了过程中节点之间的执行顺序。图需要人工创建,但可以动态更新。图中包含服务、策略和事件节点。服务节点代表对某个原子服务或组合服务的调用,策略节点说明了控制流程执行的规则,事件节点使得服务过程可以发送和接收一些类型的事件。图中的弧说明了节点之间的依赖关系。虽然图通过人
14、工建立,但是Eflow提供了将节点绑定到具体服务的自动化方法。服务节点的定义中包含查找方法用于在流程初始化时或运行时查询实际服务。当服务节点启动后,会执行查找方法,并返回特定服务的引用。特别地,查找方法会在每次激活服务节点时被解析,这是因为在动态变化的环境中服务可能会发生频繁的变换。文献12介绍了基于工作流的服务项目:METEOR-S,它采用WSDL-S描述服务,用户编写抽象语义流程模板(该流程模板结构类似于BPEL4WS结构,而后程序自动对该模板进行语义标注,根据标注后的模板去匹配搜索并集成相应的服务,生成以BPEL4WS描述的具体业务流程。由于引入了本体,因此对于服务的搜索和匹配更加精确。
15、PPM(Polymorphic Process Model13使用了一种结合静态和动态服务组合的方法。静态部分由基于引用过程的跨企业过程支持,该过程由抽象的子过程组成,其中子过程有功能描述,但是并没有实现。抽象的子过程在运行时绑定到服务,这和EFlow中的服务绑定相似。PPM的动态部分由基于服务的过程支持。这里的服务建模为自动机,说明了服务的可能状态和状态之间的转换。状态转换由服务操作调用或内部服务转换而触发。因此根据自动机的推理,服务的动态组合成为可能。3.4 基于AI规划的服务组合OWL-S的出现为基于AI规划的组合方法提供了可能,将Web服务看成AI中的动作,通过输入输出参数、前提和结果
16、等来描述服务。在服务组合时,只要将Web服务的描述映射为动作的形式化描述,在Web服务空间中以构造Web服务组合为目标,通过形式化的推理来得出Web服务的组合序列,动态形成服务组合方案,同时也能够保证规划结果的正确性和完整性。3.4.1状态演算状态演算是一种形式化的规划方法。它是一阶逻辑语言,主要用来表示动态变化的世界,是一种关于状态、动作和动作作用于状态的结果的形式化谓词演算。在状态演算中,世界上的所有变化过程都是动作执行的结果。McIlraith和她的研究小组14, 15采用并扩展了Golog语言用于Web服务的自动创建。Golog是建立在状态演算之上的逻辑编程语言。作者通过提供高层的通用
17、过程和定制约束来解决Web服务的组合问题。这里采用的Golog语言是表示和推理服务组合问题的形式化方法。该方法的思想是:软件agent通过推理Web服务可以执行自动的服务发现、执行、组合和互操作。用户的请求(通用过程和约束可以用状态演算的一阶语言来表示。每个Web服务可以看作为动作,即原子动作(PrimitiveAction或复杂动作(ComplexAction。原子动作可以是改变世界状态的动作或是改变agent知识状态的信息搜集动作。复杂动作是原子动作的组合。Agent的知识库(KB使用状态演算语言对Web服务动作的前提和结果进行逻辑编码。组合服务是一系列通过过程编程语言的构造符(例如if-
18、then-else、while等连接起来的原子服务的集合。作者还提出了结合服务请求者的约束来定制Golog程序的方法。例如,服务请求者可以使用非确定的选择来表示在给定状态中所选择的动作,或使用序列构造符强制两个动作间的执行序列。生成的规划必须满足预定义的约束。3.4.2 PDDL规划域定义语言(Planning Domain Definition Lanuage,PDDL被人们广泛地接受为规划器的标准输入,事实上,OWL-S本身受到PDDL语言的重大影响,因此这两种语言之间的映射是很直接的。在需要规划服务组合时,OWL-S的描述可以翻译为PDDL的格式,然后不同的规划器可以利用它来进行服务的合
19、成或组合。为了在PDDL基础之上表示Web服务组合,McDermott16介绍了一种新的知识,称为动作值(value of an action,这与truth literal有所区别,可以用它来描述Web服务执行后产生的信息转换和状态改变。通过输入和输出参数表示的信息是可重用的,因此数据值可以在执行多个任务时进行复制。相反,世界的状态通过服务执行而改变。这里的改变是指旧状态的消失以及新状态的产生。在AI规划中,通常会假设世界是封闭的,也就是说,如果literal不存在于当前世界,则它的真值为假,这在逻辑编程方法中称为失败即否定(negation as failure。封闭世界假设的缺点在于tr
20、uth literal不能表达新的信息。如果服务请求者想要描述给某个Web服务发送消息,则需要创建消息的ID,这样在以后的通信过程中可以使用该ID,这只有在引入动作值后才能在规划系统中表达这样的新知识。3.4.3基于规则(Rule-basedMedjahed17提出了基于本体的自动Web服务组合的框架,从高层声明描述生成组合服务。组合方法包含4个概念独立的阶段:说明、匹配、选择和生成。说明阶段使用组合服务说明语言(Composite Service Specification Language,CSSL提供所需组合的高层描述。匹配阶段使用组合规则生成满足组合说明的组合规划(plan。如果匹配阶
21、段产生一个以上的规划,则组合服务引擎将根据组合质量(QoC参数选择一个规划(选择阶段。通过使用规划,自动生成了(生成阶段详细的组合服务的描述。该方法中组合规则(composibility rule是核心概念,包括语法规则和语义规则。语法规则包括:模式可组合性与绑定可组合性。语义规则包括:消息可组合性操作语义可组合性质量可组合性以及组合合理性。SWORD18使用基于规则的专家系统自动决定是否可以获得组合服务,但是没有关注服务的可组合性以及语义描述。3.4.4 HTN层次任务网络19(Hierarchical Task Network,HTN规划法利用OWL-S作为Web服务的描述语言,通过任务分
22、解的方法来组合服务。与其他规划方法不同的是,HTN的核心不是状态,而是任务。一个基于HTN的规划系统将目标任务分解为子任务的集合,这些子 任务再分解为更小的子任务,一直循环这个过程,直到所有的子任务仅包含原子 Web 服务, 即现有的 Web 服务。在每一轮任务的分解过程中,都会检验是否违反给定的条件(如子任 务数量不超过一定数目)。如果目标任务在不违反任何给定的条件下,能够被成功分解成原 子任务集合,则规划问题成功求解5。 文献20中使用 SHOP2 规划器用于 Web 服务的自动组合。 SHOP2 是层次任务网络规划 器。HTN 规划中的任务分解概念类似于 OWL-S 过程本体中的过程分解
23、的概念。文中认为 HTN 规划器比其他规划语言更加有效,如 Golog。 3.4.5 自动机 自动 Web 服务组合是大多数组合成果的最终目标。 Berardi21提出了一种将 Web 服务的 行为描述为执行树且将执行树翻译为有限自动机(FSM)的框架。他们提出了一种算法检测 是否存在组合服务,如果存在则返回该组合服务。在该过程中,证明了组合是正确的,且给 出了计算复杂性,从而保证自动组合将会在有限步骤内完成。 3.4.6 Petri 网 Petri 网是一种过程建模的方法。Petri 网是包含位置(place)和变迁(transition)的有 向二分图,变迁通常表示动作,用小矩形表示;位置
24、通常表示资源或条件,用圆圈表示。在 网的基础上添加表示状态信息的 token 分布,并按引发规则驱动状态的变化,从而构成可反 映系统动态运行过程的网系统。 通过将变迁赋值给方法以及将位置赋值给状态的方法,可以将服务建模为 Petri 网。每 个服务都有相应的描述其行为的 Petri 网且包含两个端口:输入位置和输出位置。在给定时 间内,服务可以处于以下任何一种状态:not instantiated、ready、running、suspended 或 completed。在定义完每个服务的网之后,组合连接子可以执行组合:顺序、选择、无序、 迭代和并行。这些连接子保证了闭包属性。因此,通过组合 2
25、 个或 2 个以上的服务,就能产 生新的服务。 在将组合指定为 Petri 网后,可以使用它来证明某些代数属性,例如是否存在死锁或活 锁(组合是否会在有限数量的步骤之后终止)。正确的终止对于组合服务非常重要,通过确 定 Petri 网是否有限可以完成这样的判断。 刘必欣22在研究通用的基于业务流程的组合服务元模型的基础上,采用 Petri 网的理论 与方法研究组合服务行为分析,提出了 Process-Net 用于刻画组合服务运行时的行为。 基于 AI 规划的服务组合方法能动态地生成 Web 服务组合方案、 动态地链接具体实现的 Web 服务,能适应 Web 服务的动态变化,更能满足业务不断变化
26、的需要5。 4. 自动服务组合的模型 这里给出自动服务组合的模型用来说明服务组合的过程, 如图 2 所示。 该模型是对服务 组合的高层抽象,不限制于具体的语言、方法和平台,其中的组件以及组合过程借鉴了前面 所述的工作流和 AI 规划的概念和技术。 -6- 组合质量(QoC)参数 服务请求者 外部说明 内部说明 组合方案 翻译器 组合服务 引擎 服 务 说 明 选择器 服务提供者 服务说明 组 合 服 务 执行引擎 服务库 图 2 自动服务组合模型 这个组合系统中有两类参与者:服务提供者和服务请求者。服务提供者发布可用的服 务,而服务请求者消费和使用服务。该模型包括以下组件:翻译器、组合服务引擎
27、、选择器、 执行引擎以及服务库。 服务库存储服务提供者发布的服务, 并为组合服务引擎提供各原子服 务的说明。翻译器负责将参与者提供的外部语言(例如 WSDL 或 OWL-S 的 ServiceProfile) 翻译为组合服务引擎能够使用的内部语言 (形式化语言, 如逻辑编程语言) 对于每个请求, 。 组合服务引擎使用服务库中的可用服务生成组合方案以满足请求。如果得到 1 个以上的方 案,选择器将会根据组合服务质量(Quality of Composition,QoC)的属性评估所有的方案, 选出最佳方案(以过程模型表示,例如 BPEL4WS 或 OWL-S 的 ServiceModel)。执行
28、引擎 执行方案并将结果返回给服务请求者。 自动服务组合的过程包含以下阶段: 单个服务的表示:首先,服务提供者将会在服务库上发布原子服务,而用于发布服务的 语言有 UDDI 和 OWL-S 的 ServiceProfile7。描述 Web 服务的基本属性包括签名、状态 和非功能属性。签名通过服务的输入、输出和异常来表示,它提供了在 Web 服务执行 期间有关数据转换的信息。 状态通过前提和结果来表示, 说明在当前世界内的状态改变。 非功能属性是一些用于评估服务的信息,例如代价、质量和安全问题。 语言的翻译: 大多数服务组合系统都会区分服务描述的外部和内部语言。 服务参与者使 用外部语言提高服务的
29、可访问性, 这样他们能够表示他们提供的以及需要的服务。 而内 部语言由组合服务引擎使用,一般是更精确的形式化语言,如逻辑编程语言。现在比较 常用的外部语言是 WSDL 和 OWL-S 的 ServiceProfile,而内部表示有 Petri 网、状态演 算等。 组合服务过程模型的生成: 服务请求者提出需求后, 组合服务引擎通过组合服务提供者 发布的原子服务来满足需求。 组合服务引擎一般以服务的功能作为输入, 以描述组合服 务的过程模型为输出。过程模型包含原子服务的集合以及服务之间的控制流和数据流。 组合服务的评估和选择:在开放环境下,可能存在许多服务具有类似功能的情况。因此 组合服务引擎可能
30、会生成不只一个满足需求的组合服务。 在这种情况下, 选择器就可以 使用组合服务质量属性(QoC)以及其他非功能属性来评价组合服务,选出最佳组合服 -7- 务。最佳组合服务可以用给定的过程模型(如 BPEL4WS 或 OWL-S 的 ServiceModel) 来表示,从而便于执行引擎的调用和执行。 组合服务的执行:当选出惟一的组合服务的过程后,执行引擎就可以执行该组合服务。 组合服务的执行可以被看作是过程模型中消息传递的序列, 前一个服务的输出将转化作 为后续原子服务的输入,从而形成了组合服务的数据流。 5. 小结 Web 服务组合是 Web 服务领域中一个重要的发展方向,从上面的分析可以看出
31、,自动 的、动态的服务组合成为近年来研究的热点。服务组合的方法多种多样,但是大多都基于两 类方法:工业上的基于工作流的方法以及语义网领域中基于 AI 规划的方法。工作流的方法 多数用于请求已经定义过程模型,但是自动程序需要找到原子服务以完成需求的情况中。 AI 规划方法用于请求者没有过程模型,但是有约束和偏好的集合的情况下。 工作流方法的主要问题在于正确性验证上,因为它们缺乏形式化说明和验证机制。另 一方面,形式化的方法通常难以应用于真实的企业环境,且面临扩展性的问题,如果利用过 程演算和 Petri 网的形式化方法,则其在解决问题的复杂度上是一个比较难于克服的问题。 通过结合工作流和 AI
32、规划思想,提出自动服务组合的模型来说明服务组合的过程。服 务库存储服务并提供服务接口, 翻译器负责内部和外部语言的转换, 组合服务引擎将可用的 原子服务组合为所需的服务, 选择器根据一定的标准选择最佳的组合服务方案, 执行引擎负 责执行最终的组合服务并将结果返回给用户。 我们下一阶段的工作将着重于研究基于语义的自动服务组合技术以及正确性验证上。 参考文献 1 Rao JinghaiSemantic Web Service Composition via Logic-based Program SynthesisDTrondheim: Norwegian University of Scienc
33、e and Technology 2 UDDIUniversal description, discovery and integration of business for the webEB/OLhttp :/ www. 3 Christensen E, Curbera F, et alWeb Services Description Language(WSDL)1.1EB/OLhttp:/www. /TR/wsdl,2001 4 Simple Object Access ProtocolEB/OL/TR/soap/ 5 李景霞
34、Web 服务组合综述计算机应用研究J,2005,12:4-7 6 Peer J Bringing Together Semantic Web and Web Services C Lecture Notes in Computer Science Archive Proceedings of the 1st International Semantic Web Conference on the Semantic Web Table of Contents, 279-291 7 Ankolekar A, Burstein M, Hobbs J R, et alDAML-S: Web Servi
35、ce Description for the Semantic Web C Proc. International Semantic Web Conference(ISWC),2002,348-363 8 姚晟基于语义 Web 的服务自动组合技术的研究D北京:中科院研究生院,2004 9 Sirin E, Hendler J, Parsia BSemi-automatic composition of Web Services Using Semantic Descriptions EB/OL/papers/composition.pdf 10 Ca
36、sati F, Sayal M and Shan M.-C. Developing e-services for composing e-servicesCProceedings of 13th Internatinal Conference on Advanced Information Systems Engineering(CAiSE),,2001,171-186 11 Casati F, Ilnicki S and Jin LAdaptive and dynamic service composition in EFlowCProceedings of 12th Internation
37、al Conference on Advanced Information Systems Engineering(CAiSE),2000 12 Aggarwal R, Verma K, et alDynamic Web Service Composition in METEOR-SEB/OLhttp:/lsdis. /lib/download/ieee-scc-2004.pdf, 2004 13 Schuster H, Georgakopoulos D, Cichochi A, et alModeling and composing service-based and r
38、eference process-based multi-enterprise processesCProceedings of 12th International Conference on Advanced Information Systems Engineering(CAiSE),2000 14 McIlraith S A, Son T C Adapting Golog for Composition of Semantic Web Services C Proceedings of 8th International Conference on Knowledge Represen
39、tation and Reasoning(KR2002),2002,482-293 -8- 15 Narayanan S and McIlraith Simulation, verification and automated composition of Web Service CProceedings of 11th International World Wide Web Conference,2002 16 McDermott D Estimated-regression planning for interactions with Web services C Proceedings
40、 of the 6th International Conference on AI Planning and Scheduling,2002 17 Medjahed B, Bouguettaya A, Elmagarmid A K Composing Web Services on the Semantic Web EB/OL /homes/ake/pub/composition_VLDBJ.pdf 18 Shankar R Ponnekanti, Armando FoxSWORD: A Developer Toolkit for Web Service Composition EB/OL /CDROM/alternate/786/ 19 Sirin E,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通信技术兼职教师合同样本
- 公园绿化带绿化落实
- 美术馆玻璃隔断安装协议
- 《仓储商务管理》课件2
- 《肩关节松动技术》课件
- 比喻修辞手法(微课课件)
- 体育场馆结构补强合同
- 装修工程电子合同模板
- 环保工程副总聘用合同细则
- 秋季学期班级工作计划探讨
- 【上市公司收益质量探析与评价案例-以S珠宝首饰公司为例11000字(论文)】
- 输血科副主任医师述职报告
- 【世界睡眠日】3.21主题班会(3月21日)良好睡眠健康作息-课件
- 就医陪诊服务计划书
- 酒店办公室主任岗位职责
- 口腔缺牙修复科普知识讲座
- 人教鄂教版(2023秋)小学科学-四年级上册-期末试题(含答案)
- 内外部环境因素分析表
- 110~750KV架空输电线路施工及验收规范
- 平面设计收费价格表
- 兰州大学2009-2010学年度第一学期《分析化学》期末考试试卷(B)(含答案)
评论
0/150
提交评论