0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

应用程序和计算服务的部署和管理为何选择REST API而不是SOAP?

丫丫119 来源:未知 作者:肖冰 2019-09-27 06:32 次阅读

简介

VMware vRealize Automation(vRA,以前称为vCloud Automation Center)是VMware公司开发的虚拟环境自动化软件。vRealize提供了一个安全门户,用户可以在其中请求新的IT服务并管理特定的云和IT资源。应用程序开发人员使用vRealize REST(表述性状态传递)API,可以在虚拟、物理和云环境中部署和实现虚拟机/物理机自动化。

本文面向希望使用vRealize Automation REST API以编程方式进行部署和管理vRealize Automation的软件工程师和应用程序开发人员。

本文介绍如何逐步使用vRealize Automation REST API来部署蓝图,包括如何使用REST API服务和资源,如何创建HTTP承载令牌以进行身份验证和授权,以及如何构建REST API服务调用。演示步骤如下所示:

从蓝图部署虚拟机。

在部署过程中监视请求状态。

最后,在过程结束时返回有关已部署虚拟机的网络信息

目标受众

本文适用于需要创建客户端应用程序、Web界面、Web服务(连接到vAPI端点以使用VMware vSphere Automation SDK进行REST服务)的应用程序开发人员和软件工程师,以及任何想要使用vRA管理其资源但又希望资源部署可适应其当前流程的人员。

为何选择vRealize Automation,而不是vCloud Director (vCD)

VMware已宣布vCloud Director将不再是vCloud Suite 6.x产品许可证的一部分。对于企业客户而言,vCloud Director即将终结。vCloud Director将继续通过云打包中的VMware服务提供商计划(VSPP)提供。

对于目前使用vCloud Director的用户而言,vRealize Automation将是后续替代产品。vRealize Automation可以加快应用程序和计算服务的部署和管理。

为何选择REST API而不是SOAP

SOAP(简单对象访问协议)和REST都是Web服务通信协议。REST通过一个单独、统一的接口来访问命名资源。它在通过互联网发布公有API时,最为常用。SOAP则与之不同,它将应用程序逻辑的组件作为服务发布,而不是数据。

REST允许更多种类的数据格式,而SOAP只允许XML。

通常认为REST与JSON(通常可以更好地处理数据并提供更快的解析)相结合,更易于使用。

REST以JSON格式输出,为浏览器客户端提供更好的支持。

REST提供卓越的性能,特别是缓存未变化的非动态信息时。

它是雅虎、eBay、亚马逊甚至谷歌等主要服务商最常用的协议。

REST通常更快并且占用带宽更少。与现有网站集成也更容易,无需重构站点基础架构。这使开发人员能够更快地工作,无需花时间从头开始重构站点。不仅如此,他们还可以轻松添加功能。

蓝图

蓝图是包含一个或多个物理机、虚拟机或云计算机方案的规范,包括网络配置和相应的生命周期信息。在典型的软件开发过程中,用户调用REST API来部署蓝图。

图1. 一个典型的简单蓝图。

vRealize Automation: REST API

Catalog service REST API旨在供服务目录的使用者使用;例如,想要请求目录项的最终用户将是此API的使用者。当最终用户请求目录项时,将调用目录使用者REST API。

我们开发的技术面向希望通过编程管理vRealize Automation以便为软件开发配置VM的开发人员。使用vRA REST API请求目录项的过程有以下五个步骤:

第1步:获取HTTP承载令牌进行身份验证

URL: https:///identity/api/tokens

类型: Get

类型: Post

报头: Content-type: application/json

第2步:使用蓝图名称获取蓝图id

URL: https:///catalog-service/api/consumer/entitledCatalogIt ems?$filter=name+eq+'name'

类型: Get

类报头:
Content-type: application/json,
Authorization: Bearer ,
Accept: application/json

第3步:获取请求目录项所需的JSON模板

URL: https:///catalog-service/api/consumer/entitledCatalogItems/{id}/requests/template

类型: Get

报头:
Content-type: application/json,
Authorization: Bearer ,
Accept: application/json

第4步:请求目录项

URL: https:///catalog-service/api/consumer entitledCatalogItems/{id}/requests

类型: Post

报文: json response received from request template (previous step)

第5步:检查请求状态

URL: https://

类型: Get

图2. 请求和部署蓝图的五个步骤。

REST 客户端程序

任何可以发送HTTPS请求的客户端应用程序都可以作为开发工具,来开发用vRealize Automation API开发REST的应用。一些常用的开源软件包括:

CURL(命令行工具和库):curl.haxx.se

Postman application:getpostman.com

API参考

vRealize Automation API参考列出了所有的REST API服务调用。它以Swagger文档的形式提供,可通过以下任一方式获得:

如果在本地安装vRealize: https://{server}/vco/api/docs/index.html

VMware web 资源:pubs.vmware.com/vra-62/index.jsp#com.vmware.vra.restapi.doc/index.html

Cyber Range: 一款ADI公司的实际软件

什么是 Cyber Range?

ADI公司Cyber Range™软件为客户提供可扩展的虚拟化平台,适用于网络安全培训、建模、仿真和高级分析。我们为多家客户提供解决方案,包括美国国防部、新加坡网络安全局(CSA/SITSA)和日本九州大学。

用户单击开始按钮以部署实验室或应对挑战。

Cyber Range软件调用相应的vRA REST API。

REST API调用相应的vRA蓝图。

vRealize开始部署属于特定蓝图的所有VM。

vRealize Orchestrator在VM的生命周期中运行自定义脚本


(如果有)。

REST API将状态返回给Cyber Range软件。

如果状态检查成功,则会显示Windows或Linux图标,从而启用超链接以打开控制台。

图3. Cyber Range通过REST API与vRA交互。

结论

vRealize通过使用蓝图,可以作为能够在更直观且用户友好的环境中运行基础架构的仓库。这有助于我们及时定制或添加更多内容以满足用户需求。此外,我们的解决方案集成了vRealize Orchestrator,可提供应用于运行虚拟环境的常见自动化任务,能够被大部分代码所利用。它面向JavaScript,可以帮助我们管理VMware解决方案中的任何自定义脚本,并针对不同的场景进行重复利用。此外,使用vRA REST API部署蓝图,获取部署状态或销毁蓝图可大幅缩短软件开发过程的时间。

作者

Moinul Islam

Moinul Islam 是 ADI 公司可信安全解决方案部门(位于美国佛罗里达州坦帕市)的软件工程师。他在软件工程、设计和开发方面拥有 20 年的经验。1997 年获得俄亥俄州克里夫兰州立大学 MCIS 学位。在坦帕市可信安全解决方案部门,他致力于设计和开发独特的软件解决方案,用于提供能够持续轻松访问网络安全的现实场景和动手练习培训场景以及基础培训内容。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件开发
    +关注

    关注

    0

    文章

    614

    浏览量

    27356
  • VMware
    +关注

    关注

    1

    文章

    298

    浏览量

    21633
收藏 人收藏

    评论

    相关推荐

    Linus:为何选择非 GPL 许可不是GPL

    在 Linux 开始发布时,Linus Torvalds 为何选择非 GPL 许可不是 GPL ?让我们一起来看看 Linus 的回答。
    的头像 发表于 01-02 08:41 3013次阅读

    如何逐步使用vRealize Automation REST API部署蓝图

    本文适用于需要创建客户端应用程序、Web界面、Web服务(连接到vAPI端点以使用VMware vSphere Automation SDK进行REST服务)的
    的头像 发表于 11-20 10:47 5698次阅读

    REST端口支持构建动态REST请求来使用RESTful API网络

    REST端口支持构建动态REST请求来使用RESTful API网络服务。 概览 REST端口暴露了一个简单的接口来为
    的头像 发表于 01-17 09:11 4851次阅读

    REST API是什么,如何使用REST端口

    API是Application Programming Interface(应用程序接口)的缩写,它是拿来描述一个类库的特征或是如何去运用它。按照目前比较主流的分法,可以分为REST API
    的头像 发表于 02-17 18:00 9319次阅读
    <b class='flag-5'>REST</b> <b class='flag-5'>API</b>是什么,如何使用<b class='flag-5'>REST</b>端口

    如何使用Spring构建REST服务(四)

    通过一个额外的库和几行额外的代码,您已将超媒体添加到您的应用程序中。但这并不是使您的服务成为 RESTful 所需的唯一事情。REST 的一个重要方面是它既
    的头像 发表于 07-28 16:02 756次阅读

    如何使用Spring构建REST服务(五)

    到目前为止,您已经使用基本链接构建了一个可进化的 API。为了发展您的 API 并更好地为您的客户服务,您需要接受超媒体作为应用程序状态引擎的概念。
    的头像 发表于 07-28 16:03 849次阅读

    使用vRealize Automation REST API置备虚拟机以进行软件开发

      本文面向希望使用 vRealize Automation REST API 以编程方式配置和管理 vRealize Automation 的软件工程师和应用程序开发人员。本文还提供
    的头像 发表于 12-02 11:34 753次阅读

    使用vRealize Automation REST API置备虚拟机以进行软件开发

    提供了一个安全的门户,用户可以在其中请求新的IT服务管理特定的云和IT资源。使用 vRealize REST(具象状态传输)API应用程序
    的头像 发表于 12-23 09:54 1152次阅读
    使用vRealize Automation <b class='flag-5'>REST</b> <b class='flag-5'>API</b>置备虚拟机以进行软件开发

    什么是APIAPI接口表现形式分类理论

    简单对象访问协议(Simple Object Access Protocol,SOAP),它是广泛使用的最古老的以 Web 为中心的 API 协议。SOAP 于 1990 年代后期推出,是最早设计用于允许不同
    的头像 发表于 05-10 15:25 4.3w次阅读
    什么是<b class='flag-5'>API</b>?<b class='flag-5'>API</b>接口表现形式分类理论

    企业怎么选择API网关

    、腾讯公司的QQ开发平台、微信开放平台。 Open API开放平台必然涉及到客户应用的接入、API权限的管理、调用次数管理等,必然会有一个统一的入口进行
    的头像 发表于 05-23 11:05 667次阅读
    企业怎么<b class='flag-5'>选择</b><b class='flag-5'>API</b>网关

    SANnav管理门户 REST API参考手册

    电子发烧友网站提供《SANnav管理门户 REST API参考手册.pdf》资料免费下载
    发表于 09-01 15:02 0次下载
    SANnav<b class='flag-5'>管理</b>门户 <b class='flag-5'>REST</b> <b class='flag-5'>API</b>参考手册

    REST的6大指导原则

    systems )架构风格。由Roy Fielding 提出。 REST API 也称RESTful API, 其遵循REST架构规范的应用编程接口, 支持与RESTful WEB
    的头像 发表于 10-09 14:27 1580次阅读

    谷歌发布新的AI SDK,简化Gemini模型与Android应用程序的集成

    。开发者无需直接使用 REST API,也无需为在 Android 应用程序中访问 Gemini 模型实现服务器端服务
    的头像 发表于 01-03 16:29 936次阅读

    使用 Splashtop REST API 简化远程管理

    Splashtop 的 REST API 可无缝提高生产力和简化集成,使用户能够自动执行任务、定制工作流程,轻松与现有系统集成。
    的头像 发表于 06-25 17:28 284次阅读
    使用 Splashtop <b class='flag-5'>REST</b> <b class='flag-5'>API</b> 简化远程<b class='flag-5'>管理</b>

    api驱动的云服务是什么意思?

    API驱动的云服务是指利用API技术来驱动和提供云服务的模式。在这种模式下,云服务提供商会公开一系列的A
    的头像 发表于 11-14 10:06 191次阅读