Programovanie

ODPOČINOK alebo SOAP v prostredí natívneho cloudu

Dátové modely API založené na cloudových službách nielenže vylepšili cloudové prostredie, ale poskytli vývojárom a správcom aj spôsob, ako pomocou týchto rozhraní API integrovať pracovné záťaže do cloudu. Pre väčšinu podnikov umožňujú API zdieľanie informácií medzi rôznymi lokálnymi a cloudovými aplikáciami. Hrajú tiež dôležitú úlohu pri bezproblémovejšej integrácii pracovných zaťažení platforiem. Pretože adopcia cloudu stále rastie, existuje väčší dopyt po integračných bodoch medzi aplikáciami v prostredí cloudu aj mimo neho. Vzostup multicloudovej stratégie spolu s potrebou vylepšenia schopností medzi cloudmi zvýšili závislosť na prostredí cloud API. Ktorý prístup je však lepší a akú podporu získate vo svojom cloudovom prostredí?

MYDLO v skratke

SOAP (skratka pre Simple Object Access Protocol), starší prístup, mal priemyselnú podporu od produktových spoločností ako IBM a Microsoft až po implementátorov služieb. Prišiel tiež s komplexnou, ale zložitou sadou štandardov. Tím spoločnosti Microsoft, ktorý navrhol SOAP, sa stal mimoriadne flexibilným - aby mohol komunikovať cez súkromné ​​siete, cez internet a e-maily. Podporilo to tiež niekoľko štandardov. Počiatočná verzia protokolu SOAP bola súčasťou špecifikácie, ktorá obsahovala aj Universal Description, Discovery a Integration (UDDI) a Web Services Description Language (WSDL).

SOAP v podstate poskytuje obálku na odosielanie správ webových služieb. Samotná architektúra je navrhnutá tak, aby pomáhala vykonávať rôzne operácie medzi softvérovými programami. Komunikácia medzi programami sa zvyčajne deje prostredníctvom požiadaviek založených na XML a odpovediach založených na HTTP. HTTP je väčšinou používaný komunikačný protokol, ale môžu sa použiť aj iné protokoly.

SOAP správa obsahuje niektoré povinné časti ako napr OBÁLKA, Záhlavie, TELOa PORUCHA. TheOBÁLKA objekt definuje začiatok a koniec požiadavky na správu XML, Záhlavie obsahuje všetky prvky hlavičky, ktoré má server spracovať, a znak TELO obsahuje zostávajúci objekt XML, ktorý predstavuje požiadavku. PORUCHA objekt sa používa akékoľvek spracovanie chýb.

ODDYCH

REST (Reprezentatívny prenos štátu) sa zvyčajne označuje skôr ako architektonický štýl než ako protokol, ktorý sa používa na vytváranie webových služieb. Architektúra REST umožňuje komunikáciu medzi dvoma softvérovými programami, pričom jeden program môže vyžadovať a manipulovať so zdrojmi od druhého. Žiadosť REST o prístup k prostriedkom v cieľovom programe používa slovesá HTTP: ZÍSKAJTE, POST, PUTa ODSTRÁNIŤ. Tieto žiadosti môžu používať dátový formát vrátane XML, HTML a JSON. Najvýhodnejší je formát JSON, ktorý je najkompatibilnejší a ľahko použiteľný. väčšina rozhraní REST API je založená na identifikátoroch URI (Uniform Resource Identifier) ​​a je špecifická pre protokol HTTP.

REST je vhodný pre vývojárov, pretože jeho jednoduchší štýl uľahčuje implementáciu a použitie ako SOAP. REST je menej podrobný a pri komunikácii medzi dvoma koncovými bodmi sa odosiela menší objem dát.

Prečo SOAP alebo REST?

Zatiaľ čo SOAP je ako používať obálku, ktorá obsahuje veľa informácií o spracovaní, REST možno považovať za pohľadnicu, ktorá má ako cieľovú adresu URI, je ľahká a dá sa uložiť do pamäte cache. REST je riadený údajmi a primárne sa používa na prístup k prostriedku (URI) pre určité údaje; SOAP je protokol, ktorý je riadený funkciami. REST poskytuje flexibilitu pri výbere dátového formátu (obyčajný text, HTML, XML alebo JSON), zatiaľ čo SOAP používa iba XML.

SOAP je vhodný pre aplikácie, kde potrebujete vyššiu úroveň zabezpečenia. SOAP prichádza s bezpečnostnými funkciami na podnikovej úrovni podporovanými WS-Security spolu s podporou SSL. Ak hľadáte riešenie pre mobilné bankovníctvo, SOAP API by pravdepodobne boli prvou úvahou o bezpečnostných požiadavkách. SOAP tiež poskytuje logiku opakovania pre zaručený úspech a spoľahlivú komunikáciu. REST používa HTTP a môže zlyhania komunikácie riešiť iba opakovaním pokusu, logika opakovania však nie je zabudovaná v REST. SOAP poskytuje zabudovanú logiku opakovania.

Aké zmeny v prostredí natívneho cloudu?

Z pohľadu vývojára sa pri výbere medzi REST alebo SOAP skutočne nič nezmení, ale návrh vašej služby v prostredí natívneho cloudu prináša do úvah platformovú perspektívu. Dostupnosť služby a čas odozvy zohrávajú rozhodujúcu úlohu pri navrhovaní podnikových služieb a natívnych cloudových aplikácií. Z bezpečnostného hľadiska sa v cloudových výpočtoch široko používa protokol WS-Security (Web Service Security), ktorý poskytuje komplexné zabezpečenie správ pomocou správ SOAP, aby chránil zabezpečenie väčšiny webových služieb súvisiacich s cloudovým výpočtom. Ale WS-Security používa prvky hlavičky SAOP na prenos informácií týkajúcich sa bezpečnosti. Správa SOAP má formát typu XML a má obvykle omnoho väčšiu veľkosť ako skutočná správa v binárnom formáte. To zvyšuje čas a spracovanie potrebné na komunikáciu a spracovanie údajov. Toto môže byť argumentom pre debatu pri voľbe REST verzus SOAP, ale existuje posun od SOAP k REST bez ohľadu na platformu, na ktorej bude vaša aplikácia bežať.

Koncom roku 2016 Microsoft Azure pridal podporu priechodu SOAP do Azure API Management, ktorá pomáha vývojárom pri vytváraní proxy servera pre ich SOAP API rovnakým spôsobom, aký vytvárajú proxy pre REST / HTTP API. Vďaka podpore priechodu SOAP môžete importovať dokumenty WSDL a vytvoriť nový proxy server API; proces sleduje všetky akcie SOAP v dokumente a efektívne ich vytvára do koncových bodov API. V budúcej verzii sa môže zobraziť funkcia požadovaná na vytvorenie klientskeho rozhrania REST pomocou koncového zariadenia SOAP.

Vo svete AWS je väčšina API AWS prístupná iba cez REST a má obmedzenú podporu pre SOAP. Zdroje EC2 sú dostupné cez REST alebo Query API, zatiaľ čo podpora SOAP API pre EC2 je zastaraná od konca roku 2015. Služby ako Amazon S3 a RDS tiež podporujú REST, zatiaľ čo SOAP je podporovaný iba cez HTTPS; Podpora protokolu SOAP pre protokol HTTP je zastaraná. Amazon SQS už nepodporuje SOAP. Aj keď sa zdá, že REST vedie API AWS, brána Amazon API Gateway sa integruje do ekosystému AWS a poskytuje podporu pri vytváraní, správe a nasadení rozhrania RESTful API na vystavenie koncových bodov HTTP / HTTPS typu back-end, funkcií AWS Lambda a / alebo iných služieb AWS. API Gateway tiež pomáha Vyvolávanie exponovaných metód API prostredníctvom koncových bodov HTTP klienta.

Stále viac podpory sa prikláňa k rozhraniam RESTful API. Vďaka svojej jednoduchosti s operáciami podobnými slovesu je vývojársky prívetivý. Je kompatibilný s väčšinou formátov a ľahko sa používa. Pre SOAP tiež nie je západ slnka, ale REST bude určite obľúbený medzi komunitou vývojárov.