Entity Framework Desarrollador vs. DBA Enrique Puig Nouselles

Slides:



Advertisements
Presentaciones similares
Conexión a Bases de Datos
Advertisements

Seminarios Técnicos 1 Microsoft Windows Small Business Server 2003 R2 Volumen I Andrés de Pereda – José Fuentes Microsoft Certified Professionals.
Inteligencia de Negocio con Microsoft Office Sharepoint Server 2007 Rubén Alonso Cebrián
3/24/2017 3:58 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Herramientas de control de eventos y tareas en Windows Vista
Descripción técnica de las funciones de escalabilidad de SQL Server 2005 Christian Linacre Microsoft Cono Sur.
Protección de servidores de correo Exchange 2007 con Forefront para Exchange Iván Castro Gayoso Security Technology Specialist
Implementación de Entornos de Colaboración Rubén Alonso Cebrián
Microsoft Office Sharepoint Server Business Intelligence Rubén Alonso Cebrián Código: HOL-SPS07.
Introducción a LAS Bases de Datos
Virtual Desktop Infrastructure (VDI) from Microsoft
SharePoint para Internet
Control Parental en Windows Vista. Se ha dicho por ahí… …sobre Windows Vista: …sobre Windows Vista: - El usuario quiere trabajar y usar su ordenador,
Business Intelligence (BI) Software (Software de Inteligencia Impresario)
Especialista en Business Intelligence Reporting Services SSRS (Sesión 16) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Bases de Datos Introducción.
¿QUÉ SON LAS BASES DE DATOS?
ADO ActiveX Data Object.
Exchange Server 2007 Actualización de un clúster CCR a Service Pack 1 Joshua Sáenz G.
IIS 8 Windows Server 2012 Paulo Dias IT
REMOVE THIS SLIDE! This is the description I sent to Antón – make sure I structure the slides like this. Also, finish demo – populate with more data for.
José Parada Gimeno ITPro Evangelist
Application & Multi Server Management
Microsoft System Center Operations Manager 2007 Gestión de Eventos
- Arquitectura e Implementación
Nuevas Certificaciones y cómo conseguirlas David Carrasco Microsoft Certified Trainer
Alta disponibilidad en Microsoft Exchange Server 2010 Joshua Sáenz G
Integración de BizTalk 2009 con Visual Studio 2008 Enrique Palomino BizTalk Escalation Engineer.
Protección de datos de Exchange con System Center Data Protection Manager 2007 Joshua Sáenz G.
TRUCOS Y PISTAS PARA CONFIGURAR KCD CON ISA 2006
Enrique Puig Nouselles DPE – Area Relacional MCITP.
ALEJANDRO LEGUIZAMO Sales Manager – Mentor Solid Quality Mentors SQL Server 2008 R2 Reporting Services Map Overview.
Generación de Workflows con SharePoint Designer Matías Cordero Ochoa
SQL Server 2008 R2 Reporting Services Component Library Overview ALEJANDRO LEGUIZAMO Sales Manager – Mentor Solid Quality Mentors
Windows Vista: User Account Control
Sergio Carrillo Vila DPE (Data Platform Engineer) Solid Quality Mentors
Service Pack 3 SQL Server 2005 Marcos Celada Microsoft Support Services
Windows Server 2012 Alberto Marcos González (Plain Concepts)
Reporting Services: Report Builder Server Mode Enhacements
Sergio Carrillo Vila DPE (Data Platform Engineer) Solid Quality Mentors
Gestión Basada en Directivas en SQL Server 2008
MOSS Servicios de búsqueda e indexación Rubén Alonso Cebrián
Con la colaboración de:. Fernando Bocigas {Jefe de Producto SQL Server}
NORMAS Y REGLAMENTACIONES APLICABLES A TECNOLOGÍAS INFORMÁTICAS Juan Luis García Rambla MVP Windows Security
FOREFRONT TMG VPN Juan Luis García Rambla MVP Windows Security
FOREFRONT TMG HTTPS INSPECTION Juan Luis García Rambla MVP Windows Security
Características Técnicas
Administración de datos con MS-SQL Server y Visual Basic
PowerPivot: SharePoint IT Experience José Quinto Zamora DPE (Data Platform Engineer) Solid Quality Mentors
Mejorando la forma de construir datawarehouses usando Microsoft SQL Server 2008 Integration Services.
© 2006 Microsoft Corporation. All rights reserved.
Publicación Segura con Forefront Protection 2010 para SharePoint.
Sistema de Administración de Iglesias
Exchange Server 2007 SP1 Standby Continuous Replication Joshua Sáenz G.
Webcast TechNet: Automatización de los procesos de TI con Opalis: para un Centro de Datos verdaderamente dinámico.
Forefront Para Exchange Incidencias Más Frecuentes Presentador: Ross Parkel SEE de Soporte Para Forefront Server y Antigen.
Administracion de Base de Datos I
Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón Mentor y SQL Server MVP Solid Quality Mentors DEV305.
APLICACIÓN DE NUEVAS TECNOLOGÍAS EN LA CONSERVACIÓN Y ANÁLISIS DEL PATRIMONIO CULTURAL Pensar Relacionalmente: Bases de Datos Relacionales (una visión.
POWER PIVOT Experiencia en Cliente ALEJANDRO LEGUIZAMO Sales Manager – Mentor Solid Quality Mentors
1 Unidad VI Arquitectura y Componentes de un SGBD.
Bases de Datos.
Gestión de servidores y clientes con Microsoft System Center Essentials 2007 Joshua Sáenz G.
SQL Data Services Enrique Puig DPE (Data Platform Engineer) Solid Quality Mentors El modelo relacional en la nube.
o MySql: es una base de datos con licencia GPL basada en un servidor. o PostgreSql y Oracle: Son sistemas de base de datos poderosos. o Access: Es una.
Beatriz Adriana Sabino Moxo
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Karla Yunuen González Villanueva
Bases de Datos y Sistemas de Gestión de Bases Relacionales.
Transcripción de la presentación:

Entity Framework Desarrollador vs. DBA Enrique Puig Nouselles DPE (Data Platform Engineer) Solid Quality Mentors epuignouselles@solidq.com www.solidq.com

Objetivos Por parte del desarrollador: Por parte del DBA: Saber que es EF Ventajas de EF Por parte del DBA: Conocer principales preocupaciones como DBA. Conocer como enfrentarnos a Aplicaciones EF.

AGENDA Introducción Modelo Ventajas para el desarrollador Demo Punto de vista del DBA Conclusiones Preguntas

Introducción ADO.NET Entity Framework permite a los desarrolladores crear aplicaciones de acceso a datos programando con un esquema conceptual en lugar de programar directamente con un esquema de almacenamiento relacional. ¿Qué conseguimos? Reducimos cantidad de código Simplificamos el mantenimiento de este tipo de aplicaciones Copyright © 2008. Solid Quality Mentors. All rights reserved.

Modelo de almacenamiento El modelo de datos EDM (Entity data model) Fichero *.edmx Esquema conceptual (Entidades) Modelo de almacenamiento Mapeo Entidades-Tablas Esquema Almacenamiento Fichero *.ssdl Esquema conceptual Fichero *.csdl El modelo conceptual es una capa que nos abstrae de la base de datos. Vamos a distinguir 3 componentes: Por un lado tenemos el Modelo de almacenamiento, donde se encuentran las BDs y los objetos como tablas, relaciones, indices etc… Por otro lado vamos a tener el esquema conceptual donde estarán todas las ENTIDADES (que no son mas que clases que cuando se instancian se convierten en objetos, que a fin de cuentas es con lo que el desarrollador mas agusto está y mejor sabe hacer) y una capa intermedia que nos mapeara las entidades y los atriubutos con las tablas y sus campos. De modo que si por ejemplo vamos a crear una BD que gestione los pedidos de los clientes, en el modelo relacional tendremos la tabla Pedido y la tabla Clientes con una relacion 1 a muchos (1 cliente realizara muchos pedidos y un pedido será de un único cliente). En cambio en el modelo conceptual tendremos una clase Cliente con una coleccion de Pedidos y un Pedido con un objeto cliente. De modo que dado un Cliente podré recorrer sus pedidos sin necesidad de consulta y lo mismo con pedido, tendré toda la información del cliente que lo realizó sin realizar ninguna consulta. Todo esto, los 3 componentes se encuntran empaquetados en un fuchero con extnsion .edmx que es el entuty data model o modelo de entidades de datos que es lo que vamos a tener realmente en nuestros proyectos VS. Desarrollar con EF contra un modelo conceptual en vez de programar contra un modelo relacional nos proporciona una serie de ventajas como…. Mapeo Fichero *.msl

Ventajas para el desarrollador Alternativas a TSQL LinQ to Entities Entity SQL Reducción de líneas de código de la capa de datos Capacidad de crear la BD a partir del modelo Mayor seguridad frente a SQL Injections Abstracción total de la Base de datos Servidor de base de datos SQL Server Oracle MySQL

Creación de la base de datos a partir del modelo conceptual (model first). Inserciones, borrados y modificaciones DEMO

Hasta Ahora… Muchas ventajas para el desarrollador. Creación BD desde cero. Operaciones contra la BD. Inserciones Borrado Modificación Sin escribir nada en T-SQL

Punto de vista del DBA Seguridad Rendimiento y carga del servidor ¿Quién accede a mis datos?¿A que datos tiene acceso? SQL injections Rendimiento y carga del servidor ¿Por qué la aplicación va lenta? ¿Por qué el servidor está tan sobrecargado? ¿Cómo traduce LinQ/EntitySQL? Seguridad: SQL injection: Como las consultas ya no las controla el DBA, una de sus preocupaciones va a ser la vulnerabilidad contra SQL Injections. Además, otra de las preocupaciones son los permisos que van a tener las aplicaciones. Rendimiento: El rendimiento es otra de las grandes preocupaciones, ya que a veces pasa que los desarrolladores podemos olvidarnos del rendimiento en la BD. Además con LinQ, debido a todas las facilidades que ofrece al desarrollador es muy facil generar queries ineficientes. Y por ultimo, el uso de LinQ nos genera cierta incertidumbre a la hora de saber que es lo que realmente s eva a ejecutar en la BD ya que EF traduce estas consultas en LINQ a TSQL. Vamos a hablar mas detalladamente sobre estos 2 aspectos y vamso a empezar con la seguridad… Copyright © 2008. Solid Quality Mentors. All rights reserved.

Seguridad Aplicaciones tradicionales ADO.NET Aplicaciones EF Permisos a lo estrictamente necesario Permisos de ejecución a los procedimientos almacenados Aplicaciones EF Permiso a tiempo parcial para creacion (en periodo de desarrollo) Ya no se conceden permisos únicamente a los procedimientos Tablas, Esquemas y campos. Lo mismo que las aplicaciones tradicionales que no usaban procedimientos. Menos vulnerable a SQL Injections Consultas parametrizadas

Rendimiento Principal problema: Consultas lentas  No conocemos la eficiencia de la aplicación a priori. Los desarrolladores somos excelentes con .NET Pero no somos DBAs. No desarrollamos con los mismos volúmenes de datos ni el mismo hardware. EF es una herramienta poderoso ‘Un gran poder conlleva una gran responsabilidad’ (Peter Parker – Spiderman) Como usar bien ‘el poder’: Elaborar una buena consulta LinQ. Mapeo de procedimientos CRUD. Eager Loading vs. Lazy Loading

DEMO Escenario: Programar métodos de consultas Consultas mediante con lazy loading y Eager Loading. Consultas con LinQ to Entities Consultas con Procedimientos almacenados DEMO

Conclusiones Fácil de programar aplicaciones de acceso a datos.  ‘ Un gran poder conlleva una gran responsabilidad ‘ La tecnología no es la culpable, sino el uso que hagamos de ella. Procedimientos almacenados para obtener el mejor rendimiento. Copyright © 2008. Solid Quality Mentors. All rights reserved.

Preguntas?

Serie de webcasts Webcast Speaker Fecha Data Access, Modeling & the Developer Sergio Carrillo Enero 19 Project Oslo Enero 21 SQL Server Data Services Enrique Puig Enero 26 Application & Multi-Server Management Ruben Pertusa Enero 28 Entity Framework from the DBA's eyes Febrero 4 PowerPivot : Client Experience Alejandro Leguizamo (SQL Server MVP) Febrero 9 PowerPivot : SharePoint IT Experience José Quinto Febrero 11 PowerPivot : Data Analysis Expressions Ildefonso Mas Febrero 24 Reporting Services : Report Builder Server Mode Enhancements Carlos Martinez Marzo 2 Reporting Services : Component Library Overview Marzo 9 Reporting Services : Map Overview Marzo 11 Regístrate en http://technet.microsoft.com/es-es/ee126078.aspx

Más acciones desde TechNet Para ver los webcast grabados sobre éste tema y otros temas, diríjase a: http://www.microsoft.com/spain/technet/jornadas/webcasts/webcasts_ant.aspx Para información y registro de Futuros Webcast de éste y otros temas diríjase a: http://technet.microsoft.com/es-es/bb291010.aspx Para mantenerse informado sobre todos los Eventos, Seminarios y webcast suscríbase a nuestro boletín TechNet Flash en ésta dirección: http://www.microsoft.es/technet/boletines/default.mspx Descubra los mejores vídeos para TI gratis y a un solo clic: http://www.microsoft.es/technet/itsshowtime/default.aspx Para acceder a toda la información, betas, actualizaciones, recursos, puede suscribirse a Nuestra Suscripción TechNet en: http://technet.microsoft.com/es-es/subscriptions/default.aspx

Mas información epuignouselles@solidq.com

Preguntas?

GRACIAS