¿Qué es Windows Communication Foundation?What Is Windows Communication Foundation

Windows Communication Foundation (WCF) es un marco para crear aplicaciones orientadas a servicios.Windows Communication Foundation (WCF) is a framework for building service-oriented applications. Con WCF, puede enviar datos como mensajes asincrónicos de un extremo de servicio a otro.Using WCF, you can send data as asynchronous messages from one service endpoint to another. Un extremo de servicio puede formar parte de un servicio disponible continuamente hospedado por IIS, o puede ser un servicio hospedado en una aplicación.A service endpoint can be part of a continuously available service hosted by IIS, or it can be a service hosted in an application. Un extremo puede ser un cliente de un servicio que solicita datos de un extremo de servicio.An endpoint can be a client of a service that requests data from a service endpoint. Los mensajes pueden ser tan simples como un carácter o una palabra que se envía como XML, o tan complejos como una secuencia de datos binarios.The messages can be as simple as a single character or word sent as XML, or as complex as a stream of binary data. A continuación se indican unos cuantos escenarios de ejemplo:A few sample scenarios include:

  • Un servicio seguro para procesar transacciones comerciales.A secure service to process business transactions.

  • Un servicio que proporciona datos actualizados a otras personas, como un informe sobre tráfico u otro servicio de supervisión.A service that supplies current data to others, such as a traffic report or other monitoring service.

  • Un servicio de chat que permite a dos personas comunicarse o intercambiar datos en tiempo real.A chat service that allows two people to communicate or exchange data in real time.

  • Una aplicación de panel que sondea los datos de uno o varios servicios y los muestra en una presentación lógica.A dashboard application that polls one or more services for data and presents it in a logical presentation.

  • Exponer un flujo de trabajo implementado utilizando Windows Workflow Foundation como un servicio WCF.Exposing a workflow implemented using Windows Workflow Foundation as a WCF service.

  • Una aplicación de Silverlight para sondear un servicio en busca de las fuentes de datos más recientes.A Silverlight application to poll a service for the latest data feeds.

Si crear tales aplicaciones era posible antes de la existencia de WCF, WCF facilita el desarrollo de los puntos de conexión que nunca.While creating such applications was possible prior to the existence of WCF, WCF makes the development of endpoints easier than ever. En resumen, WCF está diseñado para ofrecer un enfoque manejable a la creación de servicios Web y clientes de servicios Web.In summary, WCF is designed to offer a manageable approach to creating Web services and Web service clients.

Características de WCFFeatures of WCF

WCF incluye el siguiente conjunto de características.WCF includes the following set of features. Para obtener más información, consulte detalles de características de WCF.For more information, see WCF Feature Details.

  • Orientación a serviciosService Orientation

    Una consecuencia del uso de los estándares de WS es que WCF le permite crear orientadas a servicios aplicaciones.One consequence of using WS standards is that WCF enables you to create service oriented applications. SOA, la arquitectura orientada a servicios es el uso de servicios web para enviar y recibir datos.Service-oriented architecture (SOA) is the reliance on Web services to send and receive data. 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.The services have the general advantage of being loosely-coupled instead of hard-coded from one application to another. 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.A loosely-coupled relationship implies that any client created on any platform can connect to any service as long as the essential contracts are met.

  • InteroperabilidadInteroperability

    WCF implementa los estándares del sector modernos para la interoperabilidad del servicio Web.WCF implements modern industry standards for Web service interoperability. Para obtener más información acerca de los estándares admitidos, consulte interoperabilidad e integración.For more information about the supported standards, see Interoperability and Integration.

  • Varios patrones de mensajesMultiple Message Patterns

    Los mensajes se intercambian mediante uno de los distintos patrones.Messages are exchanged in one of several patterns. El más común es el de solicitud/respuesta, en que un extremo solicita datos de otro extremo.The most common pattern is the request/reply pattern, where one endpoint requests data from a second endpoint. y el otro extremo responde.The second endpoint replies. Existen otros patrones, como un mensaje unidireccional, en que un único extremo envía un mensaje sin esperar ninguna respuesta.There are other patterns such as a one-way message in which a single endpoint sends a message without any expectation of a reply. Un patrón más complejo es el patrón 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.A more complex pattern is the duplex exchange pattern where two endpoints establish a connection and send data back and forth, similar to an instant messaging program. Para obtener más información sobre cómo implementar el intercambio de mensajes diferentes patrones de uso de WCF vea contratos.For more information about how to implement different message exchange patterns using WCF see Contracts.

  • Metadatos de serviciosService Metadata

    WCF admite la publicación de servicio de metadatos utilizando formatos especificados en los estándares del sector como WSDL, esquemas XML y WS-Policy.WCF supports publishing service metadata using formats specified in industry standards such as WSDL, XML Schema and WS-Policy. Estos metadatos se pueden usar para generar automáticamente y configurar a clientes para tener acceso a los servicios WCF.This metadata can be used to automatically generate and configure clients for accessing WCF services. Los metadatos se pueden publicar sobre HTTP y HTTPS, o utilizando el estándar Intercambio de metadatos de servicios web.Metadata can be published over HTTP and HTTPS or using the Web Service Metadata Exchange standard. Para obtener más información, consulte metadatos.For more information, see Metadata.

  • Contratos de datosData Contracts

    Dado que WCF se compila con .NET Framework, también incluye métodos con código sencillo proporcionar los contratos que desea aplicar.Because WCF is built using the .NET Framework, it also includes code-friendly methods of supplying the contracts you want to enforce. Uno de los tipos de contrato universales es el contrato de datos.One of the universal types of contracts is the data contract. Básicamente, mientras se escribe el código del servicio usando Visual C# o Visual Basic, la forma más sencilla de controlar los datos consiste en crear clases que representan una entidad de datos con propiedades que pertenecen a la misma.In essence, as you code your service using Visual C# or Visual Basic, the easiest way to handle data is by creating classes that represent a data entity with properties that belong to the data entity. WCF incluye un completo sistema para trabajar con datos de esta manera fácil.WCF includes a comprehensive system for working with data in this easy manner. Cuando se han creado las clases que representan los datos, el servicio genera automáticamente los metadatos que permiten a los clientes ajustarse a los tipos de datos que se han diseñado.Once you have created the classes that represent data, your service automatically generates the metadata that allows clients to comply with the data types you have designed. Para obtener más información, consulte Using Data ContractsFor more information, see Using Data Contracts

  • SeguridadSecurity

    Es posible cifrar los mensajes para proteger la privacidad, así como obligar a los usuarios a que se autentiquen antes de permitirles recibir mensajes.Messages can be encrypted to protect privacy and you can require users to authenticate themselves before being allowed to receive messages. La seguridad puede implementarse utilizando estándares conocidos como SSL o WS-SecureConversation.Security can be implemented using well-known standards such as SSL or WS-SecureConversation. Para más información, consulte Seguridad.For more information, see Security.

  • Varios transportes y codificacionesMultiple Transports and Encodings

    Los mensajes pueden enviarse con cualquiera de los protocolos y codificaciones integrados.Messages can be sent on any of several built-in transport protocols and encodings. Más frecuente de protocolo y codificación consiste en enviar texto con codificación de mensajes SOAP mediante el protocolo de transferencia de hipertexto (HTTP) para su uso en World Wide Web.The most common protocol and encoding is to send text encoded SOAP messages using the HyperText Transfer Protocol (HTTP) for use on the World Wide Web. Como alternativa, WCF le permite enviar mensajes a través de TCP, canalizaciones con nombre o MSMQ.Alternatively, WCF allows you to send messages over TCP, named pipes, or MSMQ. Estos mensajes pueden codificarse como texto o utilizando un formato binario optimizado.These messages can be encoded as text or using an optimized binary format. Los datos binarios pueden enviarse de manera eficaz utilizando el estándar MTOM.Binary data can be sent efficiently using the MTOM standard. Si ninguno de los transportes o codificaciones proporcionados satisface sus necesidades, puede crear uno personalizado.If none of the provided transports or encodings suit your needs you can create your own custom transport or encoding. Para obtener más información acerca de los transportes y codificaciones admitidos por WCF vea transportes.For more information about transports and encodings supported by WCF see Transports.

  • Mensajes confiables y en colaReliable and Queued Messages

    WCF admite intercambio de mensajes confiable utilizando sesiones confiables implementadas sobre WS-Reliable Messaging y utilizando MSMQ.WCF supports reliable message exchange using reliable sessions implemented over WS-Reliable Messaging and using MSMQ. Para obtener más información sobre la compatibilidad con mensajería confiable y en cola en WCF, vea colas y sesiones confiables.For more information about reliable and queued messaging support in WCF see Queues and Reliable Sessions.

  • Mensajes duraderosDurable Messages

    Un mensaje duradero es aquel que nunca se pierde debido a una interrupción de la comunicación.A durable message is one that is never lost due to a disruption in the communication. Los mensajes que forman parte de un patrón de mensajes duraderos siempre se guardan en una base de datos.The messages in a durable message pattern are always saved to a database. Si se produce una interrupción, la base de datos le permite reanudar el intercambio de mensajes cuando se restablezca la conexión.If a disruption occurs, the database allows you to resume the message exchange when the connection is restored. También puede crear un mensaje duradero utilizando Windows Workflow Foundation (WF).You can also create a durable message using the Windows Workflow Foundation (WF). Para obtener más información, consulte servicios de flujo de trabajo.For more information, see Workflow Services.

  • TransaccionesTransactions

    WCF también admite transacciones mediante uno de los tres modelos de transacción: WS-Atomic, las API en el System.Transactions espacio de nombres y el Coordinador de transacciones distribuidas de Microsoft.WCF also supports transactions using one of three transaction models: WS-AtomicTtransactions, the APIs in the System.Transactions namespace, and Microsoft Distributed Transaction Coordinator. Para obtener más información acerca de la transacción de soporte técnico en WCF vea transacciones.For more information about transaction support in WCF see Transactions.

  • Compatibilidad con AJAX y RESTAJAX and REST Support

    REST es un ejemplo de una tecnología de la Web 2.0 en evolución.REST is an example of an evolving Web 2.0 technology. WCF se puede configurar para procesar datos XML "sin formato" que no se ajustan en un sobre SOAP.WCF can be configured to process "plain" XML data that is not wrapped in a SOAP envelope. WCF también puede ampliarse para admitir formatos XML concretos, como ATOM (un estándar popular de RSS) e incluso formatos no XML, como JavaScript Object Notation (JSON).WCF can also be extended to support specific XML formats, such as ATOM (a popular RSS standard), and even non-XML formats, such as JavaScript Object Notation (JSON).

  • ExtensibilidadExtensibility

    La arquitectura de WCF tiene un número de puntos de extensibilidad.The WCF architecture has a number of extensibility points. Si se necesita una función adicional, existen una serie de puntos de entrada que le permiten personalizar el comportamiento de un servicio.If extra capability is required, there are a number of entry points that allow you to customize the behavior of a service. Para obtener más información acerca de extensibilidad disponibles vea puntos Extending WCF.For more information about available extensibility points see Extending WCF.

Integración de WCF con otras tecnologías de MicrosoftWCF Integration with Other Microsoft Technologies

WCF es una plataforma flexible.WCF is a flexible platform. Debido a esta flexibilidad extrema, WCF también se usa en otros productos de Microsoft.Because of this extreme flexibility, WCF is also used in several other Microsoft products. Al comprender los conceptos básicos de WCF, tiene una ventaja inmediata si también utiliza cualquiera de estos productos.By understanding the basics of WCF, you have an immediate advantage if you also use any of these products.

La primera tecnología en adaptarse con WCF fue Windows Workflow Foundation (WF).The first technology to pair with WCF was the Windows Workflow Foundation (WF). Los flujos de trabajo simplifican el desarrollo de aplicaciones encapsulando los pasos del flujo de trabajo como "actividades".Workflows simplify application development by encapsulating steps in the workflow as "activities." En la primera versión de Windows Workflow Foundation, un desarrollador tenía que crear un host del flujo de trabajo.In the first version of Windows Workflow Foundation, a developer had to create a host for the workflow. La próxima versión de Windows Workflow Foundation se integra con WCF.The next version of Windows Workflow Foundation was integrated with WCF. Que permite que cualquier flujo de trabajo fácilmente hospedarse en un servicio WCF.That allowed any workflow to be easily hosted in a WCF service. Puede hacerlo si elige automáticamente el tipo de proyecto WF/WCF en Visual Studio 2012 o posterior.You can do this by automatically choosing the WF/WCF project type in Visual Studio 2012 or later.

Microsoft BizTalk Server R2 también utiliza WCF como tecnología de comunicaciones.Microsoft BizTalk Server R2 also utilizes WCF as a communication technology. BizTalk está diseñado para recibir y transformar datos de un formato normalizado en otro.BizTalk is designed to receive and transform data from one standardized format to another. Los mensajes deben entregarse en su cuadro de mensajes central, donde es posible transformar el mensaje utilizando una asignación estricta o mediante una de las características de BizTalk, como su motor de flujo de trabajo.Messages must be delivered to its central message box where the message can be transformed using either a strict mapping or by using one of the BizTalk features such as its workflow engine. BizTalk ahora puede usar el adaptador de WCF línea de negocio (LOB) para entregar mensajes en el cuadro de mensaje.BizTalk can now use the WCF Line of Business (LOB) adapter to deliver messages to the message box.

Microsoft Silverlight es una plataforma para la creación de sofisticadas aplicaciones web interoperables que permiten a los desarrolladores crear sitios Web con uso intensivo de contenidos multimedia (como la transmisión de vídeo por secuencias).Microsoft Silverlight is a platform for creating interoperable, rich Web applications that allow developers to create media-intensive Web sites (such as streaming video). A partir de la versión 2, Silverlight incorpora WCF como tecnología de comunicaciones para conectar las aplicaciones de Silverlight a puntos de conexión WCF.Beginning with version 2, Silverlight has incorporated WCF as a communication technology to connect Silverlight applications to WCF endpoints.

El características de hospedaje de Windows Server AppFabrichosting features of Windows Server AppFabric se ha diseñado específicamente para implementar y administrar las aplicaciones que usan WCF para la comunicación de servidor de aplicaciones.The características de hospedaje de Windows Server AppFabrichosting features of Windows Server AppFabric application server is specifically built for deploying and managing applications that use WCF for communication. El características de hospedajehosting features incluye opciones de configuración y herramientas enriquecidas diseñadas específicamente para aplicaciones habilitadas para WCF.The características de hospedajehosting features includes rich tooling and configuration options specifically designed for WCF-enabled applications.

Vea tambiénSee also