SlideShare una empresa de Scribd logo
1 de 9
Windows Communication Foundation (WCF) es un marco de trabajo para la creación
de aplicaciones orientadas a servicios. Con WCF, es posible enviar datos como
mensajes asincrónicos de un extremo de servicio a otro. 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. Un extremo puede ser un cliente de un
servicio que solicita datos de un extremo de servicio. 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. A continuación se indican unos cuantos escenarios de
ejemplo:
 Un servicio seguro para procesar transacciones comerciales.
 Un servicio que proporciona datos actualizados a otras personas, como un informe
sobre tráfico u otro servicio de supervisión.
 Un servicio de chat que permite a dos personas comunicarse o intercambiar datos
en tiempo real.
 Una aplicación de panel que sondea los datos de uno o varios servicios y los muestra
en una presentación lógica.
 Exponer un flujo de trabajo implementado utilizando Windows Workflow
Foundation como un servicio WCF.
 Una aplicación de Silverlight para sondear un servicio en busca de las fuentes de
datos más recientes.
 Si bien era posible crear tales aplicaciones antes de que existiera WCF, con WCF el
desarrollo de extremos resulta más sencillo que nunca. En resumen, WCF se ha
diseñado para ofrecer un enfoque manejable para la creación de servicios web y
clientes de servicios web.
 Orientación a servicios
Como consecuencia del uso de los estándares de WS, WCF le permite crear
aplicaciones orientadas a servicios.
 Interoperabilidad
WCF implementa los estándares del sector modernos para la interoperabilidad de servicios
web.
 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.
 Metadatos de servicios
WCF admite la publicación de metadatos de servicios utilizando los formatos especificados
en los estándares de la industria, como WSDL, Esquemas XML y WS-Policy. Estos metadatos
pueden utilizarse para generar y configurar automáticamente clientes para el acceso a los
servicios de WCF.
 Contratos de datos
Dado que WCF se basa en .NET Framework, también incluye métodos con código sencillo
para proporcionar los contratos que desea aplicar.
 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.
 Varios transportes y codificaciones
Los mensajes pueden enviarse con cualquiera de los protocolos y codificaciones integrados.
La combinación más frecuente de protocolo y codificación consiste en enviar mensajes
SOAP codificados de texto utilizando el Protocolo de transferencia de hipertexto (HTTP)
usado en World Wide Web.
 Mensajes confiables y en cola
WCF admite intercambio de mensajes confiable usando sesiones confiables implementadas
sobre mensajería WS-Reliable y mediante MSMQ.
 Mensajes duraderos
Un mensaje duradero es aquel que nunca se pierde debido a una interrupción de la
comunicación. Los mensajes que forman parte de un modelo de mensajes duraderos
siempre se guardan en una base de datos.
 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.
 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.
 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).
WCF es una plataforma flexible. Debido a esta flexibilidad extrema, WCF también se usa en varios
otros productos Microsoft. Si comprende los fundamentos de WCF, tendrá una ventaja inmediata si
también utiliza cualquiera de estos productos.
La primera tecnología en adaptarse a WCF fue Windows Workflow Foundation (WF). Los flujos de
trabajo simplifican el desarrollo de aplicaciones encapsulando los pasos del flujo de trabajo como
“actividades”. En la primera versión de Windows Workflow Foundation, un desarrollador tenía que
crear un host para el flujo de trabajo. La versión siguiente de Windows Workflow Foundation se
integró con WCF. Esto permitió hospedar cualquier flujo de trabajo fácilmente en un servicio de
WCF; puede hacer esto si elige automáticamente el tipo de proyecto WF/WCF en Visual Studio
2012.
Microsoft BizTalk Server R2 también utiliza WCF como tecnología de comunicaciones. BizTalk está
diseñado para recibir y transformar datos de un formato normalizado en otro. 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. BizTalk ahora puede utilizar el adaptador de línea de negocio (LOB, Line Of Business) de
WCF para entregar mensajes en el cuadro de mensajes.
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). A partir de la versión 2, Silverlight
incorpora WCF como tecnología de comunicaciones para conectar las aplicaciones Silverlight con
los extremos de WCF.
Microsoft .NET Services es una iniciativa de computación en nube (cloud computing) que utiliza
WCF para la creación de aplicaciones habilitadas para Internet. Utilice .NET Services para crear
servicios WCF que funcionan a través de límites de confianza.
El servidor de aplicaciones características de hospedaje de Windows Server AppFabric se ha
diseñado específicamente para implementar y administrar aplicaciones que utilizan WCF para las
comunicaciones. Características de hospedaje incluye sofisticadas opciones de configuración y
herramientas diseñadas específicamente para las aplicaciones habilitadas para WCF.
 Proporciona un único modelo de programación tipado de
aplicaciones distribuidas basadas en servicios.
 Encapsula y simplifica el desarrollo de aplicaciones
soportadas por las diversas tecnologías distribuidas.
 Permite el desarrollo de aplicaciones .NET capaces de
interoperar con aplicaciones desarrolladas con otras
tecnologías (J2EE, SAP).
 Seguridad del nivel de mensaje. Debido a que, utiliza
la especificación ws-security para proteger los
mensajes creando así cierta dependencia que afecta la
interoperabilidad, rendimiento y transmisión de
mensajes.
 La curva de aprendizaje es alta.
 Tecnología propietaria.
Wcf
 Se aloja en el entorno windows.
 Puede ser utilizado por diferentes
plataformas.
 Sesiones están explícitamente
definidos y cerrados desde las
aplicaciones del lado del cliente.
 Permite ocultar los detalles de un error y
sólo mostrar la información necesaria.
Maneja los errores en ambos sentidos: los
objetos de excepción y errores SOAP.
 Puede ser alojado en: Self hosting,
Windows Service, IIS y WAS.
Web Services
 Independiente de la plataforma y lenguaje.
 No se preocupa de la aplicación
consumidora.
 Tiene restricciones en el protocolo HTTP.
 No mantiene los valores de sesión por
defecto. Se crea una nueva instancia del
web services en cada llamada.
 Las excepciones no controladas se
devuelven al cliente como un elemento
SOAP en formato XML. Esta puede ser
visualizada luego de ser deserializada en el
lado del cliente.
 Se aloja en IIS.
 1. Definir el Contrato (ServiceContract): Se escribe la interfaz en un
lenguaje de programación de .NET, agregando los distintos métodos
que serán incluidos en el contrato.
 2. Implementar el Contrato (ServiceContract): Se escribe una clase
mediante la cual se implemente la interfaz. Es posible establecer
comportamientos a la definición del servicio usando el atributo
ServiceBehavior.
 3. Configurar el Servicio: Especificar los endpoints y metadata del
servicio, estos son definidos en un archivo de configuración de .NET
(Web.config o App.config).
 4. Diseñar una aplicación Hosting del servicio: Web Host dentro del
IIS - Self-Host dentro de cualquier proceso .NET - Managed Windows
Services - Windows Process Activation Service.
 5. Diseñar una aplicación cliente del servicio: Acá definiremos las
aplicaciones clientes que consumirán el servicio.

Más contenido relacionado

La actualidad más candente

Windows communication foundation wcf
Windows communication foundation  wcfWindows communication foundation  wcf
Windows communication foundation wcfelvis mendieta
 
Windows comunication fundaction
Windows comunication fundactionWindows comunication fundaction
Windows comunication fundactionkcarbache
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)Vivi Marquez
 
Windows communication foundation by Marcos Acosta
Windows communication foundation by Marcos AcostaWindows communication foundation by Marcos Acosta
Windows communication foundation by Marcos AcostaMarcos Acosta
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication FoundationJuan Moran Sanchez
 
Introducción a WCF
Introducción a WCFIntroducción a WCF
Introducción a WCFpabloesp
 
Windows communication foundation
Windows communication foundationWindows communication foundation
Windows communication foundationJoseph Bros
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication FoundationMichelle Herrera
 
WCF for Dummies (Parte I)
WCF for Dummies (Parte I)WCF for Dummies (Parte I)
WCF for Dummies (Parte I)Will.i.am
 
Qué es windows communication foundation
Qué es windows communication foundationQué es windows communication foundation
Qué es windows communication foundationjuliomancerotroya
 
WINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATIONWINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATIONTeDy j Sanchez
 
Trabajo 1 programacion
Trabajo 1 programacionTrabajo 1 programacion
Trabajo 1 programacionabrilesr
 
Riglo
RigloRiglo
Rigloriglo
 

La actualidad más candente (20)

Windows communication foundation wcf
Windows communication foundation  wcfWindows communication foundation  wcf
Windows communication foundation wcf
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF) Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
 
Windows comunication fundaction
Windows comunication fundactionWindows comunication fundaction
Windows comunication fundaction
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 
Windows communication foundation by Marcos Acosta
Windows communication foundation by Marcos AcostaWindows communication foundation by Marcos Acosta
Windows communication foundation by Marcos Acosta
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication Foundation
 
Wcf
WcfWcf
Wcf
 
Wcf
WcfWcf
Wcf
 
Introducción a WCF
Introducción a WCFIntroducción a WCF
Introducción a WCF
 
Windows communication foundation
Windows communication foundationWindows communication foundation
Windows communication foundation
 
Santiago
SantiagoSantiago
Santiago
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication Foundation
 
WCF for Dummies (Parte I)
WCF for Dummies (Parte I)WCF for Dummies (Parte I)
WCF for Dummies (Parte I)
 
Santiago
SantiagoSantiago
Santiago
 
Qué es windows communication foundation
Qué es windows communication foundationQué es windows communication foundation
Qué es windows communication foundation
 
WINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATIONWINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATION
 
Ugmmontoya
UgmmontoyaUgmmontoya
Ugmmontoya
 
Darkfusion
DarkfusionDarkfusion
Darkfusion
 
Trabajo 1 programacion
Trabajo 1 programacionTrabajo 1 programacion
Trabajo 1 programacion
 
Riglo
RigloRiglo
Riglo
 

Destacado

Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundationNanda Moran
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosNanda Moran
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradaNanda Moran
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Socketsmallita
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Destacado (7)

Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
 
Framework
FrameworkFramework
Framework
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Framework
FrameworkFramework
Framework
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Sockets
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similar a Windows communication foundation(wcf)

Similar a Windows communication foundation(wcf) (15)

Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 
Wcf
WcfWcf
Wcf
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 
Windows communication foundation
Windows communication foundationWindows communication foundation
Windows communication foundation
 
Windows communication foundation
Windows communication foundationWindows communication foundation
Windows communication foundation
 
Wfc
WfcWfc
Wfc
 
Wcf.ppp
Wcf.pppWcf.ppp
Wcf.ppp
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 
Rmonzon
RmonzonRmonzon
Rmonzon
 
Presentación1
Presentación1Presentación1
Presentación1
 
INVESTIGACION
INVESTIGACIONINVESTIGACION
INVESTIGACION
 
Wcf
WcfWcf
Wcf
 
Wimdows comunication foundation
Wimdows comunication foundationWimdows comunication foundation
Wimdows comunication foundation
 
Wcf
WcfWcf
Wcf
 
Wcf
WcfWcf
Wcf
 

Windows communication foundation(wcf)

  • 1.
  • 2. Windows Communication Foundation (WCF) es un marco de trabajo para la creación de aplicaciones orientadas a servicios. Con WCF, es posible enviar datos como mensajes asincrónicos de un extremo de servicio a otro. 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. Un extremo puede ser un cliente de un servicio que solicita datos de un extremo de servicio. 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. A continuación se indican unos cuantos escenarios de ejemplo:  Un servicio seguro para procesar transacciones comerciales.  Un servicio que proporciona datos actualizados a otras personas, como un informe sobre tráfico u otro servicio de supervisión.  Un servicio de chat que permite a dos personas comunicarse o intercambiar datos en tiempo real.  Una aplicación de panel que sondea los datos de uno o varios servicios y los muestra en una presentación lógica.  Exponer un flujo de trabajo implementado utilizando Windows Workflow Foundation como un servicio WCF.  Una aplicación de Silverlight para sondear un servicio en busca de las fuentes de datos más recientes.  Si bien era posible crear tales aplicaciones antes de que existiera WCF, con WCF el desarrollo de extremos resulta más sencillo que nunca. En resumen, WCF se ha diseñado para ofrecer un enfoque manejable para la creación de servicios web y clientes de servicios web.
  • 3.  Orientación a servicios Como consecuencia del uso de los estándares de WS, WCF le permite crear aplicaciones orientadas a servicios.  Interoperabilidad WCF implementa los estándares del sector modernos para la interoperabilidad de servicios web.  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.  Metadatos de servicios WCF admite la publicación de metadatos de servicios utilizando los formatos especificados en los estándares de la industria, como WSDL, Esquemas XML y WS-Policy. Estos metadatos pueden utilizarse para generar y configurar automáticamente clientes para el acceso a los servicios de WCF.  Contratos de datos Dado que WCF se basa en .NET Framework, también incluye métodos con código sencillo para proporcionar los contratos que desea aplicar.  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.
  • 4.  Varios transportes y codificaciones Los mensajes pueden enviarse con cualquiera de los protocolos y codificaciones integrados. La combinación más frecuente de protocolo y codificación consiste en enviar mensajes SOAP codificados de texto utilizando el Protocolo de transferencia de hipertexto (HTTP) usado en World Wide Web.  Mensajes confiables y en cola WCF admite intercambio de mensajes confiable usando sesiones confiables implementadas sobre mensajería WS-Reliable y mediante MSMQ.  Mensajes duraderos Un mensaje duradero es aquel que nunca se pierde debido a una interrupción de la comunicación. Los mensajes que forman parte de un modelo de mensajes duraderos siempre se guardan en una base de datos.  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.  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.  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).
  • 5. WCF es una plataforma flexible. Debido a esta flexibilidad extrema, WCF también se usa en varios otros productos Microsoft. Si comprende los fundamentos de WCF, tendrá una ventaja inmediata si también utiliza cualquiera de estos productos. La primera tecnología en adaptarse a WCF fue Windows Workflow Foundation (WF). Los flujos de trabajo simplifican el desarrollo de aplicaciones encapsulando los pasos del flujo de trabajo como “actividades”. En la primera versión de Windows Workflow Foundation, un desarrollador tenía que crear un host para el flujo de trabajo. La versión siguiente de Windows Workflow Foundation se integró con WCF. Esto permitió hospedar cualquier flujo de trabajo fácilmente en un servicio de WCF; puede hacer esto si elige automáticamente el tipo de proyecto WF/WCF en Visual Studio 2012. Microsoft BizTalk Server R2 también utiliza WCF como tecnología de comunicaciones. BizTalk está diseñado para recibir y transformar datos de un formato normalizado en otro. 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. BizTalk ahora puede utilizar el adaptador de línea de negocio (LOB, Line Of Business) de WCF para entregar mensajes en el cuadro de mensajes. 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). A partir de la versión 2, Silverlight incorpora WCF como tecnología de comunicaciones para conectar las aplicaciones Silverlight con los extremos de WCF. Microsoft .NET Services es una iniciativa de computación en nube (cloud computing) que utiliza WCF para la creación de aplicaciones habilitadas para Internet. Utilice .NET Services para crear servicios WCF que funcionan a través de límites de confianza. El servidor de aplicaciones características de hospedaje de Windows Server AppFabric se ha diseñado específicamente para implementar y administrar aplicaciones que utilizan WCF para las comunicaciones. Características de hospedaje incluye sofisticadas opciones de configuración y herramientas diseñadas específicamente para las aplicaciones habilitadas para WCF.
  • 6.  Proporciona un único modelo de programación tipado de aplicaciones distribuidas basadas en servicios.  Encapsula y simplifica el desarrollo de aplicaciones soportadas por las diversas tecnologías distribuidas.  Permite el desarrollo de aplicaciones .NET capaces de interoperar con aplicaciones desarrolladas con otras tecnologías (J2EE, SAP).
  • 7.  Seguridad del nivel de mensaje. Debido a que, utiliza la especificación ws-security para proteger los mensajes creando así cierta dependencia que afecta la interoperabilidad, rendimiento y transmisión de mensajes.  La curva de aprendizaje es alta.  Tecnología propietaria.
  • 8. Wcf  Se aloja en el entorno windows.  Puede ser utilizado por diferentes plataformas.  Sesiones están explícitamente definidos y cerrados desde las aplicaciones del lado del cliente.  Permite ocultar los detalles de un error y sólo mostrar la información necesaria. Maneja los errores en ambos sentidos: los objetos de excepción y errores SOAP.  Puede ser alojado en: Self hosting, Windows Service, IIS y WAS. Web Services  Independiente de la plataforma y lenguaje.  No se preocupa de la aplicación consumidora.  Tiene restricciones en el protocolo HTTP.  No mantiene los valores de sesión por defecto. Se crea una nueva instancia del web services en cada llamada.  Las excepciones no controladas se devuelven al cliente como un elemento SOAP en formato XML. Esta puede ser visualizada luego de ser deserializada en el lado del cliente.  Se aloja en IIS.
  • 9.  1. Definir el Contrato (ServiceContract): Se escribe la interfaz en un lenguaje de programación de .NET, agregando los distintos métodos que serán incluidos en el contrato.  2. Implementar el Contrato (ServiceContract): Se escribe una clase mediante la cual se implemente la interfaz. Es posible establecer comportamientos a la definición del servicio usando el atributo ServiceBehavior.  3. Configurar el Servicio: Especificar los endpoints y metadata del servicio, estos son definidos en un archivo de configuración de .NET (Web.config o App.config).  4. Diseñar una aplicación Hosting del servicio: Web Host dentro del IIS - Self-Host dentro de cualquier proceso .NET - Managed Windows Services - Windows Process Activation Service.  5. Diseñar una aplicación cliente del servicio: Acá definiremos las aplicaciones clientes que consumirán el servicio.