martes, 11 de octubre de 2016

WCF y ASP.NET Web API

WCF: es un modelo unificado de programación propuesto por Microsoft para aplicaciones orientadas a servicios. Este modelo permite a los programadores compilar soluciones con transacción seguras y de confianza, que se integren en diferentes plataformas y que además interoperen con las inversiones existentes.

ASP.NET Web API: es un framework que tiene como objetivo facilitar la construcción de servicios HTTP que llegan a una gran variedad de clientes, incluidos los exploradores y los dispositivos móviles. Este framework es ideal para la compilación de aplicaciones RESTful orientadas a ofrecer servicios.

Se habla mucho de las Web Api de .Net como alternativa para desarrollo de aplicaciones orientadas a servicios. Pero para poder tomar una decisión adecuada en el contexto que nos encontremos será necesario tener en cuenta algunas puntualizaciones de estas dos opciones.

¿Que me ofrece ASP.Net. Web Api?.
  • Funciona en la forma de HTTP usando verbos estándares como GET, POST, PUT, DELETE para operaciones CRUD (crear, reportar, actualizar, eliminar).
  • Soporte completo para enrutamiento.
  • Respuesta generada en formato JSON o XML usando MediaTypeFormatter.
  • Tiene la habilidad de ser hospedado en IIS (Internet Information Services).
  • Soporta enlace de modelos y validación.
  • Soporte para OData.
Bueno eso ofrece ASP.Net Web Api, pero tenemos que puntualizar algunas cosas.


WFC está diseñado para intercambiar mensajes estándares basados en SOAP usando una variedad de protocolos de transporte como HTTP, TCP, Named Pipes, MSMQ, etc.

ASP.NET Web API es un framework para construir servicios que no están basados en SOAP, solamente sobre HTTP.

Como podemos notar existen claras diferencias que no se detallan en este blog pero que de seguro no darán un buen punto de partida para adentrarnos mas en el tema.

Bueno antes de terminar quisiera dejar en claro algo mas que leí y escuche en mi centro de labores. Decián que las Web Api de .Net reemplazarian a WCF el cual ya se debería extinguir. Bueno esto no es algo acertado de acuerdo a la documentación encontrada podría decir lo siguiente.

Existen algunas ventajas pero WCF es aún la mejor opción para los siguientes escenarios.
  • Si vamos a usar un transporte diferente a HTTP como por ejemplo TCP, UDP o Named Pipes.
  • Escenario de encolamiento de mensajes usando MSMQ.
  • Comunicación de una sola vía o comunicación dúplex.
Por lo tanto son dos formas de construir servicios y seria totalmente errado decir que las Web Api de .net reemplazaran a WCF.






No hay comentarios:

Publicar un comentario