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

Una guía detallada sobre el desarrollo de API {2020}
5 (100%) 1 voto

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.

    Recomendamos:
    Visa, PayPal puede llevar una 'carga pesada' con Facebook plano crypto

    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.
  • Recomendamos:
    C√≥mo arreglar una papelera de reciclaje da√Īada Windows 10

    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.

    Recomendamos:
    ‚Ė∑ Revisi√≥n: Frames Bose llevar una cuchilla en gafas de sol de audio conectadas al iPhone

    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?