SlideShare ist ein Scribd-Unternehmen logo
1 von 23
TDC 2011 – Trilha ALM Tragaseubanco de dados para o ALM Igor Abade V. Leite @igorabade Microsoft MVP – Visual Studio ALM
O Problema Historicamentebancos de dados têmsidoimplementadosusandoferramentas e processosdesconexos do desenvolvimento de aplicações Difícil de implementarcontrole de mudança
O Problema Difícil de integrar o desenvolvimento de BDs naGestão do Ciclo de Vida de Aplicações (Application Lifecycle Management - ALM) Hojeemdia o mesmodesenvolvedortipicamenteimplementa a camada de acesso a dados e o própriobanco de dados
A Solução Estabelecer e suportar um Ciclo de Vida de Desenvolvimento de Bancos de Dados (Database Development Lifecycle - DDLC) Ferramentas, metodologias e processospara o desenvolvedor de BDs Integrar o DDLC aoresto do ciclo de ALM
Database Development Lifecycle (DDLC) Desenvolvabancos de dados usandoferramentas e processossimilares a desenvolvimento de aplicações Escrevacódigo T-SQL direto no Visual Studio Deixe o desenvolvedordeclarar o queelequer – CREATE TABLE Clientes(…); A ferramentaque “se vire” paradescobrircomocriar/modificar o banco de dados Use as mesmasferramentas de autoria e gestão de código Controle de Versão, Refactoring, Análise de Código, Testes de Unidade, Automação de Build
Integrando DDLC com ALM Implemente as mudançasemcadacamada da aplicação a partir da mesmaSolução do Visual Studio Use Controle de Versão (ex. TFS) paraacompanhar e gerenciarmudançasfeitas a cadacamada Use Testes de Unidadeparaverificarautomaticamente as interações entre aplicação/camada de negócios e o banco de dados
Roadmap ,[object Object]
Designers Visuais
Mecanismounificado de implantação
Suporte a apps missãocrítica
Suportecompleto a objetos SQL
Melhorias no sistema de projetos
Melhoriasnasfuncionalidades de ALM
Introdução a projetosData-tier Application
ProjetosData-tier Application (DAC) e Database (SQL) operamSxSVS 2010 VS 2005 VS 2008 “GDR” vNext ,[object Object]
SQL IntelliSense
Suporte a bancos de dados de terceiros
Controleoffline de mudanças
SQL 2000/2005
ALM parabancos de dadosSQL Server Development Tools  (SSDT) Codename “Juneau” VisãoparavNext Combinar o melhor dos projetos SQL e DAC ,[object Object]
Separação de Build e Deploy
Remoção do “DesignDB”,[object Object]
SQL Server Utility

Weitere ähnliche Inhalte

Andere mochten auch

Apostila introdução à linguagem sql
Apostila introdução à linguagem sqlApostila introdução à linguagem sql
Apostila introdução à linguagem sql
Reuel Lopes
 
Instalação do Oracle 10g r2 for Red Hat AS Enterprise Linux 4 update 5
Instalação do Oracle 10g r2 for Red Hat AS Enterprise Linux 4 update 5Instalação do Oracle 10g r2 for Red Hat AS Enterprise Linux 4 update 5
Instalação do Oracle 10g r2 for Red Hat AS Enterprise Linux 4 update 5
Fábio Delboni
 

Andere mochten auch (20)

Apostila de Introdução ao C#.net
Apostila de Introdução ao C#.netApostila de Introdução ao C#.net
Apostila de Introdução ao C#.net
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
 
Apostila de C# & Asp.Net
Apostila de C# & Asp.NetApostila de C# & Asp.Net
Apostila de C# & Asp.Net
 
Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012
 
Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...
Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...
Mini-Curso: Introdução à Big Data e Data Science - Aula 12 - Sessão de pergun...
 
Apostila Android
Apostila AndroidApostila Android
Apostila Android
 
Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008
 
Apostila introdução à linguagem sql
Apostila introdução à linguagem sqlApostila introdução à linguagem sql
Apostila introdução à linguagem sql
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
 
Instalação do Oracle 10g r2 for Red Hat AS Enterprise Linux 4 update 5
Instalação do Oracle 10g r2 for Red Hat AS Enterprise Linux 4 update 5Instalação do Oracle 10g r2 for Red Hat AS Enterprise Linux 4 update 5
Instalação do Oracle 10g r2 for Red Hat AS Enterprise Linux 4 update 5
 
Business Intelligence, Data Visualization and Data Science
Business Intelligence, Data Visualization and Data ScienceBusiness Intelligence, Data Visualization and Data Science
Business Intelligence, Data Visualization and Data Science
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
 
Fórmula Visual - TOTVS IP - Fábio Delboni - 07/2012
Fórmula Visual - TOTVS IP - Fábio Delboni - 07/2012Fórmula Visual - TOTVS IP - Fábio Delboni - 07/2012
Fórmula Visual - TOTVS IP - Fábio Delboni - 07/2012
 
Introdução a robótica
Introdução a robóticaIntrodução a robótica
Introdução a robótica
 
Rm1150150212 totvs autom_ponto
Rm1150150212  totvs autom_pontoRm1150150212  totvs autom_ponto
Rm1150150212 totvs autom_ponto
 
Visão histórica do SQL Server
Visão histórica do SQL ServerVisão histórica do SQL Server
Visão histórica do SQL Server
 
Rm1150100112 totvs folha_pagamento
Rm1150100112 totvs folha_pagamentoRm1150100112 totvs folha_pagamento
Rm1150100112 totvs folha_pagamento
 
Capítulo 12 - Fragments
Capítulo 12 - FragmentsCapítulo 12 - Fragments
Capítulo 12 - Fragments
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
 

Mehr von Igor Abade

Mehr von Igor Abade (20)

Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
 
DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?
 
Serverless Computing no Microsoft Azure
Serverless Computing no Microsoft AzureServerless Computing no Microsoft Azure
Serverless Computing no Microsoft Azure
 
Chega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoChega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como código
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no Azure
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao Habitat
 
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeAcelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
 
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTSProvisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
 
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShell
 
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
 
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
 
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
 
Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
 

Traga seu banco de dados para o ALM (Lightning Talk - Trilha ALM)

  • 1. TDC 2011 – Trilha ALM Tragaseubanco de dados para o ALM Igor Abade V. Leite @igorabade Microsoft MVP – Visual Studio ALM
  • 2. O Problema Historicamentebancos de dados têmsidoimplementadosusandoferramentas e processosdesconexos do desenvolvimento de aplicações Difícil de implementarcontrole de mudança
  • 3. O Problema Difícil de integrar o desenvolvimento de BDs naGestão do Ciclo de Vida de Aplicações (Application Lifecycle Management - ALM) Hojeemdia o mesmodesenvolvedortipicamenteimplementa a camada de acesso a dados e o própriobanco de dados
  • 4. A Solução Estabelecer e suportar um Ciclo de Vida de Desenvolvimento de Bancos de Dados (Database Development Lifecycle - DDLC) Ferramentas, metodologias e processospara o desenvolvedor de BDs Integrar o DDLC aoresto do ciclo de ALM
  • 5. Database Development Lifecycle (DDLC) Desenvolvabancos de dados usandoferramentas e processossimilares a desenvolvimento de aplicações Escrevacódigo T-SQL direto no Visual Studio Deixe o desenvolvedordeclarar o queelequer – CREATE TABLE Clientes(…); A ferramentaque “se vire” paradescobrircomocriar/modificar o banco de dados Use as mesmasferramentas de autoria e gestão de código Controle de Versão, Refactoring, Análise de Código, Testes de Unidade, Automação de Build
  • 6. Integrando DDLC com ALM Implemente as mudançasemcadacamada da aplicação a partir da mesmaSolução do Visual Studio Use Controle de Versão (ex. TFS) paraacompanhar e gerenciarmudançasfeitas a cadacamada Use Testes de Unidadeparaverificarautomaticamente as interações entre aplicação/camada de negócios e o banco de dados
  • 7.
  • 10. Suporte a apps missãocrítica
  • 12. Melhorias no sistema de projetos
  • 15.
  • 17. Suporte a bancos de dados de terceiros
  • 20.
  • 22.
  • 24. Projetos de Banco de Dados vs.Projetos de Camada de Dados de Aplicação Os doistipos de projetopodemoperarlado-a-lado
  • 28. Projetos de Aplicações de Camada de Dados (DAC) 14
  • 29. Projeto DAC Subconjunto de objetos SQL Logins, Database Roles, Users Tables, Views, User Defined Types,Stored Procedures, Triggers & Functions
  • 30. Conceitos Básicos de DAC Projeto de Aplicação de Camada de Dados Novo tipo de projeto de banco de dados no VS 2010. Baseado no modelo de projetospré-existente (SQL) Experiência de primeiraclasseparadesenvolvimento T-SQL/DAC Desenvolvedorespodemdeclararintenção Resultado da compilação = .dacpac ComponenteparaAplicação de Camada de Dados Melhoracolaboração entre Dev e DBA Move desenvolvedores de um modeloprocedural para um declarativo – Fim do “ALTER TABLE” Foco da V1 é aplicativodepartamental Data-tier Application Component Schema PHYSICAL Users, Logins, Indexes LOGICAL Tables, Views, Constraints, SProcs, UDFs, Unit of Deployment DAC Deployment Profile Deployment Requirements, Management Policies, Failover Policies
  • 31. Bancos de Dados Alvos do DAC Focus of DAC v1 Number of Apps 100 - 1000s de pequenasaplicações GrandesLOBs não são o alvo CRM ERP App Sophistication
  • 32. Define as políticasque a instância do SQL devesuportarparareceber o DAC ObjetosProgramáveisSuportados Objetos de SegurançaSuportados Estrutura de Projetos DAC
  • 33. Projeto Banco de Dados (SQL) 19
  • 34. Projeto de Banco de Dados (SQL) Desenvolvimentodeclarativo de bancos de dados para SQL Server 2005 e 2008 (Oracle com plugin Toad) Suportareferênciasparaprojetos do tipo SQL CLR XSDs Outros projetos de banco de dados Design de grandesbancos de dados podemserfatoradosemprojetosmenores Suportareuso de código Simplificagerenciamento de projetos multi-time e multi-local
  • 35. Estrutura de ProjetosSQL Variáveis SQLCMD permitemquevocê compile seuprojeto de banco de dados umaúnicavez e o implanteemservidores/bases diferentes Projetos de banco de dados representam a definição de um banco de dados de usuário Configurações SQL permitemajustar as propriedades do banco de dados quando da suaimplantação Projetos de Servidorrepresentam a definição do banco de dados Master, bemcomoobjetos de servidorcomo logins e mensagens de erro Configurações de implantaçãopermitemcontrolar o processo de implantação das alterações de um banco de dados no servidor de destino
  • 36. O quehouve com os projetos DBP? Os projetos DBP (ou “projetos de banco de dados”) não estãomaisdisponíveis no VS 2010 ForamsubstituídospelosprojetosSQL Projetos DBP não sãomigradosautomaticamenteparaprojetos SQL Para migrar, é possívelcriar um novo projeto SQL e depoisimportar os scripts do projeto DBP. Outraalternativa é importar o esquema do banco de dados Para maisinformações, consulte a documentação no site MSDN.

Hinweis der Redaktion

  1. The list of SQL objects supported by DAC projects is available on MSDN: http://msdn.microsoft.com/en-us/library/ee210549(SQL.105).aspx
  2. DAC projects are designed to support “Tier 1” databases. That is, small databases. DACs are limited to 1000 objects (Tables, Views, Stored Procedures) and the build output (.dacpac) is limited in size 50 MB.Database projects have no limitations in terms of number of objects or the size of the build output artifact (.dbschema). The only limitation is memory and disk space.An important consideration when choosing between DAC and SQL Database projects is the amount of data stored in the database. When updating an existing DAC all of the data in the previous version of the database is copied to the new version of the DAC. This can have significant performance implications because the previous version of the database is take off line during the data move. For this reason it is recommended that DAC’s never contain more than 3 GB of data. SQL database projects are updated “in place.” That is, existing objects are modified using ALTER statements if the SQL engine allows it. Data is only copied of the SQL engine does not support ALTERing an object to implement the schema change defined by the developer. For databases with a significant amount of data this results in significant performance benefits.
  3. Syntactic Validation – Syntactic validation is performed by the parser. For example, an error will be generated by the use of undefined keywords or identifiers.Semantic Validation – Semantic validation is done by the interpreter as well as static code analysis. For example, SQL does not allow an XML index to be defined on an XML column_set column. While this is syntactically legal it is semantically incorrect. The “Maintain compatibility between types” static code analysis rule will detect if an operation might result in data loss due to type conversion.Database Version Control – DAC implements the ability to track and manage different versions of a DAC. This is analogous to managing different versions of a managed code assembly.
  4. Visual Studio Premium and Ultimate users get the full functionality of the various ALM features. Schema Compare, Data Compare and Refactoring are not supported in the Professional SKU. Professional SKU licensees may only execute existing Unit Tests, Static Code Analysis rules and Data Generation plans. These unit tests, SCA rules and DGen plans must have been implemented by a developer using the Premium or Ultimate SKU.
  5. To give you an idea of the types of customer applications we’re targeting for the Kilimanjaro release, we came up with this picture. From left to right, the application sophistication increases and from bottom to top the number of applications increase.So in the bottom right, we have very large but very few line-of-business applications, these typically have dedicated resources managing them. In the opposite corner, the top left, we see 100-1,000s of small apps, sometimes called departmental apps. It’s these smaller apps that are growing in numbers at a faster rate than the DBAs can effectively manage. <click> This is where our focus is today.