Acceso a datos y paso de datos entre capas Bienvenidos Acceso a datos y paso de datos entre capas José Marcenaro (MVP) Gastón Quirque (MVP–MCP)
Agenda Temas a tratar Flexibilidad, optimización y reutilización en el acceso a datos Transferencia de datos entre capas Nivel de la conferencia: Intermedio (200)
Diseño y desarrollo de aplicaciones distribuidas Contexto ¿Para qué Acceso a Datos entre capas? Diseño y desarrollo de aplicaciones distribuidas
Aplicaciones distribuidas ¿Por qué distribuidas? (por dispersión geográfica) por escalabilidad por seguridad por flexibilidad
I - Flexibilidad, optimización y reutilización en el acceso a datos. Aplicaciones distribuidas I - Flexibilidad, optimización y reutilización en el acceso a datos.
¿Cómo? Entender los fundamentos Aplicar las mejores prácticas Partir de una base probada
Entender los fundamentos Criterios centrales del modelo ADO.NET Dos grupos de componentes Especialización de funciones
Aplicar las mejores prácticas Conexiones, seguridad e identidad Procedimientos almacenados Detección de conflictos Manejo transaccional Ver: /practices (PAG) y Data Access Guide: http://msdn.microsoft.com/library/en-us/dnbda/html/daag.asp
Partir de una base probada Data Access Application Block Revisión, ejemplo Evolución del DAAB Es un punto de partida
II - Transferencia de datos entre capas Aplicaciones distribuidas II - Transferencia de datos entre capas
Transferencia de datos entre capas Punto de partida Tecnologías de invocación remota Principales factores de análisis Pasaje de datos: alternativas
Punto de partida Invocación remota DCOM / COM+ Limitado a ambientes Intranet Alto costo de implementación Baja interoperabilidad
Acceso y representación de datos Guías Prescriptivas de Arquitectura
Mecanismos de invocación remota Dos tecnologías principales Capa Capa XML Web Services .NET Remoting
Tecnologías Web Services - Características Interoperabilidad entre plataformas Protocolos estándar Estructura simple Intercambio de mensajes System.Web.Services.WebServices, [WebMethod] Clientes heterogéneos Infraestructura Servicios de IIS Seguridad Control de ejecución Configuración simple
Tecnologías .NET Remoting - Características Comunicar distintos Dominios de Aplicación Protocolos y formatos Estructura programación enriquecida MarshalByRefObject, ISerializable Clientes .NET Proceso host Servicios de IIS Configuración simple
Tecnologías Serialización y metadatos Capa Capa Enviar instancias de datos programáticos a través de la red Enviar una descripción del significado de los mensajes
Serialización y metadatos System.Xml.Serialization.XmlSerializer Tecnologías Web Services Serialización y metadatos XMLSerializer System.Xml.Serialization.XmlSerializer WSDL y XSD
Serialización y metadatos BinaryFormatter y SOAPFormatter Tecnologías Remoting Serialización y metadatos IFormatter BinaryFormatter y SOAPFormatter Assemblies
Factores de análisis Modelo de programación Protocolo de transporte y procesos Seguridad Manejo de estado Performance
Modelo de programación Web Services Simple Mapeo de mensajes SOAP Invocación de métodos Remoting Mucho mas rico y complejo Funcionalidad ampliada Pasaje de objetos Callbacks
Protocolo de transporte y procesos Web Services HTTP IIS (aspnet_wp.exe) Remoting HTTP y TCP Servicio Windows o un exe .NET IIS Auto inicio de un punto final Thread seguro
Seguridad Web Services Remoting ASP.NET (IIS) SSL WS-Security (WSE) No provee características de seguridad nativas IPSec Servicios de IIS
Manejo de estado Web Services Remoting Arquitectura de servicios sin estado Servicios de ASP.NET Remoting SingleCall Singleton Client-Activated
Performance Máxima performance Datos interesantes Test Remoting canal TCP, formateador Binary Datos interesantes Web Services vs. Remoting HTTP y SOAP Web Services vs. Remoting HTTP y Binary Test http://msdn.microsoft.com/library/en-us/dnbda/html/bdadotnetarch14.asp
Criterios de elección Interoperabilidad Web Services Intranet Remoting Performance Remoting Remoting y objetos remotos en Internet Usar Web Services, Remoting exige un cliente .NET Seguridad Usar servicios de IIS IPSec TCP y SSL HTTP
Pasaje de datos: alternativas Valores escalares Cadenas XML DataSets Objetos especializados DataReader
Prepárense para aplicaciones distribuidas! Resumiendo... Prepárense para aplicaciones distribuidas! apliquen el modelo desconectado aprovechen la base existente usen las “mejores prácticas” para el manejo de datos elijan el mecanismo adecuado de invocación remota pasen eficientemente los datos entre capas
Links de utilidad ¿Preguntas? Grupo de Arquitectura Prescriptiva http://msdn.microsoft.com/practices Centro de Arquitectura .NET http://msdn.microsoft.com/architecture Web Services http://msdn.microsoft.com/webservices Diseño de componentes de datos http://msdn.microsoft.com/library/en-us/dnbda/html/BOAGag.asp ¿Preguntas?
Por favor, completá el formulario de evaluación Muchas gracias por tu participación! José Marcenaro (MVP) josem@da-vinci.com.ar Gastón Quirque (MVP–MCP) gastonq@m3sa.com Por favor, completá el formulario de evaluación
Programa Desarrollador Cinco Estrellas Si ya tenés tu estrella, pasá al salón San Telmo
Tu potencial. Nuestra pasión.®