Académique Documents
Professionnel Documents
Culture Documents
COCHABAMBA – BOLIVIA
ii
formación profesional.
A mis hermanos (as) por estar ahí siempre apoyándome en cada paso.
INDICE DE TABLAS 6
Resumen 7
Introducción 8
1. Generalidades 10
2. Metodología 11
3. API REST 12
3
4
3.2.4 NoSQL 20
4. REST 21
4.3.4 Hipermedia. 25
5. SOAP 26
6. Conclusiones 37
7. Bibliografía 39
5
INDICE DE FIGURAS
INDICE DE TABLAS
RESUMEN
En el desarrollo web de las aplicaciones empresariales existe una variedad de tecnologías y las
Se realizó una monografía entre los servicios web API REST y SOAP, este trabajo fue basado en
SOAP, Los servicios SOAP o mejor conocimos simplemente como Web Services, “protocolo
estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de
intercambio de datos XML”. Por lo tanto, queda claro que la comunicación se realiza mediante
XML, lo cual nos debe de quedar muy claro, pues es en este aspecto donde radican las principales
API REST, El lanzamiento del nuevo sistema REST como protocolo de intercambio y
manipulación de datos en los servicios de internet cambió por completo el desarrollo de software
a partir de 2000. Ya casi toda empresa o aplicación dispone de una API REST para la creación de
negocio.
Ambos sistemas web fueron el punto de partida para dicha monografía realizada.
El propósito de esta monografía es ver la comparación de ambos servicios web y las características
INTRODUCCIÓN
Con la llegada de este nuevo milenio, el estándar dictaminado por REST (Representational State
proyectos y servicios web propulso el estándar REST, el modelo de servicios más utilizado para
generar APIs para el consumo de datos remotos o locales, sin tener que depender del acceso directo
Hoy podemos encontrar que todas las grandes empresas (Twitter, Facebook, YouTuBe, LinkedIN,
Google+, entre otras tantas) promueven el acceso y el uso de sus datos mediante el modelo API
exclusividad a SOAP, un servicio por excelencia cuyo uso, en la actualidad, quedo olvidado a
REST cambio por completo la ingeniería de software a partir del 2000. Este nuevo enfoque de
desarrollo de proyectos y servicios web fue definido por Roy Fielding, el padre de la especificación
HTTP y uno de los referentes internacionales en todo lo relacionado con la arquitectura de redes,
En la actualidad en el campo de las APIs REST es, el alfa y omega del desarrollo de servicios de
aplicaciones.
REST es cualquier interfaz entre sistemas que use HTTP para obtener datos o generar operaciones
sobre esos datos en todos los formatos posibles, como XML y JSON. Es una alternativa en auge a
9
otros protocolos estándar de intercambio de datos como SOAP (Simple Object Access Protocol),
A veces es preferible una solución más sencilla una manipulación de datos como REST. Según
SOAP es un protocolo basado en XML de la World Wide Web que describe mensajes. Los objetos
SOAP está basada en un protocolo anterior llamado XML-RPC, que era un modo de hacer una
amplió. La diferencia más importante fue que los parámetros de la llamada tienen nombre y su
orden es diferente y son las ampliaciones de este tipo las que dan flexibilidad. Según (Manuel, p.
61)
10
1. GENERALIDADES
La Wold Wide Web Consortium, define un servicio web como Un sistema de software diseñado
para soportar interacción interoperable maquina a máquina sobre una red. De un modo más
practico los podemos entender como un tipo de funcionalidad para los usuarios, disponible en
internet, que no está asociado a ningún tipo de sistema operativo o lenguaje de programación y
que utiliza mensajes formateados en XML para las comunicaciones entre maquinas. Es común
también que los servicios web tengan una interfaz pública que describa sus métodos y permita su
El OMG (Object Management Group) es un consorcio de más de 800 empresas, entre las que se
encuentran IBM, HP, etc. La finalidad del OMG es desarrollar y estandarizar un conjunto de
tecnologías como el UML (Unified Modelling Language), MDA (Model Driven Architecture), que
es la evolución de UML, o CORBA (Common Object Request Broker Architecture) entre otros.
CORBA, es una arquitectura que permite que varios componentes, quizás escritos en distintos
Un objeto CORBA es una entidad virtual que puede ser localizada por un ORB y ser llamada por
clientes. Los objetos CORBA ofrecen servicios a otros componentes a través de su interface. El
IDL (Interfaz Definition Language) es la forma que tiene CORBA de describir dichos interfaces,
y lo hace estableciendo un contrato entre el cliente y el servidor que describe los tipos y los
interfaces de los objetos que serán usados entre ambos. Según (CALLEJAS, 2013, pp. 35p, 39p)
El objetivo de CORBA siempre ha sido permitir la interconexión abierta de una amplia variedad
La desventaja de este enfoque tan abierto es que cada uno de los productos compatibles con
CORBA no puede operar de forma eficiente a nivel binario, sino que deben utilizar protocolos de
Los servicios Web como REST y SOAP son tecnologías o los mecanismos para poder comunicar
El medio que define el intercambio de datos entre objetos a través de XML es SOAP, que proviene
de XML RCP.
y HTTP directamente, sin mover ningún servicio de abstracción para protocolos de intercambio
de mensajes.
Puede hacer también uso de JSON como contenedor de información, generalmente cuando se
dispone de pocos recursos, debido a su gran rendimiento y bajo consumo. Según, (JOSE VILLAR
2. METODOLOGÍA
3. API REST
Hoy en día estamos ante una corriente que se está extendiendo mucho en el ámbito de la tecnología
actual, REST, que soporta un nuevo modelo de desarrollo de software diferente, capaz de aportar
En la actualidad no existe proyecto o aplicación que no disponga de una API REST para la creación
identificación con Facebook, hay cientos de empresas que generan negocio gracias a REST y las
APIs REST. Sin ellas, todo el crecimiento en horizontal sería prácticamente imposible. Esto es así
porque REST es el estándar más lógico, eficiente y habitual en la creación de APIs para servicios
de Internet.
Buscando una definición sencilla, REST es cualquier interfaz entre sistemas que use HTTP para
obtener datos o generar operaciones sobre esos datos en todos los formatos posibles, como XML
y JSON. Es una alternativa en auge a otros protocolos estándar de intercambio de datos como
SOAP (Simple Object Access Protocol), que disponen de una gran capacidad, pero también mucha
complejidad. A veces es preferible una solución más sencilla de manipulación de datos como
REST.
Cada petición HTTP contiene toda la información necesaria para ejecutarla, lo que permite
que ni cliente ni servidor necesiten recordar ningún estado previo para satisfacerla.
Aunque esto es así, algunas aplicaciones HTTP incorporan memoria caché. Se configura
objetivo de que el cliente pueda ejecutar en un futuro la misma respuesta para peticiones
idénticas. De todas formas, que exista la posibilidad no significa que sea lo más
recomendable.
Las operaciones más importantes relacionadas con los datos en cualquier sistema REST y
POST (crear): Se utiliza para enviar una entidad a un recurso en específico, causando a
PUT (editar): Reemplaza todas las representaciones actuales del recurso de destino con la
Los objetos en REST siempre se manipulan a partir de la URI. Es la URI y ningún otro
Interfaz uniforme.
Para la transferencia de datos en un sistema REST, este aplica acciones concretas (POST,
GET, PUT y DELETE) sobre los recursos, siempre y cuando estén identificados con una
14
URI. Esto facilita la existencia de una interfaz uniforme que sistematiza el proceso con la
información.
Sistema de capas.
Arquitectura jerárquica entre los componentes. Cada una de estas capas lleva a cabo una
Uso de hipermedias.
Ese término que data del año 1965, es una extensión del concepto de hipertexto, que
desemboco luego de algunos años en lo que hoy conocemos como desarrollo de páginas
acciones determinadas sobre los datos de trabajar. En el caso de una API REST, el
Hateadas.
define como una verdadera API REST. El principio hace que cada vez que se solicita una
escalabilidad de los proyectos y permite que los distintos componentes de los desarrollos
En este sentido otra ventaja importantísima es la posibilidad de crear tantos frontales como
necesites con la misma API. Igual comienzas desarrollando una web, pero con la misma
API podrás desarrollar también una aplicación para iOS, Android y si mañana gustas para
Si necesitas evolucionar/re factorizar uno de los dos, back o front, se puede hacer de manera
La separación entre cliente y servidor tiene una ventaja evidente y es que cualquier equipo
de desarrollo puede escalar el producto sin excesivos problemas. Se puede migrar a otros
servidores o realizar todo tipo de cambios en la base de datos, siempre y cuando los datos
Esta separación facilita tener en servidores distintos el front y el back y eso convierte a las
Al final solo te tienes que preocupar que el nexo cliente / servidor esté correcto. Puedes
hacer cambios en tu servidor, lenguajes, bases de datos, etc. y mientras devuelvas los datos
A la hora de ejecutar tu aplicación también tienes una flexibilidad mucho mayor. Las
páginas del front las puedes enviar desde unos servidores y las API pueden estar alojadas
(principalmente no guardar estado) es indiferente qué servidor atienda cada solicitud, pues
es el propio cliente el que tiene que mandar el estado al servidor, así que el balanceo de
carga es mucho más simple que en aplicaciones tradicionales donde el front está mezclado
con el back. También tienes la aproximación de las "micro APIs", en las que puedes dividir
los procesos en diferentes servidores que atiendan a diferentes tipos de operaciones del
La API REST.
adapta al tipo de sintaxis o plataformas con las que se estén trabajando, lo que ofrece una
17
gran libertad a la hora de cambiar o probar nuevos entornos dentro del desarrollo. Con una
API REST se pueden tener servidores PHP, Java, Python o Node.js. Lo único que es
Aunque eso depende más de cómo está hecha la parte del cliente, teóricamente el desarrollo de
sitios web basados en un API puede dar mejor desempeño que uno tradicional. Cuando haces una
solicitud al servidor lo que tienes como respuesta son datos planos, que requieren tiempos de
transferencia menores que si esos mismos datos los recibieras mezclados con el HTML/CSS de la
presentación. En este tipo de aplicaciones web no necesitas recargar la página, aunque esto no es
una ventaja específica del desarrollo basado en REST, sino del uso de Ajax en general, con el que
podemos conseguir aplicaciones web que se asemejan más a aplicaciones de escritorio. Según,
Esto no es necesariamente cierto, aunque en muchos casos sí se pueda deducir. Hay muchas
desde que nació y lo hace a una velocidad de vértigo. Los desarrolladores están literalmente
parar, ya que las alternativas crecen semana tras semana. Ante ese panorama de continuo avance,
nos encontramos con corrientes que, por sus ventajas y versatilidad, están adquiriendo cada vez un
mayor protagonismo, como es el caso del desarrollo basado en API REST, algo en lo que
profundizamos hoy.
El desarrollo del lado del servidor tradicional se basaba en construir sistemas que devolvieran al
cliente código HTML, capaz de ser interpretado directamente por el navegador. De esta manera,
cuando se programaba en PHP, Python, .NET, etc. lo normal era que se entregase al navegador
Hoy no se consume el servicio web solo a través de Internet, sino también por medio de
aplicaciones para móviles, etc. Si producimos HTML desde el lado del backend, es muy
probable que tengamos que programar varias veces ese back-end para cada sistema al que
lo queramos portar.
Ante la cantidad de alternativas que aparecen con tanta velocidad, la parte que menos
cambia es la del backend, por lo que es interesante que podamos desarrollar esa capa de
manera que se pueda adaptar a cualquier tipo de librería del lado del frontal.
19
En cambio, cuando desarrollamos un servicio backend construyendo un API, nos aseguramos que
se pueda consumir desde cualquier sistema o cliente. El API no devuelve más que datos, que están
como AngularJS, Polymer o ReactJS. También se podrán consumir los servicios del API desde
aplicaciones desarrolladas en Java para Android o Swift/Objective C para iOS, por ejemplo.
Dentro de las alternativas de construcción de un API, REST es una que simplifica mucho el
funcionamiento, dado que se elimina todo lo relacionado al estado de la aplicación. Aunque REST
no almacena ninguna información de la sesión de los usuarios, esto es algo que se resuelve
mediante un token que el cliente debe enviar al servidor en cada solicitud que se realice.
En el ecosistema backend, la mayoría de los lenguajes nos permiten construir API REST de manera
PHP.
desarrollo de un API. Además, hay muchos microframeworks que tienen como principal
NodeJS.
El desarrollo con NodeJS de un API REST es especialmente indicado, dado que nos
permite construir el backend con el mismo lenguaje con el que se construye el front-end,
20
proyecto web. Además, dadas las características de esta plataforma, también se hace muy
adecuada para el desarrollo RESTful dado que Node, al no ser bloqueante, puede atender
.NET.
implementar un API. El propio Microsoft nos ofrece ASP.NET Web API, un complemento
3.2.4 NoSQL
En el lado del backend y cuando hablamos de innovación, no podemos dejar de lado las bases de
datos. En concreto, hay un tipo de bases de datos que marcan la diferencia con respecto a las
opciones tradicionales. Son las bases de datos no relacionales, comúnmente conocidas como
NoSQL.
Este tipo de bases de datos combinan muy bien con los modelos de desarrollo basados en REST y
con movimientos emergentes como el IoT (Internet of Things), ya que nos permiten grandes
costa de sacrificar algunas de las ventajas de acceso a la información de las relacionales, por lo
que hay que saber que en el mundo del desarrollo no hay balas de plata y por tanto, no siempre
4. REST
hipermedias distribuidos tales como la Web. El término fue introducido en la tesis doctoral de Roy
arquitecturas en red. Estos principios resumen como los recursos son definidos y diseccionados.
datos específicos de un domino sobre HTTP sin una capa adicional, como hace SOAP. Estos dos
significados pueden chocar o incluso solaparse. Es posible diseñar un sistema software de gran
tamaño de acuerdo con la arquitectura propuesta por Fielding sin utilizar HTTP o sin interactuar
con la Web. Así como también es posible diseñar una simple interfaz XML+HTTP que no sigue
los principios REST, y en cambio seguir un modelo RPC. Cabe destacar que REST no es un
estándar, ya que es tan solo un estilo de arquitectura. Aunque REST no es un estándar, está basado
en estándares:
HTTP
URL
Si pensamos un poco en este éxito, nos daremos cuenta que la Web ha sido la única aplicación
distribuida que ha conseguido ser escalable al tamaño de Internet. El éxito lo debe al uso de
formatos de mensaje extensibles y estándares, pero además cabe destacar que posee un esquema
la Web es un espacio de URIs unificado. Las URIs permiten la densa red de enlaces que permiten
a la Web que sea tan utilizada. Por tanto, ellos consiguen tejer una mega-aplicación. Rafael
Navarro Marset. Modelado, Diseño e Implementación de Servicios Web 2006-07 REST vs Web
Services 5/19 Las URIs identifican recursos, los cuales son objetos conceptuales. La
representación de tales objetos se distribuye por medio de mensajes a través de la Web. Este
sistema es extremadamente desacoplado. Estas características son las que han motivado para ser
El estilo de arquitectura subyacente a la Web es el modelo REST. Los objetivos de este estilo de
variedad de clientes que pueden acceder a través de la Web: estaciones de trabajo, sistemas
Gracias al protocolo HTTP, cualquier cliente puede interactuar con cualquier servidor HTTP sin
ninguna configuración especial. Esto no es del todo cierto para otras alternativas, como SOAP para
Este hecho es una realidad que debe tratarse cuando se trabaja en Internet. Los clientes y servidores
pueden ser puestas en funcionamiento durante años. Por tanto, los servidores antiguos deben ser
capaces de entenderse con clientes actuales y viceversa. Diseñar un protocolo que permita este tipo
de características resulta muy complicado. HTTP permite la extensibilidad mediante el uso de las
cabeceras, a través de las URIs, a través de la habilidad para crear nuevos métodos y tipos de
contenido.
Los más populares intermediaros son varios tipos de proxys para Web. Algunos de ellos, las
caches, se utilizan para mejorar el rendimiento. Otros permiten reforzar las políticas de seguridad:
firewalls. Y por último, otro tipo importante de intermediarios, gateway, permiten encapsular
24
sistemas no propiamente Web. Por tanto, la compatibilidad con intermediarios nos permite reducir
REST logra satisfacer estos objetivos aplicando las siguientes cuatro restricciones:
Esto se consigue mediante el uso de URIs. HTTP es un protocolo centrado en URIs. Los recursos
Los recursos no pueden ser directamente accedidos o modificados. Más bien se trabaja con
representaciones de ellos. Cuando se utiliza un método PUT para enviar información, se coge
como una representación de lo que nos gustaría que Rafael Navarro Marset. Modelado, Diseño e
Implementación de Servicios Web 2006-07 REST vs Web Services 6/19 el estado del recurso fuera.
Internamente el estado del recurso puede ser cualquier cosa desde una base de datos relacional a
un fichero de texto.
REST dicta que los mensajes HTTP deberían ser tan descriptivos como sea posible. Esto hace
posible que los intermediarios interpreten los mensajes y ejecuten servicios en nombre del usuario.
Uno de los modos que HTTP logra esto es por medio del uso de varios métodos estándares, muchos
encabezamientos y un mecanismo de direccionamiento. Por ejemplo, las cachés Web saben que
por defecto el comando GET es cacheable (ya que es side-effect-free) en cambio POST no lo es.
Además, saben cómo consultar las cabeceras para controlar la caducidad de la información. HTTP
25
es un protocolo sin estado y cuando se utiliza adecuadamente, es posible interpretar cada mensaje
4.3.4 Hipermedia.
Es un mecanismo del estado de la aplicación. El estado actual de una aplicación Web debería ser
servidor. El servidor conoce sobre el estado de sus recursos, aunque no intenta seguirle la pista a
Esta es la misión del navegador, él sabe cómo navegar de recurso a recurso, recogiendo
restricciones de HTTP. Hay una disciplina detrás del diseño de sitios Web escalables que puede
ser aprendida de los documentos de arquitectura Web o de varios estándares. Por otra parte,
también es verdad que muchos sitios Web comprometen uno más de estos principios, como por
ejemplo, seguir la pista de los usuarios moviéndose a través de un sitio. Esto es posible dentro de
la infraestructura de la Web, pero daña la escalabilidad, volviendo un medio sin conexión en todo
lo contrario.
Los defensores de REST han creído que estas ideas son tan aplicables a los problemas de
claro diciendo que REST no es la cura para todo. Algunas de estas características de diseño no
serán apropiadas para otras aplicaciones. Sin embargo, aquellos que han decidido adoptar REST
como un modelo de servicio Web sienten que al menos articula una filosofía de diseño con
5. SOAP
Los servicios SOAP o mejor conocimos simplemente como Web Services, son servicios que basan
su comunicación bajo el protocolo SOAP (Simple Object Access Protocol) el cual este definido
como “protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse
por medio de intercambio de datos XML”. Por lo tanto, queda claro que la comunicación se realiza
mediante XML, lo cual nos debe de quedar muy claro, pues es en este aspecto donde radican las
Los servicios SOAP funcionan por lo general por el protocolo HTTP que es lo más común cuando
invocamos un Web Services, sin embargo, SOAP no está limitado a este protocolo, si no que puede
ser enviado por FTP, POP3, TCP, Colas de mensajería (JMS, MQ, etc). Pero como comentaba,
Protocolo de comunicación, basado en XML, que sirve para la invocación de los Servicios Web a
través de un protocolo de transporte, como HTTP (ó SMTP, etc.). Consta de tres partes: una
27
descripción del contenido del mensaje, unas reglas para la codificación de los tipos de datos en
XML y una representación de las llamadas RPC para la invocación y respuestas generadas por el
Servicio Web. El mensaje SOAP está compuesto por un envelope (sobre), cuya estructura está
formada por los siguientes elementos: header (cabecera) y body (cuerpo). Según, (Flores, 2012)
Son las siglas Estándar Objecet Access Protol, o protocolo estándar de acceso a objetos.
generación de los mensajes transmitidos durante una transacción en la que se incluye un web
service.
Aunque SOAP no es la única manera de realizar esta acción si es la más extendida actualmente
pese a que en ocasiones se trate a SOAP como un nuevo lenguaje de programación, no es más que
un conjunto de normas que hacen uso de XML, una definición de la composición del documento,
Realmente de lo que se encarga SOAP es decir cómo se deben empaquetar los datos para que
puedan ser transmitidos interpretados por otro usuario, marcara las directrices acerca de cómo se
deben posicionar los datos y como definir el significado cada uno de ellos.
Cada conjunto de datos SOAP empaquetados correctamente se denomina mensaje, es decir con el
uso de los servicios web, se está definiendo un área de trabajo controlada por mensajes, e la que
cada uno de ellos transmite información que implica la realización de una o varias acciones.
Como protocolos de transporte entre emisor y receptor del mensaje SOAP, puede usarse cualquiera
de los protocolos soportados por internet de manera estándar (HTTP. SMTP. FTP) o incluso sin
Los elementos centrales del protocolo para crear un mensaje SOAP son los siguientes:
Envelope.
Es el momento raíz del documento XML que lo identifica como un mensaje SOAP.
Header.
La cabecera es opcional y puede contener cero o más bloques, llamados header block, que
pueden contener información de control o procesamiento para que el mensaje pueda ser
tratado por los nodos a lo que va destinado. En cierto modo, esta es una manera de extender
Body.
Fault.
A la hora de intercambiar mensajes SOAP (da lo mismo que sea del cliente al servidor al cliente)
Las implementaciones de mensajes SOAP tienen que estar totalmente optimizadas (se
El mensaje SOAP será, un documento que contendrá los datos necesarios para realizar una llamada
a un servicio. Entre la información contenida en estos datos figuran aspecto tan importante como
el nombre de la función a la que se quiere llamar y los parámetros que sean necesarios para realizar
dicha llamada.
29
SOAP, que contendrá entre otros datos, la información correspondiente al resultado de la ejecución
estandarizado para los mensajes compartidos por las aplicaciones. La especificación no define
nada más que una simple envoltura basada en XML para la información que se transfiere, y un
conjunto de reglas para traducir los tipos de datos específicos de la aplicación y la plataforma en
representaciones XML.
El diseño de SOAP lo hace adecuado para una amplia variedad de mensajes de aplicación y
métodos:
Normalmente emplea HTTP, aunque también soporta otros protocolos como SMTP y RSS.
SOAP intercambia documentos XML, tanto para los distintos métodos como para los datos.
Los métodos no forman parte de SOAP, sino que los define el programador de la
aplicación.
SOAP especifica exactamente como codificar las cabeceras HTTP y los documentos XML
El principal beneficio de SOAP recae en ser fuertemente acoplado, lo que permite poder ser
aproximación basada en REST recaen en la potencial escalabilidad de este tipo de sistemas, así
como el acceso con escaso consumo de recursos a sus operaciones debido al limitado número de
REST SOAP
misma operación.
Componentes fuertemente
acoplados.
31
adoptar. Herramientas de
desarrollo.
notificaciones.
32
son creadas
implícitamente.
La principal diferencia entre REST y SOAP se resume en los siguientes puntos de vista del
propósito de la Web:
A modo de resumen, veamos las diferencias entre REST y SOAP, desde varios puntos de vista en
la siguiente tabla:
REST SOAP
Diferencias sesión pesto que por definición es Web crean sesiones para invocar a
Se centra en la escalabilidad y
Síncrono.
WDSL 2.0
34
URIs.
el contenido.
de 2006.
Gestión del Los clientes mantienen el estado Los clientes mantienen el estado
HTTPS. WS-Segurity.
segura. segura.
35
Fue creado en el año 2000 por Fue creado en 1998 por Dave
empresa mercado.
36
Servicios móviles.
37
6. CONCLUSIONES
En definitiva, observamos que las ventajas e inconvenientes del desarrolla basado en API
REST están muy relacionados. Lo que puede comenzar como una ventaja puede suponer
una desventaja en otro punto de tu aplicación. Sin embargo, como hemos dicho, existen
muchas situaciones en las que desarrollar basados en un API nos puede aportar un gran
adelanto.
Cabe mencionar que REST ha estado tomando fuerza a una velocidad impresionante y más
con la llegada de NodeJS y las bases de datos NoSQL como MongoDB. Sin embargo, el
hecho de que REST tome fuerza, no significa que le esté quitando protagonismo a SOAP,
pues recordemos que con la llegada del Internet de las cosas (IOT) cada vez se conectan
38
más dispositivos a internet que necesitan ser integrados (una gran oportunidad para REST)
Podemos diseñar excelentes arquitecturas basadas en REST de una manera bastante más
sencilla.
estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por
7. BIBLIOGRAFÍA
https://desarrolloweb.com/articulos/ventajas-inconvenientes-apirest-desarrollo.html
https://bbvaopen4u.com/es/actualidad/api-rest-que-es-y-cuales-son-sus-ventajas-en-el-
desarrollo-de-proyectos
https://www.oscarblancarteblog.com/wp-test/2017/03/06/soap-vs-rest-2/
http://carlosmayta.blogspot.com/
https://www.arsys.es/blog/programacion/proyectar-un-backend-hoy/
Luna, F., Claudio, P., & Lacano , M. (s.f.). PROGRAMACION WEB Full Stack Web apps
Snell , J., Tidwell, D., & Kulchenko , P. (2002). PROGRAMMING WEB SERVICES WITH