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

    文章

    554

    浏览量

    27176
  • VMware
    +关注

    关注

    1

    文章

    281

    浏览量

    21326
收藏 人收藏

    评论

    相关推荐

    阿里云宣布推出Serverless Kubernetes服务 30秒即可完成应用部署

    ,而是更专注在编写应用程序逻辑上。据悉,在Serverless Kubernetes模式下,开发者只需指明应用容器镜像、CPU和内存需求,选定对外服务模式,即可直接启动应用程序,敏捷便利部署
    发表于 05-03 15:38

    ESP32 Web服务器可以向外部Rest API发起HTTP请求吗?

    我想知道以下是否可行...... 1)作为网络服务器运行的 ESP32 可以向外部 Rest API 发起/发出 HTTP 请求吗?2) 我是否需要同时将其设置为服务器和客户端,或者
    发表于 03-01 06:22

    基于REST风格的Web服务的异构平台互操作和信息共享

    比传统的SOAP和RPC框架更加简洁易用。由于移动终端资源有限,故本文采用JSON作为数据交换的格式。最后,本文结合某公司的一个文档管理系统的需求在iOS终端和Android终端实现了一个采用REST风格的Web
    发表于 12-12 17:20 0次下载
    基于<b class='flag-5'>REST</b>风格的Web<b class='flag-5'>服务</b>的异构平台互操作和信息共享

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

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

    数据应用程序等需要部署混合多云

    如今,越来越多的企业将业务迁移到云平台,但并不是简单地将其新的应用程序,微服务或机器学习模型部署到公共云,并且没有那么快。
    的头像 发表于 08-07 17:04 1656次阅读

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

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

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

    API是Application Programming Interface(应用程序接口)的缩写,它是拿来描述一个类库的特征或是如何去运用它。按照目前比较主流的分法,可以分为REST API
    的头像 发表于 02-17 18:00 7852次阅读
    <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 513次阅读

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

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

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

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

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

    提供了一个安全的门户,用户可以在其中请求新的IT服务管理特定的云和IT资源。使用 vRealize REST(具象状态传输)API应用程序
    的头像 发表于 12-23 09:54 830次阅读
    使用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 7902次阅读
    什么是<b class='flag-5'>API</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 806次阅读

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

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