Sunday, April 6, 2014

Creación de un Cliente para ServiceStack en C#

En la entrada anterior, creamos un servicio Saludo utilizando ServiceStack que permitía procesar cualquier verbo HTTP, recibir un nombre y devolver un saludo. También hicimos la prueba del mismo utilizando el verbo GET mediante el navegador. En esta entrada crearemos una aplicación de consola que, utilizando las librerías cliente de ServiceStack, nos permitirá interactuar con el servicio de forma fácil y cómoda, como si se tratara de una librería más.

Introducción a ServiceStack

ServiceStack es un framework opensource que se presenta como alternativa a WCF para la creación de Web Services .Net sobre HTTP. Al haber sido desarrollado en años recientes (tiene alrededor de 4 años en el mercado), provee una forma rápida y limpia de desarrollar servicios web orientados a la utlización de POCOS (Plain Old CRL Objects).

Ventajas:
  • Simplicidad
  • Velocidad
  • Uso de las mejores prácticas
  • Orientado a modelos
  • Sin conocimiento de los endpoints, se envía un objecto C#, se recibe un objeto C#.
  • No utiliza configuraciones en XML, no utiliza código autogenerado, utiliza convenciones.
  • Disponible para .NET y para MONO (compatibilidad con sistemas Linux)
  • Servicios altamente testeables, pues están totalmente desacoplados de HTTP
Diferentes Endpoints

Ya que diferentes endpoints tienen diferentes ventajas según el contexto. ServiceStack soporta los siguientes endpoints de forma inicial:
  •  XML ( + urls GET REST)
  • JSON (+ urls GET REST)
  • JSV (+urls GET REST): Json-like separeted values, es un formato inspirado en JSON que usa un estilo CSV para una mejor performance.
  • SOAP 1.1/1.2
Creación de un Servicio Básico

Creando clientes WebApi con HttpClient en Vs2010

Con la aparición del .net framework 4.5 y la versión 5 del lenguaje C#, surgió la clase HttpClient. Esta clase fue especialmente creada para manejar todo tipo de request sobre http. Podemos utilizar esta clase en VS2010 si hemos instalado MVC4 (http://www.asp.net/mvc/mvc4). En esta entrada, crearemos un cliente para nuestro servicio WebAPI utilizando la clase HttpClient.

Thursday, April 3, 2014

Introducción a Web API


Cuando se lanzó la versión 4 de ASP .NET, Microsoft introdujo entre sus novedades Web API. Este, es un framework diseñado especificamente para la creación de servicios REST con HTTP. Algunos puntos a considerar son:
  • Solo usa HTTP como medio de transporte. Usa un modelo de programación específico para esto, que es más accesible de distintos navegadores, dispostivos móviles, etc. permitiendo un amplio alcance.
  • Permite variedad de tipos de media como XML, JSON, etc.
  • Usa protocolos y formatos básicos. No existe soporte para protocolos de alto nivel como mensajería confiable o transacciones.
  • Viene integrado en el .NET framework pero también está disponible como una descarga independiente.
  • Reutiliza el sistema de routing ya existente en ASP .NET MVC, por lo cual la adaptación es mucho más rápida para programadores que conozcan dicho framework.
Creando una primera aplicación Web API