¿Qué es un servicio web?
Un servicio web es un conjunto de protocolos que sirve para intercambiar datos entre otras aplicaciones, a lo que se refiere es que se envían peticiones al servidor donde se encuentra alojado el servicio y este mismo le responderá la petición que se le solicitó, estas mismas pueden estar desarrolladas con un lenguaje de programación diferente y pueden ser ejecutadas en distintas plataformas.
Estos servicios web funcionan con los componentes SOAP este es el que funciona para el intercambio de información entre aplicaciones, el WSDL, UDII.
Un ejemplo de sitios web que utilizan servicios web son Facebook, Microsoft, MySpace,etc.
La principal ventaja de utilizar un servidor web es que son muy prácticos porque son independientes de las aplicaciones, otra de sus ventajas es que disminuye el tiempo de desarrollo de las aplicaciones, pueden aprovechar los sistemas de seguridad sin necesidad de cambiar las reglas de filtrado, entre otras muchas más.
Una vez que haya definido los recursos, se debe identificar qué acciones se aplican a estos y cómo se relacionarán con la API.
Ejemplo
GET / tickets: recupera una lista de tickets
GET / tickets / 12 - Recupera un ticket específico
POST / tickets: crea un nuevo ticket
PUT / tickets / 12 - Actualiza ticket # 12
PATCH / tickets / 12 - Actualiza parcialmente el ticket # 12
DELETE / tickets / 12 - Elimina el ticket # 12
Twitter por su parte proporciona una API REST en la que se puede consultar para obtener los últimos tweets, puede proporcionar una consulta de búsqueda y esta devolverá los resultados en formato JSON
http://search.twitter.com/search.json?q=jQuery&result_type=recent&rpp=3
YOUTUBE.
Mota. O (2008) Conoce las APIs más populares en el mercado. Recuperado el 6 de Septiembre de 2019, de http://www.maestrosdelweb.com/conoce-las-apis-mas-populares-en-el-mercado/
Estos servicios web funcionan con los componentes SOAP este es el que funciona para el intercambio de información entre aplicaciones, el WSDL, UDII.
Un ejemplo de sitios web que utilizan servicios web son Facebook, Microsoft, MySpace,etc.
La principal ventaja de utilizar un servidor web es que son muy prácticos porque son independientes de las aplicaciones, otra de sus ventajas es que disminuye el tiempo de desarrollo de las aplicaciones, pueden aprovechar los sistemas de seguridad sin necesidad de cambiar las reglas de filtrado, entre otras muchas más.
Servicio web XML
Un servicio web XML es un conjunto de aplicaciones con la capacidad de operar de manera eficiente en la web, la principal funcionalidad del servicio web XML es que intercambian datos entre sí con el objetivo de ofrecer servicio, los proveedores de estos servicios los ofrecen como procedimientos remotos y los usuarios solicitan el servicio llamando a estos mediante la web, una de las características que tiene es que es tiene independencia del lenguaje, estos pueden ser consumidos sin ningún problema desde programas escritos en cualquier lenguaje, por lo que no es tan necesario aprender un lenguaje determinado, al igual que de la plataforma que se esté utilizando y algo muy importante es que las aplicaciones intercambian datos entre sí en un ambiente seguro.
Ejemplo:
<?xml version="1.0"?>
<Catalog>
<Book id="bk101">
<Author>Garghentini, Davide</Author>
<Title>XML Developer's Guide</Title>
<Genre>Computer</Genre>
<Price>44.95</Price>
<PublishDate>2000-10-01</PublishDate>
<Description>An in-depth look at creating applications
with XML.</Description>
</Book>
<Book id="bk102">
<Author>Garcia, Debra</Author>
<Title>Midnight Rain</Title>
<Genre>Fantasy</Genre>
<Price>5.95</Price>
<PublishDate>2000-12-16</PublishDate>
<Description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</Description>
</Book>
</Catalog>
Ejemplo:
<?xml version="1.0"?>
<Catalog>
<Book id="bk101">
<Author>Garghentini, Davide</Author>
<Title>XML Developer's Guide</Title>
<Genre>Computer</Genre>
<Price>44.95</Price>
<PublishDate>2000-10-01</PublishDate>
<Description>An in-depth look at creating applications
with XML.</Description>
</Book>
<Book id="bk102">
<Author>Garcia, Debra</Author>
<Title>Midnight Rain</Title>
<Genre>Fantasy</Genre>
<Price>5.95</Price>
<PublishDate>2000-12-16</PublishDate>
<Description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</Description>
</Book>
</Catalog>
Servicio web SOAP
Los servicios web SOAP o también conocido como servicio web big, utiliza mensajes XML para comunicarse por medio de intercambio de datos XML, normalmente se utiliza para poder conectarse a un servicio y poder invocar métodos remotos, existen dos tipos de mensa
je los que se clasifican dependiendo de su contenido, el de mensajes orientado al documento, en este tipo de mensaje puede tener cualquier tipo de contenido que deseemos enviar entre aplicaciones, el otro tipo de mensaje es el orientado a RPC el cual servirá para invocar procedimientos de forma remota.
je los que se clasifican dependiendo de su contenido, el de mensajes orientado al documento, en este tipo de mensaje puede tener cualquier tipo de contenido que deseemos enviar entre aplicaciones, el otro tipo de mensaje es el orientado a RPC el cual servirá para invocar procedimientos de forma remota.
Servicio web WSDL
El lenguaje de descripción de servicios web es un protocolo basado en XML, el cual describe los accesos al servicio web, permite localizar los servicios web esto es como si fuese un manual del mismo porque nos dice cuáles son las interfaces que nos ofrece el servicio web y los datos que necesitemos para poder hacer uso del mismo, es utilizado por la tecnología de implementación de SOAP para que se pueda realizar la conexión entre servicios web, los conceptos que caracterizan al servicio web es su servicio, los puertos, mensajes, tipos y enlace.
Servicio web REST
REST significa transferencia de representación de estado, bueno REST es una interfaz para poder conectar varios sistemas que están basados en el protocolo HTTP y sirve para obtener y generar datos los cuales son devueltos en formatos como lo son XML y JSON, el formato que más se utiliza es el formato JSON puesto a que es mucho más ligero y legible que el
formato XML, como REST se apoya de HTTP, los verbos que son utilizados son los mismos con estos se puede hacer GET, POST, PUT, PATCH y DELETE, en comparación con SOAP el cual es una arquitectura dividida por niveles, es mucho más compleja de montar y solo trabaja con XML y REST soluciona esa complejidad, haciendo mucho más fácil el desarrollo de una API REST.
formato XML, como REST se apoya de HTTP, los verbos que son utilizados son los mismos con estos se puede hacer GET, POST, PUT, PATCH y DELETE, en comparación con SOAP el cual es una arquitectura dividida por niveles, es mucho más compleja de montar y solo trabaja con XML y REST soluciona esa complejidad, haciendo mucho más fácil el desarrollo de una API REST.
Consumo de un API REST
Los principios clave de REST implican separar la API en recursos lógicos. Estos recursos se manipulan utilizando solicitudes HTTP donde el método (GET, POST, PUT, PATCH, DELETE) tiene un significado específico.Una vez que haya definido los recursos, se debe identificar qué acciones se aplican a estos y cómo se relacionarán con la API.
Ejemplo
GET / tickets: recupera una lista de tickets
GET / tickets / 12 - Recupera un ticket específico
POST / tickets: crea un nuevo ticket
PUT / tickets / 12 - Actualiza ticket # 12
PATCH / tickets / 12 - Actualiza parcialmente el ticket # 12
DELETE / tickets / 12 - Elimina el ticket # 12
Twitter por su parte proporciona una API REST en la que se puede consultar para obtener los últimos tweets, puede proporcionar una consulta de búsqueda y esta devolverá los resultados en formato JSON
http://search.twitter.com/search.json?q=jQuery&result_type=recent&rpp=3
Ejemplo de servicios API REST que se pueden consumir.
Esta API permite incrustar mapas del servicio de Google en un sitio web mediante el uso de Javascript, estos pueden ser manipulados y se pueden agregar diversas capas de contenido que interactúen con el servicio, en donde es muy utilizado es en el negocio de bienes raíces en donde es necesario mostrar las ubicaciones de las casas que se encuentran en venta ademas de estar acompañadas de fotografías y las rutas para llegar a dicha ubicación.
YOUTUBE.
Esta API puede ser utilizada para crear sitios web como aplicaciones de escritorio las cuales obtengan información acerca de los vídeos y los usuarios, esto se puede aplicar a un sitio web con vídeos sobre algún tema en específico.
AMAZON S3.
Este servicio permite almacenar archivos dentro de una infraestructura robusta la cual está proveída por Amazon a un precio menor y no es necesario armar una red de servidores lo cual sería muy costoso, Amazon posee varios servicios los cuales pueden ayudar a desarrollar aplicaciones.
Frameworks que se pueden emplear para desarrollar aplicaciones web basadas en servicios.
Django (Python)
Django es un framework de alto nivel que promueve un desarrollo rápido y limpio, fue construido por desarrolladores experimentados, es framework tiene en cuenta mucho de los problemas sobre desarrollo web, de manera que es más fácil concentrarse en escribir el código de la app sin tener que darle vueltas al asunto, es gratis y de código abierto.
Express (Node.js/JavaScript)
Express es un framework veloz, flexible y proporciona un conjunto de características robustas para aplicaciones web y móviles ademas de que entrega valiosos métodos de utilidades HTTP. Express es muy popular porque facilita la migración de programadores web de JavaScript de lado cliente a desarrollo de lado servidor y porque es muy eficiente con los recursos.
Ruby on Rails (Ruby)
Rails tiene un diseño similar a Django pues proporciona acceso a datos de bases, generación de plantillas y el formateo de datos como JSON o XML.
ASP.NET
ASP.NET es un framework de código abierto que fue desarrollado por Microsoft para la construcción de aplicaciones y servicios, con ASP.NET se pude crear rápidamente sitios web, añadir
fácilmente APIs web, formularios sobre datos o comunicaciones en tiempo real.
Mi Aprendizaje.
Lo que aprendí durante la realización de esta investigación
fueron algunos conceptos básicos acerca de algunos servicios y estándares que
se ofrecen en la nube los cuales servirán para el desarrollo de aplicaciones web
orientadas a servicios, se reforzó el conocimiento que tenía acerca de lo que es
un servicio web, lo que si no tenía conocimiento alguno era sobre el servicio web
XML, el SOAP, el WSDL, y el REST, ahora sé que función realiza cada uno, también
por otro lado conocí las APIs que ofrecen alguna empresas por ejemplo están las
de Facebook, Google, YouTube, Twitter, Amazon, Instagram, y el tipo de APIs que
ofrece cada uno de ellos y estas son
solo algunas por mencionar, algo que también ya conocía, pero que también me
ayudo a reforzar era sobre los métodos HTTP los cuales son el GET, POST, PUT,
DELETE, PATCH Y HEAD y por ultimo sobre algunos frameworks que se pueden
utilizar para el desarrollo de aplicaciones web.
Referencias.
IBM (2014) ¿Qué es un servicio web?. Recuperado el 5 de Septiembre de 2019, de https://www.ibm.com/support/knowledgecenter/es/SSMKHH_9.0.0/com.ibm.etools.mft.doc/ac55710_.htm
MDN (2010) Servicios Web XML. Recuperado el 5 de Septiembre de 2019, de https://developer.mozilla.org/es/docs/Servicios_Web_XML
Microsoft (2015) Archivo XML de ejemplo: Libros. Recuperado el 5 de Septiembre de 2019, de https://docs.microsoft.com/es-es/dotnet/visual-basic/programming-guide/concepts/linq/sample-xml-file-books-linq-to-xml
IBM (2015) ¿Qué es SOAP?. Recuperado el 5 de Septiembre de 2019, de https://www.ibm.com/support/knowledgecenter/es/SSKM8N_8.0.0/com.ibm.etools.mft.doc/ac55770_.htm
Acedo. J (2012) Web Service: Definición, utilización y estructura del WSDL. Recuperado el 5 de Septiembre de 2019, de http://programacion.jias.es/2012/01/web-service-definicion-utilizacion-estructura-del-wsdl/
Moncayo. M. J (2018) ¿Qué es REST? Conoce su potencia. Recuperado el 6 de Septiembre de 2019, de https://openwebinars.net/blog/que-es-rest-conoce-su-potencia/
IBM (2014) ¿Qué es un servicio web?. Recuperado el 5 de Septiembre de 2019, de https://www.ibm.com/support/knowledgecenter/es/SSMKHH_9.0.0/com.ibm.etools.mft.doc/ac55710_.htm
MDN (2010) Servicios Web XML. Recuperado el 5 de Septiembre de 2019, de https://developer.mozilla.org/es/docs/Servicios_Web_XML
Microsoft (2015) Archivo XML de ejemplo: Libros. Recuperado el 5 de Septiembre de 2019, de https://docs.microsoft.com/es-es/dotnet/visual-basic/programming-guide/concepts/linq/sample-xml-file-books-linq-to-xml
IBM (2015) ¿Qué es SOAP?. Recuperado el 5 de Septiembre de 2019, de https://www.ibm.com/support/knowledgecenter/es/SSKM8N_8.0.0/com.ibm.etools.mft.doc/ac55770_.htm
Acedo. J (2012) Web Service: Definición, utilización y estructura del WSDL. Recuperado el 5 de Septiembre de 2019, de http://programacion.jias.es/2012/01/web-service-definicion-utilizacion-estructura-del-wsdl/
Moncayo. M. J (2018) ¿Qué es REST? Conoce su potencia. Recuperado el 6 de Septiembre de 2019, de https://openwebinars.net/blog/que-es-rest-conoce-su-potencia/
Mota. O (2008) Conoce las APIs más populares en el mercado. Recuperado el 6 de Septiembre de 2019, de http://www.maestrosdelweb.com/conoce-las-apis-mas-populares-en-el-mercado/