WCF es un conjunto de librerías que provee Microsoft en el framework .NET para la
construcción de aplicaciones orientadas a servicios.
Su objetivo básico es el de unificar las comunicaciones. No
importa que nuestra aplicación distribuida se comunique a través de TCP en unos
servicios, en otros en SOAP y en otros en REST, WCF da soporte a los anteriores
protocolos, permitiendo que el código de la aplicación desarrollada sea
independiente del protocolo que se vaya a utilizar.
WCF consigue dicha
independencia realizando una separación entre operaciones y datos. Establece un
contrato a través de una interfaz, y ésta a su vez será implementada por una
clase.
El servicio se compone a grandes rasgos de:
- Contrato de servicio (ServiceContract): expone una operación que nuestro servicio web es capaz de ejecutar. Se corresponde con una interfaz.
- Contrato de operación (OperationContract): expone el método que va a ser incluido en el ServiceContract y que será ofrecido al exterior para su uso por parte de los clientes.
- Contrato de datos (DataContract): implementa un tipo de dato que el servicio web será capaz de manejar. Generalmente, será el tipo de dato que manejará el contrato de servicio.
- Datos de miembro (DataMember): es el atributo que será enviado al cliente como parte del DataContract. No se enviarán los atributos que no tengan esta anotación.
- Implementación del servicio: implementará la interfaz correspondiente al contrato de servicio, haciendo uso del contrato de datos para intercambiar la información.
Un ejemplo de las partes en que se compone WCF viene
expuesto en el siguiente esquema:
| Esquema de relaciones entre los componentes de WCF |
En el esquema anterior se puede ver el contrato de servicio (ServiceContract)
que contiene la interfaz (IServiceContract)
con todos los contratos de operación (OperationContract).
Dicha interfaz es implementada, y a su vez, hace uso del contrato de datos (DataContract). En el ejemplo, el tipo de dato es Paciente que es enviado para uso de las OperationContract.
El uso de WCF en este proyecto y no de otra tecnología
de servicios se debe a la facilidad e independencia con la que trabaja a la
hora de realizar el despliegue de servicios web. Dicho lo cual
en el esquema anterior es posible ver con un simple golpe de vista las
relaciones existentes entre los componentes de WCF.
En el siguiente post hablaré de Windows Presentation Foundation (WPF).
En el siguiente post hablaré de Windows Presentation Foundation (WPF).
¡Saludos!
Álvaro Alcolea
No hay comentarios:
Publicar un comentario
Añade un comentario