Aplicaciones Web Orientadas a Servicios

Tema 1: Introducción al desarrollo Web orientado a servicios

Resultado de imagen para Introducción al desarrollo Web orientado a servicios

Servicios y estándares que se ofrecen en la nube


Para comenzar, una arquitectura orientada a servicios (SOA) es el nexo que une las metas de negocio con el sistema de software. Su papel es el de aportar flexibilidad, desde la automatización de las infraestructura y herramientas necesarias consiguiendo, al mismo tiempo, reducir los costes de integración. SOA se ocupa del diseño y desarrollo de sistemas distribuidos y es un potente aliado a la hora de llevar a cabo la gestión de grandes volúmenes de datos, datos en la nube y jerarquías de datos.

Los servicios que se ofrecen en la nube sirven como un almacén de datos desde una base de datos y pueden ser SQL o NoSQL estándar.

¿Qué es un servicio web?


Un servicio web es un sistema software diseñado para soportar la interacción máquina-a-máquina, a través de una red, de forma interoperable, también se puede decir que un servicio web son aplicaciones autónomas modulares que se pueden describir, publicar, localizar e invocar a través de una red usando serialización XML sobre HTTP conjuntamente con otros estándares web.

A continuación se explicara de una forma más detallada cada uno de los estándares que son utilizados en un servidor web.

Servicio web XML


El estándar XML (eXtensible Markup Language XML): se basa en marcas y etiquetas, facilita su uso en el intercambio de una gran variedad de datos. Algunos ejemplos de cuando se utiliza un servidor web XML son: el consumo de servicios que proporcionan información, como tipos  de  cambio, estado  del  clima, precios  de productos, disponibilidad de  lugares  en  eventos, sin tener que responder a alguna interfaz de usuario, entonces se podría decir que un servicio web XML recibe peticiones y proporciona las respuestas utilizando protocolos estándar de la web.
En esta imagen se muestra el proceso al usar un servicio web XML y podemos observar como el cliente hace la petición y después del proceso obtiene una respuesta.
Resultado de imagen para servicio web xml



Servicio web SOAP


Se dice que es un servidor web SOAP porque esta su comunicación se basa en el protocolo Simple Object Access Protocol (SOAP), el cual quiere decir que es un protocolo estándar que define a dos objetos en distintos procesos y pueden comunicarse por medio de intercambios de datos XML, como anteriormente se explica XML sirve para tener comunicación. Este servicio web utiliza el protocolo HTTP para transportar sus datos.


Servicio web WSDL


WSDL (Web Service Definition Language) es una notación de XML, utilizada porque le indica a un cliente como componer una solicitud de servicio web y describe la interfaz que proporciona el proveedor del servicio web. También describe los servicios Web a través de los mensajes que se intercambian entre el proveedor del servicio y el cliente.


Servicio web REST


REST es una tecnología mucho más flexible comparada con SOAP, de igual manera utiliza el protocolo HTTP pero con la diferencia de que utiliza sus métodos para comunicarse como lo son: 

  • GET: sirve para leer recursos. 
  • POST: se utiliza para poder crear recursos en una aplicación.
  • PUT: utilizado para actualizar recursos.
  • DELETE: sirve para eliminar.
  • PATCH:  solo utiliza una parte de fragmento.

y algunos códigos de respuesta. Con REST se pueden enviar datos de tipo JSON, XML, imágenes, documentes, entre otros.


En la imagen se puede observar como es el proceso al utilizar el servicio web REST.


SOAP vs REST


Un ejemplo real
MercadoLibre tiene una API RESTful que permite interactuar con el sitio de forma simple.

Veamos un ejemplo de una llamada de acceso público: la que nos da información básica de un usuario.

La URL que se utiliza es https://api.mercadolibre.com/users/USERID/, por ejemplo https://api.mercadolibre.com/users/226384143/

El valor retornado es un string JSON.



Frameworks que se pueden emplear para desarrollar aplicaciones web basadas en servicios

Un framework son un conjunto de herramientas, estilos y librerías dispuestas a través de una estructura o esqueleto base, para el desarrollo de aplicaciones web más escalables y sencillas de mantener.
Resultado de imagen para Frameworks que se pueden emplear para desarrollar aplicacion web
Los frameworks que se pueden utilizar para desarrollar aplicaciones web basadas en los servicios web son:


  • Angular.js: este framework y se basa en JavaScript.
  • ruby on rails: esta basado en Ruby y es utilizado para desarrollar aplicaciones web.
  •  Yii: framework PHP de alto rendimiento basado en componentes.


Texto de Aprendizaje


Lo que aprendí en esta actividad fue que un servicio web es un sistema software diseñado para soportar la interacción entre dos dispositivos o más conectados a una res ya que un cliente hace la petición y el servidor es el encargado de responder, también como nuevos conocimientos adquiridos con esta actividad es que al investigar pude observar que un servidor web funciona en base a los estándares que existen como son: XML, SOAP, WSDL, REST y que cada uno de ellos trabajan con protocolos, el protocolo que más se ocupa es el HTTP que es el medio por el cual se transmiten los datos. Otra cosa que aprendí en esta semana fue como empezar a crear una aplicación en node.js, a instalar paquetes de dependencias con el comando npm y así poder trabajar, también comenzamos a trabajar con mongodb el cual nos va a generar bases de datos no SQL.

Referencias

Chojrin, M. (2007). Cómo consumir un Web Service Rest con PHP . Recuperado el 04 de septiembre de 2019, de Leeway Academi Sitio web: https://academy.leewayweb.com/como-consumir-un-webservice-rest-con-php/

Oblancarte, O. (2017). SOAP vs REST ¿Cuál es mejor?. Recuperado el 04 de septiembre de 2019, de Software Architect Sitio web: https://www.oscarblancarteblog.com/2017/03/06/soap-vs-rest-2/

Acedo, J. (2012). Web Service: Definición, utilización y estructura del WSDL. Recuperado el 04 de septiembre de 2019, de Apuntes de Programación Sitio web: http://programacion.jias.es/2012/01/web-service-definicion-utilizacion-estructura-del-wsdl/

Desconocido. (2017). Frameworks gratuitos para Aplicaciones Web. Recuperado el 04 de septiembre de 2019, de El baúl del programador Sitio Web: https://elbauldelprogramador.com/los-10-mejores-frameworks-gratis-de-aplicaciones-web/

Comentarios