Implementando Web API en ASP.NET MVC

La mayoría de las aplicaciones Web, aplicaciones de escritorio o aplicaciones móviles, requieren de una integración con sistemas externos. Una forma recomendada para implementar esa integración es a través de APIs Web. Debido a esto, es importante conocer la forma de crear y utilizar APIs Web (Web APIs) para poder implementar adecuadamente la interacción de las aplicaciones con sistemas externos.

Podemos utilizar APIs Web para implementar servicios de Transferencia de Estado Representacional (Representational State Transfer o REST) en una aplicación. Los servicios REST ayudan a reducir la sobrecarga de la aplicación y limitan los datos que son transmitidos entre los sistemas cliente y servidor.

Para poder implementar de forma efectiva APIs Web estilo REST en una aplicación, es necesario conocer la forma de invocar a los servicios de APIs Web desde aplicaciones ejecutándose en distintas plataformas, tales como, aplicaciones .NET, jQuery, Android, iOS, Windows Phone o Windows 10.

¿Qué es Web API?

API es un acrónimo de Application Programming Interface (Interfaz de Programación de Aplicaciones). Tradicionalmente, de forma local, una API se expone a través de archivos DLL. En la Web, una API se expone a través de Servicios Web que permiten que las aplicaciones cliente obtengan y realicen operaciones con los datos que el servicio expone.

Existen distintos tipos de Servicios Web que se caracterizan principalmente por la forma en que realizan la comunicación con el cliente y el formato en que intercambian información. Un ejemplo de estos servicios son los Servicios Web que utilizan SOAP (Simple Object Access Protocol) como protocolo de comunicación e intercambio de datos en formato XML. En la actualidad, una opción para exponer APIs en la Web es mediante Servicios REST. REST es un acrónimo de Representational State Transfer (Transferencia de Estado Representacional) y es un estilo de arquitectura de software para crear APIs que utilicen HTTP como su método de comunicación subyacente. El término REST se originó en el año 2000, en una tesis doctoral sobre la Web escrita por Roy Fielding, uno de los principales autores de la especificación del protocolo HTTP.

ASP.NET Web API es un Framework que forma parte de ASP.NET MVC y que permite construir APIs habilitadas para REST. Las APIs habilitadas para REST ayudan a que sistemas externos utilicen la lógica de negocios implementada en una aplicación, incrementando la reutilización de dicha lógica.

Web API facilita la comunicación de dos vías entre el cliente y el servidor a través de tareas tales como:

  • Indicar a una aplicación realizar una tarea específica.
  • Leer datos.
  • Actualizar datos.

Web API permite que los desarrolladores obtengan información de negocio mediante el uso de REST sin crear peticiones XML complicadas tal como en los servicios SOAP. Web API recibe las peticiones directamente en los URLs, eliminando de este modo la necesidad de peticiones complicadas. Por ejemplo, el siguiente URL obtiene información de una entidad Product con el identificador 1.

http://northwind.com/api/products/1

Web API utiliza el URL de las peticiones y obtiene resultados en formato JSON. JSON es un acrónimo de JavaScript Object Notation y es un formato ligero para intercambio de datos. Para las personas resulta de fácil lectura y escritura mientras que para las máquinas les resulta fácil analizarlo y generarlo. JSON está basado en un subconjunto del lenguaje de programación JavaScript. Es un formato de texto que es completamente independiente del lenguaje, pero utiliza convenciones que son familiares para los programadores de lenguajes de la familia C, incluyendo C++, C#, Java, JavaScript, Perl, Python y muchos otros. Estas propiedades hacen que JSON sea ideal para el intercambio de datos.

Para mayor información acerca de JSON les recomiendo visitar el siguiente enlace:

Introducing JSON
http://json.org

El siguiente código muestra una respuesta de una petición Web API en formato JSON.

[{“Id”:1,”Name”:”Chai”,”Category”:”Beverages”,”Price”:18.0000},{“Id”:2,”Name”:”Chang”,”Category”:”Beverages”,”Price”:19.0000},{“Id”:3,”Name”:”Aniseed Syrup”,”Category”:”Condiments”,”Price”:10.0000}]

REST y Web API permiten que todos los diferentes tipos de aplicaciones, incluyendo aplicaciones para dispositivos móviles, interactúen con servicios. En particular, REST y Web API proporcionan los siguientes beneficios para aplicaciones móviles:

  • Reducen el poder de procesamiento necesario para crear mensajes de petición complejos para obtener datos.
  • Mejoran el rendimiento de la aplicación reduciendo la cantidad de intercambio de datos entre el cliente y el servidor.

Los siguientes videos proporcionan más información acerca de Web API. El texto publicado aquí, así como los videos, forman parte del entrenamiento en línea “Implementando Web API en ASP.NET MVC” impartido por TI Capacitación. En el entrenamiento se enseña a crear servicios REST con Web API y la forma de consumirlos desde aplicaciones ASP.NET MVC, WPF, UWP, Windows Phone, iOS y Android con Xamarin. Pueden solicitar una beca para participar gratuitamente en la lección 1 de ese entrenamiento, enviando un correo a informes@ticapacitacion.com.

¿Qué es Web API?

Creando una API Web con el Framework ASP.NET Web API 

Contenido del entrenamiento en línea: Implementando Web API en ASP.NET MVC

 

Saludos!

 

 

 

 

Esta entrada fue publicada en Varios. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s