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

Windows Communication Foundation (WCF) es un marco para generar aplicaciones orientadas a servicios.Windows Communication Foundation (WCF) is a framework for building service-oriented applications. Usa 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 bien era posible antes de que existiera WCF crear tales aplicaciones, WCF simplifica el desarrollo de los puntos de conexión más fácil 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 para 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 las características WCF.For more information, see WCF Feature Details.

  • Orientación a serviciosService Orientation

    Una consecuencia del uso de estándares de WS es que WCF 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 de servicios 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 los 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 pueden utilizarse para generar y configurar automáticamente clientes para tener acceso a los servicios de 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 utilizando el .NET Framework.NET Framework, también incluye métodos con código sencillo para proporcionar los contratos que desea aplicar.Because WCF is built using the .NET Framework.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, vea usar contratos de datosFor 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. Cuanto más frecuente de protocolo y codificación consiste en enviar texto codificado 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, denominado canalizaciones 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 usando sesiones confiables implementadas sobre mensajería WS-Reliable y mediante 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 de 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 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.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 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 se puede extender 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 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 sobre la extensibilidad disponible puntos, consulte extensión de 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 utiliza en varios otros productos de Microsoft.Because of this extreme flexibility, WCF is also used in several other Microsoft products. Si comprende los fundamentos de WCF, tendrá 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 a 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 para el 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 integró con WCF.The next version of Windows Workflow Foundation was integrated with WCF. Esto permitió hospedar fácilmente en un servicio WCF; cualquier flujo de trabajo Puede hacerlo eligiendo WF/WCF automáticamente un tipo de proyecto en Visual Studio 2012Visual Studio 2012.That allowed any workflow to be easily hosted in a WCF service; you can do this by automatically choosing the WF/WCF a project type in Visual Studio 2012Visual Studio 2012.

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 extremos 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 servidor de aplicaciones se ha diseñado específicamente para implementar y administrar las aplicaciones que usan WCF para comunicarse.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 sofisticadas opciones de configuración y herramientas 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

System.ServiceModel
Conceptos básicos de Windows Communication FoundationFundamental Windows Communication Foundation Concepts
Arquitectura de Windows Communication FoundationWindows Communication Foundation Architecture
Instrucciones y procedimientos recomendadosGuidelines and Best Practices
Tutorial de introducciónGetting Started Tutorial
Guía de la documentaciónGuide to the Documentation
Programación básica de WCFBasic WCF Programming
Ejemplos de Windows Communication FoundationWindows Communication Foundation Samples