Una guía detallada sobre el desarrollo de API {2020}

Mejores prácticas de desarrollo de API (con una introducción para principiantes)

Buscó una consulta en Google y, gracias a nuestras prácticas de SEO, lo llevó a esta página. Ahora estás leyendo este blog. Un acto que te tomó un par de segundos involucró lo siguiente:

  • El servidor Google solicita a los servidores MobileAppDailys información.
  • MAD obtiene los datos solicitados y los transmite de vuelta a Google.
  • Finalmente, llegas a esta página.
  • Entre todo lo que sucede detrás de la pantalla del portátil, quizás lo más intrigante es el intercambio de información entre Google y MobileAppdaily, o sus servidores.

      

    ¡Para eso están las interfaces de programación de aplicaciones (API)!

    Cuando los codificadores desarrollan un sitio web, dejan un conjunto de instrucciones de código abierto. En el momento en que otro servicio web (software alojado en una URL de Internet) intenta comunicarse con el primer sitio web, lo hace con la ayuda de este código de código abierto. En términos sofisticados, los códigos se denominan aplicaciones o, en palabras técnicas, una API.

    Dejan 2 servicios web dispares alojados en la red mundial, se comunican entre sí. Puede llamarlos intermediarios entre dos servicios web que vienen en diferentes formas y tamaños procesando consultas cliente-servidor en:

  • Sistemas basados ​​en la web
  • Sistemas de bases de datos
  • Bibliotecas de software
  • Sistemas operativos
  • Y hardware de computadora
  • Bien, entonces respondimos ¿Cómo funciona una API?

    Pero eso es solo rascar la superficie. Es importante que comprenda algunos elementos conceptuales de las API, sin los cuales su operatividad se detendría en seco.

    Terminologías Básicas

    Clave API – Vamos a llamarlos un conjunto de instrucciones codificadas que se pasan a las solicitudes API entrantes. Es su propósito identificar el origen y la naturaleza de la solicitud entrante. Son una parte inseparable de la arquitectura API, necesaria para bloquear fuentes dudosas que acceden a información del servicio web.

    Punto final – Se hace referencia para pasar un valor en una URL determinada.

    JSON – El acrónimo significa JavaScript Object Notion. Este es un formato de API predefinido en el que se basa el desarrollo para pasar solicitudes y enviar respuestas entre dos aplicaciones.

    OBTENER РLas API RESTful usan lo mismo que un m̩todo HTTP para reunir recursos.

    PONER – De nuevo, un método HTTP para editar datos existentes. Las agencias de desarrollo se involucran principalmente cuando actualizan una recopilación de información. Por ejemplo, una mesa.

    PARCHE – Se usa al actualizar un solo valor. Como una sola entrada en una tabla (en referencia al ejemplo anterior).

    ENVIAR – La interoperabilidad es un proceso bidireccional. Si una API tiene que recopilar información de un punto final, debe estar abierta para compartir datos desde su final. POST es un método HTTP para API RESTful para construir (o agregar) tales recursos.

    BORRAR – Autoexplicativo.

    Token web JSON – Es un estándar utilizado para crear tokens de acceso para una aplicación.

    Regulación API – Esta característica es una parte fundamental del desarrollo de una API. Regula la frecuencia de los usuarios que acceden a la API en un momento determinado. Cuando el tráfico del sitio aumenta más allá de un umbral definido por los desarrolladores, se muestra el error 429 que lee demasiados lectores.

    Limitación de velocidad – Hemos enfrentado todas las situaciones al cambiar entre las pestañas de aplicaciones / sitios web cuando aparece una nota que dice algo así como: Nuestro sitio web ha detectado tráfico inusual desde su computadora. No es más que la API que limita la tasa de acceso de un solo usuario.

    Tipos de API

    Hay cuatro tipos principales de API:

    1. API abiertas – Se supone que las API públicas están abiertas para todos. No tienen restricciones de acceso y están disponibles públicamente.

    2. API de socios – El acceso a esta categoría de API se extiende a través de un modelo de licencia.

    3. API internas – están hechos a medida para canales empresariales internos. La organización prueba la veracidad de sus servicios / productos generalmente con tales API. Jeff Bezos dio un impulso especial al ingenio de tales innovaciones que permitieron que los servicios de Amazonas fueran interoperables y se ofrecieran como una suite a través de su brazo comercial. Amazon Servicios web.

    4. API compuestas – difiere de las categorías anteriores en que son una secuencia de procesos activados cuando se ejecutan una serie de otras tareas. Note las API mencionadas anteriormente están llamadas a actuar a petición de otras API.

    Si bien las categorías anteriores categorizan e influyen ampliamente en el desarrollo de API, también hay API de servicios web que creemos que los lectores deberían tener una visión general de:

    1. JABÓN – Tiene que haber un conjunto de protocolos de mensajería para que los servicios web interactúen entre sí. Simple Object Access Protocol es un conjunto predefinido de reglas que permite la transmisión de dichos mensajes. Utiliza el lenguaje de definición de servicio web (WSDL) para publicar detalles de su interfaz. Utiliza transferencia de mensajes en formato XML patentado.

    2. DESCANSO – Representational State Transfer es un estilo de arquitectura de software utilizado para definir servicios web. Ofrecen un inmenso valor de desarrollo de API ya que los códigos solicitantes pueden limitar el alcance de su solicitud a datos específicos que señalar un bloque completo de información. Cuando las consultas entrantes apuntan a conjuntos específicos de información, se acorta el tiempo de procesamiento. Las API RESTful están diseñadas junto con el protocolo REST.

    3. XML-RPC – A diferencia de SOAP, aquí usamos un formato XML específico para la transferencia de datos. Su consumo de ancho de banda es relativamente más bajo que el de otras API de servicios web y es fácil de ejecutar. Aquí hay un ejemplo:

    4. JSON-RPC – tiene múltiples características superpuestas con XML-RPC, sin embargo, utiliza JSON para transferir datos que XML. Por ejemplo,

    Herramientas prescritas para el desarrollo de API

    El desarrollo de una API podría plantear todo tipo de desafíos con un tiempo de respuesta aún más corto para aquellos que trabajan en un entorno ágil. Por lo tanto, pensamos en crear una lista de las herramientas de prueba de software más recomendadas en el mercado para usted. Los vendedores simplemente se enumeran, no se clasifican en ningún orden.

  • SoapUI – una herramienta de desarrollo de API de código abierto que facilita la prueba de las API SOAP y RESTful para casos de uso como funcionalidad, seguridad y rendimiento. Se ejecuta en Java, lo que facilita que la mayoría de los sistemas operativos manejen las operaciones.
  • Cartero – permite el desarrollo de API además de brindarle un entorno de prueba para el mismo mediante JavaScript.
  • Katalon Studio – proporciona una herramienta de prueba de automatización para dispositivos móviles, API y web. Katalan implementa el marco de BDD Cucumber que cierra la brecha en las comunicaciones internas entre las partes interesadas del negocio y I.T. equipos Como resultado de esto, el progreso continuo se puede transmitir a los delegados interesados. Las herramientas de DevOps como Jenkins, Maven y Docker son fácilmente integrables con Katalan.
  • Apigee – es una plataforma de administración de API cruzada en la nube, diseñada por Google Cloud, que le permite examinar previamente escenarios de sesiones en vivo mientras trabaja en API proxy. Ofrece soporte de administración de API de extremo a extremo y ha estado recuperando el primer lugar en el informe del Cuadrante Mágico de Gartners por última vez 4 años.
  • TestNG – Se inspiró en los marcos de prueba JUnit y NUnit de Java que ofrecen pruebas unitarias e integración en el desarrollo de API.
  • Está seguro – Inspirada en lenguajes como Groovy & Ruby, esta herramienta de prueba de API está basada en Java y predominantemente para API REST. Las características clave incluyen la validación XPath, la reutilización de especificaciones, la carga fácil de archivos y la sintaxis de la ruta JSON. Los servicios web basados ​​en XML, JSON y HTTP también se pueden probar en Rest Assured.
  • Tricentis Tosca – Los entornos DevOps siempre han planteado desafíos para los desarrolladores de software, especialmente para probar las API. Tricentis ha intentado llenar ese vacío con una interfaz de usuario amigable, dirigida a principiantes.
  • Colmenar – Soluciones de diseño y desarrollo de extremo a extremo que facilitan entornos simulados para pruebas de proxy.
  • API de MuleSoft – También conocido como AnyPoint API Manager, los desarrolladores obtienen una gran cantidad de servicios para elegir. MuleSoft es especialmente popular en la comunidad de programación, ya que es posible la integración con servicios líderes en la nube como Salesforce y SAP. Mule es el motor oficial de tiempo de ejecución para esta plataforma.
  • Características imprescindibles en un diseño de API

    Características imprescindibles en un diseño de API

    1. Búsqueda filtrada

    Los activadores se implementan para obtener datos de las API. Publicar la primera sincronización de datos, es entendido por todos, habrá cambios futuros. Sin embargo, al igual que con cualquier código, los desarrolladores de software deben ser muy claros sobre quién y por qué de los cambios, junto con el seguimiento de los eventos. Los registros se pueden conciliar usando marcas de tiempo, siempre que la API tenga flexibilidad incorporada para ejecutar criterios de búsqueda filtrados.

    2. Secuenciación y clasificación de paginación

    Ahora tiene un registro de cambios con marca de tiempo, pero es parte de la buena práctica de codificación no inundar al usuario con todos los cambios a la vez. La paginación tiene la capacidad de controlar tanto el volumen como la frecuencia de la información a la que un usuario obtiene acceso, por sesión. Hay más, incluso puede mostrar las páginas restantes.

    Se trata de optimizar la efectividad de la API.

    Los usuarios finales aprecian la funcionalidad en API que permite la secuencia de páginas mediante cambios con fecha y otras condiciones ad-hoc.

    3. Apoyo RESTANTE

    Es un consenso común dentro de la comunidad de desarrollo de software que la arquitectura REST supera a SOAP. Por lo tanto, no sorprende que las API RESTful tengan la mejor recepción.

    ¿Pero por qué?

    REST es un estilo arquitectónico, a diferencia de SOAP, que es un estándar. En virtud de este hecho, las API RESTful se pueden construir en múltiples estándares como HTTP, JSON, URL y XML. Por otro lado, las API de SOAP se basan principalmente en HTML y XML.

    4. Autorización a través de OAuth

    el acrónimo OAuth significa Autorización de estándar abierto.

    Recuerda cuando compartes tu Facebook información de cuenta con terceros, ¿también comparte sus contraseñas? No. Eso es porque Facebook tiene conjuntos de características de back-end OAuth que permiten tales flexibilidades mientras se protege la privacidad.

    Esta práctica se ha vuelto universal con el desarrollo de API para compartir credenciales de usuario con terceros. OAuth ha presentado una actualización sobre OAuth 1.0, haciendo OAuth 2.0 La opción preferida.

    5. Documentación

    Este se debe al sentido común.

    Cualquier cosa que esté bien documentada la convierte en una opción preferida como referencia, para proyectos cuya base se basa en implementaciones anteriores. Herramientas de documentación como Pavonearse le permite la facilidad de simplemente grabar las anotaciones utilizadas. Luego devuelve la salida al usuario.

    Pero incluso hay momentos en que solo bastará la documentación manual. Esta práctica se conoce como Mark-Down y ocurre cuando los desarrolladores no tienen más opción que grabar los comandos ingresados ​​ellos mismos.

    Mejores prácticas de desarrollo de API

    Estrangulamiento

    Divide el término en dos. La primera palabra que obtienes es acelerador. Significa limitar el suministro de algo, de eso se trata el proceso. Ayuda a regular y dirigir la frecuencia total de consultas en la API. De hecho, es personalizable hasta tal punto, que podemos limitar el suministro de personas que tienen acceso a la API con días / semanas / meses de anticipación. Lo ejecuta el administrador de API, que además permite dos tipos de personalización:

    Aceleración estricta: el número total de usuarios no excederá el umbral predefinido.

    Regulación progresiva: se notifica a las personas si el tráfico de API está a punto de cruzar el umbral predefinido. Por ejemplo, si la API solo puede acomodar a un máximo de 100 usuarios y el tráfico actual es 95, las personas serán notificadas de lo mismo.

    Limitación de velocidad

    Se puede usar para limitar la velocidad a la que los usuarios acceden activamente a la API, además de la velocidad a la que pueden acceder a ella. Los editores de API, mientras cargan las API, asignan múltiples planes para suscribir licenciatarios. Según el modelo elegido, los usuarios B2B pueden jugar con sesiones interactivas en vivo con las API. Se calcula en tiempo real.

    Automatización de planes de contingencia

    Estacionar a los empleados a tiempo completo para supervisar las filtraciones de datos de, digamos servidores API, es un gran NO. El error humano podría resultar costoso en caso de que haya una contingencia para la cual el personal no está capacitado. Hotshots de la industria como Amazon Los servicios web tienen servicios establecidos como el Amazon Cloudwatch que automatiza tales comprobaciones de estado recurrentes. Debe tener una lista de verificación de alternativas a las que recurrir en caso de que tal desastre lo golpee.

    ¿Cómo funciona una API?