Title: VISUAL STUDIO TEAM EDITION FOR DATABASE PROFESSIONALS
1VISUAL STUDIO TEAM EDITION FOR DATABASE
PROFESSIONALS
- Juan Irigoyen
- Talleres Oran S.A.
- http//geeks.ms/blogs/jirigoyen/
- Email juan_irigoyen_at_hotmail.com
Nuberos.net CIIN
2Agenda
- Introducción a VSDD
- A quien va dirigido.
- Importación de esquemas.
- Integración con Team Foundation Server.
- Generación de datos de prueba.
- Comparación de esquemas y datos.
- Mejorando la calidad con Pruebas Unitarias y Code
Analisys. - Extensibilidad
- Ventajas e inconvenientes de utilizar VSDD.
- Novedades en VS 2010
3Visual Studio Premium 2010
Visual Studio Ultimate 2010
SoftwareArchitects
SoftwareDevelopers
SoftwareTesters
VisualStudioIndustryPartners
VisualStudioTeamExplorer
Application Modeling
Code Analysis
Performance Testing
Manual Testing
Infrastructure and Deployment Modeling
Performance Tuning
Virtual Testing
Test Case Management
Security Analysis
Unit Testing
Code Coverage
MSF Process and Guidance
Class Modeling
Visio and UML Modeling
Visual Studio Professional Edition
Load Test Agent
Visual Studio Team Foundation Server
Change Management
Reporting
Integration Services
4A quien va dirigido
- Personas que trabajan con Sql Server 2000, 2005 y
2008 - Desarrolladores de Oracle. Desde la versión 9i
11g. Por la empresa Quest Software Inc - Arquitectura basada en Database Shema Provider
(DSP), para para soportar otras bases de datos
como - MySql.
- IBM DB2
- Desarrolladores de Oracle. Desde la versión 9i
11g. Por la empresa Quest Software Inc
5Proyecto de Base de datos
- Gestión de cambios en la Base de datos
- Versionado de los objetos.
- Desarrollo incremental
- Comparación de Esquemas
- Refactoring
- Calidad
- Dependencias de columnas, validación y vistas.
- T-SQL Static Code Analysis (FxCop for SQL)
- Database Unit Testing / Test Data Generation
- Integración con el ciclo de vida de la aplicación
(ALM) - Procesar, especificar work items, bugs y roles
(MSF) - Integración con Team Build
6Proyecto de Base de datos
- Cada proyecto de base de datos es una
representación sin conexión de una base de datos
y existe dentro de la estructura de una solución
de Visual Studio. - Los proyectos de Base de datos permiten
aprovechar las ventajas de la integración con un
servidor Team Foundation Server y beneficiarse
del control de código fuente.
7Ejemplo. Estableciendo el entorno del proyecto
8Establecer un entorno aislado de desarrollo
interactivo
9Notificación de bugs con de team system.
10Editar scripts y objetos de base de datos
- Team System Database Professionals incluye un
editor T-SQL para ejecutar, validar consultas y
analizar su rendimiento.
11Generación de datos de prueba.
- Generar datos proporciona la capacidad de llenar
una base de datos con datos de prueba realistas. - Se puede extender creando generadores de datos
personalizados
Demo
12Comparación y sincronización de datos entre BD.
13Comparación y sincronización de estructuras Bases
de datos
14Schema Deployment
Target Database
.dbschema file
Schema Model
Schema Model
Model Diff
Plan Executors
.SQL
Deployment Engine
Incremental Target Update
Additional schema artifacts
15Schema Compilation
Source Database
Reverse engineer schema into DDL artifacts
Interpret, Analyze and Validate Schema
Model
Schema Model
.dbschema file
Build
Compose model representation from source code
fragments
16Pruebas unitarias
- Introducción.
- Condiciones de prueba en pruebas unitarias
customizables. - Utilizar Aserciones T-SQL (RAISERROR)
- Pueden soportar transacciones
- Nuevas condiciones Data Checksum y Expected
Schema - Extensibilidad
Demo
17Mejorando la calidad con code analisys.
- Se pueden crear nuevas reglas para aplicar con
code analisys.
18Refactorización
- Cambiar el nombre de objetos de BD.
- Refactorizar objetos en un entorno de equipo.
- Implementar cambios de refactorización
- Extensibilidad.
19Extensibilidad
- Proveedores Personalizados DSP (Oracle, SP2 Sql
Server 2008, etc).
- Generadores de datos personalizados.
- Condiciones de pruebas unitarias personalizadas.
- Creación de nuevos tipos de refactoring
- Creación de nuevas reglas de Static Code Analysis
Toda la información sobre extensibilidad
en http//msdn.microsoft.com/en-us/library/aa8332
8528VS.10029.aspx
20 - Crea un nuevo DB Project - Realiza ingenierÃa
inversa de una DB a un Proyecto - Crea un plan de
Data Generation
DBA - Crea el entorno
W o R K F L O w
- Crea DB Code y Tests
- - Refactoriza
- - Ejecuta los test,
- - Check in
- -Trabajo en conjunto para integrar todas las
partes
Desarrollador. Programa y testea
- Revisión y comparación de cambios con
Producción. - Crea el Deploy Package - Despliegue
a Producción (Dependiente de cambios en las
aplicaciones del cliente, trabaja conjuntamente
con los desarrolladores).
DBA Valida e integra cambios
Fuente El Bruno.
21Despliege desde el entorno del proyecto.
22Ciclo de construcciones sobre un projecto de Base
de datos.
23Ventajas de utilizar VSDD
- AÃsla el entorno de desarrollo y producción.
- Habilita la integración y colaboración entre
entre la aplicación y la capa de datos. - Se integra con el control de código fuente.
- Refactoring de objetos
- Testeo Unitario.
- Creación de datos de prueba
- Code Analisys.
- Sincronización de estructuras.
- Sincronización de datos.
- Generación de scripts de cambios.
- Integración con Team Foundation Server.
- Orientado a Proyectos evolutivos.
- Permite practicas de desarrollo ágiles en la capa
de datos. - Extensible.
24Inconvenientes y mejoras
- En algunos casos, trabajar con scripts y objetos
en el proyecto de BD es menos intuitivo que
hacerlo directamente con el diseñador de Sql
server, aunque se puede mitigar con el diseñador
y posterior generación de scripts. - Problemas del enlace entre la BD y el código.
- Generación automática de Test Unitarios.
25Novedades en la versión 2010
- Arquitectura basada en Database Shema Provider
(DSP), para para soportar otras bases de datos. - Extensibilidad
- - Generadores de datos personalizados.
- - Condiciones de pruebas unitarias
personalizadas. - - Creación de nuevos tipos de refactoring
- - Creación de nuevas reglas de Static Code
Analysis - Model Based. Todas las herramientas trabajan
sobre un modelo de representación. - Separación de las builds y el deployment.
- Las construcciones generan un solo archivo
.DBSCHEMA - Plus configurations files
26Construcciones
- Las construcciones validan el modelo completo.
- Validan los Pre Post Deployment scripts
- Serializa el modelo al fichero .dbschema file
- Ficheros de salidas
- Database.sqlcmdvars
- Database.sqldeployment
- Database.sqlsettings
- ltProjectNamegt.dbschema
- ltProjectNamegt.deploymanifest
- Script.PostDeployment.sql
- Script.PreDeployment.sql
27Recursos adicionales
- Database Professionals Team Center
- http//msdn.microsoft.com/en-us/teamsystem/aa71876
4.aspx - Home Data Dude (Blog de Gert Drapers)
- http//blogs.msdn.com/gertd/default.aspx
- Database Professionals MSDN Forums
- http//social.msdn.microsoft.com/forums/en-US/vsts
db/threads/ - Extensibilidad
- http//msdn.microsoft.com/en-us/library/aa8332852
8VS.10029.aspx - Video Proveedor de Oracle
- http//www.ditii.com/2009/08/13/visual-studio-team
-system-2010-database-schema-extensibility/