Servei web

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca

En informàtica un servei web ( servei web), tal com el defineix el World Wide Web Consortium (W3C), és un programari del sistema dissenyat per donar suport a la interoperabilitat entre diferents equips de la mateixa xarxa o en un context distribuït .

Història

El consorci OASIS ( Organització per a l’avanç dels estàndards d’informació estructurada ) i el W3C són els principals responsables de l’arquitectura i l’estandardització dels serveis web; per millorar la interoperabilitat entre les diverses implementacions de serveis web, l'organització WS-I també està desenvolupant una sèrie de "perfils" per definir millor els estàndards implicats.

Descripció

Aquesta característica s’obté associant l’aplicació a una interfície de programari (descrita en un format elaborable automàticament com, per exemple, el llenguatge de descripció dels serveis web ) que exposa els serveis associats i l’ús de quins altres sistemes poden interactuar amb l’aplicació. activant les operacions descrites a la interfície ( serveis o sol·licituds de procediment remot ) mitjançant "missatges" especials de sol·licitud: aquests missatges de sol·licitud s'inclouen en un "sobre" (el més famós és SOAP ), formatat segons els estàndards XML , encapsulat i transportat a través dels protocols de la web (normalment HTTP ), d’aquí el nom de servei web . De fet, per tant, el servei web consisteix en una trucada a un servei molt similar a una funció , subrutina o mètode escrit d’una manera inusual respecte a l’estàndard i amb els mètodes de trucada esmentats, útils en termes d’interoperabilitat en un complex típic arquitectura de tipus modular .

Gràcies a l’ús d’estàndards basats en XML, mitjançant una arquitectura basada en serveis web (anomenada, en terminologia anglesa , Architecture orientada al servei - SOA ), es poden utilitzar aplicacions de programari escrites en diferents llenguatges de programació i implementades en diferents plataformes de maquinari , mitjançant les interfícies que aquestes "exposen" públicament i mitjançant l'ús de les funcions que són capaços de realitzar (els "serveis" que ofereixen) per intercanviar informació i dur a terme operacions complexes (com, per exemple, la realització de processos empresarials que involucren diverses àrees de la mateixa empresa) tant a xarxes corporatives com a Internet : la possibilitat d’ interoperabilitat entre diferents llenguatges de programació (per exemple, entre Java i Python ) i diferents sistemes operatius (com Windows i Linux ) és fet possible mitjançant l'ús d' estàndards "oberts" .

Característiques

Alguns dels avantatges que es poden obtenir amb l’ús de serveis web són els següents:

  • permetre la interoperabilitat entre diferents aplicacions de programari en diferents plataformes de maquinari;
  • utilitzen estàndards i protocols "oberts"; els protocols i el format de dades són, si és possible, en format text, cosa que els facilita la comprensió i l’ús dels desenvolupadors;
  • mitjançant l'ús d' HTTP per al transport de missatges, els serveis web normalment no requereixen canvis en les regles de seguretat que s'utilitzen com a filtre als tallafocs ;
  • es poden utilitzar fàcilment, en combinació entre si (independentment de qui els proporcioni i on estiguin disponibles) per formar serveis "integrats" i complexos;
  • permeten la reutilització d’infraestructures i aplicacions ja desenvolupades i són (relativament) independents de qualsevol modificació de les mateixes;
  • amaguen a l'usuari la complexitat arquitectònica del marc, oferint el resultat de l'execució del servei en una possible interfície (frontal) (per exemple, els valors de determinats camps d'una taula d'una aplicació).

Per contra, hi ha els aspectes següents a tenir en compte:

  • actualment no hi ha estàndards consolidats per a aplicacions crítiques, com ara transaccions distribuïdes ;
  • el rendiment relacionat amb l’ús de serveis web pot ser inferior al que es troba mitjançant enfocaments informàtics distribuïts alternatius com Java RMI , CORBA o DCOM :
  • L'ús d' HTTP permet als serveis web evitar les mesures de seguretat dels tallafocs (les regles dels quals sovint s'estableixen precisament per evitar comunicacions entre programes "externs" i "interns" al tallafoc).

Motius d'ús

El motiu principal de la creació i ús de serveis web és el "desacoblament" que la interfície estàndard exposada pel servei web fa possible entre el sistema d'usuari i el propi servei web: es poden implementar modificacions a una o altra de les aplicacions a una manera "transparent" a la interfície entre els dos sistemes; aquesta flexibilitat permet crear sistemes complexos de programari formats per components independents entre si i permet una forta reutilització del codi i de les aplicacions ja desenvolupades.

Els serveis web també han obtingut suport ja que, com a protocol de transport, poden utilitzar HTTP "over" TCP al port 80; aquest port és normalment un dels pocs (si no l'únic) que els sistemes de tallafocs deixen "oberts" al trànsit entrant i sortint des de l'exterior cap als sistemes de l'empresa i això es deu al fet que el trànsit HTTP dels navegadors web transita per aquest port : permet l'ús de serveis web sense canvis en les configuracions de seguretat de l'empresa (aspecte que, tot i ser positiu, genera problemes de seguretat).

Un motiu final que ha afavorit l’adopció i la proliferació de serveis web és la manca, abans del desenvolupament de SOAP, d’interfícies realment funcionals per a l’ús de funcions distribuïdes a la xarxa: EDI , RPC i altres tipus d’API ( Application Programming Interface) ) eren i continuen sent menys coneguts i fàcils d’utilitzar que l’arquitectura dels serveis web.

Pila de protocols

Exemple d'ús de protocols per a serveis web

La pila de protocols de serveis web és el conjunt de protocols de xarxa que s’utilitzen per definir, localitzar, crear i fer que els serveis web interaccionin entre ells; es compon principalment de quatre àrees:

  • Servei de transport : responsable del transport de missatges entre aplicacions de la xarxa, inclou protocols com HTTP , SMTP , FTP , XMPP i el recent protocol d’intercanvi extensible de blocs ( BEEP ).
  • Missatgeria XML : totes les dades intercanviats es formaten mitjançant "etiquetes" XML perquè puguin ser utilitzades als dos extrems de les connexions; el missatge es pot codificar segons l'estàndard SOAP , així com mitjançant JAX-RPC , XML-RPC o REST .
  • Descripció del servei : la interfície pública d'un servei web es descriu a través de WSDL ( Llenguatge de descripció de serveis web ), un llenguatge basat en XML que s'utilitza per a la creació de "documents" que descriuen les formes d'interfície i ús del servei web.
  • Llista de serveis : la centralització de la descripció i ubicació dels serveis web en un " registre " comú permet la cerca i recuperació ràpida dels serveis web disponibles a la xarxa; actualment s’utilitza el protocol UDDI amb aquesta finalitat.

Els protocols estàndard addicionals utilitzats són:

  • WS-Security : s’ha adoptat el protocol de seguretat dels serveis web com a estàndard OASIS; aquest estàndard permet l' autenticació de l' usuari i la confidencialitat dels missatges intercanviats amb la interfície del servei web
  • WS-Fiabilitat : són especificacions basades en SOAP i acceptades com a estàndard OASIS que compleixen la demanda de missatges "fiables" (fiables), demanda crítica d'algunes de les aplicacions que utilitzen serveis web (com, per exemple, transaccions monetàries o aplicacions de comerç electrònic ).

Articles relacionats

Enllaços externs

Control de l'autoritat LCCN ( EN ) sh2003001435