Intro
Cuns poucos clics nun escritorio ou dispositivo, pódese mercar, vender ou publicar calquera cousa, en calquera momento. Como ocorre exactamente? Como información ir de aquí para alá? O heroe non recoñecido é a API.
Que é unha API?
API significa an INTERFAZ DE PROGRAMACIÓN DA APLICACIÓN. Unha API expresa un compoñente de software, as súas operacións, entradas, saídas e tipos subxacentes. Pero como explicas a API en inglés sinxelo? A API funciona como un mensaxeiro que transfire a túa solicitude desde unha aplicación e devolveche a resposta.
Exemplo 1: Cando buscas voos en liña. Vostede interactúa co sitio web da compañía aérea. O sitio web detalla o asento e o custo do voo nesa data e hora concretas. Vostede escolle a súa comida ou asentos, equipaxe ou solicitudes de mascotas.
Pero, se non estás a usar o sitio web directo da compañía aérea ou estás usando un axente de viaxes en liña que combina datos de moitas compañías aéreas. Para obter a información, unha aplicación interactúa coa API da compañía aérea. A API é a interface que leva os datos do sitio web do axente de viaxes ao sistema da compañía aérea.
Tamén toma a resposta da compañía aérea e devolve inmediatamente. Isto facilita a interacción entre o servizo de viaxes e os sistemas da compañía aérea para reservar o voo. As API inclúen unha biblioteca para rutinas, estruturas de datos, clases de obxectos e variables. Por exemplo, os servizos SOAP e REST.
Exemplo 2: Best Buy ofrece un prezo especial da oferta do día a través do seu sitio web. Estes mesmos datos están na súa aplicación móbil. A aplicación non se preocupa polo sistema de prezos interno: pode chamar á API Deal of the Day e preguntar cal é o prezo especial? Best Buy responde coa información solicitada nun formato estándar que a aplicación mostra ao usuario final.
Exemplo3: As API para as redes sociais son cruciais. Os usuarios poden acceder ao contido e manter baixo o número de contas e contrasinais dos que manteñen un control, para que poidan simplificar as cousas.
- API de Twitter: interactúa coa maioría das funcións de Twitter
- API de Facebook: para pagos, datos de usuario e inicio de sesión
- API de Instagram: etiqueta usuarios, mira fotos de tendencia
E as API REST e SOAP?
XABÓN DESCANSO utilizar un servizo que consume API, coñecido como API web. O servizo web non depende de ningún coñecemento previo de información. SOAP é un protocolo de servizo web lixeiro independente da plataforma. SOAP é un protocolo de mensaxería baseado en XML. A diferenza do servizo web SOAP, o servizo Restful usa a arquitectura REST, construída para a comunicación punto a punto.
Servizo web SOAP
- SOAP Sender: creación e transmisión dunha mensaxe.
- Receptor SOAP: obtén e procesa a mensaxe.
- Intermediario SOAP: recibe e procesa os bloques de cabeceira.
Servizo web RESTful
Representational State Transfer (REST) refírese á relación entre o cliente e o servidor e como se procesa o estado. Arquitectura Rest, un servidor REST proporciona acceso aos recursos ao cliente. Rest encárgase da lectura e modifica ou escribe os recursos. O identificador uniforme (URI) identifica os recursos para conter un documento. Isto capturará o estado do recurso.
REST é máis lixeiro que a arquitectura SOAP. Analiza JSON, unha linguaxe lexible por humanos que permite compartir datos e facilitar o seu uso, en lugar de XML usado pola arquitectura SOAP.
Existen varios principios para deseñar Restful Web Service, que son:
- Enderezabilidade: cada recurso debe ter polo menos un URL.
- Apatridia: un servizo Restful é un servizo sen estado. Unha solicitude é independente das solicitudes anteriores do servizo. HTTP é por deseño un protocolo sen estado.
- Cacheable: os datos marcados como almacenables na caché no sistema e reutilizados no futuro. Como resposta á mesma solicitude en lugar de producir os mesmos resultados. As restricións da caché permiten marcar os datos de resposta como cachés ou non.
- Interface uniforme: permite utilizar unha interface común e estandarizada para o acceso. O uso dunha colección definida de métodos HTTP. O cumprimento destes conceptos garante que a implementación de REST sexa lixeira.
Vantaxes de REST
- Usa un formato máis sinxelo para as mensaxes
- Ofrece unha maior eficiencia a longo prazo
- Admite comunicacións sen estado
- Use estándares HTTP e gramática
- Os datos están dispoñibles como recurso
Desvantaxes de REST
- Falla nos estándares do servizo web, como transaccións de seguridade, etc.
- As solicitudes REST non son escalables
Comparación REST vs SOAP
Diferenzas entre os servizos web SOAP e REST.
Servizo web SOAP | Servizo Web Rest |
Require carga útil de entrada pesada en comparación con REST. | REST é lixeiro xa que usa URI para formularios de datos. |
O cambio nos servizos SOAP adoita levar a un cambio significativo no código no lado do cliente. | O código do cliente non se ve afectado polo cambio nos servizos no aprovisionamento web REST. |
O tipo de retorno é sempre de tipo XML. | Ofrece versatilidade con respecto á forma dos datos devoltos. |
Un protocolo de mensaxes baseado en XML | Un protocolo arquitectónico |
Require unha biblioteca SOAP ao final do cliente. | Non se necesita soporte de biblioteca normalmente usado a través de HTTP. |
Soporta WS-Security e SSL. | Soporta SSL e HTTPS. |
SOAP define a súa propia seguridade. | Os servizos web RESTful herdan as medidas de seguridade do transporte subxacente. |
Tipos de políticas de lanzamento de API
As políticas de lanzamento da API son:
Políticas de lanzamento privado:
A API só está dispoñible para uso interno da empresa.
Políticas de liberación de socios:
A API só está dispoñible para determinados socios comerciais. As empresas poden controlar a calidade da API debido ao control sobre quen pode acceder a ela.
Políticas de divulgación pública:
A API é de uso público. A dispoñibilidade das políticas de lanzamento está dispoñible para o público. Exemplo: API de Microsoft Windows e Apple Cocoa.
Conclusión
As API están presentes en todas partes, tanto se estás a reservar un voo como se estás interactuando con aplicacións de redes sociais. A API SOAP baséase en comunicacións XML, difire da API REST en que non require ningunha configuración especial.
Deseñar os servizos Rest Web debe unirse a certos conceptos, incluíndo direccionabilidade, apatridia, capacidade de caché e unha interface estándar. As regras de lanzamento da API pódense dividir en tres categorías: API privadas, API de socios e API públicas.
Grazas por ler este artigo. Consulta o noso artigo sobre unha guía para Seguridade da API 2022.