2. Windows Communication Foundation o WCF
(también conocido como Indigo), es la plataforma de
mensajería que forma parte de la API de la
Plataforma .NET 3.0 (antes conocida como WinFX,
y que no son más que extensiones para la versión 2.0).
Se encuentra basada en la Plataforma .NET 2.0 y de
forma predeterminada se incluye en el Sistema
Operativo Microsoft Windows Vista.
Fue creada con el fin de permitir una programación
rápida de sistemas distribuidos y el desarrollo de
aplicaciones basadas en arquitecturas orientadas a
servicios (también conocido como SOA), con una
API simple; y que puede ejecutarse en una máquina
local, una LAN, o sobre Internet en una forma
segura.
3. DESARROLLANDO CON WCF
Los desarrolladores pueden crear aplicaciones utilizando WCF, y
aunque inicialmente fue desarrollado para este Sistema Operativo,
también puede ser utilizado en Windows XP y Windows 2003 Server.
Esto debido a una decisión tomada por Microsoft, para permitir su
utilización por la mayor parte de desarrolladores que trabajan sobre la
línea de productos relacionados con la tecnología .NET.
Es posible crear aplicaciones basadas en WCF utilizando Microsoft
Visual Studio 2005 en su entorno de desarrollo integrado. Microsoft ha
liberado un paquete de extensiones y un Kit de Desarrollo que puede ser
utilizado con esta tecnología y otras que se incluyen en la Plataforma
.NET v3.0.
El conjunto de clases .NET que conforman la API de WCF, están
basados en la Plataforma .NET 2.0 y son de libre distribución. El
compilador de Visual Studio, puede ser combinado con un IDE gratuito,
alguna solución para programación gratuita para desarrolladores no-
profesionales o estudiantes, en el caso que prefieran no desarrollar con
ediciones gratuitas o Express de Visual Studio 2005.
4. CARACTERISTICAS DE WFC
Orientación a servicios
Como consecuencia del uso de los estándares de WS,
WCF le permite crear aplicaciones orientadas a servicios.
SOA, la arquitectura orientada a servicios es el uso de
servicios web para enviar y recibir datos. Los servicios
tienen la ventaja general de estar débilmente acoplados
entre una aplicación y otra en lugar de incluidos en el
código. Una relación de acoplamiento débil implica que
cualquier cliente creado en cualquier plataforma puede
conectar con cualquier servicio siempre y cuando se
cumplan los contratos esenciales.
5. Interoperabilidad
WCF implementa los estándares del sector modernos
para la interoperabilidad de servicios web. Para
obtener más información sobre los estándares
admitidos, vea Interoperabilidad e integración.
Seguridad
Es posible cifrar los mensajes para proteger la
privacidad, así como obligar a los usuarios a que se
autentiquen antes de permitirles recibir mensajes. La
seguridad puede implementarse utilizando estándares
conocidos como SSL o WS-SecureConversation. Para
obtener más información, veaSeguridad en Windows
Communication Foundation.
6. Varios modelos de mensajes
Los mensajes se intercambian mediante uno de los
distintos modelos. El más común es el de
solicitud/respuesta, en que un extremo solicita datos
de otro extremo. y el otro extremo responde. Existen
otros modelos, como un mensaje unidireccional, en
que un único extremo envía un mensaje sin esperar
ninguna respuesta. Un modelo más complejo es el
modelo de intercambio dúplex donde dos extremos
establecen una conexión y envían datos hacia
delante y hacia atrás, similar a un programa de
mensajería instantánea. Para obtener más
información sobre cómo implementar diferentes
modelos de intercambio de mensajes mediante
WCF, vea Contratos.
7. Mensajes confiables y en cola
WCF admite intercambio de mensajes confiable usando
sesiones confiables implementadas sobre mensajería
WS-Reliable y mediante MSMQ. Para obtener más
información sobre la compatibilidad con mensajería
confiable y en cola en WCF, vea Colas y sesiones de
confianza.
Extensibilidad
La arquitectura de WCF tiene varios puntos de
extensibilidad. Si se necesita una función adicional,
existen una serie de puntos de entrada que le permiten
personalizar el comportamiento de un servicio. Para
obtener más información sobre los puntos de
extensibilidad disponibles, vea Extensión de WCF.
8. Transacciones
WCF también admite las transacciones que usan uno
de los tres modelos de transacción: las transacciones
WS-Atomic, las API del espacio de nombres
System.Transactions y Coordinador de transacciones
distribuidas de Microsoft. Para obtener más
información sobre la compatibilidad con transacciones
en WCF, vea Transacciones.
Compatibilidad con AJAX y REST
REST es un ejemplo de una tecnología de la Web 2.0
en evolución. WCF se puede configurar para procesar
datos XML “sin formato” que no se ajustan en un sobre
SOAP. WCF también se puede extender para admitir
formatos XML concretos, como ATOM (un estándar
popular de RSS), e incluso formatos no XML, como
notación de objetos JavaScript (JSON).