SlideShare una empresa de Scribd logo
1 de 44
Pablo Espada
Esbupa.com
Introducción WCF
Implementación de un servicio
Realización de pruebas del servicio
Consumo del servicio
Seguridad en WCF
Monitorización y administración de servicios
Interoperabilidad en WCF
Novedades para WCF en 3.5 SP1
Contexto
.NET 1.0
  System.Web.Services (ASMX)
      XML, HTTP, SOAP/WSDL/XSD
      Centrada en interoperabilidad
  System.EnterpriseServices (COM+)
      DCOM RPC, TCP
      Centrada en dotar de alto rendimiento a las
      comunicaciones
  System.Messaging (MSMQ)
      Centrada en la persistencia de los mensajes
  System.Runtime.Remoting (.NET Remoting)
      HTTTP or TCP, SOAP o Binario
      Estrechamente ligado al sistema de tipos de .Net
2.0   .Framework 2.0

   VB          C#            J#   ・・・           3.0   Framework 3.0


                 CLS y CTS



            Windows     WPF       WCF      WF             WCS
ASP.NET
             Forms



               Biblioteca de Clases y ADO.NET

              Common Language Runtime (CLR)

          Windows Vista, Windows XP, Windows Server
Unificar la experiencia en el desarrollo de
aplicaciones distribuidas
   Modelo conceptual consistente entre escenarios
   variados
Equivalencia directa con tecnologías previas
   Crítico para la adopción de WCF
Arquitectura fundamental para el futuro
   WS-* (.NET 3.0)
   Servicios Web-style (.NET 3.5)
   Workflow (.NET 3.5)
ASMX                                 Remoting

Interoperabilidad                      Extensibilidad
                                       Composición


                        WSE
        Desarrollo                 Desarrollo
        orientado a   Protocolos
                                   orientado a
         atributos      WS-*        mensajes
Conceptos básicos
SOA:
   Enfoque de arquitectura de software que define la
   utilización de servicios para dar soporte a los
   requerimientos de software del usuario

Servicio:
   Programa orientado a mensajes (que intercambia
   mensajes con otros programas), y constituye una
   base para la creación de soluciones distribuidas
Principios de SOA:

1. Las fronteras de un servicio son explícitas
2. Cada servicio es autónomo
3. Los servicios comparten esquemas y
   contratos, no clases ni tipos
4. La compatibilidad se basa en políticas
Beneficios de SOA:

1. Los servicios son aislados
2. Los servicios son independientes de
   ubicación
3. Los servicios son neutrales en cuanto a
   protocolo, transporte y formato
4. Los servicios son independientes de
   plataforma e implementación
Cliente             Servicio
          Message




                      13
Cliente                                   Servicio
                     Message   Endpoint

          Endpoint             Endpoint

                               Endpoint




                                              14
Cliente                                                  Servicio
                         Message       A   B   C

            C   B   A                  A   B   C

                                       A   B   C




Address                 Binding                    Contract
¿Dónde?                 ¿Cómo?                     ¿Qué?

                            Endpoint

                                                               15
BasicHttpBinding                         BP 1.1   TM
    WsHttpBinding                             WS      TM
    WsDualHttpBinding                         WS      TM
    NetTcpBinding                            .NET     TM
    NetNamedPipesBinding                     .NET     TM
    NetMsmqBinding                            MSMQ TM
    NetPeerTcpBinding                        Peer     TM
T = Transporte Seguro | M = Mensaje Seguro
El desarrollador implementa servicios que envían
mensajes
   WCF se ejecuta sobre el CLR
   Los mensajes WCF están formados por cabecera y
   cuerpo (header & body)
   Los servicios exponen endpoints direccionables
Los contratos de servicio definen la estructura del
mensaje a intercambiar
   Los contratos pueden ser estructuras (esquemas de
   datos) o interfaces del servicio.
   Limitan el flujo del mensaje a un único canal entre
   servicio y cliente
Las características del canal (Channel) se pueden
modificar gracias al uso de distintos tipos de Bindings
Service                  Hosted
                                                Client
              Library                   App



WCF Service                                              WCF Test
 Template               WCF Autohost
                                                          Client




1. Crear la librería del servicio
2. Desplegar el servicio
3. Construir el cliente
4. Probar la solución
Mi primer servicio WCF
Soporte para desarrollo de servicios WCF
   Plantillas de proyecto “Service Library”
   Plantillas para servicios simples WCF
   Posibilidad de alojar el servicio
   Interfaz para probar el servicio
   “Add Service Reference”
   Herramienta integrada para editar
   configuraciones
Implementación del servicio
      Calculadora
Primero, debemos habilitar WMI en el Editor
de Configuraciones de WCF
Comandos en PowerShell (modo admin):
      Lista de Servicios:
get-wmiobject -class service –namespace rootServiceModel | format-table name


      Lista de Endpoints:
get-wmiobject -class endpoint –namespace rootServiceModel | format-table name
Habilitar la opción en el WCF Conf. Editor
Abrir el Performance Counter y seleccionar
“añadir contador”
Buscar la sección ServiceModelEndpoint
3.0.0.0 y seleccionar los parámetros Calls,
Calls Per Second y Calls Duration
Desde ese momento, podremos
monitorizarlas en el menú principal del
Perfomance Monitor
Volvemos al menú de edición de configs
WCF
Habilitamos el logging y ajustamos su nivel
Desde este momento podemos utilizar el
Service Trace Viewer (Windows SDK for
VS)
También contamos con un visor gráfico de
trazas
Podemos ver además el archivo XML y el
contenido del mensaje (esto último si no usamos
encriptación, ej.: basicHttpBinding)
•Modos de seguridad
•Tipos de autenticación
•Tipos de credenciales
•Bindings
Comunicación segura
                             WCF Endpoint
  Confidencialidad
  Integridad                                        Código
  Autenticación                 CIA         AuthZ     del
                                                    servicio
Autorización
  Basada en roles
                                    Audits
Auditoría
  Para la autenticación y autorización
WCF siempre posibilita la doble
autenticación
  1º Autenticación del servicio
  2º Autenticación del cliente/usuario

Credenciales válidas para un cliente
  Cuentas de Windows, nombres de
  usuario, certificados, etc
Credenciales válidas para el servicio
  Cuentas de Windows y/o certificados
Modo de seguridad Transport
  La transmisión completa está protegida
  (usando SSL o SPNEGO)
Modo de seguridad TransportCredentialOnly
  Transmisión de texto plano (poco
  recomendable)
Soporta el uso de credenciales
Windows, nombres de usuario y certificados
                       SSL
Modo Message
  Se aplica seguridad al mensaje SOAP
  El transporte en sí mismo puede ser desprotegido
  Soporta el uso de credenciales Windows, nombres de
  usuario y certificados
Modo TransportWithMessageCredential
  Combina seguridad a nivel de mensaje y de transporte
  Soporta el uso de credenciales Windows, nombres de
  usuario y certificados
Seguridad a nivel de transporte
  Seguridad muy probada y protocolos robustos
  Más rápida
  Mayor compatibilidad con otras plataformas
  Menos opciones de seguridad

Seguridad a nivel de mensaje
  Requiere compatibilidad con WS*
  Más compleja
  Mayor capacidad de personalización y
  opciones
Binding                   Interoperabilidad        Modos
basicHttpBinding          WS-I Basic               Ninguno
                          (Security) Profile 1.1   Transport
                                                   TransportWithMessageCredential
                                                   TransportCredentialOnly
wsHttpBinding             WS-*                     Message
                                                   Transport
                                                   TransportWithMessageCredential
wsDualHttpBinding         WS-* /                   Message
wsFederationHttpBinding   WS-Federation

net*                      .NET                     Ninguno
                                                   Transport
                                                   Message
netMsmqBinding            .NET                     Ninguno
                                                   Transport
                                                   Message
                                                   Both
En muchas ocasiones necesitaremos „CIA“
La variedad amplia de bindings hace que la mayoría
de escenarios estén soportados
   Seguridad transporte vs. mensaje
   cliente vs. server vs. Autenticación mutua
   Tipo de credenciales a usar
Después de autenticar, autorizar
   Basada en Windows
   Basada en Roles
   Autorización centralizada con un gestor de autorizaciones
No nos olvidemos de auditar el servicio (monitorizar y
analizar trazas con Service Trace Viewer)
Como hemos visto, WCF trae incorporadas
una serie de herramientas muy valiosas
desde .Net 3.0
  SvcTraceViewer
  SvcConfigEditor

Nuevas herramientas con .Net 3.5
  Service Test Host
  Service Test Client
.NET 3.5 incorpora una herramienta de host
  WcfSvcHost.exe

Se configura por línea de comandos
  Ensamblado del servicio
    Ensamblado de la librería de clases o aplicación
  Config file (puede ser diferente del habitual)
  Opcionalmente, puede iniciar un Test Client al
  mismo tiempo
.NET 3.5 incorpora un cliente WCF de
prueba
   WcfTestClient.exe

Podemos invocarlo por línea de
comandos, aportando la URL del endpoint
del servicio
  E.g. WcfTestClient http://server:port/url
WCF en MSDN
http://msdn2.microsoft.com/en-us/library/ms735119.aspx

WCF SDK
http://msdn2.microsoft.com/en-us/library/ms751514.aspx

WCF Community Forum
http://forums.microsoft.com/MSDN/ShowForum.aspx?For
umID=118&SiteID=1

WCF Community Site
http://wcf.netfx3.com/

Programming WCF Services
     Juval Lowy, O'Reilly 2007

WCF Step By Step
     John Sharp, MS Press 2007

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Windows communication
Windows communicationWindows communication
Windows communication
 
Windows communication foundation wcf
Windows communication foundation  wcfWindows communication foundation  wcf
Windows communication foundation wcf
 
Windows communication foundation completo
Windows communication foundation completoWindows communication foundation completo
Windows communication foundation completo
 
Qué es windows communication foundation
Qué es windows communication foundationQué es windows communication foundation
Qué es windows communication foundation
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 
Windows communication foundation completo
Windows communication foundation completoWindows communication foundation completo
Windows communication foundation completo
 
Creando endpoint http
Creando endpoint httpCreando endpoint http
Creando endpoint http
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication Foundation
 
Ugmmontoya
UgmmontoyaUgmmontoya
Ugmmontoya
 
Wfc
WfcWfc
Wfc
 
Wcf
WcfWcf
Wcf
 
Windows communication foundation
Windows communication foundationWindows communication foundation
Windows communication foundation
 
Windows communication foundation
Windows communication foundationWindows communication foundation
Windows communication foundation
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 
Wcf
WcfWcf
Wcf
 
Web services en sistemas distribuidos
Web services en sistemas distribuidosWeb services en sistemas distribuidos
Web services en sistemas distribuidos
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication Foundation
 
Java2 servicios web
Java2 servicios webJava2 servicios web
Java2 servicios web
 
Wimdows comunication foundation
Wimdows comunication foundationWimdows comunication foundation
Wimdows comunication foundation
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 

Similar a Introducción a WCF (16)

Introduction to wcf solutions
Introduction to wcf solutionsIntroduction to wcf solutions
Introduction to wcf solutions
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 
TEMAS DE SUFICIENCIA PROFESIONAL
TEMAS DE SUFICIENCIA PROFESIONAL TEMAS DE SUFICIENCIA PROFESIONAL
TEMAS DE SUFICIENCIA PROFESIONAL
 
Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web Services
 
Wcf - Clase 1
Wcf - Clase 1Wcf - Clase 1
Wcf - Clase 1
 
WINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATIONWINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATION
 
Web service
Web serviceWeb service
Web service
 
Web service
Web serviceWeb service
Web service
 
Semana 15 -servicios_web
Semana 15 -servicios_webSemana 15 -servicios_web
Semana 15 -servicios_web
 
Wcf
WcfWcf
Wcf
 
Wcf
WcfWcf
Wcf
 
Wcf
WcfWcf
Wcf
 
Web services
Web servicesWeb services
Web services
 
Protocolo wap
Protocolo wapProtocolo wap
Protocolo wap
 
Wcf
WcfWcf
Wcf
 
Capa de transporte
Capa de transporteCapa de transporte
Capa de transporte
 

Último

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (15)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Introducción a WCF

  • 2. Introducción WCF Implementación de un servicio Realización de pruebas del servicio Consumo del servicio Seguridad en WCF Monitorización y administración de servicios Interoperabilidad en WCF Novedades para WCF en 3.5 SP1
  • 4. .NET 1.0 System.Web.Services (ASMX) XML, HTTP, SOAP/WSDL/XSD Centrada en interoperabilidad System.EnterpriseServices (COM+) DCOM RPC, TCP Centrada en dotar de alto rendimiento a las comunicaciones System.Messaging (MSMQ) Centrada en la persistencia de los mensajes System.Runtime.Remoting (.NET Remoting) HTTTP or TCP, SOAP o Binario Estrechamente ligado al sistema de tipos de .Net
  • 5.
  • 6. 2.0 .Framework 2.0 VB C# J# ・・・ 3.0 Framework 3.0 CLS y CTS Windows WPF WCF WF WCS ASP.NET Forms Biblioteca de Clases y ADO.NET Common Language Runtime (CLR) Windows Vista, Windows XP, Windows Server
  • 7. Unificar la experiencia en el desarrollo de aplicaciones distribuidas Modelo conceptual consistente entre escenarios variados Equivalencia directa con tecnologías previas Crítico para la adopción de WCF Arquitectura fundamental para el futuro WS-* (.NET 3.0) Servicios Web-style (.NET 3.5) Workflow (.NET 3.5)
  • 8. ASMX Remoting Interoperabilidad Extensibilidad Composición WSE Desarrollo Desarrollo orientado a Protocolos orientado a atributos WS-* mensajes
  • 10. SOA: Enfoque de arquitectura de software que define la utilización de servicios para dar soporte a los requerimientos de software del usuario Servicio: Programa orientado a mensajes (que intercambia mensajes con otros programas), y constituye una base para la creación de soluciones distribuidas
  • 11. Principios de SOA: 1. Las fronteras de un servicio son explícitas 2. Cada servicio es autónomo 3. Los servicios comparten esquemas y contratos, no clases ni tipos 4. La compatibilidad se basa en políticas
  • 12. Beneficios de SOA: 1. Los servicios son aislados 2. Los servicios son independientes de ubicación 3. Los servicios son neutrales en cuanto a protocolo, transporte y formato 4. Los servicios son independientes de plataforma e implementación
  • 13. Cliente Servicio Message 13
  • 14. Cliente Servicio Message Endpoint Endpoint Endpoint Endpoint 14
  • 15. Cliente Servicio Message A B C C B A A B C A B C Address Binding Contract ¿Dónde? ¿Cómo? ¿Qué? Endpoint 15
  • 16. BasicHttpBinding BP 1.1 TM WsHttpBinding WS TM WsDualHttpBinding WS TM NetTcpBinding .NET TM NetNamedPipesBinding .NET TM NetMsmqBinding MSMQ TM NetPeerTcpBinding Peer TM T = Transporte Seguro | M = Mensaje Seguro
  • 17. El desarrollador implementa servicios que envían mensajes WCF se ejecuta sobre el CLR Los mensajes WCF están formados por cabecera y cuerpo (header & body) Los servicios exponen endpoints direccionables Los contratos de servicio definen la estructura del mensaje a intercambiar Los contratos pueden ser estructuras (esquemas de datos) o interfaces del servicio. Limitan el flujo del mensaje a un único canal entre servicio y cliente Las características del canal (Channel) se pueden modificar gracias al uso de distintos tipos de Bindings
  • 18. Service Hosted Client Library App WCF Service WCF Test Template WCF Autohost Client 1. Crear la librería del servicio 2. Desplegar el servicio 3. Construir el cliente 4. Probar la solución
  • 20. Soporte para desarrollo de servicios WCF Plantillas de proyecto “Service Library” Plantillas para servicios simples WCF Posibilidad de alojar el servicio Interfaz para probar el servicio “Add Service Reference” Herramienta integrada para editar configuraciones
  • 22. Primero, debemos habilitar WMI en el Editor de Configuraciones de WCF
  • 23. Comandos en PowerShell (modo admin): Lista de Servicios: get-wmiobject -class service –namespace rootServiceModel | format-table name Lista de Endpoints: get-wmiobject -class endpoint –namespace rootServiceModel | format-table name
  • 24. Habilitar la opción en el WCF Conf. Editor
  • 25. Abrir el Performance Counter y seleccionar “añadir contador”
  • 26. Buscar la sección ServiceModelEndpoint 3.0.0.0 y seleccionar los parámetros Calls, Calls Per Second y Calls Duration
  • 27. Desde ese momento, podremos monitorizarlas en el menú principal del Perfomance Monitor
  • 28. Volvemos al menú de edición de configs WCF
  • 29. Habilitamos el logging y ajustamos su nivel
  • 30. Desde este momento podemos utilizar el Service Trace Viewer (Windows SDK for VS)
  • 31. También contamos con un visor gráfico de trazas
  • 32. Podemos ver además el archivo XML y el contenido del mensaje (esto último si no usamos encriptación, ej.: basicHttpBinding)
  • 33. •Modos de seguridad •Tipos de autenticación •Tipos de credenciales •Bindings
  • 34. Comunicación segura WCF Endpoint Confidencialidad Integridad Código Autenticación CIA AuthZ del servicio Autorización Basada en roles Audits Auditoría Para la autenticación y autorización
  • 35. WCF siempre posibilita la doble autenticación 1º Autenticación del servicio 2º Autenticación del cliente/usuario Credenciales válidas para un cliente Cuentas de Windows, nombres de usuario, certificados, etc Credenciales válidas para el servicio Cuentas de Windows y/o certificados
  • 36. Modo de seguridad Transport La transmisión completa está protegida (usando SSL o SPNEGO) Modo de seguridad TransportCredentialOnly Transmisión de texto plano (poco recomendable) Soporta el uso de credenciales Windows, nombres de usuario y certificados SSL
  • 37. Modo Message Se aplica seguridad al mensaje SOAP El transporte en sí mismo puede ser desprotegido Soporta el uso de credenciales Windows, nombres de usuario y certificados Modo TransportWithMessageCredential Combina seguridad a nivel de mensaje y de transporte Soporta el uso de credenciales Windows, nombres de usuario y certificados
  • 38. Seguridad a nivel de transporte Seguridad muy probada y protocolos robustos Más rápida Mayor compatibilidad con otras plataformas Menos opciones de seguridad Seguridad a nivel de mensaje Requiere compatibilidad con WS* Más compleja Mayor capacidad de personalización y opciones
  • 39. Binding Interoperabilidad Modos basicHttpBinding WS-I Basic Ninguno (Security) Profile 1.1 Transport TransportWithMessageCredential TransportCredentialOnly wsHttpBinding WS-* Message Transport TransportWithMessageCredential wsDualHttpBinding WS-* / Message wsFederationHttpBinding WS-Federation net* .NET Ninguno Transport Message netMsmqBinding .NET Ninguno Transport Message Both
  • 40. En muchas ocasiones necesitaremos „CIA“ La variedad amplia de bindings hace que la mayoría de escenarios estén soportados Seguridad transporte vs. mensaje cliente vs. server vs. Autenticación mutua Tipo de credenciales a usar Después de autenticar, autorizar Basada en Windows Basada en Roles Autorización centralizada con un gestor de autorizaciones No nos olvidemos de auditar el servicio (monitorizar y analizar trazas con Service Trace Viewer)
  • 41. Como hemos visto, WCF trae incorporadas una serie de herramientas muy valiosas desde .Net 3.0 SvcTraceViewer SvcConfigEditor Nuevas herramientas con .Net 3.5 Service Test Host Service Test Client
  • 42. .NET 3.5 incorpora una herramienta de host WcfSvcHost.exe Se configura por línea de comandos Ensamblado del servicio Ensamblado de la librería de clases o aplicación Config file (puede ser diferente del habitual) Opcionalmente, puede iniciar un Test Client al mismo tiempo
  • 43. .NET 3.5 incorpora un cliente WCF de prueba WcfTestClient.exe Podemos invocarlo por línea de comandos, aportando la URL del endpoint del servicio E.g. WcfTestClient http://server:port/url
  • 44. WCF en MSDN http://msdn2.microsoft.com/en-us/library/ms735119.aspx WCF SDK http://msdn2.microsoft.com/en-us/library/ms751514.aspx WCF Community Forum http://forums.microsoft.com/MSDN/ShowForum.aspx?For umID=118&SiteID=1 WCF Community Site http://wcf.netfx3.com/ Programming WCF Services Juval Lowy, O'Reilly 2007 WCF Step By Step John Sharp, MS Press 2007

Notas del editor

  1. Introducción: 15 minImplementación (Calculadora): 15 minPruebas: - Software Testing: 15 min - Pruebas Unitarias: a) Explicación: 5 min b) Implementación: 10 min - Pruebas de Integración: a) Explicación: 5 min b) Implementación: 10 minImplementación Cliente WPF: a) Implementar UI: 10 min b) Explicar UI Automation: 10 min c) Explicar Pruebas del sistema: 5 min - Perfil Operacional d) Implementar caso Suma: 10 minSeguridad: 10 minMonitorización y administración de servicios: 10 minInterop: 10 min?Novedades WCF: 10 min