版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Web 服务服务 1/66 高级软件工程高级软件工程 Web服务 Web 服务服务 2/66 高级软件工程高级软件工程 Web服务 内内 容容 一、一、Web 服务简介服务简介 二、二、SOAP 三、三、WSDL 四、支持四、支持Web 服务的服务的J2EE应用应用 Web 服务服务 3/66 高级软件工程高级软件工程 Web服务 2000年年 Microsoft 等提出等提出“Web Services” Web服务(服务(Web Services) 是基于是基于 XML 和和 HTTP 的一种服务的一种服务 服务访问协议:服务访问协议: SOAP 服务的描述:服务的描述: WSDL 服务查找
2、与发现:服务查找与发现: UDDI Web 服务服务 4/66 高级软件工程高级软件工程 Web服务 lSOAP (Simple Object Access Protocol) XML-based (text) 协议 支持远程通信 平台中立 lWSDL (Web Services Definition Language) 接口描述 lUDDI (Universal Description, Discovery, and Integration) 用于Web Services注册 用于发现Web Services Web 服务服务 5/66 高级软件工程高级软件工程 Web服务 客户客户/ /服
3、务请求者服务请求者服务提供者服务提供者 注册 请求/应答 查找 基本结构:基本结构: 服务信息注册库服务信息注册库 Web 服务服务 6/66 高级软件工程高级软件工程 Web服务 l 提供了软件模块之间一种松耦合的交互方式提供了软件模块之间一种松耦合的交互方式 l根据需求通过网络对松散耦合的粗粒度应用组件根据需求通过网络对松散耦合的粗粒度应用组件 进行分布式部署、组合和使用进行分布式部署、组合和使用 l服务层是服务层是SOA的基础,可以直接被应用调用,从的基础,可以直接被应用调用,从 而而 有效控制系统中与软件代理的人为依赖性有效控制系统中与软件代理的人为依赖性 lSOA的几个关键特性:一种
4、粗粒度、松耦合服务的几个关键特性:一种粗粒度、松耦合服务 架构,服务之间通过简单、精确定义适配器进行架构,服务之间通过简单、精确定义适配器进行 通讯,不涉及通讯,不涉及 底层编程适配器和通讯模型底层编程适配器和通讯模型 Web 服务服务 7/66 高级软件工程高级软件工程 Web服务 lRPC 耦合密切些耦合密切些 l相对脆弱相对脆弱 仅仅是调用仅仅是调用 lDocument 耦合松散些耦合松散些 l对应用修改适应性好对应用修改适应性好 l没有序列化没有序列化/反序列化问题反序列化问题 需要额外的设计工作需要额外的设计工作 l需要解释客户消息内容,然后进行相应操作需要解释客户消息内容,然后进行
5、相应操作 Web 服务服务 8/66 高级软件工程高级软件工程 Web服务 l业务上 需要与外部客户通信 l技术上 应用需要与 其它语言编写的 客户程序通信 客户在防火墙之外 l管理上 管理托管 web service 应用 Web 服务服务 9/66 高级软件工程高级软件工程 Web服务 l客户程序与应用使用相同语言编写客户程序与应用使用相同语言编写 l通信开销大通信开销大 序列化或者远程访问开销大序列化或者远程访问开销大 Web Services/XML 处理开销大处理开销大 “Dont Use XML to Communicate Unless You Really, Really Ha
6、ve To” Floyd Marinescu, The Middleware Company l永远记住:永远记住:Web Services/XML 是用于集成的是用于集成的 Web 服务服务 10/66 高级软件工程高级软件工程 Web服务 lApache Axis (Apache eXtensible Interaction System) 是Apache WebService项目中的子项目 最初起源于IBM的SOAP4J“ 最早的一批用于构造基于SOAP应用的Framework lJBoss, WAS等重要的应用服务器都集成它 典型的典型的 Web 服务支持平台服务支持平台 Web 服务
7、服务 11/66 高级软件工程高级软件工程 Web服务 服务器端AXIS 句柄链处理架构 用户配置一系列的用户配置一系列的 handler,构成,构成 handler chain AXIS 依次调用依次调用 handler 处理消息(含处理消息(含 context) 类似于类似于 interceptor(截取器)(截取器) Web 服务服务 12/66 高级软件工程高级软件工程 Web服务 Web 服务服务 13/66 高级软件工程高级软件工程 Web服务 Web 服务服务 14/66 高级软件工程高级软件工程 Web服务 二、二、SOAP 1、SOAP概述概述 2、数据表示数据表示 3、消息
8、格式消息格式 4、协议映射协议映射 Web 服务服务 15/66 高级软件工程高级软件工程 Web服务 1、SOAP概述概述 许多程序通过使用远程过程调用(许多程序通过使用远程过程调用(RPC) 在诸如在诸如 DCOM 与与 CORBA 等对象之间进行通信等对象之间进行通信 但但RPC 会产生兼容性以及安全问题;会产生兼容性以及安全问题; 防火墙和代理服务器通常会阻止此类流量防火墙和代理服务器通常会阻止此类流量 通过通过 HTTP 在应用程序间通信是更好的方法在应用程序间通信是更好的方法 因为因为 HTTP 得到了所有的因特网浏览器及服务器的支得到了所有的因特网浏览器及服务器的支 持持 SOA
9、P 就是被创造出来完成这个任务的就是被创造出来完成这个任务的 Web 服务服务 16/66 高级软件工程高级软件工程 Web服务 l2000年年5月,月,UserLand、Ariba、Commerce One、 Compaq、Developmentor、HP、IBM、IONA、 Lotus、Microsoft 以及以及 SAP 向向 W3C 提交了提交了 SOAP 因特网协议因特网协议 l期望此协议能够通过使用因特网标准(期望此协议能够通过使用因特网标准(HTTP 以及以及 XML)把图形用户界面桌面应用程序连接到因特网)把图形用户界面桌面应用程序连接到因特网 服务器服务器 l首个关于首个关于
10、 SOAP 的公共工作草案由的公共工作草案由 W3C 在在 2001 年年 12 月发布月发布 lSOAP 1.2 于于 2003 年年 6 月月 被发布为被发布为 W3C 推荐标准推荐标准 Web 服务服务 17/66 高级软件工程高级软件工程 Web服务 简单对象访问协议(简单对象访问协议(SOAP) 是网络环境中交换信息的简单协议是网络环境中交换信息的简单协议 为网络环境下软件之间结构化、类型化信息的交换为网络环境下软件之间结构化、类型化信息的交换 提供了一种基于提供了一种基于XML的机制的机制 它可以广泛地用于基于消息的系统和基于它可以广泛地用于基于消息的系统和基于RPC的系统的系统
11、SOAP被设计为可以与各种其它协议结合使用被设计为可以与各种其它协议结合使用 但目前但目前SOAP主要和主要和HTTP及及HTTP扩展框架相结合扩展框架相结合 Web 服务服务 18/66 高级软件工程高级软件工程 Web服务 简单地讲,简单地讲,SOAP= HTTP+RPC+ XML 即即: SOAP 以以HTTP作为底层通讯协议作为底层通讯协议 以以RPC作为一致性的调用途径作为一致性的调用途径 以以XML作为数据传送的格式作为数据传送的格式 SOAP的设计原则是的设计原则是: 简单、易于扩展简单、易于扩展 SOAP的设计忽略了如下几方面的功能:的设计忽略了如下几方面的功能: (1)分布式
12、垃圾回收)分布式垃圾回收 (2)消息的批处理)消息的批处理 (3)对象引用)对象引用 (4)对象激活)对象激活 Web 服务服务 19/66 高级软件工程高级软件工程 Web服务 SOAP的数据表示完全不同于以往互操作协议的表示方法的数据表示完全不同于以往互操作协议的表示方法 以往的互操作协议都将调用语句编排为以往的互操作协议都将调用语句编排为 二进制的字节流的形式二进制的字节流的形式 SOAP采用采用XML作为自己的数据表示方法作为自己的数据表示方法 XML是与是与HTML类似的基于文本的标记语言类似的基于文本的标记语言 SOAP将调用语句编排为文本式的字符流的形式将调用语句编排为文本式的字
13、符流的形式 2、数据表示数据表示 Web 服务服务 20/66 高级软件工程高级软件工程 Web服务 SOAP消息是一个消息是一个XML文档文档 包括:包括: 一个必需的一个必需的SOAP封装封装 一个可选的一个可选的SOAP头头 一个必需的一个必需的SOAP体体 3 3、消息格式、消息格式 Web 服务服务 21/66 高级软件工程高级软件工程 Web服务 SOAP封装定义了描述信息和如何处理信息的框架封装定义了描述信息和如何处理信息的框架 用于指定用用于指定用XMLSchema来描述来描述XML数据的编码规则数据的编码规则 封装可以包含名域声明和附加属性封装可以包含名域声明和附加属性 如果
14、包含附加属性,这些属性必须限定名字域如果包含附加属性,这些属性必须限定名字域 类似的,类似的,“Envelope”可以包含附加子元素可以包含附加子元素 这些也必须限定名字域且跟在这些也必须限定名字域且跟在SOAP体元素之后体元素之后 (1)SOAP封装封装 Web 服务服务 22/66 高级软件工程高级软件工程 Web服务 SOAP消息头是消息头是SOAP消息的可选部分消息的可选部分 用来扩展其它诸如安全、事务等服务的重要机制用来扩展其它诸如安全、事务等服务的重要机制 如果出现的话,必须是如果出现的话,必须是SOAP 封装元素的第一个直接子元素封装元素的第一个直接子元素 SOAP头可以包含多个
15、头可以包含多个SOAP块块 每个都是每个都是SOAP头元素的直接子元素头元素的直接子元素 所有所有SOAP头的直接子元素都必须限定名字域头的直接子元素都必须限定名字域 (2)SOAP消息头消息头 Web 服务服务 23/66 高级软件工程高级软件工程 Web服务 SOAP体在体在SOAP消息中必须出现消息中必须出现 且必须是且必须是SOAP封装元素的直接子元素封装元素的直接子元素 SOAP体可以包括多个条目体可以包括多个条目 每个条目必须是每个条目必须是SOAP体元素的直接子元素体元素的直接子元素 SOAP体元素的直接子元素可以限定名字域体元素的直接子元素可以限定名字域 (3)SOAP体体 W
16、eb 服务服务 24/66 高级软件工程高级软件工程 Web服务 SOAP自然地遵循自然地遵循HTTP的请求的请求/应答消息模型应答消息模型 使得使得SOAP的请求和应答参数可以包含在的请求和应答参数可以包含在HTTP请求和应答中请求和应答中 SOAP HTTP遵循遵循HTTP 中中 表示通信状态信息的表示通信状态信息的HTTP状态码的语义状态码的语义 例如,例如,2xx状态码表示状态码表示 这个包含了这个包含了SOAP组件的客户请求组件的客户请求 已经被成功的收到、理解和接受已经被成功的收到、理解和接受 下页的代码是一个使用下页的代码是一个使用POST的的SOAP HTTP例子例子 该消息通
17、过该消息通过HTTP发出一条请求发出一条请求 “获取股票代码为获取股票代码为ABC的最新交易价格的最新交易价格” Web 服务服务 25/66 高级软件工程高级软件工程 Web服务 POST /StockQuote HTTP/1.1POST /StockQuote HTTP/1.1 Host: Host: Content-Type: text/xml; charset=utf-8Content-Type: text/xml; charset=utf-8 Content-Length: nnnnContent-Length: nnnn SOAPAction: Some-URISOAPAction
18、: Some-URI SOAP-ENV:Envelope SOAP-ENV:encodingStyle=/soap/encoding/ 5 5 ABC ABC Web 服务服务 26/66 高级软件工程高级软件工程 Web服务 1、互操作开销不同、互操作开销不同 IIOP、JRMP使用二进制的字节流形式编排消息使用二进制的字节流形式编排消息 (CDR、XDR) SOAP采用字符型的采用字符型的XML编排消息编排消息 SOAP消息要比消息要比IIOP、JRMP消息长得多消息长得多 SOAP的编排开销大、占用内存空间大的编排开销大、占用内存空间大
19、2、表达能力不同、表达能力不同 SOAP易于学习、易于开发、易于调试易于学习、易于开发、易于调试 SOAP不支持消息的批处理、对象引用、对象激活等特性不支持消息的批处理、对象引用、对象激活等特性 降低了降低了SOAP的表达能力的表达能力 并使得基于并使得基于SOAP的交互受到限制的交互受到限制 而而IIOP、JRMP等则不存在这种限制等则不存在这种限制 与其它协议的比较与其它协议的比较 Web 服务服务 27/66 高级软件工程高级软件工程 Web服务 3、适应能力不同、适应能力不同 IIOP、JRMP严重制约于防火墙严重制约于防火墙 防火墙一般由两个路由器与一个应用程序网关构成防火墙一般由两
20、个路由器与一个应用程序网关构成 路由器负责路由器负责IP层的分组信息层的分组信息 列出可接受、禁止的源端和目标端等信息列出可接受、禁止的源端和目标端等信息 应用程序网关在应用程序级进行控制应用程序网关在应用程序级进行控制 根据头信息字段、消息长度、消息内容等根据头信息字段、消息长度、消息内容等 决定传送还是丢弃消息决定传送还是丢弃消息 这是这是IIOP、JRMP的应用受到限制的核心因素之一的应用受到限制的核心因素之一 SOAP则基本不受其限制则基本不受其限制 4、适用环境不同、适用环境不同 JRMP适用于使用适用于使用JAVA的应用系统的应用系统 IIOP、SOAP支持各种语言,因此适用面更广
21、支持各种语言,因此适用面更广 IIOP适合于同一个防火墙内部之间的交互适合于同一个防火墙内部之间的交互 而而SOAP则适合于跨越防火墙的交互则适合于跨越防火墙的交互 Web 服务服务 28/66 高级软件工程高级软件工程 Web服务 三、三、WSDL 1、概述、概述 2、文档结构、文档结构 3、例子、例子 4、向、向SOAP的映射的映射 Web 服务服务 29/66 高级软件工程高级软件工程 Web服务 lWSDL(Web Services Description Language)是一个建)是一个建 议性标准议性标准 l在在Microsoft的的SDL(Service Description
22、 Language和和 SCL(SOAP Contract Language)和)和IBM的的NASSL (Network Accessible Service Specification Language) 这两项技术的结合,形成了这两项技术的结合,形成了WSDL的基础的基础 l2000年年9月月25日日IBM、Microsoft和和Ariba提出提出WSDL1.0 l2001年年3月月15日,他们提交的日,他们提交的WSDL1.1成为成为W3C的的Note l2002年年7月月9日提出日提出 WSDL 1.2 l2003年年11月月10日提出日提出 WSDL 2.0 Web 服务服务 30
23、/66 高级软件工程高级软件工程 Web服务 类型类型 消息消息 端口类型端口类型 绑定绑定 服务服务 操作操作 操作操作 端口端口 抽 抽 象 象 定 定 义 义 具具 体体 说说 明 明 WSDL文档文档 代表依赖关系代表依赖关系 代表包含关系代表包含关系 2、文档结构、文档结构 Web 服务服务 31/66 高级软件工程高级软件工程 Web服务 类型类型:独立于计算机和语言的类型定义 使用某一类型系统(例如XSD)进行数据类型定义的容器 用于描述被交换的消息 消息消息:对通信数据的一个抽象、类型化定义 一个消息包含多个逻辑部分 每一个都与某一个类型系统中的定义相关联 包含函数参数(输入与
24、输出分开)或文档说明 端口类型端口类型:由一个或多个端点支持操作的抽象集合 每个操作对应于一个输入消息与一个输出消息 它引用消息节中的消息定义来说明函数基调 操作名称、输入参数和输出参数 等 (1 1)抽象定义)抽象定义 Web 服务服务 32/66 高级软件工程高级软件工程 Web服务 绑定绑定:为一个由特定端口类型定义的操作与消息 指定具体的协议及数据格式规范 服务服务:指定每个绑定的端口地址 (2 2)具体说明)具体说明 Web 服务服务 33/66 高级软件工程高级软件工程 Web服务 definitions name=FooSampledefinitions name=FooSamp
25、le schema targetNamespace=/xsd elementFormDefault=qualified part name=result type=xsd:int/ 3、例子、例子 Web 服务服务 34/66 高级软件工程高级软件工程 Web服务 soap:body use=encoded encodingStyle=/soap/encoding/ / soap:body use=encoded encodingStyle=/soap/enco
26、ding/ / Web 服务服务 35/66 高级软件工程高级软件工程 Web服务 interface FooSample long foo(long arg); 用OMG-IDL表示为: Web 服务服务 36/66 高级软件工程高级软件工程 Web服务 对应的对应的SOAP请求消息为:请求消息为: SOAP-ENV:Envelope xmlns:SOAP-ENV=/soap/envelope/ 51319535131953 4、向、向SOAP的映射的映射 Web 服务服务 37/66 高级软件工程高级软件工程 Web服务 SOAP-ENV:
27、Envelope xmlns:SOAP-ENV=/soap/envelope/ 51319535131953 Web 服务服务 38/66 高级软件工程高级软件工程 Web服务 与其它描述方法的比较与其它描述方法的比较 有的以描述结构化程序的功能为主有的以描述结构化程序的功能为主 例如例如RPC-IDLRPC-IDL 微软的微软的-IDL-IDL 有的以描述对象的功能为主有的以描述对象的功能为主 例如例如CORBACORBA的的IDLIDL 有的以描述服务为主有的以描述服务为主 例如例如web serviceweb service的的WSDLW
28、SDL 1 1、描述对象不同、描述对象不同 Web 服务服务 39/66 高级软件工程高级软件工程 Web服务 有的以具体计算机语言的方式表达有的以具体计算机语言的方式表达 例如例如SUNSUN的的Java InterfaceJava Interface 有的以独立于具体的计算机语言有的以独立于具体的计算机语言 但十分类似于计算机语言的方式表达但十分类似于计算机语言的方式表达 例如:例如:RPC-IDLRPC-IDL 微软的微软的-IDL-IDL CORBACORBA的的IDLIDL 有的以有的以XMLXML为方式表达为方式表达 例如:例如:web serviceweb service的的WS
29、DLWSDL 2 2、描述方式不同、描述方式不同 Web 服务服务 40/66 高级软件工程高级软件工程 Web服务 有的仅描述接口的语法信息有的仅描述接口的语法信息 例如:例如:RPC-IDL 微软的微软的-IDL CORBA的的IDL 有的还包括与底层协议的绑定信息有的还包括与底层协议的绑定信息 例如:例如:WSDL等等 在在CORBA中这部分信息包含在中这部分信息包含在IOR中中 3、描述内容不同、描述内容不同 Web 服务服务 41/66 高级软件工程高级软件工程 Web服务 l如何为 web 系统增加web services接口 l下面模块可以暴露为 Web Services: EJ
30、B POJO l后面的例子针对 EJB Web 服务服务 42/66 高级软件工程高级软件工程 Web服务 JAX-RPC: Java API for XML-based RPC Java世界的 web service 编程模型规范 如何以类似 RPC 的方式调用 web service JAXRPC的客户端编程模式有以下的三种: lStatic stub(静态的客户端存根调用) lDynamic proxy (部分动态的代理调用) lDynamic invocation interface (DII)(动态调用接口) Web 服务服务 43/66 高级软件工程高级软件工程 Web服务 三种三
31、种JAXRPC的客户端编程模式的客户端编程模式 Web 服务服务 44/66 高级软件工程高级软件工程 Web服务 1) 首先通过映射转换将服务描述的WSDL 文档生成客户端的Java stub 2) 然后实例化服务的locator实例 3) 通过loacator获得服务在客户端的代理 4) 用客户端代理 去调用服务 Web 服务服务 45/66 高级软件工程高级软件工程 Web服务 package itso.test; import java.io.*; import java.util.*; import itso.test.*; public class WeatherForecastC
32、lient public static void main(String args) try WeatherForecastServiceLocator wsl = new WeatherForecastServiceLocator(); WeatherForecastService ws = (WeatherForecastService) wsl.getWeather(); String temperature = ws.getTemperature(); System.out.println(temperature); System.out.println(WeatherForecast
33、Client completed); catch (Exception e) e.printStackTrace(); Web 服务服务 46/66 高级软件工程高级软件工程 Web服务 import space.QName; import java.io.*; import java.util.*; public class WeatherForecastDynamicProxyClient public static void main(String args) try WeatherForecastServiceLocator wsl = new Weathe
34、rForecastServiceLocator(); QName qn = new QName(, WeatherForecast); WeatherForecast ws = (WeatherForecast) wsl.getPort(qn,WeatherForecast.class); String temperature = ws.getTemperature(); System.out.println(temperature); System.out.println(DynamicProxyJavaClient completed); catch (Exception e) e.pri
35、ntStackTrace(); Web 服务服务 47/66 高级软件工程高级软件工程 Web服务 l例子构成: JSPs Controller Servlet Stateless Session Bean InventoryFacadeBean Hibernate DAOs l暴露对象: InventoryFacadeBean.findAllAvailableCars() Web 服务服务 48/66 高级软件工程高级软件工程 Web服务 l将业务方法暴露为Web Services l类似于服务器端的 stub l类似于 EJB Remote Interface package com.jb
36、ossatwork.ws; /* * Service endpoint interface for InventoryFacade. */ public interface InventoryEndpoint extends java.rmi.Remote public com.jbossatwork.ws.CarDTOArray findAvailableCars() throws java.rmi.RemoteException; / InventoryEndpoint.java Web 服务服务 49/66 高级软件工程高级软件工程 Web服务 InventoryFacadeSB Inv
37、entoryFacade com.jbossatwork.ws.InventoryEndpoint Web 服务服务 50/66 高级软件工程高级软件工程 Web服务 l定义并注册 InventoryService Web Service l将Service Endpoint Interface class 绑定到 InventoryFacadeBean EJB l告诉 J2EE app server 到哪里找WSDL 与JAX- RPC 映射文件(Mapping files, in EJB JAR file) Web 服务服务 51/66 高级软件工程高级软件工程 Web服务 Invento
38、ryService META-INF/wsdl/InventoryService.wsdl META-INF/inventory-mapping.xml Inventory InventoryEndpointPort com.jbossatwork.ws.InventoryEndpoint InventoryFacade Web 服务服务 52/66 高级软件工程高级软件工程 Web服务 l帮助 JAX-RPC 编译器将Java 对象映射到 WSDL 对象 l复杂的Java 对象导致复杂的JAX-RPC 与 WSDL 文件 Web 服务服务 53/66 高级软件工程高级软件工程 Web服务 c
39、om.jbossatwork.ws com.jbossatwork.ws com.jbossatwork.dto.CarDTOArray typeNS:CarDTOArray complexType cars cars Web 服务服务 54/66 高级软件工程高级软件工程 Web服务 com.jbossatwork.dto.CarDTO typeNS:CarDTO complexType id id make make model model modelYear modelYear Web 服务服务 55/66 高级软件工程高级软件工程 Web服务 status status com.jbo
40、ssatwork.ws.InventoryService serviceNS:InventoryService InventoryEndpointPort InventoryEndpointPort Web 服务服务 56/66 高级软件工程高级软件工程 Web服务 com.jbossatwork.ws.InventoryEndpoint portTypeNS:InventoryEndpoint bindingNS:InventoryEndpointBinding findAvailableCars findAvailableCars com.jbossatwork.dto.CarDTOArr
41、ay wsdlMsgNS:InventoryEndpoint_findAvailableCarsResponse result Web 服务服务 57/66 高级软件工程高级软件工程 Web服务 Web 服务服务 58/66 高级软件工程高级软件工程 Web服务 Web 服务服务 59/66 高级软件工程高级软件工程 Web服务 Web 服务服务 60/66 高级软件工程高级软件工程 Web服务 InventoryFacade Inventory jbossatwork-ws/InventoryService Web 服务服务 61/66 高级软件工程高级软件工程 Web服务 /* * ejb
42、.bean * name=InventoryFacade * * view-type=all * * * wsee.port-component * name=Inventory * wsdl-port=InventoryEndpointPort * service-endpoint-interface=com.jbossatwork.ws.InventoryEndpoint * service-endpoint-bean=com.jbossatwork.ejb.InventoryFacadeBean * * erface * service-endpoint-class=com
43、.jbossatwork.ws.InventoryEndpoint * */ public class InventoryFacadeBean implements SessionBean Web 服务服务 62/66 高级软件工程高级软件工程 Web服务 /* * erface-method * view-type=all * * */ public CarDTOArray findAvailableCars() throws EJBException CarDTOArray carDTOArray = new CarDTOArray(); CarDTO cars = (CarDTO) listAvailableCars().toArray(new CarDTO0); carDTOA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年汽车充电桩安装服务合同协议
- 货物运输保险合同2026年变更程序
- 家政服务安全培训课件
- 物业公司资产管理部年终总结
- 培训讲师课件评估
- 培训教学与课件要求
- 培训中级育婴员课件
- 土壤培训课件内容
- 2024年初级会计专业技术资格《经济法基础》考试典型题汇编(含答案)
- 医疗质量安全全员培训课件
- 职业技术学院《建筑力学与结构》课程标准
- 翻译技术实践智慧树知到期末考试答案章节答案2024年山东师范大学
- 小学数学低年级学生学情分析
- JJG 621-2012 液压千斤顶行业标准
- 供电一把手讲安全课
- 本科实习男护生职业认同感调查及影响因素分析
- 未分化型精神分裂症的护理查房
- GB 31604.1-2023食品安全国家标准食品接触材料及制品迁移试验通则
- 工控组态技术及应用-MCGS模块三MCGS模拟量组态基本知识课件
- 电力线路维护检修规程
- YC/T 405.2-2011烟草及烟草制品多种农药残留量的测定第2部分:有机氯和拟除虫菊酯农药残留量的测定气相色谱法
评论
0/150
提交评论