VMwarevSphereWebServicesSDK编程指南(⼀)-SDK简介vSphere Web Services SDK 简介
VMware vSphere® Web Services SDK 包含了与VMware vSphere API⼀起⼯作所需的所有组件,如 WSDL files、sample code 和相关 libraries。
该 SDK ⽅便了使⽤VMware vSphere API 进⾏客户端应⽤的开发。
通过vSphere Web Services SDK,可以开发出管理、监控、维护VMware vSphere 的客户端应⽤,就像部署在VMware vSphere ESX、ESXi和VMware vCenter服务器系统上⼀样。
这个主题包括以下内容
1. 使⽤vSphere Web Services SDK 应具备的知识
2. vSphere Web Services SDK ⽀持的编程语⾔
3. 通过该 SDK 可以 build 的应⽤类型
4. vSphere Web Services SDK 包内容
5. SDK Versions 和 VMware vSphere 产品兼容性
使⽤ vSphere Web Services SDK 应具备的知识
使⽤vSphere Web Services SDK 开发应⽤需要了解Java、C# 或其他编程语⾔相关知识。同时,需要了解以下Web Services编程概念:
Web Services 在客户端应⽤程序的上下⽂(context)中提供各种操作,即⽅法,通过 vSphere Web Services SDK 结合所选择的编程语⾔,你可以开发出调⽤这些⽅法去执⾏服务器端所有的管理和监控任务的客户端应⽤。
Web services API 在 WSDL (Web Services Description Language,Web Services 描述语⾔) ⽂件中定义,客户端web服务实⽤程序使⽤ WSDL ⽂件来创建客户端应⽤程序与服务器交互的代理代码(存根)。
客户端应⽤通过调⽤代理接⼝来调⽤这些⽅法,并将⽅法调⽤编码到⼀个SOAP消息中,并将其发送到服务器。其中SOAP(Simple Object Access Protocol,简单对象访问协议)是⼀种xml格式的编程语⾔,SOAP 消息传输对于开发者是透明的。
客户端和服务器的通信建⽴在 HTTP 或者 HTTPS 协议上。HTTPS 是⼀种安全的HTTP形式,它使⽤ SSL 来对客户机-服务器通信进⾏加密。默认情况下是⽤ HTTPS,但是可以配置 VMware vSphere Web 服务器以⽀持 HTTP ⽅式。()
vSphere Web Services SDK ⽀持的编程语⾔
vSphere API 是基于 Web services 的,所以你可以使⽤任何提供了从 Web-services WSDL ⽂件⽣成客户端存根⼯具的编程语⾔或脚本。
vSphere Web Services SDK package 包含⽤ Java 和 C#开发的客户端应⽤案例,SOAP ⼯具包适⽤于这两种编程语⾔。
请查阅 ,以了解更多打包细节,以及关于Java⽰例、针对JDK的特定版本要求、XML Web 服务库的Java API和 JAX-WS 库的⼀些说明。
客户机应⽤程序开发的语⾔和⼯具
通过该 SDK 可以 build 的应⽤类型
可以使⽤ vSphere Web Services SDK 开发VMware vSphere系统的系统管理、配置和监视应⽤程序。
sdkVMware vSphere 客户端应⽤程序和VMware vSphere Web Access 是使⽤ vSphere API 开发的两个客户端应⽤程序案例。
vSphere Client 是⼀个传统的Windows客户端应⽤程序。
Web Access 是⼀个浏览器插件,可以通过 ESX、ESXi 和 vCenter Server 系统上的Web服务器端⼝进⾏访问。
使⽤ vSphere Web Services SDK,你可以创建与虚拟基础设施管理和操作相关的⾃动化管理、配置或监控任务任务的客户端应⽤。
下⾯的⽰例可以使⽤ vSphere Web Services API 实现⾃动化的操作任务:
明确地创建、配置、开断电源或虚拟机挂起,或使⽤概要⽂件或模板,以促进虚拟机更快的启⽤
创建、配置、管理虚拟设备,如虚拟 CD-DVD 驱动器、虚拟⽹络接⼝卡、虚拟交换机和其他组件
连接、开断电源、断开ESX和ESXi主机系统
捕获虚拟机的状态作为快照,并从快照中恢复虚拟机的状态,例如在⼀个备份应⽤中
收集主机系统和虚拟机性能的统计信息
管理由服务器⽣成的事件,如针对特定阈值设置的警报所创建的事件
在主机间⾃动迁移虚拟机
通过分布式资源调度(VMware DRS)和⾼可⽤性(VMware HA)⼦系统来管理负载均衡和失效备援。VMware DRS 和VMware HA 都需要 vCenter 服务器。
这⼀列表并⾮涵盖所有⾃动化任务。另外,⼀些操作与整个服务有关,⽽不是特定的主机或虚拟机。例如,负载均衡是⼀个服务范围的操作,⽽不是⼀个主机或虚拟机的操作。
vSphere Web Services SDK Package 的内容
vSphere Web Services SDK 是⼀个包含以下项⽬的包:
1. 定义了 VMware vSphere 服务器(ESX、ESXi 和 vCenter 服务器) Web服务上可⽤的API 的WSDL⽂件。
2. 从WSDL⽣成的预编译客户端库(vim.jar、vim25.jar)可⽤于测试⽬的,vSphere Web Services API 被打包在 vim25.jar中。在
SDK\vsphere-ws\wsdl\vim25⼦⽬录中可以到。
3. ⽰例代码展⽰了与管理虚拟基础设施相关的常见⽤例。⽰例代码包括编译后及可运⾏的Java类⽂件,以及 Java 和 C# 源代码⽂件。
(对于 C# 开发者来说,Microsoft Visual Studio ⼯程⽂件(.sln)包括在内)。
注:预编译的Java⽰例(samples.jar)是⽤JDK 1.7从Java API为J2SE 7.0中的XML Web服务(jax-ws)库⽣成的存根编译的,并且只⼯作于这些特定版本的Java和jax-ws。要使⽤不同版本的Java或不同的客户端Web服务库,需要⽤脚本重新编译⽰例代码。
4. 批处理⽂件和shell脚本(build.bat 和 build.sh)为Java和cclient应⽤程序⾃动构建过程。
5. 批处理⽂件和shell脚本(run.bat 和 run.sh)便于从Windows命令提⽰符中运⾏Java⽰例。
6. vSphere API 引⽤提供了关于 VMware vSphere API 和对象模型的语⾔⽆关的描述信息,例如对象类型定义、属性和⽅法签名。
SDK 版本和 VMware vSphere 产品兼容性
VMware 发布了SDK产品以⽀持 VMware vSphere 产品家族各种版本。你可以使⽤VMware vSphere Web Services SDK 6.5 和
VMware vSphere servers 之前的各版本及其前⾝ VMware 基础架构,包括:
■ ESX/ESXi 6.0, 5.5, 5.1, and 5.0
■ ESX/ESXi 4.1 and 4.0
■ ESX/ESXi 3.5 Update 5
■ vCenter Server 6.0, 5.5, 5.1, 5.0, 4.1, 4.0
■ VirtualCenter Server 2.5 Update 5
使⽤适当的 WSDL ⽂件可⽀持所有的版本,如下:
■ SDK\vsphere-ws\wsdl\vim25 包含 和 ESXi 5、ESX/ESXi 4、 vCenter Server 5、vCenter Server 4、ESX 3.5及Virtual Center 2.5系统⼀起使⽤的 WSDL ⽂件 。在vSphere 4.1中,vSphere API WSD
L定义被分成⼏个⽂件。⽀持向后兼容是因为两个WSDL配置(vim25和vim⽬录)都使⽤⼀个名称相同的(vimservice.WSDL)顶级⽂件。
VMware vSphere API 是⼀个运⾏在 VMware vSphere 服务器上的Web服务,包括ESX、ESXi和vCenter Server。
在所有产品中暴露的API都是相同的。但是,vCenter服务器提供以下的功能通过ESX或ESXi Web服务是⽆法提供的 :
■ 收集历史性能数据
■ 优化资源,包括分布式资源管理
■ 利⽤ VMware vMotion 跨主机迁移
■ 提供分布式资源管理,包括恢复,跨其控制下的所有主机系统
如果你试着在ESX或ESXi系统上调⽤⼀个仅vCenter Server上⽀持的操作,服务器将返回“没实现的”或“不⽀持的”错误,该错误表⽰没有实现或不⽀持。
例如,ExtensionManager API仅在VirtualCenter Server 2.5 和vCenter Server 的后续版本中可⽤。如果试着向ESX系统注册⼀个扩展,会返回⼀个“不⽀持”错误。
原⽂:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。