martes, 28 de julio de 2015

WCF – Windows Communication Foundation

Como WCF es una plataforma para construir aplicaciones orientadas  a servicios, es importante para entender el concepto, manejar definiciones de XML, XSD (Schema Definition), SOAP, Web Services Description Language (WSDL) y SOAP (WS-Addressing, WS-Security, WS-Policy etc.).

WCF and Web Services Standards


WCF está organizado en contratos y estos se relacionan directamente con un estándar de servicios

Definición del Comportamiento de los contratos

El comportamiento está dado por los atributos provistos por la librería System.ServiceModel  que regulan tres aspectos fundamentales:


  1. Como el servicio se comporta y que atributos expone
  2. Cuando el servicio puede producir  fallas y que tipo de fallas se pueden producir.
  3. Tipo de Comunicación requerida, si es en una sola vía o en dos vías entre el cliente y el servicio.
Patrón de Intercambio de mensajes (MEP)  Message Exchage Patterns

Corresponde a los valores que puede tomar la propiedad OperationContractAttribute y en la forma en que el cliente establece comunicación con el servicio.

1.       Request/Response

Como valor predeterminado IsOneWay contiene “false”, así que si tu no estas en un canal dúplex, estas usando Response/Request.

2.       OneWay

Se ajusta al caso en el cual necesitamos enviar mensajes a un servicio sin obtener respuesta, es decir enviar algún parámetro que desencadenará un proceso de lógica de negocio, sin retornar nada al cliente.

3.       Duplex

Se ajusta a dos escenarios:

El cliente realiza una petición al servicio para iniciar un proceso largo que cuando termine de ejecutarse debe confirmarnos en un mensaje de retorno que el proceso fue completado correctamente.

El cliente necesita recibir mensajes no solicitados del servicio.

Aquí trabajan en conjunto dos propiedades del servicio

  • CallbackContract : Se asocia con el ServiceContract y se encarga de responder.
  • ServiceContract : Se encarga de ejecutar la operación.


No siempre es buena idea utilizarlo, debido a que el cliente necesitará una conexión hacia el cliente, y esto no siempre es permitido por razones de seguridad.

Ejemplo de Arquitectura WCF




No hay comentarios:

Publicar un comentario