Frameworks de Servicio en .NET


NET nos ofrece diferentes tecnologías de comunicación para realizar una capa de servicio.
Estos frameworks se componen de:

  • Protocolo:Es el canal de transporte utilizado para la comunicación (HTTP, TCP,…). En el canal la información del servicio viaja en un formato establecido (binario, xml, json…).
  • Modelos del Servicio: La información enviada al servicio o recibida del servicio.
  • Métodos del Servicio: Las operaciones ofrecidas por el servicio.
  • Ámbito: Cual es el objetivo de uso.

Frameworks de Servicio en .NET

Principalmente existen tres frameworks, vamos a comentarlos:

  • Web API
  • WCF: Windows Comunication Foundation
  • WebService

Web API

Como se desglosan los componentes:

  • Protocolo: Al api se accede mediante peticiones HTTP (el método de la petición indica la operación CRUD); enviando el modelo en JSON o XML (en función del Content-Type o Accept Header).
    Tabla de equivalencia de métodos a operaciones:

    Método Operación
    POST Create
    GET Read
    PUT Update
    DELETE Delete
  • Modelos del Servicio: Una clase normal.
    	
    public class Person {
    	int Id {get; set;}
    	String Name {get; set;}
    }
    
  • Métodos del Servicio: La api se expone mediante una clase que hereda de ApiController (similar al Controller de MVC).
    		
    public class PersonController : ApiController 
    {
    	Product GetPerson(int id)
    	HttpResponseMessage<Person> PostPerson(Person person)	
    }
    
  • Ámbito: Simplicidad y productividad.

WCF: Windows Comunication Foundation

Como se desglosan los componentes:

  • Protocolo: No esta establecido. En WCF, el framework tiene la capacidad de permitir configurar el tipo de protocolo que se va utilizar en la comunicación (TCP, HTTP, protocolo custom…). Así mismo también se puede configurar como enviar el modelo: texto, xml, binario….
  • Modelos del Servicio: La clase se enriquece con atributos.
    			
    [DataContract] 
    public class Item 
    { 
        [DataMember] 
        public int Id; 
        [DataMember] 
        public String Name; 
    }
    
  • Métodos del Servicio: De la misma manera la api se ofrece enriqueciendo los métodos con atributos.
    		
    [ServiceContract] 
    public interface IPersonService 
    { 
           [OperationContract] 
           Person GetPerson(int id); 
    
           [OperationContract] 
           void CreatePerson(Person person); 	   
    } 
    
    public class PersonService : IPersonService 
    { 
    ...
    }
    
  • Ámbito: Adaptabilidad pero a costa de mayor complejidad en su uso..

WebService

Como se desglosan los componentes:

  • Protocolo: SOAP (XML descriptivo sobre protocolo de transporte HTTP). El modelo se envía en XML.
  • Modelos del Servicio: Una clase normal.
    	
    public class Person {
    	int Id {get; set;}
    	String Name {get; set;}
    }
    
  • Métodos del Servicio: Se hereda de la clase WebService y se enriquece los métodos con atributos.
    	
    [WebService] 
    public class PersonService : System.Web.Services.WebService 
    { 
          [WebMethod] 
          public Person GetPerson(int id); 
    	  [WebMethod] 
    	  public void CreatePerson(Person person); 	   
    }
    
  • Ámbito: El protocolo más standard entre diferentes plataformas de desarrollo.
Anuncios
Esta entrada fue publicada en Desarrollo, Diseño y etiquetada , , . 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