codificando 08

Upload: ricardo-palma

Post on 06-Apr-2018

325 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 codificando 08

    1/38

  • 8/3/2019 codificando 08

    2/38

    Fala Galera, quando eu assumi a editorao da revista coloquei uma meta interna de soltarmos umaedio a cada bimestre (ou 2 meses, fica a seu critrio, rs). Esta a segunda revista que est nas minhasobrigaes, e conseguimos publicar-la dois meses depois da anterior... Para ns isso uma vitria.

    Espero que o contedo diversificado atenda aos objetivos e anseios de vocs, afinal, a revista para

    vocs. Ento, se alguma coisa no ficou legal ou vocs tenham alguma sugesto/critica/elogio a nos fazerpodem ficar a vontade para nos enviar um e-mail em algum dos nossos endereos:

    [email protected]

    [email protected]

    Em todas as edies ns deixamos claro o quo difcil arrumar pessoal qualificado e com contedointeressante para colocarmos na revista, nesta no ser diferente. Est complicadssimo conseguirmosartigos prticos e interessantes para colocar na revista, ento, novamente, deixamos aqui o convite paravocs interagirem com a comunidade que participam. Quem tiver interesse em publicar algo na nossarevista (nossa porque da comunidade, de todos ns), entre em contato conosco nos e-mails acima.

    Diego [email protected]

    Editorial

    P O W E R E D B YC O D I F I C A N D O . N E T

    2 0 0 8E D I O 7 N M E R O 7 A N O 2

    Codificando Net

    e-magazine

    EquipeEditores:Alexandre TarifaEmerson FacunteDiego NogareSergio Gonalves

    Colaboradores:

    Adriano LucianoAlexandre Tarifa

    Cleber Dantas

    Diego Nogare

    Emerson Facunte

    Fabiano Belmonte

    Fabiano Neves

    Juliano Nunes

    Marcelo Colla

    Ramon Dures

    Ricardo Serradas

  • 8/3/2019 codificando 08

    3/38

    ta entrevista foi feita por e-mail com muitos nomes conhecidos do mundo Sql Server, infelizmente no teramos como publicar todas asspostas aqui na revista, ento selecionamos trs entrevistas que j estavam completas para compor esta sesso. A entrevista foi criada peias de Fabiano Neves, que inclusive respondeu todas as perguntas e nos enviou para publicarmos na revista. TODAS as entrevistas seroblicadas no Blog do prprio Fabiano. Segue as descries dos trs participantes da entrevista:

    N) Diego Nogare graduado em Cincia da Computao, Ps-Graduado em Engenharia de Computao com nfase em Desenvolvimeneb com .NET. Colaborador do Portal Linha de Cdigo e da revista SQL Magazine, co-Lder do grupo de usurios Codificando .NET, Lds Microsoft Student Partners [MSP] de So Paulo e Microsoft Most Valuable Professional [MVP] em SQL Server, possui certificaes MC

    CTS em SQL Server 2005, palestrante em eventos da Microsoft, Codificando .NET e INETA BR, mantm o site: www.diegonogare.net

    N) Fabiano Neves consultor de Banco de Dados Sql Server 2000,2005 e 2008, desenvolve solues na plataforma .NET e em Delphi.cnico em processamento de dados pelo colgio Bezerra de Menezes, e trabalha a alguns anos com Sql Server focado na criao de Dataarehouse para muitas empresas do Brasil, mas j atuou como Database Solution para uma empresa Microsoft Solution Gold Partner. Portificaes como MCP, MCTS e MCITP Database Developer em Sql Server 2005. Mantm um blog (http://fabianosqlserver.spaces.live.comm seu contedo focado para DBA, Desenvolvedores e Usurios de Sql Server. Participa ativamente do Forum da MSDN e TechNet Brasainda ministra WebCasts para a Microsoft Brasil.

    C) Formado na Escola Superior de Ensinos Empresariais e Informtica de Curitiba, ps graduado em Gesto de Informtica, com 11 anosperincia na rea. Participa dos foruns de Sql Server do Msdn Br e Technet, MCDBA - MCITP DEV - MCITP DBA - Most Valuableofessional Windows Server SystemSQL Server.

    Vamos comear falando da novidade do momento, quais as novas features do SQL Server 2008 que voc acha maismportante, e porque? Nomeie pelo menos 3.

    N) 1) Merge: Juntar informaes de tabelas para auxiliar a criao de cubos olap ficou mais simples e dinmico, agora muito mais facil palizar estes tipos de transaes.Spatial Data: Nestes ultimos anos, muitas empresas de logstica esto trabalhando com controle terrestre de suas rotas. Co nseguindo

    strear o percurso percorrido, por exemplo, pelos caminhes. Com os dados Geometricos possvel traar linhas e confrontar com osdos gerados pelo GPS do caminho.DMF: O Declarative Management Framework permite criar diversas polticas de utilizao do banco de dados, aumentando a eficincia dicao das politicas estipuladas para o database. No DMF, por exemplo, possvel criar polticas que estipulam o nome da tabela, arigatoriedade de um determinado schema ou usurio, estipular se a poltica ser executada em todos os bancos ou s alguns, e em quaisrvidores ela trabalhar ... aplicado a praticamente todos os objetos do banco de dados.

    N) 1) que me fez parar e dizer UAU foram as implementaes de Page Compression, Row Compression e Backup Compression, fiz algunstes e me surpreendi com a qualidade de compresso de dados. Vou repetir uma frase que usei na WebCast de Caminhos de Upgradera SQL Server 2008, - Imagina comprimir um livro de 1000 pginas para apenas 200 e com o mesmo contedo, pois mais ou menos ise o algoritmo de compresso por pgina LZ78 criado pelos geeks seniors Lempel e Ziv faz. Nos meus testes cheguei a seguinte conclus

    Filtered IndexEssa veio bem a calhar, poder escrever um comando de create index ix_teste on tabela(data) where data > 2008010ajudar e muito para quem tem tabelas muito grandes e com acesso a dados mais recentes, caso partition no for uma possibilidade, ima

    seguinte, poderamos criar um ndice para cada perodo e gravar cada ndice em um filegroup diferente que por sua vez estar em discoserentes. Interesting... vale a pena estudar a fundo essa feature.

    3 Entrevista

    http://fabianosqlserver.spaces.live.com/http://fabianosqlserver.spaces.live.com/
  • 8/3/2019 codificando 08

    4/38

    Resource GovernorEsse pode ser utilizado tanto em ambientes de produo como ambientes de teste, imagine o seguinte cenrio(bemum em desenvolvedoras de Software), Um servidor SQL Server distribudo para todos os desenvolvedores utilizarem para testes,senvolvimento etc... Em um banco desses rola de tudo, select *, operaes bulk insert, restore de backup, tudo ao mesmo tempo e sempm aqueles comiles de recurso que rodam tudo isso ao mesmo tempo J(eu no) , com o Resoruce Governor poderamos limitar a

    antidade de CPU e memria para que ele no pare o servidor(e toda a empresa) enquanto trabalha.C) 1) DMF - Polices no banco de dados, isso tudo que o DBA sonhava, rs... imagina voc, poder manter as regras de nomenclatura semecisar criar nenhum artifcio na mo ou ter que comprar uma ferramenta para isso, show, assino em baixo desse recurso.Novos recursos de TSQL como declarao de variveis j recebendo um valor, poder usar na mesma linha a declarao a varivelcebendo um valor e ainda um segunda varivel recebendo o valor da primeira, meio complicado ? tambm achei mais como exemplo:eclare @variavel1 int = 10, @variavel2 int = @variavel1 .Table Value Parameters, isso o que todo mundo queria, pelo menos eu, quem j no precisou criar rotinas para receber uma lista enverter em array na marra ou at mesmo receber um xml , agora s passar uma tabela no parmetro e relacionar na procedure ow

    Em relao a performance no SQL Server 2005, quais as features voc acha mais importante?

    N) Eu estou sempre puxando a sardinha para o desenvolvimento, ento vejo que Stored Procedures e Index so boas praticas paraelhorar a performance de nossas aplicaes com SQL Server 2005.

    N) O SQL 2005 comparado com o 2000, tem muitas, mas posso destacar a partition como uma excelente escolha para balanceamento derga entre diferentes servidores. Ficou interessado? Procure por Distributed Partitioned Views / Federatad Databases.

    C) No sei se e a mais importante, mais pelo menos eu acho ser uma das mais importantes (afinal depende de cada caso o nvel deportncia do recurso), a replicao PTP, esse modelo de replicao une o que e de bom da merge com o controle da transacional,celente recurso para ou estratgia de recovery ou distribuir a aplicao em vrios servidores.

    Quais suas dicas para um profissional que est iniciando em SQL Server?

    N) Procurar as comunidades MSDN e TechNet, sempre so bons lugares para comear a aprender as tecnologias Microsoft. Os foruns eupos de usurios so bons pontos de partidas tambm. Recomendo o grupo Codificando .NET (www.codificando.net), do qual fao parte

    N) Estudar muito e manter-se atualizado, se puder comece com um bom curso oficial Microsoft, caso no seja possvel fazer o curso,stem muitos blogs e sites especializados em SQL Server que na minha opinio tem um contedo muito bom e aprofundado em cada re

    pecfica do SQL.qual fao parte :)

    C) Seja em SQL Server, seja em linguagem ou qualquer outra rea, qualquer profissional deve estudar as estruturas e aprender a pensar daneira mais simples possvel, pois se conseguir seguir esse ponto no tem como errar, em qualquer rea que seja, pensar em soluesmples ajuda a criar solues simples no final das contas, tudo que todos querem e produtividade.

    O que necessrio para se tornar um usurio Master em SQL Server?

    N) Trabalhar bastante com aquela ferramenta e no parar de estudar as novidades nunca, isso no se aplica somente a SQL, mas a qualquea relacionada a tecnologia. As mudanas so muito dinmicas.

    N) Eu acho que somente com experincia e uma vivncia diria de trabalho com o SQL Server o usurio poder um dia dizer que umaster em SQL Server. Mesmo assim tenho certeza que havero situaes em que at mesmo um super usurio ter que recorrer ao velhm senhor do conhecimento, Pai-Google.

    C) Primeiro lugar e aprender a ler e entender o books on-line, esse e o melhor material de consulta para o SQL Server, e procurar seacionar com outras pessoas trocando informaes e experincias sobre diversos problemas, assim, voc armazena a maior quantidade d-solues possveis, aprendendo a fazer.

    4 Entrevista

  • 8/3/2019 codificando 08

    5/38

    O que necessrio para se tornar um usurio Master em Transact SQL Server?

    N) Mesma resposta que a 4.

    N) Encontre uma empresa que tem um banco de dados com mais de 2 mil procedures e 3 mil functions e tabelas com mais de 200 milheregistros e comece a tentar otimizar os cdigos TSQL. Acredite ou no isso MUITO comum de se encontrar, j trabalhei em algumasplementaes de DW em diversos banco de dados e j vi alguns desses bancos. Caso no seja possvel faa o seguinte, inicie um trace noofiler e abra a aplicao que roda no banco, comece dar os cliques e fazer as operaes comuns do dia a dia dos usurios do software epois veja os selects executados por sua aplicao e tente otimiz-los.

    C) Como eu disse antes, pensar simples, e mais ainda aproveitar ao Maximo os recursos internos do SQL Server, e depois que uma rottiver pronta e funcionado voltar nela e tentar deixarla melhor, e comum quando voltamos ao cdigo antigo e falarmos puxa, porque eisso ? etc. Ento o processo e um ciclo, fazer funcionar, testar, melhorar, fazer funcionar e assim vai.

    Qual sua opinio em relao ao uso excessivo de Triggers no banco de dados?

    N) Triggers so muito utilizadas para auditoria, no SQL Server 2005 perfeito! Mas quando nos pedem para auditar muita coisa (muita c

    esmo...) a performance realmente prejudicada... Ento, se usar com moderao, muito bem vinda.N) Eu no sou contra o uso de triggers mas tento evit-las o mximo possvel, na minha opinio elas s deixam o cdigo mais complexo eais pesado. Eu conversei com o Conor Cunningham(Super Plus Master Boss do time do Query Processor) sobre triggers. Vou deixar 2 lira meus posts falando sobre Triggers.

    1. http://fabianosqlserver.spaces.live.com/Blog/cns!52EFF7477E74CAA6!486.entry2. http://fabianosqlserver.spaces.live.com/Blog/cns!52EFF7477E74CAA6!488.entry

    C) Trigger, e um procedimento complicado de discutir, e muito til mais as vezes pode deixar voc em maus lenis, ou seja, bemministrada ela e boa, no sou contra o uso, sou contra o uso por qualquer coisa, lembram do velho exemplo do estoque? que a tabela dtrada / sada via trigger atualiza a tabela de produtos, ento sua procedure j faz a entrada porque no por ela atualizar a tabela deodutos? mais simples que deixar uma trigger fazer isso, e seu controle e maior, isso no meu ponto de vista.

    Qual o maior erro que uma pessoa pode cometer ao analisar um plano de execuo?

    N) Um novato pode no se atentar a um "simples e inofensivo" TableScan.

    N) Sem dvida achar que um Index Seek SEMPRE melhor que um Clustered Index Scan. Ou ento ver uma flecha indicando o uso deralelismo e logo voltar no cdigo para incluir um OPTION(MAXDOP 1).

    C) O erro mais comum que eu vejo e achar que todo o table scan e ruim, na verdade em alguns casos ele a melhor opo que ndices.

    Quando usar um Clustered Index e quando usar um Non Clustered Index?

    N) Os ndices fsicos (Clustered) ordenam fisicamente os dados na tabela, so muito bem vindos quando existe bastante busca na baselizando a coluna ordenada como filtro. J os ndices lgicos (Non-Clustered) criam uma pgina de ligao entre os dados fsicossordenados e o ndice ordenado. Uma comparao muito utilizada, para conseguir diferenciar os dois tipos, lembrar de um Dicionrio

    os dados esto ordenados nas paginas da publicao (idem o index Clustered). E de um livro, no qual existe um sumrio informando eme pgina est cada informao (igual o index Non-Clustered).

    N) Isso depende bastante de cada cenrio, mas eu particularmente uso Int IDENTITY(1,1) para pks e deixo ela como meu ndice cluster enclustered para consultas onde poderei fazer um covered ndex, onde o SQL ter que acessar apenas o nonclustered ndex para ler todormaes necessrias para retornar os dados da consulta.

    5 Entrevista

    http://fabianosqlserver.spaces.live.com/Blog/cns!52EFF7477E74CAA6!486.entryhttp://fabianosqlserver.spaces.live.com/Blog/cns!52EFF7477E74CAA6!488.entryhttp://fabianosqlserver.spaces.live.com/Blog/cns!52EFF7477E74CAA6!488.entryhttp://fabianosqlserver.spaces.live.com/Blog/cns!52EFF7477E74CAA6!486.entry
  • 8/3/2019 codificando 08

    6/38

    C) ndice cluster, eu geralmente reservo para campos de valor numrico, int, etc, que sofrem pouca alterao ou nenhuma se possvel, qam muito usados no where, para os no cluster eu reservo para os campos que esto relacionados com outras tabelas.

    Porque estatsticas so importantes?

    N) As estatsticas nos ajudam a melhorar as consultas, e deixar o sistema mais rapido... O banco de dados no pode ser um gargalo daicao.

    N) Estatsticas esto a toda hora sendo utilizadas pelo query processor para conseguir gerar o melhor plano de execuo para sua consultr exemplo com os dados das estatsticas o SQL poder saber se o valor que voc est procurando ir retornar 10 ou 10 milhes de linhcaso de 10 milhes caso ele poderia optar por usar paralelismo por exemplo.

    C) O SQL usa elas para determinar o melhor plano, ento fundamental manter atualizada, seja forando uma recriao de ndices oumplesmente atualizando elas por perodos espaados de tempo.

    O quanto fragmentao no banco de dados pode afetar performance? Existe algum beneficio em ter fragmentao nonco?

    N) Aqui se encaixa a resposta padro de um Analista de Sistemas. DEPENDE! rs Tem caso, quando existe muita insero de dados, que gmentao de +- 50% nas tabelas ajuda muito na performance. J tem caso (quando o principal objetivo so consultas) que as fragmenta

    rapalham, porque sero mais paginas que sero lidas quando um resultado for retornado.

    N) Physical fragmentation quando voc tem espao livre nas pginas da tabela, isso em alguns casos pode ser uma coisa boa, j que irtar que o SQL efetue splits em futuros inserts e updates na tabela. O fillfactor deixa esse espao livre para voc.

    Logical fragmentation quando a prxima pgina lgica no contnua... Ou seja, o SQL no ir conseguir fazer um read-ahead o qumpre ser ruim. Confesso que fiquei curioso em relao a algum cenrio onde esse tipo de fragmentao seria uma coisa boa, entrei emntato com nada mais nada menos que a Kimberly Trip e para minha surpresa aps 1 hora que eu havia enviado o e-mail ela me respondeendo que ela no via nenhum cenrio onde esse tipo de fragmentao poderia ser benfica, e mais, ela respondeu com cpia para o Paundal perguntando a opinio dele e logo depois ele tambm respondeu dizendo a mesma coisa. Portanto me fiz por satisfeito com asspostas

    C) Cara, fragmentao em si no e boa, tenho rotinas que verificam o nvel de fragmentao e corrigem isso na demanda. Como tenho a janela para fazer isso ento na pratica mantenho o percentual de fragmentao sob controle.

    Afinal paralelismo bom ou ruim?

    N) Na minha opnio, paralelismo uma boa. Se os sistemas operacionais so multi-thread, porque o SQL Server no pode ser?! Porqueo poderiamos utilizar em uma consulta extremamente pesada mais de um processamento...Trabalhei em uma empresa que executava umoc em 15 horas, essa era pesada!

    N) Na minha opinio Paralelismo bom. O que acontece que em alguns casos onde temos uma presso de CPU no servidor e o SQLtou por fazer uma determinada consulta utilizando paralelismo e depois disso, o servidor recebeu outras requisies que demandavam

    uito mais CPU, neste caso a coisa pode ficar feia.

    C) Se seu plano de execuo apresenta um alto grau de paralelismo cuidado, pois o custo para o SQL fazer o split e maior do que setivesse executando tudo junto, e um ponto que devemos olhar com cuidado.

    6 Entrevista

  • 8/3/2019 codificando 08

    7/38

  • 8/3/2019 codificando 08

    8/38

    J passou por algum daqueles problemas que resolveu mas at hoje no sabe o que era?

    N) Algumas vezes, e tentava no mexer mais depois que arrumava. Vai que quebra de novo!

    N) Direto, e quanto acontece isso fao o seguinte, para tudo, fecha, apaga e comea novamente. Sempre deu certo, mas no me pergunteal era o problema.

    C) J, com o Service Pack 3 do SQL Server, tnhamos uma rotina que exportava textos usando OpenDataSource, depois deste Service Po conseguimos mais fazer a rotina funcionar, na verdade depois nem tentei mais , por achar que no tinha muita lgica fazer isso mesmo,ntornamos usando Bcp e tudo certo ate hoje esta assim, alias acho que esta na hora de rever isso tambm (rs).

    Qual o maior banco de dados que j trabalhou e quantas linhas tinha a maior tabela que j viu?

    N) Acho que o maior DB que trabalhei foi em um banco internacional, no tinhamos acesso a muita coisa, e por isso no sei quantas linhham nas tabelas... Mas posso garantir que inseriamos mais de 100.000 linhas por dia.

    N) O banco de dados de um de nossos clientes, 200 gb e tabelas com mais de 250 milhes de registros, punk. Tem noo do tempo que

    mora pra reindexar essa tabela?C) Acho que o maior que j vi foi o aqui da empresa mesmo, temos 2 categorias uma voltada a produo que esta hoje com 130gb, comescimento semanal de aproximadamente 2-3gb, e os de OLAP que esses sim vo para 220Gb, por conta de manter histrico e tabelas processadas usadas nas tomadas de estratgia da empresa. A minha maior tabela tem 40mm de linhas com crescimento de aproximado de0 / 600 linhas semana.

    Como diria o Tobby(charges.com.br) - Bate bola jogo rpido:Um concorrente digno do SQL Server:Uma feature:Um comando SQL(o meu predileto o SHUTDOWN WITH NOWAIT) :Um livro:

    N)Oracle.Merge.Select.O do C. J. Date, indicado anteriormente.

    N)Oracle para Grandes BDs, Firebird contra a Verso Express.Compression.SHUTDOWN WITH NOWAIT

    C)Oracle rodando no UNIXGRID do Oracle (apesar de algumas dvidas que eu ainda tenho com essa tecnologia, gostaria muito de ter um balanceamento de car

    entre servidores SQL Server , e um sistema de arquivos preparado so para Banco de Dados)SELECT , esse punk, quando voc descobre como usar v que no tem limites ....

    8 Entrevista

  • 8/3/2019 codificando 08

    9/38

    Voc tem algum blog? Site? Msn?... Como os usurios da comunidade podem entrar em contato com voc?

    N) No meu site, www.diegonogare.net, tem e-mail, MSN, skype... S no me acha quem no quiser :)

    N)Mail: [email protected]: http://fabianosqlserver.spaces.live.com/blog/n: [email protected]

    C) Email e msn : [email protected]

    Deseja deixar alguma considerao final?

    N) Estudem sempre, todo dia dia pra aprender. Como diz meu amigo Pedro [Pedro Castelo Branco], Conhecimento nunca demais.

    N) melhor ser criticado pelos sbios do que ser elogiado pelos insensatos. Elogios vazios so como gravetos atirados em u ma fogueiraesiastes.

    C) Show de bola a inteno de demonstrar como as pessoas vem o SQL Server no mercado hoje, logo aps a verso 2000 que no meunto de vista j era muito robusto, veio o 2005 comeando uma nova era de integrao, quebrando o paradigma de que SQL Server e badados para pequenas empresas, agora somos entendidos e somos vistos como players de mercado com condies para concorrer com

    racle, DB2, etc... cada um na sua categoria ou ainda melhor todos trabalhando juntos.

    ditos da Entrevista:questes desta entrevista foi criada pelo prprio Fabiano Neves, os crditos so todos dele. Infelizmente no conseguiramos

    locar todos os questionrios respondidos na revista, ficaria imensa s com esta sesso. Como o prprio Fabiano Neves mementou em uma conversa (que eu concordo plenamente), esta iniciativa sensacional para os iniciantes em Banco de Dados..

    ostra diversas vises de diferentes profissionais. Recomendo fortemente o blog do Fabiano, um repositrio muito bom sobre

    anco!

    9 Entrevista

    mailto:[email protected]://fabianosqlserver.spaces.live.com/blog/http://fabianosqlserver.spaces.live.com/blog/mailto:[email protected]
  • 8/3/2019 codificando 08

    10/38

    ntroduo

    causas para um problema de lentido em um banco de dados so muito abrangentes, pois existem muitos pontos relevantes que podemuenciar em performance. O diagnstico geralmente exige um monitoramento preciso, onde o mais importante saber o que monitora

    ra no nos perdermos em meio ao grande nmero de indicadores existentes.ra este tipo de monitoramento, o SQL Server 2005 nos auxilia com diversas ferramentas como SQL Profiler, os comandos DBCCs ,ntadores no Perfomance Monitor do Windows e tambm as DMVs (Dynamic Management Views).

    da uma das ferramentas nos traz uma gama de informaes diferentes que complementam o trabalho de diagnstico.

    este artigo iremos ver um pouco mais sobre o uso das DMVs j que se trata de uma ferramenta indita em relao a verso 200 0 do SQrver.

    onhecendo as DMVs

    DMVs (Dynamic Management Views) so um dos novos recursos, que podemos utilizar no SQL Server 2005 para gerenciamento dobiente.

    ualmente o SQL Server 2005 possui aproximadamente 85 DMVs, que trazem informaes do servidor, banco de dados, transaes, ndnsultas entre outras informaes.

    om esta abragncia de informaes, o trabalho de monitorar e diagnosticar problemas no servidor, fica mais fcil, eficiente alm de maisxvel.

    DMVs esto separadas em grupos como segue:

    o linkhttp://www.microsoft.com/downloads/details.aspx?familyid=2EC9E842-40BE-4321-9B56-92FD3860FB32&displaylang=envocs podxar gratuitamente e conhecer o modelo de dados com todas as views de sistemas do SQL Server 2005, incluindo as DMVs. Vale a penar uma olhada.

    seguir sero apresentados alguns exemplos de consultas que podem nos auxiliar em alguns diagnsticos, estas consultas com certeza podr alteradas para mostrar outras informaes que acharem mais teis, mas j servem como um ponto de partida.

    0Utilizando DMVs para diagnstico no SQL 2005

    http://www.microsoft.com/downloads/details.aspx?familyid=2EC9E842-40BE-4321-9B56-92FD3860FB32&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?familyid=2EC9E842-40BE-4321-9B56-92FD3860FB32&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?familyid=2EC9E842-40BE-4321-9B56-92FD3860FB32&displaylang=en
  • 8/3/2019 codificando 08

    11/38

    ransaes em WAIT (aguardando liberao de recursos)

    m sistema de banco de dados deicaes mal projetadas ou no

    mizadas pode fazer com que asnsaes aguardem por muito tempoberao de recursos j bloqueadosbela, ndices, registros, etc.) portras transaes, ocasionando assimtido no tempo total de execuos transaes.consulta abaixo exibe todas asnsaes que esto aguardando porerao de recursos mostrandoncipalmente o tempo de aguardo eal sesso est bloqueando o recursogido.

    Comando com mauso de CPU

    Na hora de otimizar odesempenho de umaaplicao o maisimportante saber poqual consulta, comandou stored procedurecomear, a consultaabaixo nos ajuda,dizendo quais so os comandos no banco ddados que esto exigimaior uso de CPU.

    omando com maior acesso deemria

    m o mesmo objetivo da consultaterior, porm nos trs a viso poremria utilizada.

    1Utilizando DMVs para diagnstico no SQL 2005

  • 8/3/2019 codificando 08

    12/38

    omando com maior leituradisco

    m o mesmo objetivo da

    nsulta anterior, porm nos trsiso por maior quantidade detura de disco.

    ndices com fragmentao

    A fragmentao um dos motivdo aumento do nmero de leituem uma consulta, diminuindoconseqente a performance.Apenas tome cuidado em julgarresultado apresentando, pois afragmentao apesar de ser umagrande vil para consultas, muvantajosa para tabelas com muitatualizao.

    oncluso

    mos aqui um pouco do potencial da utilizao das DMVs, onde com certeza podemos criar inmeras outras consultas para continuar nodando no trabalho de diagnstico.grande vantagem de usar as DMVs a possibilidade de criar relatrios para apresentar estes dados de forma mais amigvel ou mais prtexemplo disto, a Microsoft disponibilizou gratuitamente o Performance Dashboard Reports, disponvel no linkhttp://www.microsoft.comwnloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=ente pacote disponibiliza vrios relatrios de performance dentro do dashboard do SQL Management Studio, onde neste caso, os relatriolizam DMVs para recuperao dos dados, permitindo inclusive ver detalhes dos problemas utilizando drill-downs nos prprios relatriota funcionalidade de importar relatrios no Dashboard do SQL Management Studio exige Service Pack 2 do SQL 2005.pero que este artigo tenha ajudado vocs a comearem a usar as DMVs e que vocs consigam criar suas prprias consultas customizada

    riano Luciano Candido ([email protected]) Ps-graduado no MBA em Gesto Projetos da FGV, certificado nos ttulos da Microsoft: MCPCDBA, MCSD.NET, MCSD, MCAD, MCSA. Instrutor oficial Microsoft e consultor especializado em tecnologia Microsoft e em Gesto de Projeto,uando a mais de 10 anos no mercado de tecnologia. Palestrante e professor de ps-graduao em diversas universidades de So Paulo. Mantm o sww.adrianoluciano.net

    2Utilizando DMVs para diagnstico no SQL 2005

    http://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=en
  • 8/3/2019 codificando 08

    13/38

    Afinal, o que XNA framework?

    Assim como eu, algumas pessoas podem estar um pouco perdidas neste monte de novas tecnologias. E uma delas o XNAFramework, que eu confesso que nem sabia direito o que era, mas vamos esclarecer as coisas.

    O que o XNA Framework?XNA Framework um conjunto de bibliotecas de cdigo gerenciado (.Net) baseado no .Net Framework 2.0. O XNAFramework permite aos desenvolvedores de jogos criarem modernos jogos utilizando a linguagem de programao C# e umrico conjunto de bibliotecas de desenvolvimento. O XNA Framework facilita a incluso de contedo rico (3D, 2D, som, etc)em um jogo. O XNA Framework tambm fornece uma grande unificao das APIs entre as implementaes para Windowse para o XBox 360, eliminando custo e esforos requeridos na converso de jogos entre as duas plataformas.

    Qual a diferena entre .Net Framework e XNA Framework?A diferena principal est no fato de que o XNA Framework otimizado para o desenvolvimento e execuo de jogos. Maselementos como as class libraries e o Common Language Runtime, esto presentes em ambas.

    O que o XNA Game Studio Express?XNA Game Studio Express um conjunto de ferramentas baseado no Visual C# 2005 Express, tendo como pblico-alvo os

    estudantes e desenvolvedores de jogos por hobby. O XNA Game Studio permite desenvolvimento tanto para Windowsquanto para a plataforma XBox 360.

    Eu posso desenvolver um jogo comercial para XBox 360?Com o XNA Framework e o XNA Game Studio Express, voc consegue desenvolver jogos para Windows e XBox 360 maisfacilmente. Estes jogos sero limitados cenarios no-comerciais quando desenvolvidos para XBox 360 utilizando XNAGame Studio Express, entretanto, voc pode desenvolver jogos comerciais para Windows utilizando o XNA Framework e oXNA Game Studio.

    Quanto custar o XNA Game Studio Express e o XNA Framework?As ferramentas de desenvolvimento (XNA Game Studio Express) e o ambiente de execuo (XNA Framework)sero completamente gratuitos. Porm, para desenvolver, debugar e/ou executar jogos no XBox 360, lhe exigir a aquisiode uma "XNA Creator's Club subscription", atravs de uma das duas formas disponveis. Pagamento anual de 99 dlares outrimestral de 49 dlares.

    O XNA Framework est disponvel tambm para outras plataformas?At o momento atual o XNA Framework s estar disponvel para Windows e XBox 360.

    Irei precisar de um disco rgido para executar jogos desenvolvidos com o XNA em um XBox 360?Sim. O ambiente de execuo do XNA Framework requer que um disco rgido esteja presente em seu XBox 360.

    3

  • 8/3/2019 codificando 08

    14/38

    Afinal, o que XNA framework?

    Eu posso criar outros tipos de aplicaes que no-jogos usando XNA Framework?No Windows isto possvel, mas o primeiro release para XBox 360 aprimorado para escrita de jogos.

    E o que acontecer com o Managed DirectX (MDX) 1.1?MDX 1.1 est em um modo sustentvel, e no ter novas funes includas a ele mais. Se voc possui um cenrio de jogosque s est presente no MDX 1.1, contate a Microsoft que eles iro considerar para a elaborao do XNA Framework.

    Como o XNA Framework ir suportar udio?O XNA Framework ir fornecer suporte execuo de udio atravs de "managed XACT".

    O XNA Framework suporta XINPUT ou DirectInput?O XNA Framework ir fornecer suporte a todos dispositivos de entrada atravs de "managed "XINPUT".

    O XNA Framework ir substituir meu .Net Framework?No. O XNA Framework no ir substituir ou interferir em sua instalao atual

    Em caso de dvidas, poste aqui a sua questo que ajudarei a solucion-la.Mais detalhes em: http://msdn.microsoft.com/directx/xna/faq/

    Juliano Nunes (http://blog.julianonunes.com) graduando em Cincia da Computao pelo Centro Universitrio de Belo Horizonte,possui certificaes MCTS (SharePoint Server 2007 App Development) e MCAD (Web-Based Applications for .Net). Atualmentetrabalha com Anlise e Arquitetura de Software, alm de atuar como Microsoft Student Partner (Mentor) especialista em ASP.Net eSQL Server.

    4

    http://msdn.microsoft.com/directx/xna/faq/http://msdn.microsoft.com/directx/xna/faq/
  • 8/3/2019 codificando 08

    15/38

    LambdaExpressions

    Expresso lambda foi adicionada ao Visual Basic 2008 e C# 3.0, com o objetivo de apoiar Language Integrated Queries (LINQ) .Quamais voc utilizar a Expresso lambda, mais voc ver sua potncia e flexibilidade.A lambda uma grande inovao da linguagem, mas para voc que est iniciando agora como desenvolvedor ou tem pouco tempo comlinguagem pode parecer bem complicado. No desanime, pois quando voc comear a conhecer mais sobre lambda ir entender o quaela pode ser til para o seu dia a dia.

    Mtodos AnnimosNo poderia falar sobre expresso lambda sem falar de mtodo annimos que uma das evolues existentes no framework 2.0lanado no final de 2005. Eles podem serusados para passar um bloco de cdigopara um delegate, de acordo com oparmetro do delegate, tambm podemser utilizados em lugares onde a criao

    de um mtodo no realmentenecessria.Vejamos abaixo doisexemplos, um utilizando delegate e outroutilizando mtodos annimos.

    Note que no precisamos escrever omtodo ImprimeMensagem, fazemosdiretamente.No entanto, mtodos annimos tem umadesvantagem no que diz respeito legibilidade. Ele modifica a escrita e o cdigo, por vezes se torna realmente difcil de ler.

    Ento, se tivermos realmente que fazer alguma coisa que seja fcil d

    ler, e tambm simples de usar, a que as expresses lambda trabalha nosso favor.Por isso muitos dizem que as Expresso lambda so uma evoluonatural dos Mtodos Annimos.

    Expresso lambda?O C# 2.0 introduziu o conceito de mtodos annimos, que permiteque blocos de cdigo sejam escritos "em linha" onde delegamos osvalores esperados. Assim podemos escrever cdigos mais inteligentcom um menor nmero de linhas.

    As expresses lambda so muito utilizadas quando escrevemosmtodos annimos, elas nos permitem trabalhar de uma forma mais inteligente e lgica. Eles tambm se tornam muito teis quando

    escrevemos expresses LINQ para pesquisa e tambm podem ser utilizadas em funes, como anteriormente j comentadasconseguimos escrever funes muito mais enxutas.

    5

    classShowClassDelegate

    {

    delegatevoidMeuDelegate();

    publicvoid EiMetodo()

    { MeuDelegate del = newMeuDelegate(ImprimeMensagem);

    del();

    }

    void ImprimeMensagem()

    {

    Console.WriteLine("E ai!!");

    }

    }

    classShowClassComAnonimos

    {delegatevoidMeuDelegate();

    publicvoid EiMetodo()

    {

    MeuDelegate delAnonimo = delegate()

    {

    Console.WriteLine("E ai!!");

    };

    delAnonimo();

    }

    }

  • 8/3/2019 codificando 08

    16/38

    Criamos uma Lambda desta forma (parametro { =>} o que teremos de retorno),onde o => e o operador e o que vem a antes dele o parmetro e aps, o retorno.Vamos dizer que queremos uma funo que ir receber um inteiro, e ir retornar se ointeiro superior a 10.

    A mesma funo pode ser escrita como uma expresso lambda, em umalinha.

    A Expresso lambda faz o mesmo trabalho como afuno acima. O mais interessante que podemos escrever isso em apenas uma linha.

    Agora vamos criar uma classe para que possamos exemplificar melhor a Expresso lambda, como disse anteriormente ela muitoutilizada em consultas LINQ que o que veremos a seguir:

    Agora vou construir e popular minha Classe de Carros.

    PS: Se voc ainda no est familiarizado com o C# 3.0 deve estar estranhana criao das propriedades com os gets e sets direto e tambm a da Lista decarros populando direto no construtor sem antes ter criado um construtorpara fazer isso. Pois bem, seja bem-vindo, essas so apenas duas de muitanovidades da linguagem, mas isto assunto para o prximo artigo.Eu mostrei como criar e instanciar um List j passando os valores,agora vou utilizar alguns mtodos chamados mtodos estendidos no

    namespace LINQ onde podemos fazer consultas em colees.Note que o (p =>) Expresso lambda, que no primeiro exemplo especifica um filtro para a Marca FIAT em seguida utilizamos umalambda a partir do Objeto Carro para calcular a mdia. A partir da podemos explorar vrios exemplos de utilizao.

    6

    privatebool Emaiorq10(int i)

    {

    if (i > 10)

    returntrue;

    else

    returnfalse;

    }

    (int i => i > 10);

    publicclassCarros

    {

    publicstring Marca { get; set; }

    publicstring Modelo { get; set; }

    publicint Ano { get; set; }

    }

    List Carros = newList

    { newCarro { Modelo = "Astra", Marca="Chevrolet", Ano=2005},

    newCarro { Modelo = "Corsa", Marca="Chevrolet", Ano=2004},

    newCarro { Modelo = "Stilo", Marca="FIAT", Ano=2008},

    newCarro { Modelo = "Doblo", Marca="FIAT", Ano=2006},

    newCarro { Modelo = "Escort", Marca= "Ford", Ano=2000},

    newCarro { Modelo = "Explorer", Marca="Ford", Ano=2007} };

    var Resultado = Carros.Where(p => p.Marca == "FIAT");

    var Resultado1 = Carros.Average(p => p.Ano);

    LambdaExpressions

  • 8/3/2019 codificando 08

    17/38

    Pra finalizar, um filtro utilizando o Contains que funciona como o Like do SQL e um OrderBy para ordenar o resultado pelo ano.

    Bem pessoal espero ter passado o conceito bsico da Expresso lambda, agora s voc se aprofundar e colocar em prtica mais umdas novidades do C# e Visual Basic .NET 9.

    Bons Cdigos...

    Fabiano Belmonte Senior Architect da InfoMoney.com, especialista em aplicaes e-Business com larga experincia em B2B (Submarino.Com eSaraiva.Com). Trabalha h 5 anos com a tecnologia .Net, aplicando conhecimentos nas diversas reas: instituies financeiras (sistema SPB), e-Commerce, gerenciamento logstico entre outras. Trabalhando com Visual Studio desde suas primeiras verses, responsvel pela implementao uma Metodologia de trabalho e melhoras significativas no resultados e na qualidade do time de Desenvolvimento de muitas empresas por ondepassou como (Saraiva.Com) e ferramentas como TFS (Team Foundation Server).Foi palestrante em eventos como Codificando. NET 2008 e outros eventos sobre Tecnologia .NET.Instrutor da e-TNIAX Group especialista em C#, ASP.NET e Silverlight. www.etniax.com.br

    7

    var Resultado2 = Carros.Where(p => p.Ano > 2005);

    var Resultado3 = Carros.Where(p => p.Modelo.Contains("o")).OrderBy(o => o.Ano);

    LambdaExpressions

  • 8/3/2019 codificando 08

    18/38

    uem est sempre por aqui, com certeza j leu sobre Team System. E quem j leu e/ou j teve contato com o sistema sabe das grandesntagens que ele traz mas, e quem no conhece o Team System?era um no meio dessa multido h algum tempo atrs, e me lembro muito bem do primeiro contato. Um desenvolvedor chegando numva empresa. Sistema novo para cuidar, metodologias diferentes e o Team System, h pouco tempo implantado na empresa.

    idealizador do Team Sistem na corporao foi o responsvel por me integrar ao sistema e me passar os conhecimentos necessrios parar com ele no dia-a-dia. Para um desenvolvedor que mal tinha um sistema de controle de verses na empresa anterior, foi um impacto ento.ork Items, Polticas de Check-in, Testes unitrios, builds integradas, entre outras coisas. Um conjunto de features que aos poucos foram amando a ateno pela produtividade e controle do projeto que elas traziam. Alguns desenvolvedores podem ter uma reao diferente amear a lidar com o TS, que costuma ser o sentimento de ser mais monitorado, assistido, mas no bem assim.rtindo para o principal ponto dessa histria, meu ciclo nessa empresa no foi muito duradouro. Ingressei em outra empresa, queno tin

    ma metodologia de desenvolvimento definida, nenhum padro. Team System? Negativo. Ferramentas eram Visual Studio 2005 integrado aurce Safe. Algum que conheceu o Team System, recebia work items com casos de uso publicados no Sharepoint sentiu um impacto muaior do que quando conheceu o TS. No durou duas semanas at eu me manifestar. Sentia que a produtividade na equipe poderia ser muaior. Tinhamos um bom time numa boa empresa, porm sem ferramentas adequadas para trabalhar.ma boa dica para quem quer comear a lidar com o Team Foundation Server baixar a mquina de Trial que, na poca em que baixei, tinase 6 meses de durao. A que estou usando dura at dezembro deste ano. Para quem tem interesse, a vai o link: http://

    ww.microsoft.com/downloads/details.aspx?FamilyID=c7a809d8-8c9f-439f-8147-948bc6957812&displaylang=eni ele mesmo quem comecei a usar como ferramenta para tentar convencer gerentes e diretores de que ele a melhor soluo. Nelevode mexer sem medo. uma mquina virtual que pode rodar sob tanto Virtual PC quanto Virtual Server. Antes de dar o kick off nos testntro da empresa, rodei ele no meu computador usando Virtual PC. Criei projetos, personalizei metodologia (na ocasio MSF for Agile),ork item tracking, grupos de usurios, entre outros. O mais interessante que o modo do disco permite fazer um undo nas m odificaalizadas, o que te traz uma segurana a mais.epois de mais familiarizado com o lado server do Team System, me sentia mais seguro para instalar esse mesmo servidor numa mquinm Virtual Server na empresa. Como recursos no eram muitos e consegui apoio do gerente para fazer esse laboratrio, usamos da mqe para instalar uma primeira verso desse servidor. Ele cedeu 1 dos 2 GB de memria que ele tinha na mquina para que o TFS rodasse

    ra testes. Generoso!olocamos 2 projetos de testes no TFS para trabalharmos sobre ele. Eram projetos internos, que estavam acontecendo nos vales entreojetos, sem vnculo nenhum com nossos clientes. No nem um pouco recomendado usar projetos de clientes para fazer testes =)ports comearam a ser populados; uma melhor viso do projeto comeou a ser mensurada; desenvolvedores comearam a ter contatom o TS e perceberam que no o bicho papo que imaginavam; um ciclo mais organizado comeou a ser percebido no projeto; um melntrole do trabalho j realizado e do remanescente comeou a ser visto por todos, entre outras coisas que me deixam confiante para queam System seja finalmente homologado pela empresa.

    oje esse projeto anda com muita tranquilidade e em paralelo a projetos que esto fora do Team System, o que me d poder para poderer comparaes que vo me ajudar a convencer quem devo convencer. Tenho que dizer que todo o esforo, a briga contra as limitaesra e software, entre outros problemas, est sendo recompensado, mesmo que ainda no seja por completo, mas j est sendo muitoazeiroso voltar a trabalhar com o Team System, ainda mais sendo do outro lado do gerenciamento do projeto.os que se interessam em ingressar na mesma maratona em que estou atualmente, abaixo esto alguns links que me ajudaram muito:rum MSDN de TS: http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=5&SiteID=1

    brary MSDN de TS: http://msdn.microsoft.com/en-us/library/fda2bad5.aspx

    ardo Serradas ([email protected]) Bacharel em Cincia da Computao e Arquiteto de Software. Atualmente trabalha como "Team Leader" nread Systems (www.spread.com.br - Microsoft Gold Partner) com Visual Studio Team System, Team Foundation Server e Metodologiasgeis em seuojetos. Pode ser contactado no blog http://enterprisebrothers.wordpress.com/

    8Visual Studio Team System. Experimente! Vale a pena!

    http://www.microsoft.com/downloads/details.aspx?FamilyID=c7a809d8-8c9f-439f-8147-948bc6957812&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c7a809d8-8c9f-439f-8147-948bc6957812&displaylang=enhttp://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=5&SiteID=1http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=5&SiteID=1http://msdn.microsoft.com/en-us/library/fda2bad5.aspxhttp://msdn.microsoft.com/en-us/library/fda2bad5.aspxhttp://msdn.microsoft.com/en-us/library/fda2bad5.aspxhttp://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=5&SiteID=1http://www.microsoft.com/downloads/details.aspx?FamilyID=c7a809d8-8c9f-439f-8147-948bc6957812&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c7a809d8-8c9f-439f-8147-948bc6957812&displaylang=en
  • 8/3/2019 codificando 08

    19/38

    RECORDAR VIVER!

    Meu primeiro computador.[Diego Nogare]

    At hoje no sei se veneno ou no!

    [Diego Nogare]

    Meu primeiro brinquedo GEEK![Alexandre Tarifa]

  • 8/3/2019 codificando 08

    20/38

    Introduo a plataforma Windows Live

    IntroduoQuem ainda no conhece a plataforma de desenvolvimento Windows Live no sabe o que est perdendo. So inmeras APIs e SDKque facilitam o desenvolvimento de aplicaes utilizando conceitos da Web 2.0 e de redes sociais.Windows Live um conjunto de produtos e servios oferecidos pela Microsoft que residem ou se conectam de alguma forma aInternet, um conceito conhecido como Cloud Services (Nuvem de servios). Esses produtos e servios podem facilmente serem

    integrados as nossas aplicaes.Windows Live uma plataforma de consumo e tambm de oportunidades para desenvolvedores e sites de terceiros.A grande maioria dos usurios daInternet j teve algum contato comalgumas ferramentas e servios queesto sob o marca Windows Live,servios como Live Mail (que incluiHotmail e MSN Mail), Live Messenger(MSN Messenger), Live Spaces, Live

    Search e o Virtual Earth (http://www.livemaps.com.br) sodiariamente usados por milhes deusurios.

    Servios Windows Live esto numacontinua evoluo e novos servios eprodutos so adicionadosregularmente, como o novo WindowsLive SkyDrive, Silverlight Streaming,Live OneCare, Live Events e etc.

    Plataforma de desenvolvimentoComo podemos perceber realmentegrande parte dos usurios da Internetutilizam de alguma forma algumproduto ou servio Windows Live.Sabendo-se disso, porque no trazer

    para dentro de nossas aplicaes, sejaela Web, Windows ou Mobile, recursos que os usurios j esto acostumados ou ainda desenvolver nossas prprias aplicaesbaseadas nessas j existentes?A Plataforma Windows Live se prope justamente a isso, permitir que designers, desenvolvedores e entusiastas criem aplicaessofisticadas baseadas nessa gama de servios. A plataforma Windows Live foi construda em torno de uma arquitetura simples deidentidade e autenticao e regida por termos simples e consistentes.

    Os desenvolvedores podem construir suasaplicaes com linguagens comuns dedesenvolvimento e de script, como Visual C#,

    JavaScript, Python, Ruby e Perl, tendo ainda umsuporte total na ferramenta de desenvolvimentoVisual Studio.

    Essas aplicaes podem rodar em distintosbrowsers e sistemas operacionais, como InternetExplorer, Firefox, Safari e Opera, e em sistemasoperacionais como Windows, Mac OS X e Linux.Como podemos ver, a plataforma dividida emcinco grandes partes: Find & Locate, Identity, UserData, Notifications & Messaging e Infrastructure.Vamos entender o que cada uma delas.

    0

    http://www.livemaps.com.br/http://www.livemaps.com.br/http://www.livemaps.com.br/http://www.livemaps.com.br/
  • 8/3/2019 codificando 08

    21/38

    Introduo a plataforma Windows Live

    Find e Locate

    Live Search

    Voc pode facilmente adicionar um sistema de busca para o seu site com o Live Search Box e caso queira mais opede customizao pode usar o Live Search Web Services onde voc ser capaz buscar resultados da Web, imagens,noticias, feeds e metatags de maneira programtica.

    Virtual Earth

    Virtual Earth um conjunto integrado de servios que possibilita a voc desenvolver experincias online dinmicasatravs de mapas e uma biblioteca de imagens Geo-Espaciais. Voc ainda pode usufruir de mapas em trs dimensemodelo de visualizao Birds Eyes e tudo isso com uma resoluo altssima.

    Identity

    Windows Live ID

    Windows Live ID o sistema de identidade e autenticao oferecido pela plataforma Live (o antigo passaportnetwork), este sistema utilizado por todos os servios e produtos Windows Live que requerem autenticao,atualmente existem mais de 300 milhes de usurios com um Live ID, 35 milhes s no Brasil. A titulo decuriosidade, por dia nos servidores da Microsoft so feitas cerca de um bilho de autenticaes.

    User Data

    Contacts

    Windows Live Contacts permite que pessoas tenham acesso as suas informaes de contato (incluindo dados decontatos do hotmail, Messenger e contatos de dispositivos mveis) em seus sites (com total segurana e privacidadPodemos ento construir sites com conceitos de redes sociais.

    Photos

    Armazene e acesse fotos de usurios Windows Live. A API permite aos usurios delegar permisses para sites deterceiros terem acesso de leitura ou leitura/escrita em seus lbuns de fotos armazenados dentro do Windows LiveSpaces.

    1

  • 8/3/2019 codificando 08

    22/38

    Introduo a plataforma Windows Live

    App Storage

    Armazene dados de configuraes de usurios do seu site. Essa API permite que desenvolvedores armazene pequenas quantidades dinformaes de configuraes/estado de seus usurios nos data centers da Microsoft .

    Notifications and Messaging

    Messenger

    Permita que visitantes de seu site interajam com os usurios do Windows Live Messenger atravs do Windows LiveMessenger Library, Windows Live Messenger IM Control e o Windows Live Presence API.

    Alerts

    Permita que usurios do seu site recebam alertas em seu desktop, dispositivos mveis ou email. Windows Live Alerautomaticamente detecta onde os clientes esto na rede e de maneira inteligente envia o alerta para o localapropriado.

    Agents

    Crie robs para sua empresa ou produto. Atravs do Messenger voc pode disponibilizar um meio automtico deprover informaes para seus clientes. Agents usam uma linguagem natural na conversao permitindo uma interamuito boa com os usurios.

    Infrastructure

    Admin Center

    Windows Live Admin Center um servio de customizao que permite a voc personalizar e estender suaexperincia no ambiente Live, com opes ilimitadas de e-mail e um fcil gerenciamento de domnios.

    Silverlight Streaming

    Silverlight Streaming um servio que torna fcil a disponibilizao de rich media silverlight. O servio oferece modo gratuito uma soluo para hosting e streaming de aplicaes silverlight.Naturalmente, existem mais opes dentro da plataforma (veja mais em http://dev.live.com), mas j podemos vegrande maioria das possibilidades que ns temos trabalhando com a plataforma Windows Live.

    2

    http://dev.live.com/http://dev.live.com/
  • 8/3/2019 codificando 08

    23/38

    Introduo a plataforma Windows Live

    Windows Live tools para o Visual Studio 2008

    WL tools para o Visual Studio 2008 um conjunto de controles que incorpora servios Windows Livefacilmente em nossas aplicaes Web. Faa o Download aqui ( http://www.microsoft.com/downloads/

    details.aspx?FamilyId=D7C6DF11-2283-4CAC-9723-172F5C33EFBB&displaylang=en)Como podemos ver na figura ao lado, uma grande variedade de controles j est integrada com oVisual Studio 2008. Ou seja, se voc um desenvolvedor ASP.NET, pode usufruir ainda desse beneficio.Windows Live Quick AppsA fim de facilitar o aprendizado dos interessados, a Microsoft disponibiliza para os desenvolvedoresuma srie de aplicaes de exemplo que utilizam os mais variados servios (APIs e SDKs) daplataforma Windows Live. Acesse o linkhttp://dev.live.com/quickapps/default.aspx e veja as inmeraspossibilidades de desenvolvimento.

    Concluso

    Como podemos ver, a plataforma Windows Live algo enorme e que merece um estudo mais intenso

    por parte dos desenvolvedores. A computao cada dia mais tende para um ambiente de nuvem (cloudservices) e a plataforma Windows Live realmente tem muitos servios e produtos interessantes. Minhainteno com este artigo foi mostrar-lhes algo que para muitos ainda era desconhecido. Pretendo embreve disponibilizar artigos mais especficos sobre cada um dos temas abordados aqui hoje. Qualquerdvida, crtica ou sugesto fale comigo: [email protected]

    Cleber Dantas ([email protected]) Ministra palestras e mini-cursos, MSP (Microsoft Student Partner), MCAD (Microsoft Certified ApplicaDeveloper) e MCTS (Microsoft certified Technology Specialist). Membro do comit Web/Infra do INETA Brasil (International .NET Association),colaborador do Portal Linha de cdigo e IMasters. Trabalha com a plataforma .NET desde 2003

    3

    http://www.microsoft.com/downloads/details.aspx?FamilyId=D7C6DF11-2283-4CAC-9723-172F5C33EFBB&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyId=D7C6DF11-2283-4CAC-9723-172F5C33EFBB&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyId=D7C6DF11-2283-4CAC-9723-172F5C33EFBB&displaylang=enhttp://dev.live.com/quickapps/default.aspxmailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]://dev.live.com/quickapps/default.aspxhttp://www.microsoft.com/downloads/details.aspx?FamilyId=D7C6DF11-2283-4CAC-9723-172F5C33EFBB&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyId=D7C6DF11-2283-4CAC-9723-172F5C33EFBB&displaylang=en
  • 8/3/2019 codificando 08

    24/38

    Primeiros passos no Visual Studio Team SystemO desenvolvimento de um produto de software em conjunto j no mais novidade em nenhum mercado. Falar hoje em dia de Rapid

    pplication Development (RAD) e Integrated Development Environment (IDE) tambm j no traz mais novidade, pois j temos timasrramentas como o Visual Studio 2008 que usa toda a tecnologia para oferecer grande produtividade no desenvolvimento de software e recisamente na codificao. Com a plataforma .NET Framework tambm consolidamos outra dvida comum que era a escolha da linguage programao. L no passado eu escutava muito dos amigos a conhecida frase A minha linguagem de programao melhor que a suaonforme voc vem acompanhando o mercado essa tambm j uma afirmao bem ultrapassada.

    O mercado hoje j est consolidado com os padres disponveis que j oferecem ampla segurana do ponto de vista de tecnologia . Agorahegou o momento de usar a tecnologia para facilitar noomente a codificao, mas incorporar todo o ciclo deesenvolvimento, pois s assim ser possvel alcanar umroduto com qualidade no prazo e no tempo exigido pelo

    mercado desviando dos j conhecidos problemas ligados aosasos de insucesso na entrega de projetos de software to

    elatados em diversas pesquisas realizadas pelo Standishroup (www.standishgroup.com) sobre o histrico dosrojetos ao longo dos ltimos 10 anos conforme voc podeer na figura 01 onde apenas cerca de 30% dos projetos soonsiderados sucesso.

    onforme voc pode observar na figura 01 os nmeros soarmantes e representam tambm a nossa realidade inclusive no Brasil. um fato claro que est mais barato desenvolver software hoje, ntanto entregar com sucesso tem sido cada vez mais um grande desafio.

    om foco nessa grande demanda do mercado pela profissionalizao do ciclo de desenvolvimento que desde 2005 a Microsoft passou avestir no mercado de Application Lifecycle Management (ALM) com o lanamento da plataforma de Visual Studio Team System (VSTS).plataforma do Visual Studio Team System (VSTS) ofertada como uma soluo baseada em um conjunto de produtos que juntos trabal

    ntos e integrados para proporcionar a gesto do ciclo de vida de uma aplicao, oferecendo suporte para todo o ciclo de desenvolvimenvolvendo todas as reas e papis relacionados em um projeto de software tais como:

    GestoNegciosAnaliseArquitetura (Software / Infra estrutura)DesenvolvimentoBanco de dadosQualidade

    om uma soluo integrada oferecida pelo Team System voc ter os mecanismos necessrios para vencer os principais desafios em umrojeto de software como: colaborao, qualidade, prazos e acompanhamento.

    om o modelo de gesto para o ciclo de desenvolvimento oferecido pelo Visual Studio Team System que trabalha em conjunto com a sumetodologia de desenvolvimento voc ter mais um grande aliado no seu projeto possibil itando de forma integrada grandes resultados quo muito difceis de se alcanar de forma manual devido aos diversos desafios no dia a dia desenvolvendo software.

    2 4

    http://www.standishgroup.com/http://www.standishgroup.com/
  • 8/3/2019 codificando 08

    25/38

    Primeiros passos no Visual Studio Team Systemmuito importante voc ter em mente que plataforma de Application Lifecycle Management (ALM) no simplesmente uma ferramenta

    alvar seu cdigo fonte como tenho observado alguns clientes que confundem o Visual Studio Team System (VSTS) com o Visual Source VSS). O simples fato de armazenar o seu cdigo fonte com as aes de Check-In e Check-Out voc consegue tranquilamente com asrincipais ferramentas do mercado de Source Control do mercado e no essa a proposta de uma soluo de ALM.

    ara ter resultados numa plataforma de ALM necessrio projetar a implantao pensando em todo o ciclo de desenvolvimento do seurojeto de forma que possa usar a plataforma de forma estratgica e tenha total aderncia com as caractersticas do seu projeto.

    Nos ltimos 12 meses tenho tido uma grande oportunidade de conversar com um grande nmero de clientes e avaliar seu processo deesenvolvimento para alinharmos uma estratgia de implantao do Visual Studio Team System onde estamos tendo um ndice de satisfae 100% ou mais se fosse possvel registrar. O grande falto que quero registrar que o VSTS oferece um modelo slido para os mais variamanhos de projetos permitindo criar uma personalizao para atender clientes pequenos, mdios e grandes respeitando as diferenas dada cliente.

    u me recordo de um cliente que relatou que conseguimos provocar lgrimas ns olhos dele pela tamanha satisfao e alcance de seusbjetivos. Comentou ainda que por diversas vezes avaliou diversas solues mas nenhuma chegou to prximo do seu modelo de negcomo o Visual Studio Team System.

    sses momentos com os clientes so de grandemportncia pois passamos a investir na plataforma desde004 internamente. Apartir de 2005 com o lanamentoficial para o mercado comeamos a ofertar para osientes. E nada melhor que trazer esse grande feedback deuem realmente acaba por usar a plataforma no seu dia aa.

    ara voc ter uma idia do potencial oferecido pelo Visual

    tudio Team System gostaria de lhe convidar a observar agura 02.

    Ns temos uma estrutura divida em algumas camadas queoderamos separar conforme as seguintes vises:

    Ferramentas que atuam no cliente (Gerente deprojeto, Arquiteto, Desenvolvedor, DBA, Tester).Ferramentas que atual no servidor (Portal,Comunicao, Relatrios, Controle de verso).Metodologia.Ferramentas de terceiros que complementam asoluo

    2 5

  • 8/3/2019 codificando 08

    26/38

    Primeiros passos no Visual Studio Team System

    O principal componente chave da nossa soluo o Team Foundation Server (TFS) conforme voc pode conferir na figura 03 que sencarrega de coletar todas as informaes durante o clico de desenvolvimento. A comunicao realizada por meio de itens de trabalhoWork Itens), que so criados pelo MS Project, Excel ou diretamente no Visual Studio. Consiste nas tarefas a serem executadas dentro dorojeto. O TFS o provedor de informaes coletando dados e sumarizados para exibir por meio de relatrios estratgicos paracompanhamento do projeto. Tenha em suas mos o controle sobre o cdigo fonte de forma integrada usando novos conceitos alm dosimples armazenar, pois ele contm polticas de controle que permitem uma integrao do cdigo fonte ao ciclo de desenvolvimento. Tolticas permitem, por exemplo, garantir que todo o cdigo enviado esteja relacionado a uma tarefa criada no MS Project. Destaca-seambm, pelo armazenamento de cdigo dentro do SQLServer, usando transaes atmicas evitando qualquer perda de cdigo e permitiesenvolvimento remoto com toda arquitetura baseada em Web Services.oc ainda pode observar na figura 03 os diversos recursos oferecidos por cada verso presente na soluo: Achitecture Edition,

    Development Edition, Test Edition, Database Edition

    idia voc utilizar a verso do

    eam Edition de acordo com oeu papel no projeto. E paraomplemento temos a versoisual Studio Team Suite que jngloba toda as versesnteriores.erceirizao de projetosesenvolvimentooje em dia independente do

    amanho da empresa sendo elaequena ou mdia ou grande emgum momento j ter sidovantado a bandeira da

    erceirizao dos projetos deesenvolvimento ou parte deles.Ns temos cenrios em clientesue possuem 09 fornecedoresara desenvolvimento e o queoderia ser de imediato umarande facilidade acabaecessitando de uma srie deritrios para o devidocompanhamento.

    om a plataforma de Visual Studioeam System voc agora tem

    mecanismos eficientes paraerenciar os fornecedores externos fazendo com eles sigam os padres de desenvolvimento do seu projeto permitindo acompanhar aualidade do projeto e todas as entregas.

    Modelo nico para gerenciamento de todos os projetosor mais que tentamos padronizar os processos e tecnologias acabamos de ter que manter muitos projetos desenvolvidos em plataformagadas e que ainda demandam muitas aes para manuteno e modificaes relacionadas. Voc poder utilizar o Team Foudantion Serveara armazenar tambm esses projetos usando prprio plug-in oferecido pela Microsoft ou conectores oferecidos por terceiros.

    2 6

  • 8/3/2019 codificando 08

    27/38

    Primeiros passos no Visual Studio Team System

    ransparncia totalara voc que vive o dia a dia desenvolvendo software deve saber muito bem o que encontrar uma alterao desconhecida em um ble cdigo. A primeira pergunta bsica quem mudou e logo em seqncia o por que dessa mudana. Eu posso dizer para voc que seusroblemas acabaram pois com o Annotate voc tem agora essa informao para auditar seu cdigo a qualquer momento com transparncem complicaes vai identificar a pessoa que mudou, todoss arquivos relacionados a essa mudana e quem fez essaolicitao de mudana conforme pode observar na figura 03.

    Qualidade de software prioridadee produzir um produto com qualidade desejo de todas asmpresas do mercado, para o Visual Studio Team System ama prioridade. Quem nunca recebeu uma ligao de umiente reclamando que fez o primeiro teste na aplicao e

    ncontrou um problema? Tenho certeza que voc deve terespondido que na sua maquina funciona. Falando assim atarece que uma piada, mas um assunto muito srio quefeta um grande nmero de projetos. Como pode voc podearantir que os testes realizados esto cobrindo todo odigo? Para essa e outras dvidas que temos todo umonjunto de ferramentas integradas do VSTS com o objetivoe trabalhar em cima da qualidade cobrindo desde registroe bug, realizao de testes unitrios, funcionais, de carga,

    manuais, cobertura de cdigo e muito outras ferramentasue possibilitam ao profissional agora ter mecanismos

    eficientes para atuar na qualidade do projeto. Confira nafigura 04 um exemplo de relatrio de cobertura de cdigaps a realizao de um teste unitrio.

    Analisando a figura 04 voc pode observar na cobertura cdigo que quando o seu cliente estava reclamando elerealmente tinha razo. Voc estava entregando um blococdigo que jamais estava sendo testado conforme indicadpela seta.

    Integrando o desenvolvimento do banco de dadosO banco de dados tornou-se um dos maiores parceiros aplicaes. Com a soluo de Visual Studio Team Systemvoc vai estender a mesma gesto no desenvolvimento cdigo fonte para o desenvolvedor de banco de dados / que agora trabalharam juntos usando poderosos recursocobrindo desde controle de verso at qualidade dos obdo banco de dados. Dentre os principais recursos podemcitar:

    2 7

  • 8/3/2019 codificando 08

    28/38

    Primeiros passos no Visual Studio Team System

    Reverse-Engineering (Importando a estrutura de um banco de dados existente para dentro do projeto no Visual Studio).Schema Compare (Comparando schemas entre banco de dados diferentes e gerando cdigo T-SQL para o sincronismo das estruturas).Data Compare (Comparando dados entre banco de dados diferentes e gerando cdigo T-SQL para sincronizao).Refactoring (Trocando nomes dos objetos no banco de dados respeitando todas as dependncias. Esse recurso funciona de forma muitmilar ao .NET ).Code Analysis (Utilizando anlise esttica de cdigo para validar padres de implementao em cdigo T-SQL).Unit Testing (Criando testes unitrios para validao de funcionalidades, schema, segurana e dados garantindo o controle de qualidade)

    rximos passosonhecer mais da plataforma do Visual Studio Team System sempre procurando relacionar com as necessidades do dia a dia do seu proje

    muito importante fazer um levantamento interno em interno em seu projeto de como o mesmo est hoje e quais sero os passos nosrximos anos. Perguntas simples conforme o pequeno questionrio abaixo j pode ser o primeiro passo:

    Utiliza algum controle de cdigo fonte atualmente?J tem alguma metodologia de desenvolvimento?Quantas pessoas participam do projeto e qual o papel delas nos mesmos?Voc j tem uma rea de qualidade?Quais linguagens e plataformas so utilizadas nos projetos?Qual seu banco de dados atual?Quais principais projetos atuais?Quais so as principais reclamaes nos projetos?

    xistem planos de novos projetos, migrao de projetos antigos e contratao de mais profissionais?

    Consideraes finaisvestir em uma plataforma de Application Lifecycle Management como o Visual Studio Team System s vem a potncializar o

    esenvolvimento de seus projetos pelo grande nmero de recursos oferecidos destinados a gesto estratgica e colaborao. Com ummodelo simplificado de trabalhado voc ter a disposio grandes resultados e uma aderncia do seu modelo de trabalho. Enxergue hoje STS como a plataforma base para todos os projetos de software independente da tecnologia utilizada de forma a permitir um nico mode gesto em todo seu ciclo de desenvolvimento.

    amon Dures MVP, consultor Snior com larga experincia em desenvolvimento de software usando plataforma Microsoft. Trabalha atualmente coftware Engineer na 2pc Professional Consulting (http://www.2pc.com.br) coordenando a rea de consultoria trabalhando com empresas ligadas aoesenvolvimento de software fornecendo capacitao na migrao para .NET, consultoria em arquitetura de software e implantao de Visual Studioeam System. Palestrante nos principais eventos da Microsoft no Brasil (Teched 2005, Teched 2006, TechEd 2007, 2008), Microsoft Innovation Da007 (Salvador, Braslia, Recife, Goinia, Natal, Maring) e outros eventos regionais promovidos por grupos de usurios. Pode ser encontrado em seuttp://blogs.2pc.com.br/ramonduraes.

    2 8

    Para saber mais:Standish Group Report: Theres Less Development Chaos Today http://www.sdtimes.com/content/article.aspx?ArticleID=30247Por que voc precisa do Visual Studio Team Systemhttp://blogs.2pc.com.br/ramonduraes/archive/2008/09/02/por-que-voc-precisa-de-visual-studio-team-system.aspxWorkshop Visual Studio Team 2PC Professional Consultinghttp://www.2pc.com.br

    Gerenciando projetos de software com Visual Studio Team Systemhttp://www.2pc.com.br/mkt/cd/

    http://blogs.2pc.com.br/ramonduraeshttp://www.sdtimes.com/content/article.aspx?ArticleID=30247http://blogs.2pc.com.br/ramonduraes/archive/2008/09/02/por-que-voc-precisa-de-visual-studio-team-system.aspxhttp://www.2pc.com.br/http://www.2pc.com.br/mkt/cd/http://www.2pc.com.br/mkt/cd/http://www.2pc.com.br/http://blogs.2pc.com.br/ramonduraes/archive/2008/09/02/por-que-voc-precisa-de-visual-studio-team-system.aspxhttp://www.sdtimes.com/content/article.aspx?ArticleID=30247http://blogs.2pc.com.br/ramonduraes
  • 8/3/2019 codificando 08

    29/38

    http://www.linhadecodigo.com.br/videoslchttp://www.linhadecodigo.com.br/videoslc
  • 8/3/2019 codificando 08

    30/38

    Declarative Management Framework [DMF] uma ferramenta nativa que integra o pacote de novas solues do SQL Server 2008 e seope a auxiliar na criao de padres e polticas de utilizao do banco de dados, seguindo padres definidos pela equipe que gerencia o

    QL Server na empresa. Aps sua configurao, o desenvolvimento passa a seguir as regras estabelecidas e caso algum ponto seja diferente

    e foi configurado, o Database Engine no permite que o script seja concludo e exibe uma mensagem dizendo que as regras foram violadae a transao sofrer um rollback.tas polticas so completamente flexveis e adaptveis a cada empresa, por exemplo, possvel definir o padro de nomes dos objetos donco, definir uma obrigatoriedade de schema ou usurio, ou especificar que algum objeto que no pode ser utilizado em determinadasuaes... Estas normas geralmente so definidas pela equipe de Database Administrator [DBA] e a utilizao feita pelos Databaseevelopers [DBD]. Mas nada impede que outros papis configurem e utilizem o banco e as polticas implantadas.m dos pontos fortes desta ferramenta a possibilidade da replicao das polticas criada no Declarative Management Framework para toparque de servidores, selecionando os servidores que sofrero as alteraes, deixando a administrao para todos os servidorespecificados com a mesma poltica. E caso seja feita uma alterao em alguma regra da poltica, todos os servidores que estiverem sob aqunfigurao, automaticamente sofrero as alteraes e passaro a seguir as novas regras.possvel tomar conhecimento de algum procedimento que infringiu as polticas, tambm configuradas por atitudes e aes. O SQL Serverrmite configurar o DMF para enviar um e-mail para o DBA, por exemplo, quando algum DBD criar uma tabela fora dos padres demenclatura, ou criar um usurio que foi atribudo ao perfil de S.A. no banco. Tudo isso configurado atravs do DMF e replicado paraantos servidores forem necessrios.

    tes de partir para o exemplo da criao de algumas polticas, vale a pena entender o quenifica os itens que sero trabalhados no DMF do SQL Server 2008, e para explicar estesns, vamos at a parte inicial do DMF. Veja na Figura 1, os itens que sero explicados.

    onecte-se no Banco de Dados, abra a Object Explorer (View >> Object Explorer) v atmenu Management e expanda suas opes. O DMF est dentro de Policy Management.o os trs itens do menu.

    mos agora entender o que so cada uma dessas opes:

    licies: Pode-se entender que as policies so as polticas aplicadas, baseadas nas condiesonditions) e nos objetos (facet).

    onditions: So as condies de uma determinada poltica, aplicada a um facet. possvelfinir vrias polticas em um mesmo facet, e sero agrupadas como condio.

    cet: Os facets so os objetos de banco de dados que vamos trabalhar. Quando os facetsrem expandidos, ser possvel encontrar vrios nomes j conhecidos como Table, Login,hema, e vrios outros... Representado praticamente todos os objetos possveis de bancodados.

    ora que j vimos o que so cada um dos grupos de configurao do DMF, vamos montar uma poltica de exemplo.

    No exemplo, vamos criar uma poltica de nomenclatura para as tabelas. So dois caminhos quepodem ser seguidos:

    1) Comearemos escolhendo qual ser o objeto (facet) que ter nossa poltica. Neste caso serTable. Clique com o boto direito em cima de Table e aponte o mouse para New Condition. VejFigura 2.

    3 0

    DMF - Declarative Management Framework no SQL Server 20

  • 8/3/2019 codificando 08

    31/38

    Ir diretamente em Conditions, e criar uma nova condio. Clicando com o boto direitoelecionando New Condition. Veja a Figura 3.

    m ambos os casos o resultado ser o mesmo, a nica diferena que pela primeira opoacet j est selecionado, e pela segunda opo, ser necessrio escolher qual ser oet. Mas isso no muda nada no final. Vamos utilizar o exemplo da segunda opo, paraecionarmos o facet manualmente.s clicar em New Condition, a tela de criao de condies ser apresentada, e omeiro campo que solicitado o preenchimento o campo Name, que ser o nome de

    entificao desta poltica.

    Neste caso, pode ser dadoqualquer nome que lhe seja dfcil associao, como vamostrabalhar com o nome da tabsugiro que seja Nomenclatude Tabela. O campoexatamente abaixo do NameFacet (objeto) que ser aplicesta configurao que estsendo criada. Escolha a opTable. Abaixo da escolha daFacet, vem o grande momenmontar a condio da polticUma grid apresentada, e ascondies so montadasutilizando os itens das colunaNa primeira linha, no poscolocar um AND ou OR,

    justamente porque estamos primeira linha. O preenchimpassa a ser utilizado da seguncoluna pra frente. A colunaField, referente varivel qter a validao, como ser

    bre o nome da tabela, o campo Field selecionado dever ser o @Name. A coluna Operator para definir qual ao ocorrer com aquelrivel, selecione a opo LIKE (semelhante ao coringa LIKE do T-SQL). E por final a coluna Value que pode receber uma outra varivel oum texto, neste caso, vai receber o texto tbl% (lembre -se que estamos trabalhando com T-SQL, ento o texto deve estar entrestrofos [aspas simples]). Veja a Figura 4, como seria esta tela j com as configuraes apresentadas acima.

    3 1

    DMF - Declarative Management Framework no SQL Server 20

  • 8/3/2019 codificando 08

    32/38

    u repetir os ltimos passosvamente, pra criar uma novandio, agora para nome de

    ored procedures. Vou chamarsa Condition deomenclatura de Procs. Porm,invs de criar com somente

    ma expresso, vou utilizaratro com OR para todas ases. Eu quero que asocedures geradas pelossenvolvedores tenham em seume %INS, %UPD, %DEL%SEL, representando

    SERT, UPDATE, DELETE ouLECT respectivamente. Veja aura 5, esta condio.

    voc reparar o menuonditions, existir duas novasndies que no existiamtes, estas so as condiese acabamos de criar. Veja naura 6 este menu.

    onto, 50% do trabalho j estto. Utilizar uma Facet prontara criar uma condio!ora vamos para a segunda parte do trabalho, que to simples quanto a primeira. Ser criada a poltica, escolhendo a condioque far

    parte dela.

    Neste passo ser criada uma poltica para os nomes de objetos. Vamos adicionar as duascondies criadas, e fazer alguns testes. Para isso, clique com o boto direito do mouse em Poe v em New Policy, uma tela de criao depolticas ser aberta. Veja a Figura 7 o menu.

    3 2

    DMF - Declarative Management Framework no SQL Server 20

  • 8/3/2019 codificando 08

    33/38

    esta tela ser adicionado ome da poltica, e qualndition ela utilizar. possvel

    stringir algum servidor parao ter esta poltica aplicada,ra isso, ser necessrio criar

    ma condition utilizando a faceterver.nome desta poltica o

    esmo da condition de tabela,omenclatura de Tabela, queecisa ser colocado no campoame. Na comboBox de Checkondition escolha a opoomenclatura de Tabela, que de esta poltica atuar.ovamente, possvelecionar algum servidor ounco de dados que no terotas polticas, mas isso geraaterial para outro artigouro. Tenha certeza que om Evaluation Mode estejaarcado como On Demand,e executar a poltica sempree algum objeto do Facet forerado. Acompanhe na Figura 8ela de novas polticas.o ser criada uma polticara validar os nomes de Storedocedures, a inteno de criarCondition de Procs foi paraostrar a funcionalidade decionar quatro expresses ao

    vs de somente uma, como apresentado no primeiro exemplo.

    s criar a poltica, o menu de Policy ser apresentado com o item existente.ja este item na Figura 9.

    3 3

    DMF - Declarative Management Framework no SQL Server 20

  • 8/3/2019 codificando 08

    34/38

    ora que a poltica est criada possvel testar, para isso, clique com o boto direito doouse na poltica criada e aponte para Evaluate. Este item est apresentado na Figura 10.

    o clicar neste item, a poltica executada com base nas condies existentes e seus facetsrrespondentes. A tela que apresentada, mostra os detalhes do que foi executado, o quet dentro das normas estabelecidas, ou o que no est. Os itens analisados que soisfatrios ficam assinalados com um check verde, e os itens que no foram aprovadosa analise do DMF, fica assinalado com uma cruz vermelha. Acompanhe a Figura 11 estesns aprovados e reprovados.

    Na parte superior da tela deresultados, possvel ver qupoltica Nomenclatura deTabela est marcada com osmbolo de falha, isso acontequando um ou mais itens dodetalhes so insatisfatrios.Estes detalhes esto na parteinferior da tela, onde aparecdois itens, o primeiro que fale o segundo que foi aprovadVejam que possvel ver osdetalhes do resultado da antanto para o item que falhouquando para o item aprovadoquando clicamos no linkexistente na coluna Details, dlinha que falhou, uma telamostrando o resultado que n

    foi satisfatrio apresentadoveja a Figura 12 esta mensage

    3 4

    DMF - Declarative Management Framework no SQL Server 20

  • 8/3/2019 codificando 08

    35/38

    Entendendo o erro que foi apresentado pelo DMF, possvel ver que o Expected Value diferente do Actuvalue. Este o motivo do erro. O valor atual cliente

    no comea com o texto tbl, por esse motivo ocorro erro.

    ora analisando a mensagem que foi satisfatria, que oMF aprovou na poltica implantada, possvel ver que opected Value igual ao Actual Value, significando que oor atual tblCliente comea com o texto tbl. Veja estalise na Figura 13.

    om isso, fechamos mais um artigo sobre o SQL Server 2008, e espero que tenha sido til e informativo para vocs.

    o prximo.

    ego Nogare graduado em Cincia da Computao, Ps-Graduado em Engenharia de Computao com nfase em Desenvolvimento Web com .NElaborador do Portal Linha de Cdigo e da revista SQL Magazine, co-Lder do grupo de usurios Codificando .NET, Lder dos Microsoft Student PartnSP] de So Paulo e Microsoft Most Valuable Professional [MVP] em SQL Server, possui certificaes MCP e MCTS em SQL Server2005, palestra

    eventos da Microsoft, Codificando .NET e INETA BR, mantm o site: www.diegonogare.net

    3 5

    DMF - Declarative Management Framework no SQL Server 20

  • 8/3/2019 codificando 08

    36/38

    Diverso

    3 6

    O Saldanha possui um dos maiores lanches de SoPaulo. Com sede em Suzano e filial em Po, estalanchonete (com delivery) atende a galera de toda aregio do alto tiete. Sem brincadeira, o lanche de l

    vai de 900Gr a 2,5Kg... Quatro pessoas normaisconseguem comer tranqilo... O Facunte comeria1/2 lanche sozinho, mas ele no uma pessoa

    normal. :) Reparem a latinha de coca-cola ao fundo.O preo de lanche varia pelo recheio e tamanho,mas os lanches comuns so na faixa de R$ 15,00.

    Os telefones para Deliveryso:Suzano: (11) 4744-4657Po: (11) 4636-6513

    Quem tiver a oportunidade de vir regio, conheaeste lugar. No se arrepender.

    O Road Burger uma lanchonete naMooca... Possui um ar de lanchonete dbeira de estrada, bem queles estilos dfilmes de Highway americanos... Seuvisual bem descontrado e d pra ir dgalera ou famlia, o ambiente propcO melhor lanche do lugar o famosohamburgerde picanha. Osacompanhamentos so escolhidos por

    fregus... Nas ultimas vezes que eu fuirefrigerante era de refil, logo d pra seintoxicar com tanta bebida.O preo no absurdo, o hamburgerdpicanha fica na faixa de R$ 14,00dependendo dos acompanhamentos.

    Mas se vocs forem ao Road, no deixde pedir a Banana Split, mas se preparem 8 (oito) pessoas no conseguimoscomer toda a sobremesa.Uma dica: Se precisarem de ajuda paracomer, no chamem os garons, eles n

    ajudam nessa hora. rs

  • 8/3/2019 codificando 08

    37/38

    Blogs, Foruns e Links

    Blogs:

    akua FeedCenter: http://feedcenter.pakua-it.com/

    rum (Endereos para Entrar no Grupo):

    odificando .NET: [email protected]

    NA-BR: [email protected]

    ites Recomendados:

    isual Studio 2008: http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx

    QL Server 2008: http://www.microsoft.com/sqlserver/2008/en/us/default.aspx

    PodCast

    odificando .NET: http://www.codificandomagazine.net/PodCast

    3 7

  • 8/3/2019 codificando 08

    38/38

    .Close( )

    Cuidado, cuidado, muito cuidado antes de definir que tipo de aplicao escolher.

    H algum tempo, a escolha do tipo de aplicao vem se tornando uma misso cada vez mais difcil, isso devido aoaumento das possibilidades e tipos de aplicativos que podemos desenvolver... At alguns anos atrs poderamos

    escolher entre: Windows ou Web... E mais antigamente ainda: Windows.Enfim, hoje temos uma gama muito forte e dentro de cada cenrio de arquitetura temos ainda subtipos que podemescolher, o que parece ser bom acaba sendo um problema... algo parecido com a seleo brasileira. Temos osmelhores atacantes do mundo, mas quando juntamos os quatro melhores nem sempre d certo.Vamos a um exemplo prtico: podemos desenvolver solues Web hoje utilizando o tradicional ASP ou Silverlight..uma grande dvida j saber qual escolher... Hoje em aplicaes Windows passamos por uma situao parecida... Otradicional Windows Forms ou WPF?No existe melhor, nem pior, nem mais indicado... Costumo dizer que para cada cenrio uma arquitetura acaba sena melhor, o grande problema que grande parte das vezes, a melhor soluo parece ser to clara que escolhemos udeterminada arquitetura sem pensar... J vi muito coisa por ai, que parecia bvio, mas no final foi um erro dearquitetura absurda...As lies que aprendi foram:

    Olhar todas as possibilidades antes da escolha; Entender 100% as regras de negcio e hardware antes da escolha; No aceitar que o cliente escolha a arquitetura Eu quero um sistema Web de cadastro. Ele definiu ser Web

    antes mesmo de falar o que era; Ouvir opinies externas sobre a proposta; Montar um documento explicando o cenrio atual e o cenrio proposto deixando claro Arquitetura/

    Funcionalidades/Requisitos.

    3 8