Visual Studio Team Edition for Database Professionals

“Como assim, ‘Team Edition for Database Professionals’? Achei que era só Architect, Developer e Tester…”

Pois é, foi feito agora o anúncio oficial do lançamento do mais novo membro da família Team System! Agora, os DAs (Data Analysts) e DBAs (Database Administrators) têm sua própria ferramenta para modelagem, teste e manutenção de bancos de dados.

Essa nova ferramenta do Team System oferece:

  • Controle das alterações no banco de dados – Manipule o schema do banco de dados mesmo se estiver offline, utilize controle de mudanças e versão integrados à ferramenta (check-in, check-out etc. para as definições dos objetos do banco de dados) e produza script de mudança para implementar as modificações.
  • Automação de testes de bancos de dados – Crie e execute testes unitários escritos em T-SQL ou código gerenciado.
  • Melhor colaboração e comunicação – Os profissionais de bancos de dados serão integrados a gerentes de projetos, arquitetos, desenvolvedores e testers como parte de um time coeso, compartilhando todas as ferramentas oferecidas pelo Team System, usando o Team Foundation Server para work items, controle de versão, relatórios, comunicação e mais.

Além de um novo editor T-SQL, que inclui execução paralela e visualização dos planos de execução, a Team Edition for Database Pros apresenta:

  • Rename Refactoring – Renomeie qualquer objeto de banco de dados e automaticamente atualize todos os objetos (por exemplo, stored procedures) que o referenciam.
  • SchemaCompare – Gere scripts de atualização de schema baseados na comparação dos schemas de dois bancos de dados diferentes (alguém falou “SQL Compare”?).
  • DataCompare – Gere scripts de atualização de dados baseados na comparação do conteúdo de dados de dois bancos de dados diferentes (alguém falou “SQL Data Compare”?).
  • DataGenerator – Crie planos de geração de dados baseados nos bancos de dados de produção para gerar massas de teste mais realistas.

Em junho deve ser lançado o primeiro Community Technology Preview (CTP) da ferramenta. CTP é o termo que designa uma versão pré-beta, que dá a chance aos usuários de ter contato mais cedo com a ferramenta. Proprietários do Visual Studio Team Suite terão acesso livre ao CTP e, posteriormente, à versão final da ferramenta através de sua assinatura MSDN.

Segundo S. “Soma” Somasegar, vice-presidente corporativo da divisão Developer da Microsoft, “Visual Studio Team Edition for Database Professionals is a great example of the innovation we are bringing to the application lifecycle management (ALM) market. It’s a market-shifting database development product designed to manage database changes, improve software quality through database testing and bring the benefits of Visual Studio Team System and life cycle development to the database professional (such as database architects, database developers and database administrators).

Para saber mais:

Bug no Team Foundation Version Control

Aconteceu com um de nossos desenvolvedores aqui na FórumAccess: ao trabalhar com datasets tipados, o designer de datasets passou a “explodir” com uma mensagem de ACCESS_DENIED. Minha primeira providência foi checar as permissões no TFS – estava tudo OK. Depois, fui checar as permissões da cópia local no workspace dele. Qual não foi minha surpresa quando, ao abrir o diretório, vi que os arquivos .cs dos datasets dele tinham virado diretórios!!!

Provavelmente isso se deve a um erro conhecido do Team Foundation Server, disponível na página de FAQ do projeto de Web Applications para Visual Studio 2005:

Issue 7 – Using TFS Source ControlThere is a known issue with the enterprise source control system in the Team Foundation Server (TFS) which incorrectly identifies codebehind classes for .aspx. and .ascx files as folders.

To workaround, do not use “File/Source Control/Open from Source Control”. Instead, manually get the solution using Team Explorer and open the solution from local disk.

This problem will be fixed in a future release of Team Foundation Server.

Ou seja, além de páginas e controles ASP.NET, datasets tipados também estão sujeitos ao bug.

Alguém mexeu no meu check-out

Temos tido algumas experiências não muito divertidas com o controle de versão do TFS aqui na FórumAccess. Elas se devem basicamente ao fato de que antes usávamos o Visual SourceSafe (VSS).

Não, não é um problema de migração. Aliás, se você tem um repositório no SourceSafe e pretende migrar para o TFS, fique tranqüilo: a conversão é possível e você mantém todo o histórico do VSS.

Na verdade, a diferença é cultural. O problema deve-se ao fato que check-out no VSS e no TFS não significam a mesma coisa!

  • No VSS, podemos dizer que check-out significa “baixe a última versão disponível do arquivo, coloque uma trava no servidor para evitar outros check-outs desse arquivo e altere-o de somente-leitura para leitura-gravação no meu computador”. Ufa! Quanta coisa num comando só!
  • Já no TFS, check-out significa simplesmente “avise aos outros que estou editando este arquivo”. Viu que diferença?

O ponto de maior destaque aqui é que o TFS não faz um “Get Latest Version” no momento do check-out, em oposição ao modelo do VSS.

Por conta disso tivemos algumas discussões acaloradas aqui na empresa. Alguns desenvolvedores chegaram a chamar a ferramenta de “burra”:

“Oras”, disseram, “se estou fazendo check-out é porque quero editar o arquivo. Se quero editar o arquivo, é claro que quero a última versão!!!”

Pode parecer óbvio assim, mas na verdade não é. Se você pensar uma segunda vez a respeito disso, vai ver que o TFS é mais inteligente do que alguns imaginam… ;-)

Acompanhe meu raciocínio. Quando você baixa uma versão de um projeto do controle de versão, está na verdade pegando um conjunto de artefatos interligados e interdependentes. Todos os arquivos devem estar no mesmo estágio de desenvolvimento para que seja possível compilar sua solução. Assim, se você baixa um projeto inteiro e depois de dois dias faz check-out para alterar um dado arquivo, pode ser que esse mesmo arquivo tenha sido modificado por alguém nesse intervalo de dias. Se a ferramenta fizer um Get Latest Version, você irá receber um arquivo que não está no mesmo estágio de desenvolvimento que o restante na sua máquina. As alterações incluídas pelo outro desenvolvedor podem quebrar seu build. Por isso, faz sentido integrar suas alterações com as demais feitas pelo resto da equipe apenas quando elas estiverem prontas. Enquanto isso, você tem uma versão estável do código-fonte, mesmo que os outros estejam fazendo check-in de seus trabalhos.

Word 2007 – Blogging!

O Word 2007 oferece um novo recurso incrível: a capacidade de blogar diretamente a partir do seu desktop, sem precisar abrir o browser e usar aqueles editores HTML limitados.

Todos os recursos do Word, como formatação e correção ortográfica, estão disponíveis. Além disso, imagens são automaticamente transmitidas para seu blog. Até mesmo WordArt, SmartArt e ClipArt podem ser inseridos no blog que serão corretamente convertidos para PNG!

Como a ferramenta está no beta 2, obviamente tem algumas limitações:

  • O upload de imagens é feito apenas para servidores FTP;
  • Imagens são sempre convertidas para PNG. Isso é excelente para exportar WordArt ou SmartArt, mas é um crime fazer isso com fotos! Uma foto VGA (640×480), tirada pelo meu celular, passou de 20KB para mais de 1MB!
  • Apenas alguns servidores de blog são suportados. Aqui no VSTS Rocks usamos o Community Server, que é o mesmo usado nos blogs da Microsoft. Ele é um dos suportados atualmente.

Veja a interface de blogging do Word:

Veja a tela de configuração de contas de blog:

O que há de novo no Windows Vista para desenvolvedores?

No último dia 18 de maio apresentei na FórumAccess uma palestra interna intitulada “O que há de novo no Windows Vista para desenvolvedores?”. A mesma palestra foi ministrada no dia 20 de maio na sede da Microsoft Brasil, em São Paulo, como parte do evento Members Day do Codificando.net.

A idéia foi apresentar alguns dos muitos novos recursos da próxima versão do Windows, e de que forma os desenvolvedores podem tirar proveito dessas novidades. Discutimos assuntos envolvendo Aero Glass, gadgets, RSS Platform, WinFx (mais especificamente WPF, XAML, XPS e a nova suíte Expression).

Para saber mais sobre as novidades do Windows Vista, visite o site oficial na MSDN e o blog do Windows Vista no Brasil.

VSTS Rocks Day II

No último sábado, dia 27 de maio, tivemos a segunda edição do VSTS Rocks Day na sede da Microsoft Brasil, em São Paulo.

O principal evento do grupo VSTS Rocks demonstra na prática como usar o Team System, simulando a utilização da ferramenta no ambiente de uma empresa, cobrindo todo o ciclo de vida da ferramenta – desde a preparação inicial do projeto até a fase de testes, passando pela arquitetura e desenvolvimento da solução.

Cada um dos apresentadores representava um papel na estrutura do projeto. Todos os principais papéis estavam presentes, como o cliente, o gerente de projeto e a equipe de desenvolvimento:

  • Eu fiz o papel de Administrador de TFS e Gerente de Configuração, demonstrando como criar e configurar um Team Project, bem como demonstrando os novos recursos da ferramenta de controle de versão (Team Foundation Version Control). O Gerente de Configuração é peça-chave em modelos de processos como o CMMi, que prevêem a Gerência de Configuração como maneira de controlar a integridade dos produtos de trabalho como documentos e códigos-fonte produzidos pelo time;
  • Fábio Hirota, diretor de tecnologia da FórumAccess, representou o Cliente, mostrando como os stakeholders podem acompanhar o andamento do projeto através do portal de projetos do Team System;
  • Fábio Câmara, MVP de VSTS, representou o Gerente de Projeto, distribuindo tarefas e monitorando seu andamento, mostrando como gerar itens de trabalho (work items) através das ferramentas mais comuns a gerentes de projeto: Microsoft Excel e Microsoft Project;
  • Alexandre Tarifa, MVP de Visual Basic .NET, como Arquiteto de Sistemas, demonstrou o Diagrama de Soluções Distribuídas, com o qual modelou aplicações e web services, gerando código e orientando a equipe de infra-estrutura no processo de implantação (deployment) do sistema depois de pronto;
  • Mauro Sant’Anna, MVP em Segurança de Aplicações, foi o Desenvolvedor, demonstrando como criar código de qualidade usando ferramentas tais como a analisador de código estático (Code Analysis Tool, também conhecido como FxCop);
  • Andrey Sanches, MVP de ASP.NET, no papel de Analista de Testes, mostrou como é simples criar testes unitários e medir a cobertura de código (code coverage) usando os novos recursos do Team System;
  • Emerson Facunte, MVP de ASP.NET, foi nosso maestro, garantindo uma perfeita integração entre o time e a platéia.

Veja quais foram os principais aspectos abordados na apresentação:

  • Processos e metodologias de desenvolvimento; ciclo de vida de desenvolvimento de software e MSF 4.0 (Fábio Câmara, Fábio Hirota);
  • Visual Studio Team System, Team Editions, Team Foundation Server, Team Foundation Version Control (eu mesmo ;-) );
  • Team Edition for Software Architects, Distributed Systems Diagram (Alexandre Tarifa);
  • Team Edition for Software Developers, Static Code Analysis (Mauro Sant’Anna);
  • Team Edition for Software Testers, Unit Tests (Andrey Sanches)

Àqueles que estiveram conosco no sábado, meu sincero obrigado. Espero que vocês tenham gostado e se divertido! Utilizem nossos fóruns para dúvidas, dicas e sugestões. E fique de olho no nosso portal para saber dos próximos eventos.

Se você não pôde comparecer mas quer saber mais sobre o Visual Studio Team System, não pode perder os últimos dias do Microsoft Community Days, evento que está rodando o Brasil com diversas palestras – sendo uma delas sobre o Team System. Confira as próximas datas:

  • 06 de junho, Salvador (Fábio Câmara);
  • 13 de junho, Recife (eu);
  • 20 de junho, encerramento em Belo Horizonte (eu).

Veja mais algumas das fotos do evento:

P.S.: Gostaria de deixar um abraço ao nosso amigo Hélio, membro fundador do VSTS Rocks e que participou da primeira edição mas infelizmente não pôde participar da segunda. Te esperamos na próxima!

             

O que você vai encontrar neste blog?

Ainda que o assunto de todos os blogs do VSTS Rocks Brasil seja “tudo sobre Team System”, pretendo me especializar em alguns tópicos bem precisos – afinal, não dá para abraçarmos o mundo, não?

Se você estiver interessado em:

  • Version Control (controle de versão e, especialmente, o Team Foundation Source Control);
  • Team System Extensibility (estendendo a funcionalidade do Visual Studio e do TFS);
  • Process Customization (ajustar os templates MSF que acompanham o TFS, ou criar o seu próprio);
  • Team Architect (funcionalidades específicas da Team Edition for Software Architects, como o Distributed Solutions Diagram);

Então você veio ao lugar certo! Ainda que eventualmente eu escreva sobre outros aspectos do Team System, certamente os listados acima receberão uma atenção especial de minha parte.

E não se esqueça, adicione agora mesmo meu feed  ao seu leitor RSS!