Introductionto WCF Solutions<br />With Microsoft Visual Studio 2010<br />
Agenda<br />ServiceOrientedArchitecture<br />Introducción al desarrollo con Microsoft Windows CommunicationFoundation<br /...
ServiceOrientedArchitecture (SOA)<br />¿Qué es SOA?<br />Beneficios de SOA<br />Escenarios y estándares<br />Introducción ...
¿Qué es SOA?<br />SOA es un estilo de arquitectura diseñada para construir sistemas distribuidos<br />Desafíos en aplicaci...
¿Qué es un servicio?<br />Un servicio expone funcionalidad aceptando datos (peticiones) y algunas veces devolviendo datos ...
Pilares de SOA<br />Los servicios manejan datos, no objetos<br />Los servicios son autónomos<br />Los servicios tienen lím...
¿Cómo se accede a un servicio?<br />A través de los bordes<br />Múltiples bordes<br />Dirección<br />WCF Endpoints<br />
Beneficios de SOA<br />Mejora de la Productividad<br />Servicios Autónomos<br />Interoperabilidad<br />Testeo<br />
Beneficios de SOA<br />Agilidad<br />Contrato<br />Movilidad<br />Cambios dinámicos del cliente<br />Instancias del servic...
Beneficios de SOA<br />Reduce Costes IT<br />Reutilizar módulos<br />Externalizar capacidades<br />Simplicidad<br />Múltip...
Beneficios de SOA<br />Tecnologías de comunicación diversas<br />Políticas de seguridad<br />Patrones mensajería<br />Dife...
Beneficios de SOA<br />Alta escalabilidad<br />Fire and forget<br />Uso de diferentes topologías<br />Múltiples instancias...
Beneficios de SOA<br />Interoperabilidad entre sistemas<br />El servicio desconoce la tecnología del cliente<br />Exponen ...
Beneficios de SOA<br />Fiabilidad del servicio<br />Políticas de reintento<br />Backup<br />Persistencia en los mensajes<b...
Beneficios de SOA<br />Seguridad integrada<br />Capas de seguridad<br />Servicios de intercambio de datos<br />Protección ...
Escenarios y Estándares<br />Aplicaciones expuestas como Servicios Web<br />Aplicaciones de Intranet como Servicios<br />A...
Aplicaciones expuestas como Servicios Web<br />
Aplicaciones de Intranet como servicios<br />
Aplicaciones 2.0 en el Navegador<br />
SOAP<br />Estándar basado en XML<br />Transporta mensajes para Web Services, que son creados de acuerdo al contrato de ser...
REST<br />Arquitectura de estilos para servicios<br />Protocolo HTTP<br />El contrato está basado en verbos HTTP<br />GET<...
WS-* StandardsIntegrate Web Services<br />WS-* es un grupo de estándares basados en XML relevantes para servicios Web<br /...
Introducción a WCF<br />¿Qué es WCF?<br />Objetivos de WCF para la implementación de servicios<br />El modelo de comunicac...
¿Qué es un WCF?<br />Framework unificado para la construcción de aplicaciones orientadas a servicios<br />Fue introducido ...
Objetivos WCF para la implementación de servicios<br />La implementación del servicio debe ser simple pero extensible para...
El modelo de comunicación WCF<br />
Introducción al desarrollo con Microsoft Windows CommunicationFoundation<br />Contrato e Implementación de Servicios<br />...
Contrato e Implementación de Servicios<br />Ciclo de vida del desarrollo de un servicio<br />ServiceContractsWCF y Data Co...
Ciclo de vida del desarrollo de un servicio<br />Contrato: Decidir que datos y operaciones van a ser expuestos<br />Implem...
ServiceContractsWCF y Data Contracts<br />Que va a ser expuesto es el primer paso para cualquier sistema distribuido<br />...
Definir ServiceContracts y Data Contracts<br />
Consideraciones en la implementación de un servicio<br />Un servicio WCF es una implementación del interfaz del servicecon...
Implementar un Servicio WCF<br />El Servicio ComplexCalc implementa el contrato de servicio IComplexCalc<br />
Albergar Servicios WCF<br />¿Qué es un endpoint?<br />Address, Binding, Contract<br />Binding<br />Definir un endpoint<br ...
¿Qué es un endpoint?<br />Es una combinación de <br />Address<br />Binding<br />Contract<br />El host da vida al servicio<...
¿Qué es un endpoint?<br />Cliente<br />Servicio<br />Endpoint<br />Endpoint<br />Endpoint<br />
Binding<br />Encapsula toda la tecnología relacionada con la comunicación y el control de los mensajes<br />Define la tecn...
Pipeline del mensaje<br />
Elementos del binding<br />
Bindingspredefinidos y personalizables<br />Es posible definir bindingpersonalizados con una combinación propia de element...
Configurar bindingsen el web.config<br />
Configurar bindings por código<br />
Crear Bindings personalizados<br />
Definir un endpoint<br />Para definir un endpointdebemos definir la dirección, el bindingy el contrato<br />
Crear un Service Host<br />Un Service Host puede ser cualquier proceso Windows<br />La información sobre los servicios alb...
WCF Behaviors<br />Dispatchersy el ChannelStack<br />Uso de Behaviorspara configurar los DispatchersWCF<br />Definir Behav...
Dispatchersy el ChannelStack<br />El channelstack necesita ser extendido para permitir configuraciones adicionales<br />Un...
Uso de Behaviorspara configurar los DispatchersWCF<br />El mecanismo para configurar los dispatchers se denomina behaviors...
Definir Behaviorsen el archivo de Configuración<br />
Definir Behaviorspor código<br />Algunos behaviors son orientados al desarrollador, mientras que otros se orientan hacia e...
Definir Behaviorspor código<br />Los behaviors orientados al desarrollador se escriben en el código gracias al uso de atri...
Consumir Servicios WCF<br />El patrón proxy<br />Añadir una Service Reference<br />Demo: Crear un Cliente WCF<br />Constru...
El patrón proxy<br />Un proxy refleja una entidad fuera de la aplicación<br />El proxy traduce las llamadas a los métodos ...
Añadir una Service Reference<br />
Demo: Crear un cliente WCF<br />
Construir un proxy usando un ChannelFactory<br />Un proxy a un servicio WCF puede ser construido sin Visual Studio 2010 y ...
Uso correcto de ChannelFactories<br />Cuando se usa la factoría de canal se es responsable para:<br />Establecer la config...
Demo: uso del Channel Factory<br />
Introduction to wcf solutions
Upcoming SlideShare
Loading in...5
×

Introduction to wcf solutions

1,399

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,399
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
45
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduction to wcf solutions

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

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×