La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Entity Framework Enrique Puig Nouselles DPE (Data Platform Engineer) Solid Quality Mentors Desarrollador vs. DBA.

Presentaciones similares


Presentación del tema: "Entity Framework Enrique Puig Nouselles DPE (Data Platform Engineer) Solid Quality Mentors Desarrollador vs. DBA."— Transcripción de la presentación:

1 Entity Framework Enrique Puig Nouselles DPE (Data Platform Engineer) Solid Quality Mentors Desarrollador vs. DBA

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

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

4 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. 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? ¿Qué conseguimos? Reducimos cantidad de código Reducimos cantidad de código Simplificamos el mantenimiento de este tipo de aplicaciones Simplificamos el mantenimiento de este tipo de aplicaciones

5 EDM (Entity data model) Fichero *.edmx El modelo de datos Esquema conceptual (Entidades) Mapeo Entidades-Tablas Modelo de almacenamiento Esquema Almacenamiento Fichero *.ssdl Mapeo Fichero *.msl Esquema conceptual Fichero *.csdl

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

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

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

9 Punto de vista del DBA Seguridad Seguridad ¿Quién accede a mis datos?¿A que datos tiene acceso? ¿Quién accede a mis datos?¿A que datos tiene acceso? SQL injections SQL injections Rendimiento y carga del servidor Rendimiento y carga del servidor ¿Por qué la aplicación va lenta? ¿Por qué la aplicación va lenta? ¿Por qué el servidor está tan sobrecargado? ¿Por qué el servidor está tan sobrecargado? ¿Cómo traduce LinQ/EntitySQL? ¿Cómo traduce LinQ/EntitySQL?

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

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

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

13 Conclusiones Fácil de programar aplicaciones de acceso a datos. Fácil de programar aplicaciones de acceso a datos. Un gran poder conlleva una gran responsabilidad Un gran poder conlleva una gran responsabilidad La tecnología no es la culpable, sino el uso que hagamos de ella. La tecnología no es la culpable, sino el uso que hagamos de ella. Procedimientos almacenados para obtener el mejor rendimiento. Procedimientos almacenados para obtener el mejor rendimiento.

14 PREGUNTAS?

15 Serie de webcasts WebcastSpeakerFecha Data Access, Modeling & the DeveloperSergio CarrilloEnero 19 Project OsloSergio CarrilloEnero 21 SQL Server Data ServicesEnrique PuigEnero 26 Application & Multi-Server ManagementRuben PertusaEnero 28 Entity Framework from the DBA's eyesEnrique PuigFebrero 4 PowerPivot : Client ExperienceAlejandro Leguizamo (SQL Server MVP)Febrero 9 PowerPivot : SharePoint IT ExperienceJosé QuintoFebrero 11 PowerPivot : Data Analysis ExpressionsIldefonso MasFebrero 24 Reporting Services : Report Builder Server Mode EnhancementsCarlos MartinezMarzo 2 Reporting Services : Component Library OverviewAlejandro Leguizamo (SQL Server MVP)Marzo 9 Reporting Services : Map OverviewAlejandro Leguizamo (SQL Server MVP)Marzo 11 Regístrate en

16 Más acciones desde TechNet Para ver los webcast grabados sobre éste tema y otros temas, diríjase a: Para ver los webcast grabados sobre éste tema y otros temas, diríjase a: Para información y registro de Futuros Webcast de éste y otros temas diríjase a: Para información y registro de Futuros Webcast de éste y otros temas diríjase a: Para mantenerse informado sobre todos los Eventos, Seminarios y webcast suscríbase a nuestro boletín TechNet Flash en ésta dirección: Descubra los mejores vídeos para TI gratis y a un solo clic: Descubra los mejores vídeos para TI gratis y a un solo clic: Para acceder a toda la información, betas, actualizaciones, recursos, puede suscribirse a Nuestra Suscripción TechNet en: Para acceder a toda la información, betas, actualizaciones, recursos, puede suscribirse a Nuestra Suscripción TechNet en:

17 Mas información

18 PREGUNTAS?

19 GRACIAS


Descargar ppt "Entity Framework Enrique Puig Nouselles DPE (Data Platform Engineer) Solid Quality Mentors Desarrollador vs. DBA."

Presentaciones similares


Anuncios Google