web services tutorial
Aquest tutorial de serveis web explica l'arquitectura, els tipus i els components d'un servei web juntament amb importants terminologies i les diferències entre SOAP i REST:
En aquest Sèrie de tutorials de proves API completes , ho vam explorar tot Proves API al nostre tutorial anterior. Seguiu aquest tutorial per familiaritzar-vos amb WSDL i UDDI i com emmagatzemen i defineixen un servei web.
Aquest tutorial també explicarà com funcionen els serveis web internament quan una aplicació client fa una sol·licitud. WSS, que és un altre concepte molt important dels serveis SOAP, també s’explica aquí.
Què aprendreu:
Terminologies importants en proves de serveis web
Abans de començar a explorar els serveis web, hauríem de conèixer els termes importants que s’utilitzen a les proves de serveis web.
Comencem!!
# 1) Interoperabilitat
Els serveis web admeten 'One Code Different Applications'. Això significa un codi genèric per a totes les aplicacions de diferents plataformes.
Per tant, la interoperabilitat és el procés que facilita múltiples aplicacions per comunicar-se amb les altres aplicacions que resideixen en una plataforma diferent.
# 2) Autenticació i autorització
S’utilitzen principalment als serveis web SOAP. En termes generals, Autenticació significa validar alguna cosa, mentre que Autorització significa donar / tenir dret a accedir a alguna cosa.
Per exemple - Si tinc una pàgina de Facebook, em poden tractar com un usuari autenticat de Facebook. Mentre que, si teniu dret a veure les meves fotos a Facebook, sou un usuari autoritzat.
Combinant aquests dos, podem dir que 'Tots els usuaris autenticats que tenen accés als recursos es coneixen com a usuaris autoritzats per a aquests recursos'.
El mateix passa als serveis web, és a dir, la identificació d’usuari i la contrasenya que s’utilitza per generar el testimoni cobreix la part d’autenticació i aquest testimoni que s’utilitzarà per enviar una sol·licitud al servidor web cobreix la part d’autorització.
# 3) Arquitectura poc acoblada
Els serveis web es basen en una arquitectura molt acoblada. Això significa que les interfícies dels serveis web tenen una naturalesa dinàmica (canvis durant una línia de temps determinada). Però la lògica del client no necessàriament ha de canviar mentre interactua amb el servei.
Això facilita la integració de múltiples programes d’una manera més eficient. Si es tractava d’una arquitectura estretament acoblada, cada vegada que canvia la interfície s’ha de canviar la lògica del client per sincronitzar-la amb el servei.
# 4) Artefacte
És un terme que s’utilitza als serveis web per indicar informació o dades. No es tracta de les dades senceres, sinó d’una informació que pot incloure un URL o un URI, una clau de context, una clau de document, una càrrega útil o imatges de suport.
# 5) Punt final
Aquest és un terme molt comú que s’utilitza en totes les sol·licituds del servei web. Aquest és l'URL complet que arriba a la instància del servei web.
Per exemple - https://www.facebook.com/imsaket -> aquest és l'URL o punt final complet que té facebook.com com a URL i es passa 'imsaket' com a clau de context per identificar de manera única una adreça específica.
com instal·lar subversion en eclipsi
# 6) Idempotent
Això és a la interacció client-servidor en què no importa quantes vegades heu accedit a la instància del servei i el servidor sempre retornarà la mateixa resposta al client.
# 7) Marshalling i Demarshalling
Com sabem, l’encapsulació és un principi OOPS que es defineix com l’embolcall de codi i dades en un de sol. El mateix passa als serveis web SOAP. Quan embolicem o encapsulem dades en càrrega útil (XML) per formar un missatge SOAP i l’enviem al servidor, aquest procés d’encapsulat s’anomena Marshalling.
El desarmament és només el recíproc del Marshalling. El mètode per descapsular o desembolicar dades i codi (XML) del missatge SOAP s'anomena 'Demarshalling'.
Què és un servei web?
Com es va comentar anteriorment, els serveis web són els serveis que serveixen d'una màquina a una altra a través d'una xarxa.
Exemple de serveis web: AWS (Amazon Web Services) que permet als usuaris en línia veure els preus de diferents articles venuts a Amazon.com i Amazon.in
Components dels serveis web
A continuació es detallen els diferents components dels serveis web.
# 1) SABÓ
Els serveis web utilitzen el protocol d’objecte senzill d’objectes (SOAP) que utilitza XML com a cos de càrrega útil o de sol·licitud. Això és un protocol d’estat ja que no hi ha cap mètode independent per al tipus d’operació específic.
Totes les sol·licituds i respostes es realitzen alhora mitjançant XML i no es proporcionen explícitament mètodes independents com GET, PUT, POST o DELETE.
# 2) WSDL
Utilitza aquesta sol·licitud SOAP Llenguatge de descripció de serveis web (WSDL) que és un component molt útil del servei web.
Això defineix on resideix realment el servei web i també el tipus de servei web que es vol recollir per a una sol·licitud específica. Això fa servir un fitxer XML que descriu la funcionalitat del servei web.
# 3) UDDI
Un altre component útil és UDDI . Això significa Descripció i integració de la descripció universal. Hi ha un proveïdor de serveis que proporciona el servei web. Per tant, per a un proveïdor de serveis concret, aquest UDDI s’utilitza per descriure, descobrir i publicar aquests serveis web.
UDDI és responsable de permetre que un client esbrini (UDDI proporciona un dipòsit per a WSDL) on es troba el fitxer XML del WSDL. Així es defineix i descriu un servei web.
# 4) XML-RPC
Significa Extensible Markup Language: procediment remot. Un altre component molt important del servei web és XML - RPC, que s’encarrega d’enviar missatges a través de sistemes. Les sol·licituds i respostes tenen la forma XML i s’envien / reben a través del POST HTTP.
La millor característica de XML-RPC és que una aplicació client que resideix en una plataforma diferent es pot comunicar amb un servidor diferent. Hi ha una cosa anomenada JSON-RPC que s'ha explicat a la darrera part de l'article, ja que no forma un component d'un servei web.
L’arquitectura d’un servei web
L'arquitectura d'un servei web es pot representar al següent diagrama.
Com ja sabem, una arquitectura típica de serveis web comprèn tres entitats, és a dir, un client, un servidor web i una Internet per dur a terme l’operació. L’operació no és altra cosa que la sol·licitud i la resposta en una arquitectura client-servidor.
Un client sol ser un conjunt de totes les aplicacions o sistemes de programari que sol·licita un servei web, cosa que el converteix en un consumidor de serveis.
Un servidor web és un conjunt de totes les aplicacions o sistemes de programari que proporcionen servei web. Tots els serveis web requereixen una xarxa per funcionar i això resulta en la tercera entitat anomenada Internet.
Això és només una visió general de l’arquitectura d’un servei web.
El diagrama de treball d’un servei web es defineix pels tres components que es mostren a continuació.
- Sol·licitant del servei (Find ())
- Proveïdor de serveis (Publish ())
- Registre o dipòsit de serveis (Bind ())
Això s’explica (detalladament amb el diagrama) a l’arquitectura del servei SOAP.
llocs animats gratuïts per veure en línia
Tipus de serveis web
A continuació s’expliquen detalladament dos tipus de serveis web.
# 1) Servei SOAP
SOAP Service significa Simple Object Access Protocol. Els serveis SOAP són serveis amb estat que utilitzen el llenguatge XML per formar un sobre. Es pot descriure un sobre SOAP en dues porcions, és a dir, una és a Capçal i cos de sabó , l'altre és el protocol s’utilitza per enviar missatges SOAP.
Aquesta capçalera SOAP consisteix en autenticació i autorització que atorga accés. El cos es troba a la secció de càrrega útil de la sol·licitud que utilitza WSDL per descriure el servei web i el protocol és principalment HTTP (HyperText Transmission Protocol).
Seguretat de serveis web
Els serveis SOAP tenen una capa SSL (Secure Socket Layer) que s’encarrega d’evitar qualsevol fuita de dades durant la transmissió i, per tant, proporciona xifratge i desxifratge.
Mentrestant, els serveis SOAP són més segurs, ja que també compta amb WSS (Web Services Security) que garanteix que no es divulga durant la comunicació entre el servei i l’aplicació.
Com tots sabem, cada servei web (a diferència de l'API web) necessita una xarxa per dur a terme el seu funcionament. Per tant, es fa necessari que els serveis web proporcionin seguretat quan es connecta a una xarxa. Per tant, els serveis web tenen tres entitats importants per cobrir el factor de seguretat durant la transferència de missatges.
- Autenticació i autorització (Ja explicat anteriorment).
- Confidencialitat: Això depèn completament de l'SSL, que proporciona xifratge i desxifratge del sobre SOAP.
- Seguretat de la xarxa: Això significa extreure totes les respostes SOAP i XML - RPC que obteniu del servidor. Per exemple, Si utilitzeu alguna eina de servei web com POSTMAN o PARASOFT, trobareu que al gestor de capçaleres HTTP hi ha una opció per establir el valor del tipus de contingut. El valor es pot establir a l'aplicació / JSON perquè extregui tot REST (ja que els serveis SOAP no admeten les opcions del gestor de capçaleres HTTP). Per tant, podeu passar el tipus de contingut: Application / XML en un fitxer càrrega útil en forma d’XML. Això també extreuria SOAP i XML-RPC.
Aquests tres factors constitueixen la seguretat dels serveis web per fer front als atacs externs.
L’arquitectura del servei SOAP
Tots els serveis SOAP depenen de tres entitats que formen finalment l'arquitectura del servei SOAP.
- Proveïdor de servei: Tots els sistemes o aplicacions de programari que formen part o proporcionen servei web.
- Sol·licitant del servei: Tots els sistemes o aplicacions de programari que formen part de les sol·licituds de serveis web del proveïdor de serveis.
- Registre de serveis: Un registre o dipòsit on el proveïdor de serveis proporciona tota la informació sobre el servei web. (Ja es parla a UDDI)
Explicació
Què és un bon tallafoc gratuït per a Windows 7 de 64 bits?
Aquestes tres entitats interactuen entre si per dur a terme una implementació del servei web amb èxit. Això es fa en tres fases. La primera fase és la Publicar () fase en què un proveïdor de serveis alimenta tots els detalls sobre un servei web en un registre o repositori de serveis.
La segona fase és Find () on una sol·licitud de servei, principalment l’aplicació client, troba els detalls sobre el servei web des d’un dipòsit (també té un fitxer XML WSDL). L’última fase és Enquadernació () on l’aplicació client o el sol·licitant de servei se sincronitza amb el proveïdor de serveis per a la implementació final del servei web.
# 2) Servei RESTful
REST significa Representational State Transfer (Transferència estatal representativa), que és un Apàtrides Servei.
S’anomena apàtrida, ja que el servidor web no emmagatzema cap informació sobre la sessió del client (la durada del temps fins que l’aplicació client està connectada i en execució), cosa que significa que cada tipus de sol·licitud es tracta i es realitza fàcilment amb l’ajuda de mètodes incorporats REST com GET, POST, PERSONALITZAT (PUT), SUPRIM, CAP i així successivament.
De fet, aquests mètodes no estan presents a SOAP.
Mètode o Verbs
Cada mètode a REST té la seva importància. A continuació es mostra la informació sobre cadascun d’ells.
- ACONSEGUIR: Aquest mètode s’utilitza per recuperar la informació que s’envia al servidor mitjançant qualsevol dels mètodes com PUT o POST. Això no té cap òrgan de sol·licitud. L’execució correcta us proporcionarà 200 objectes de resposta.
- POST: Aquest mètode s'utilitza per crear un document o un registre mitjançant un cos de sol·licitud, un URL especificat, una clau de document, una clau de context, etc. Es pot recuperar el mateix mitjançant el mètode GET. L’execució correcta us donarà 201 respostes.
- POSA: Això es troba a l’opció CUSTOM que està disponible a POSTMAN o PARASOFT. Aquest mètode s’utilitza per actualitzar qualsevol document o registre que ja estigui present. L’execució correcta us donarà una resposta de 201 o 200.
- ELIMINA: Aquest mètode s’utilitza per eliminar qualsevol registre. L’execució correcta us donarà una resposta 204 (sense contingut).
Nota: Els codis de resposta HTTP depenen de com es codifiquen els desenvolupadors i es poden manipular de vegades. Hem detallat els codis de resposta comuns que obtenim de cada tipus de mètode.
L’arquitectura del servei REST
L’arquitectura del servei REST depèn de dues entitats, és a dir, el consumidor de serveis o el sol·licitant i el proveïdor de serveis. El consumidor de serveis és qui utilitza el servei web i el proveïdor de serveis és la col·lecció de programari o sistema que proporciona el servei web.
L'aplicació client que normalment és un consumidor de serveis utilitza mètodes incorporats de REST, un URL o URI, una versió HTTP i una càrrega útil (si el mètode admet).
SOAP vs REST
Tot i que aquests dos tipus de serveis web s’utilitzen per dur a terme la sol·licitud i la resposta, són totalment diferents en la seva forma d’operar.
Les seves diferències s’enumeren a la vostra referència.
- El sobre SOAP es pot utilitzar al REST però no al revés. Per exemple. Un testimoni d'usuari que es crea a SOAP es pot passar a la sol·licitud REST al gestor de capçaleres HTTP -> Autorització.
- SOAP sol ser més segur que els serveis REST, ja que els serveis SOAP proporcionen WSS a part de SSL. Aquest SSL està present tant a SOAP com a REST.
- SOAP és més lent que REST, ja que el processament de sol·licituds requereix més temps a SOAP a causa del format de dades XML. REST utilitza JSON, que és molt lleuger i, per tant, el fa més ràpid.
- SOAP no té cap mètode incorporat, però REST té GET, PUT, POST, etc.
- SOAP és estatal mentre que REST és apàtrida.
- Els òrgans de sol·licitud i resposta a SOAP només admeten el format de dades XML. A REST, els òrgans de sol·licitud i resposta admeten molts formats de dades com JSON, XML, text pla, etc.
Conclusió
Aquest tutorial de serveis web explicava l'arquitectura, els components i els tipus de serveis web.
També vam conèixer diferències entre els serveis SOAP i REST, juntament amb altres conceptes i terminologies importants relacionats amb els serveis web.
Esperem que aquest tutorial us hagi ajudat a entendre els serveis web.
Lectura recomanada
- Tutorial de Python DateTime amb exemples
- Tutorial Java SWING: Gestió de contenidors, components i esdeveniments
- Tutorial sobre injecció d'HTML: tipus i prevenció amb exemples
- Tutorial de script Unix Shell amb exemples
- Tutorial Selenium Find Element By Text amb exemples
- Tutorial de funcions principals de Python amb exemples pràctics
- Prova de parelles o Tutorial de proves de tots els parells amb eines i exemples
- Tutorial de proves de configuració amb exemples