0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

應(yīng)用程序和計算服務(wù)的部署和管理為何選擇REST API而不是SOAP?

丫丫119 ? 來源:未知 ? 作者:肖冰 ? 2019-09-27 06:32 ? 次閱讀

簡介

VMware vRealize Automation(vRA,以前稱為vCloud Automation Center)是VMware公司開發(fā)的虛擬環(huán)境自動化軟件。vRealize提供了一個安全門戶,用戶可以在其中請求新的IT服務(wù)并管理特定的云和IT資源。應(yīng)用程序開發(fā)人員使用vRealize REST(表述性狀態(tài)傳遞)API,可以在虛擬、物理和云環(huán)境中部署和實現(xiàn)虛擬機/物理機自動化。

本文面向希望使用vRealize Automation REST API以編程方式進行部署和管理vRealize Automation的軟件工程師和應(yīng)用程序開發(fā)人員。

本文介紹如何逐步使用vRealize Automation REST API來部署藍(lán)圖,包括如何使用REST API服務(wù)和資源,如何創(chuàng)建HTTP承載令牌以進行身份驗證和授權(quán),以及如何構(gòu)建REST API服務(wù)調(diào)用。演示步驟如下所示:

從藍(lán)圖部署虛擬機。

在部署過程中監(jiān)視請求狀態(tài)。

最后,在過程結(jié)束時返回有關(guān)已部署虛擬機的網(wǎng)絡(luò)信息

目標(biāo)受眾

本文適用于需要創(chuàng)建客戶端應(yīng)用程序、Web界面、Web服務(wù)(連接到vAPI端點以使用VMware vSphere Automation SDK進行REST服務(wù))的應(yīng)用程序開發(fā)人員和軟件工程師,以及任何想要使用vRA管理其資源但又希望資源部署可適應(yīng)其當(dāng)前流程的人員。

為何選擇vRealize Automation,而不是vCloud Director (vCD)

VMware已宣布vCloud Director將不再是vCloud Suite 6.x產(chǎn)品許可證的一部分。對于企業(yè)客戶而言,vCloud Director即將終結(jié)。vCloud Director將繼續(xù)通過云打包中的VMware服務(wù)提供商計劃(VSPP)提供。

對于目前使用vCloud Director的用戶而言,vRealize Automation將是后續(xù)替代產(chǎn)品。vRealize Automation可以加快應(yīng)用程序和計算服務(wù)的部署和管理。

為何選擇REST API而不是SOAP

SOAP(簡單對象訪問協(xié)議)和REST都是Web服務(wù)通信協(xié)議。REST通過一個單獨、統(tǒng)一的接口來訪問命名資源。它在通過互聯(lián)網(wǎng)發(fā)布公有API時,最為常用。SOAP則與之不同,它將應(yīng)用程序邏輯的組件作為服務(wù)發(fā)布,而不是數(shù)據(jù)。

REST允許更多種類的數(shù)據(jù)格式,而SOAP只允許XML。

通常認(rèn)為REST與JSON(通??梢愿玫靥幚頂?shù)據(jù)并提供更快的解析)相結(jié)合,更易于使用。

REST以JSON格式輸出,為瀏覽器客戶端提供更好的支持。

REST提供卓越的性能,特別是緩存未變化的非動態(tài)信息時。

它是雅虎、eBay、亞馬遜甚至谷歌等主要服務(wù)商最常用的協(xié)議。

REST通常更快并且占用帶寬更少。與現(xiàn)有網(wǎng)站集成也更容易,無需重構(gòu)站點基礎(chǔ)架構(gòu)。這使開發(fā)人員能夠更快地工作,無需花時間從頭開始重構(gòu)站點。不僅如此,他們還可以輕松添加功能。

藍(lán)圖

藍(lán)圖是包含一個或多個物理機、虛擬機或云計算機方案的規(guī)范,包括網(wǎng)絡(luò)配置和相應(yīng)的生命周期信息。在典型的軟件開發(fā)過程中,用戶調(diào)用REST API來部署藍(lán)圖。

圖1. 一個典型的簡單藍(lán)圖。

vRealize Automation: REST API

Catalog service REST API旨在供服務(wù)目錄的使用者使用;例如,想要請求目錄項的最終用戶將是此API的使用者。當(dāng)最終用戶請求目錄項時,將調(diào)用目錄使用者REST API。

我們開發(fā)的技術(shù)面向希望通過編程管理vRealize Automation以便為軟件開發(fā)配置VM的開發(fā)人員。使用vRA REST API請求目錄項的過程有以下五個步驟:

第1步:獲取HTTP承載令牌進行身份驗證

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

類型: Get

類型: Post

報頭: Content-type: application/json

第2步:使用藍(lán)圖名稱獲取藍(lán)圖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步:檢查請求狀態(tài)

URL: https://

類型: Get

圖2. 請求和部署藍(lán)圖的五個步驟。

REST 客戶端程序

任何可以發(fā)送HTTPS請求的客戶端應(yīng)用程序都可以作為開發(fā)工具,來開發(fā)用vRealize Automation API開發(fā)REST的應(yīng)用。一些常用的開源軟件包括:

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

Postman application:getpostman.com

API參考

vRealize Automation API參考列出了所有的REST API服務(wù)調(diào)用。它以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?軟件為客戶提供可擴展的虛擬化平臺,適用于網(wǎng)絡(luò)安全培訓(xùn)、建模、仿真和高級分析。我們?yōu)槎嗉铱蛻籼峁┙鉀Q方案,包括美國國防部、新加坡網(wǎng)絡(luò)安全局(CSA/SITSA)和日本九州大學(xué)。

用戶單擊開始按鈕以部署實驗室或應(yīng)對挑戰(zhàn)。

Cyber Range軟件調(diào)用相應(yīng)的vRA REST API。

REST API調(diào)用相應(yīng)的vRA藍(lán)圖。

vRealize開始部署屬于特定藍(lán)圖的所有VM。

vRealize Orchestrator在VM的生命周期中運行自定義腳本


(如果有)。

REST API將狀態(tài)返回給Cyber Range軟件。

如果狀態(tài)檢查成功,則會顯示W(wǎng)indows或Linux圖標(biāo),從而啟用超鏈接以打開控制臺。

圖3. Cyber Range通過REST API與vRA交互。

結(jié)論

vRealize通過使用藍(lán)圖,可以作為能夠在更直觀且用戶友好的環(huán)境中運行基礎(chǔ)架構(gòu)的倉庫。這有助于我們及時定制或添加更多內(nèi)容以滿足用戶需求。此外,我們的解決方案集成了vRealize Orchestrator,可提供應(yīng)用于運行虛擬環(huán)境的常見自動化任務(wù),能夠被大部分代碼所利用。它面向JavaScript,可以幫助我們管理VMware解決方案中的任何自定義腳本,并針對不同的場景進行重復(fù)利用。此外,使用vRA REST API部署藍(lán)圖,獲取部署狀態(tài)或銷毀藍(lán)圖可大幅縮短軟件開發(fā)過程的時間。

作者

Moinul Islam

Moinul Islam 是 ADI 公司可信安全解決方案部門(位于美國佛羅里達州坦帕市)的軟件工程師。他在軟件工程、設(shè)計和開發(fā)方面擁有 20 年的經(jīng)驗。1997 年獲得俄亥俄州克里夫蘭州立大學(xué) MCIS 學(xué)位。在坦帕市可信安全解決方案部門,他致力于設(shè)計和開發(fā)獨特的軟件解決方案,用于提供能夠持續(xù)輕松訪問網(wǎng)絡(luò)安全的現(xiàn)實場景和動手練習(xí)培訓(xùn)場景以及基礎(chǔ)培訓(xùn)內(nèi)容。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 軟件開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    619

    瀏覽量

    27381
  • VMware
    +關(guān)注

    關(guān)注

    1

    文章

    298

    瀏覽量

    21668
收藏 人收藏

    評論

    相關(guān)推薦

    Linus:為何選擇非 GPL 許可不是GPL

    在 Linux 開始發(fā)布時,Linus Torvalds 為何選擇非 GPL 許可不是 GPL ?讓我們一起來看看 Linus 的回答。
    的頭像 發(fā)表于 01-02 08:41 ?3025次閱讀

    如何逐步使用vRealize Automation REST API部署藍(lán)圖

    本文適用于需要創(chuàng)建客戶端應(yīng)用程序、Web界面、Web服務(wù)(連接到vAPI端點以使用VMware vSphere Automation SDK進行REST服務(wù))的
    的頭像 發(fā)表于 11-20 10:47 ?5706次閱讀

    REST端口支持構(gòu)建動態(tài)REST請求來使用RESTful API網(wǎng)絡(luò)

    REST端口支持構(gòu)建動態(tài)REST請求來使用RESTful API網(wǎng)絡(luò)服務(wù)。 概覽 REST端口暴露了一個簡單的接口來為
    的頭像 發(fā)表于 01-17 09:11 ?4865次閱讀

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

    API是Application Programming Interface(應(yīng)用程序接口)的縮寫,它是拿來描述一個類庫的特征或是如何去運用它。按照目前比較主流的分法,可以分為REST API
    的頭像 發(fā)表于 02-17 18:00 ?9349次閱讀
    <b class='flag-5'>REST</b> <b class='flag-5'>API</b>是什么,如何使用<b class='flag-5'>REST</b>端口

    如何使用Spring構(gòu)建REST服務(wù)(四)

    通過一個額外的庫和幾行額外的代碼,您已將超媒體添加到您的應(yīng)用程序中。但這并不是使您的服務(wù)成為 RESTful 所需的唯一事情。REST 的一個重要方面是它既
    的頭像 發(fā)表于 07-28 16:02 ?770次閱讀

    如何使用Spring構(gòu)建REST服務(wù)(五)

    到目前為止,您已經(jīng)使用基本鏈接構(gòu)建了一個可進化的 API。為了發(fā)展您的 API 并更好地為您的客戶服務(wù),您需要接受超媒體作為應(yīng)用程序狀態(tài)引擎的概念。
    的頭像 發(fā)表于 07-28 16:03 ?865次閱讀

    使用vRealize Automation REST API置備虛擬機以進行軟件開發(fā)

      本文面向希望使用 vRealize Automation REST API 以編程方式配置和管理 vRealize Automation 的軟件工程師和應(yīng)用程序開發(fā)人員。本文還提供
    的頭像 發(fā)表于 12-02 11:34 ?762次閱讀

    使用vRealize Automation REST API置備虛擬機以進行軟件開發(fā)

    提供了一個安全的門戶,用戶可以在其中請求新的IT服務(wù)管理特定的云和IT資源。使用 vRealize REST(具象狀態(tài)傳輸)API,應(yīng)用程序
    的頭像 發(fā)表于 12-23 09:54 ?1178次閱讀
    使用vRealize Automation <b class='flag-5'>REST</b> <b class='flag-5'>API</b>置備虛擬機以進行軟件開發(fā)

    什么是API?API接口表現(xiàn)形式分類理論

    簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP),它是廣泛使用的最古老的以 Web 為中心的 API 協(xié)議。SOAP 于 1990 年代后期推出,是最早設(shè)計用于允許不同
    的頭像 發(fā)表于 05-10 15:25 ?4.3w次閱讀
    什么是<b class='flag-5'>API</b>?<b class='flag-5'>API</b>接口表現(xiàn)形式分類理論

    企業(yè)怎么選擇API網(wǎng)關(guān)

    、騰訊公司的QQ開發(fā)平臺、微信開放平臺。 Open API開放平臺必然涉及到客戶應(yīng)用的接入、API權(quán)限的管理、調(diào)用次數(shù)管理等,必然會有一個統(tǒng)一的入口進行
    的頭像 發(fā)表于 05-23 11:05 ?677次閱讀
    企業(yè)怎么<b class='flag-5'>選擇</b><b class='flag-5'>API</b>網(wǎng)關(guān)

    SANnav管理門戶 REST API參考手冊

    電子發(fā)燒友網(wǎng)站提供《SANnav管理門戶 REST API參考手冊.pdf》資料免費下載
    發(fā)表于 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大指導(dǎo)原則

    systems )架構(gòu)風(fēng)格。由Roy Fielding 提出。 REST API 也稱RESTful API, 其遵循REST架構(gòu)規(guī)范的應(yīng)用編程接口, 支持與RESTful WEB
    的頭像 發(fā)表于 10-09 14:27 ?1614次閱讀

    谷歌發(fā)布新的AI SDK,簡化Gemini模型與Android應(yīng)用程序的集成

    。開發(fā)者無需直接使用 REST API,也無需為在 Android 應(yīng)用程序中訪問 Gemini 模型實現(xiàn)服務(wù)器端服務(wù)。
    的頭像 發(fā)表于 01-03 16:29 ?959次閱讀

    使用 Splashtop REST API 簡化遠(yuǎn)程管理

    Splashtop 的 REST API 可無縫提高生產(chǎn)力和簡化集成,使用戶能夠自動執(zhí)行任務(wù)、定制工作流程,輕松與現(xiàn)有系統(tǒng)集成。
    的頭像 發(fā)表于 06-25 17:28 ?303次閱讀
    使用 Splashtop <b class='flag-5'>REST</b> <b class='flag-5'>API</b> 簡化遠(yuǎn)程<b class='flag-5'>管理</b>

    api驅(qū)動的云服務(wù)是什么意思?

    API驅(qū)動的云服務(wù)是指利用API技術(shù)來驅(qū)動和提供云服務(wù)的模式。在這種模式下,云服務(wù)提供商會公開一系列的A
    的頭像 發(fā)表于 11-14 10:06 ?212次閱讀