Presentación Global Capa de Servicios Distribuidos César de la Torre Architect Advisor cesardl@microsoft.com Microsoft División de Desarrolladores y Plataforma Architecture
Capa Servicios Distribuidos (Web-Services, etc.) Architecture
Capa Servicios Distribuidos (Web-Services) - Orientación a Servicios SOA? - Capa delgada, no lógica negocio - Implementación con qué tecnología? - Despliegue y Monitorización? -N-Tier: Tipos de objetos a comunicar remotamente? Architecture
SOA is dead SOA? «Larga Vida a los Servicios-Web»
N-Layer vs. N-Tier? Capas Lógicas Niveles Físicos Son Complementarias..
Patrones de Despliegue - Arquitectura Física - Arquitecturas N-Tier - Seguridad en Tiers Architecture
Arquitectura 3-Tier con clientes RIA/Rich Tier Cliente RIA/Rich n Clientes Usuarios REST / SOAP Http / TCP Balanceo de Carga Tier de Servidor App/Web Aplicación Aplicación Aplicación Aplicación Accesos a Datos Tier de Datos B.D. Servidor Base de Datos (SQL Server, etc.) (*) Esta Arquitectura física es la mas usual en la mayoría de deployments, por razones de rendimiento, no incluye latencias innecesarias
Arquitectura N-Tier con Web-Farm Frontal Web y Web-Farm de Servidor Aplicaciones Tier Cliente n Clientes Usuarios HTTP Balanceo de Carga Tier de Servidor Frontales Web HTTP Web/Srv Web/Srv Web/Srv Web/Srv Red 1 (DMZ, etc.) TCP Balanceo de Carga Tier de Servidor de Aplicación NetTCP binding App/Dominio Accesos a Datos Persistidos App/Dominio App/Dominio App/Dominio Red 2 (Red interna) Tier de Datos B.D. Servidor Base de Datos (SQL Server, etc.) (*) Esta Arquitectura física suele ser común por razones de seguridad y aislamiento de servidores de aplicaciones
Arquitectura N-Tier con Web-Farm Frontal WCF y Web-Farm de Servidor Aplicaciones Tier Cliente n Clientes Usuarios HTTP Balanceo de Carga Tier de Servidor Frontales Servicios-Web HTTP Web/Srv Web/Srv Web/Srv Web/Srv Red 1 (DMZ, etc.) TCP Balanceo de Carga Tier de Servidor de Aplicación NetTCP binding App/Dominio Accesos a Datos Persistidos App/Dominio App/Dominio App/Dominio Red 2 (Red interna) Tier de Datos B.D. Servidor Base de Datos (SQL Server, etc.) (*) Esta Arquitectura física suele ser común por razones de seguridad y aislamiento de servidores de aplicaciones
Tecnologías - Servicios Distribuidos - Tecnologías Base - ASP.NET Web-Services - (WS-I Basic Profile) - WCF (Windows Communication Foundation) - Todas las especificaciones y estándares (WS-I, WS-*, REST, HTTP, TCP, NamedPipes, MSMQ, etc.) - Workflow-Services ( WCF+WF ) -RAD (Rapid Application Development): - WCF Data.Services (aka. ADO.NET DS) - WCF RIA Services (Relación-Silverlight) - VS LightSwitch (RAD con Srv. Distribuidos transparentes) Architecture
WCF (Windows Communications Foundation) DESACOPLAMIENTO
Estándares y Protocolos: REST vs. SOAP - Alineado con Internet Arquitecturalmente - Apropiado para clientes con capacidades limitadas (JavaScript) - Basado en Acceso a Recursos - Operaciones Remotas - Acceso a Recursos Remotos - Interoperable - Cifrado Nivel Mensaje - Intermediarios (Routing) - Mensajería Confiable - Políticas de Control - Basado en Acciones Mas Alcance (Compatibilidad) Aplicación Internet Alcance Aplicación Menos Alcance Aplicación Empresarial
WCF Bindings SOAP - Basic Profile basichttpbinding - WS-* wshttpbinding REST - webhttpendpoint Binario y propietario Microsoft (.NET End-To-End) - NetTcpEndpoint - NetNamedPipeBinding - NetMsmqBinding Architecture
Bindings en WCF 4.0 http://msdn.microsoft.com/en-us/library/ms731092.aspx Binding Interoperability Mode of Security (Default) Session(Default) Transactions Duplex BasicHttpBinding Basic Profile 1.1 (None), Transport, Message, Mixed None, (None) (None) n/a WSHttpBinding WS None, Transport, (Message), Mixed (None), Transport, Reliable Session (None), Yes n/a WS2007HttpBinding WS-Security, WS-Trust, WS- SecureConversation, WS- SecurityPolicy None, Transport, (Message), Mixed (None), Transport, Reliable Session (None), Yes n/a WSDualHttpBinding WS None, (Message) (Reliable Session) (None), Yes Yes WSFederationHttpBinding WS-Federation None, (Message), Mixed (None), Reliable Session (None), Yes No WS2007FederationHttpBinding WS-Federation None, (Message), Mixed (None), Reliable Session (None), Yes No NetTcpBinding.NET None, (Transport), Message, Mixed Reliable Session, (Transport) (None), Yes Yes NetNamedPipeBinding.NET None, (Transport) None, (Transport) (None), Yes Yes NetMsmqBinding.NET None, Message, (Transport), Both (None) (None), Yes No NetPeerTcpBinding Peer None, Message, (Transport), Mixed (None) (None) Yes MsmqIntegrationBinding MSMQ None, (Transport) (None) (None), Yes n/a
REST - webhttpendpoint Extension Manager Template
[ LABS ] Servicios WCF App-Ejemplo de Arquitectura Architecture
N-Tier: Tipos de Objetos en comunicaciones Beneficios Arquitecturales DTOs propios (Data Transfer Objects) Entidades POCO de EF 4.0 Self-Traking Entities (Entidades IPOCO de EF 4.0) Entidades Simples/Nativas de EF Conjuntos de Cambios de Registros DataSets, DataTables, etc. Facilidad de Implementación
VELOCITY CACHE MONITORIZACION AppFabric Hospedaje de WORKFLOW Hospedaje de SERVICIOS BUS SERVICIOS CONTROL ACCESO Azure Platform.NET Services DUBLIN
Hosting de Servicios - Problemas Despliegue Configuración Gestión/monitorización/resolución de problemas Complicación en la monitorización de Servicios Como puedo saber a simple vista que todo está bien? Cómo de ocupado está mi servidor? Hay algún error?
Windows Application Server (Codename Dublin ) ASP.NET Web pages IIS ASP.NET Visual Studio Admin Tools (IIS Admin Tools Manager) (IIS Manager) WAS.NET COM+, DTC, MSMQ AppFabric WCF Windows Server WCF y WF services WF System Center Retos en el Servidor de Apps Quiero Evolución mis de servicios WAS/IIS de WCF hacia y WF Windows funcionando App y que sean fáciles los despliegues Server para controlar y monitorizar Servicios WCF Quiero y WF poder monitorizar y controlar los Servicios WCF y WF. Parte de la Plataforma Windows Server Necesitamos también scripting. Monitorización y Control (aka. Dublin ) Scripting (PowerShell) Extensiones empresariales
Server Manager Dublin Integration Stack de AppServer ( Dublin ) Visual Studio Plantillas WCF y WF IIS Manager IIS Manager Modules - WCF ywf Management APIs (PowerShell command-lets) Servicios Runtime y Componentes Persistencia Hosting Monitorización B.D. de Persistencia Bases de Datos WCF WF B.D. de Monitorización System Center AppCenter Management Pack ASP.NET.NET Framework IIS/WAS
Instalación AppFabric Dos opciones Download e instalación manual Web-Platform-Installer
Download AppFabric (Opción 1)
Instalación de Features
Web Platform Installer (Opción 2)
Web Platform Installer (Opción 2) Seleccionar Enterprise
Web Platform Installer (Opción 2)
Web Platform Installer (Opción 2)
Configuration Wizard en AppFabric
[ LABS ] Despliegue y Monitorización de Servicios WCF en Windows Server AppFabric Architecture
Hosting de Servicios - AppFabric Despliegue con scripts reducen el tiempo y el riesgo Integrado con IIS Dashboard Estado de un vistazo Mejoras Logging/Eventing resolución de problemas de forma más rápida Escaladas menos frecuentes a los desarrolladores Architecture
Contacto César de la Torre Architect Advisor Microsoft División de Desarrolladores y Plataforma " Blog: http://blogs.msdn.com/cesardelatorre * Email: cesardl@microsoft.com