Introduction to wcf solutions
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Introduction to wcf solutions

on

  • 1,828 views

 

Statistics

Views

Total Views
1,828
Views on SlideShare
1,828
Embed Views
0

Actions

Likes
0
Downloads
40
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduction to wcf solutions Presentation Transcript

  • 1. Introductionto WCF Solutions
    With Microsoft Visual Studio 2010
  • 2. Agenda
    ServiceOrientedArchitecture
    Introducción al desarrollo con Microsoft Windows CommunicationFoundation
    Hostear servicios WCF
    Seguridad
    HoL
  • 3. ServiceOrientedArchitecture (SOA)
    ¿Qué es SOA?
    Beneficios de SOA
    Escenarios y estándares
    Introducción a WCF
  • 4. ¿Qué es SOA?
    SOA es un estilo de arquitectura diseñada para construir sistemas distribuidos
    Desafíos en aplicaciones de negocios
    Agilidad
    Productividad
    Reutilzar
    Reducir Costes
  • 5. ¿Qué es un servicio?
    Un servicio expone funcionalidad aceptando datos (peticiones) y algunas veces devolviendo datos (respuestas)
  • 6. Pilares de SOA
    Los servicios manejan datos, no objetos
    Los servicios son autónomos
    Los servicios tienen límites específicos
    Los servicios exponen contratos y políticas
  • 7. ¿Cómo se accede a un servicio?
    A través de los bordes
    Múltiples bordes
    Dirección
    WCF Endpoints
  • 8. Beneficios de SOA
    Mejora de la Productividad
    Servicios Autónomos
    Interoperabilidad
    Testeo
  • 9. Beneficios de SOA
    Agilidad
    Contrato
    Movilidad
    Cambios dinámicos del cliente
    Instancias del servicio ajustadas a la carga
    Integración avanzada
  • 10. Beneficios de SOA
    Reduce Costes IT
    Reutilizar módulos
    Externalizar capacidades
    Simplicidad
    Múltiples consumidores
  • 11. Beneficios de SOA
    Tecnologías de comunicación diversas
    Políticas de seguridad
    Patrones mensajería
    Diferencias tecnológicas entre bordes
    Load-balanced
    WCF endpoints
  • 12. Beneficios de SOA
    Alta escalabilidad
    Fire and forget
    Uso de diferentes topologías
    Múltiples instancias
    Messages Load-balanced
    Messagespersisted
  • 13. Beneficios de SOA
    Interoperabilidad entre sistemas
    El servicio desconoce la tecnología del cliente
    Exponen datos en un formato concreto
    Servicios tratan con datos
    Los mensajes se pueden transformar
    WS -* standards
  • 14. Beneficios de SOA
    Fiabilidad del servicio
    Políticas de reintento
    Backup
    Persistencia en los mensajes
    Monitorización y administración runtime
  • 15. Beneficios de SOA
    Seguridad integrada
    Capas de seguridad
    Servicios de intercambio de datos
    Protección de datos
    Autenticación y autorización
    Implementación de buenas prácticas en seguridad
  • 16. Escenarios y Estándares
    Aplicaciones expuestas como Servicios Web
    Aplicaciones de Intranet como Servicios
    Aplicaciones 2.0 en el Navegador
    Los servicios pueden usar SOAP
    Los servicios pueden usar REST
    WS-* StandardsIntegrate Web Services
  • 17. Aplicaciones expuestas como Servicios Web
  • 18. Aplicaciones de Intranet como servicios
  • 19. Aplicaciones 2.0 en el Navegador
  • 20. SOAP
    Estándar basado en XML
    Transporta mensajes para Web Services, que son creados de acuerdo al contrato de servicio
    <s:Envelopexmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Header>
    <To s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">
    http://127.0.0.1:8080/CalcService
    </To>
    <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">
    Add
    </Action>
    </s:Header>
    <s:Body>
    <Addxmlns="http://www.fabrikam.com">
    <a>2</a>
    <b>3</b>
    </Add>
    </s:Body>
    </s:Envelope>
  • 21. REST
    Arquitectura de estilos para servicios
    Protocolo HTTP
    El contrato está basado en verbos HTTP
    GET
    POST
    PUT
    DELETE
    Datos escritos en la URI
    Interoperabilidad y versionado
    Diferentes estándares de codificación
  • 22. WS-* StandardsIntegrate Web Services
    WS-* es un grupo de estándares basados en XML relevantes para servicios Web
    WS-* definen como la seguridad, transacción, direccionamiento y fiabilidad de la información es transmitida
    WS-* forma la base de la interoperabilidad de los servicios
  • 23. Introducción a WCF
    ¿Qué es WCF?
    Objetivos de WCF para la implementación de servicios
    El modelo de comunicación WCF
  • 24. ¿Qué es un WCF?
    Framework unificado para la construcción de aplicaciones orientadas a servicios
    Fue introducido en el framework 3.0 y extendido en el 3.5 y 4.0
    Es la unión de otras tecnologías distribuidas de Microsoft
  • 25. Objetivos WCF para la implementación de servicios
    La implementación del servicio debe ser simple pero extensible para llegar a una amplia variedad de necesidades
    Una sola API debe ser utilizada para todos los protocolos de comunicación
    Los servicios deben ser interoperables
    Los servicios deben usar estándares WS-* siempre que sea aplicables
    Los servicios pueden soportar SOAP, REST y otras arquitecturas de comunicación
  • 26. El modelo de comunicación WCF
  • 27. Introducción al desarrollo con Microsoft Windows CommunicationFoundation
    Contrato e Implementación de Servicios
    Albergar Servicios WCF
    WCF Behaviors
    Consumir Servicios WCF
  • 28. Contrato e Implementación de Servicios
    Ciclo de vida del desarrollo de un servicio
    ServiceContractsWCF y Data Contracts
    Definir ServiceContracts y Data Contracts
    Consideraciones en la implementación de un servicio
    Implementar un Servicio WCF
  • 29. Ciclo de vida del desarrollo de un servicio
    Contrato: Decidir que datos y operaciones van a ser expuestos
    Implementación: Crear una clase CLR que implemente el contrato
    Hosting: Crear los endpoints y escuchar las peticiones
    Testing: Asegurarse que el servicio se comporta correctamente
    Consumo: Crear un cliente
  • 30. ServiceContractsWCF y Data Contracts
    Que va a ser expuesto es el primer paso para cualquier sistema distribuido
    ServiceContract: Operaciones
    Data Contract: Representación de datos
    Los ServiceContractsse expresan como interfaces de C#
    Los Data Contracts se expresan como clases de C#
    Los atributos se usan para convertir entidades C# en declaraciones WCF
  • 31. Definir ServiceContracts y Data Contracts
  • 32. Consideraciones en la implementación de un servicio
    Un servicio WCF es una implementación del interfaz del servicecontract
    Ubicar el contrato y la implementación en ensamblados diferentes
    La implementación tiene que considerar la instancia WCF y el modelo de concurrencia
  • 33. Implementar un Servicio WCF
    El Servicio ComplexCalc implementa el contrato de servicio IComplexCalc
  • 34. Albergar Servicios WCF
    ¿Qué es un endpoint?
    Address, Binding, Contract
    Binding
    Definir un endpoint
    Crear un Service Host
  • 35. ¿Qué es un endpoint?
    Es una combinación de
    Address
    Binding
    Contract
    El host da vida al servicio
    Une la infraestructura WCF al servicio
    Crea endpointsy escucha las peticiones
  • 36. ¿Qué es un endpoint?
    Cliente
    Servicio
    Endpoint
    Endpoint
    Endpoint
  • 37. Binding
    Encapsula toda la tecnología relacionada con la comunicación y el control de los mensajes
    Define la tecnología de transporte (HTTP, TCP,..)
    Define la codificación del mensaje
    Define los protocolos y los estándares (seguridad, etc…)
    Define las propiedades de los mensajes (timeouts, etc…)
  • 38. Pipeline del mensaje
  • 39. Elementos del binding
  • 40. Bindingspredefinidos y personalizables
    Es posible definir bindingpersonalizados con una combinación propia de elementos binding
    Existen muchos bindings predefinidos diseñados para escenarios comunes
    Los bindingspredefinidos son más sencillos de usar
    Normalmente no hay necesidad de definir bindingpropios
  • 41. Configurar bindingsen el web.config
  • 42. Configurar bindings por código
  • 43. Crear Bindings personalizados
  • 44. Definir un endpoint
    Para definir un endpointdebemos definir la dirección, el bindingy el contrato
  • 45. Crear un Service Host
    Un Service Host puede ser cualquier proceso Windows
    La información sobre los servicios albergados se escribe en el código debajo de <system.serviceModel>
    La clase base para todos los WCF Service Hosts es ServiceHostBase
    Los servicios que se ejecutan en el IIS, WAS o AppFabric se abren automáticamente.
    Otros hosts necesitan la llamada al método Open
  • 46. WCF Behaviors
    Dispatchersy el ChannelStack
    Uso de Behaviorspara configurar los DispatchersWCF
    Definir Behaviorsen el archivo de Configuración
    Definir Behaviorspor código
  • 47. Dispatchersy el ChannelStack
    El channelstack necesita ser extendido para permitir configuraciones adicionales
    Una vez superado el pipeline del canal los dispatchers procesarán el mensaje
    Los dispatchers son usados para ajustar el comportamiento del servicio en aspectos como:
    Instanciamiento
    Concurrencia
    Velocidad de ejecución
    Seguridad
    Serialización

  • 48. Uso de Behaviorspara configurar los DispatchersWCF
    El mecanismo para configurar los dispatchers se denomina behaviors
    Existen una amplia variedad de behaviorspara WCF
    Algunos pueden ser adjuntados al código mediante el uso de atributos, mientras que otros pueden ser escritos en el archivo de cofiguración
    Los behaviors son extensibles en WCF
  • 49. Definir Behaviorsen el archivo de Configuración
  • 50. Definir Behaviorspor código
    Algunos behaviors son orientados al desarrollador, mientras que otros se orientan hacia el administrador:
    Desarrollador
    Instanciamiento
    Concurrencia
    Serialización
    Administrador
    Velocidad de ejecución
    Credenciales de seguridad
    Exponer metadatos
  • 51. Definir Behaviorspor código
    Los behaviors orientados al desarrollador se escriben en el código gracias al uso de atributos
  • 52. Consumir Servicios WCF
    El patrón proxy
    Añadir una Service Reference
    Demo: Crear un Cliente WCF
    Construir un proxy usando un Channel Factory
    Uso correcto de ChannelFactories
    Demo: Uso de Channel Factory
  • 53. El patrón proxy
    Un proxy refleja una entidad fuera de la aplicación
    El proxy traduce las llamadas a los métodos a mensajes de intercambio
  • 54. Añadir una Service Reference
  • 55. Demo: Crear un cliente WCF
  • 56. Construir un proxy usando un ChannelFactory
    Un proxy a un servicio WCF puede ser construido sin Visual Studio 2010 y con automatización de generación de código
    Crear un ChannelFactory<T>
    Crear un canal
  • 57. Uso correcto de ChannelFactories
    Cuando se usa la factoría de canal se es responsable para:
    Establecer la configuración del cliente
    Importar los contratos de servicio y datos
    Eliminación del proxy correctamente
  • 58. Demo: uso del Channel Factory