codificando 19

Upload: ricardo-palma

Post on 06-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 codificando 19

    1/41

  • 8/3/2019 codificando 19

    2/41

  • 8/3/2019 codificando 19

    3/41

    Cleber DantasEditor Respons{velEmail: [email protected]: @cleberdantas

    Caro leitor com muito orgulho e entusiasmo que escrevo este editorial.

    Estou orgulhoso por ter sido convidado pelo time do Codicando.Net para estar | frente de um projetocomo a revista Codicando e-Magazine e ao lado de um time fant{stico que faz a revista acontecer a cadaedio.

    O entusiasmo grande pois sei de todo o potncial da revista e do seu alcance junto a comunidade dedesenvolvedores brasileiros, uma grande responsabilidade e um grande desao, a Codicando e-Magazine uma revista feita pela comunidade para comunidade e estar participando de um projeto como

    este me deixa realmente muito feliz.

    Meu nome Cleber Dantas atuo no mercado de TI a mais de 7 anos e sou especialista em tecnologias dedesenvolvimento Web, ministro palestras e mini-cursos dentro das comunidades Microsoft, j{ escreviartigos para portais como Imasters, DevMedia e LinhaDeCodigo. Possuo algumas certicaes comoMCAD e MCTS. Hoje trabalho como coordenador de desenvolvimento do maior portal de Sade e Bem -estar da internet brasileira, o portal Minha Vida (hp://www.minhavida.com.br) e agora tenho o orgulho detambm ser o Editor da revista Codicando.Net e-Magazine.

    Comeamos o ano anunciando um novo time de colunistas, alm do Alexandre Tarifa e sua coluna .Close()teremos nesta edio Luciano Palma com sua coluna Cultura XXI e para as prximas edies mais dois

    grandes nomes da comunidade estaro conosco, so eles: Emerson Facunte e Rodolfo Roim. fantastico!

    Tambm quero deixar um recado para voc leitor que tem interesse de colaborar com a revista de algumaforma, seja escrevendo artigos, nos ajudando com revises tcnicas, diagramaes, arte, divulgao e etc.Por favor entre em contato atravs do email [email protected], a comunidade agradece!

    Que todos tenham um timo 2011 repleto de desaos e conquistas, agora apreciem o contedo desta edioque foi feita com muito carinho e dedicao pelo nosso time.

    Abraos,

    ditorial

    Edio 19 Nmero 19 Ano 04 2010

    EDI

    TORIAL

    http://www.minhavida.com.br/http://www.minhavida.com.br/http://www.minhavida.com.br/
  • 8/3/2019 codificando 19

    4/41

  • 8/3/2019 codificando 19

    5/41

    www.codificandomagazine.com.br

    Codifi

    cando.nete-magazine

    e-magazine

    5Dez / Jan - 10/11 |

    Coluna: Cultura XXI

    A evoluo comportamental no se restringe aos relacionamentos pessoais. Asempresas, e at os governos, esto tendo que se adaptar. Adotar novos canais e novasformas de comunicao no mais opcional, e tudo indica que nas 9 dcadas querestam do sculo, as relaes prossionais tendem a mudar muito, tornando obsoleto omodelo hier{rquico atual, baseado em comando em controle. A interconexo entrepessoas criar{ uma fora "anti-hierarquias", e a informao, assim como a ao,passaro a uir em Rede.

    nesse contexto de informao livre que convido voc a participar desta coluna. Entreem contato com a revista e comigo atravs do canal que preferir, e exponha sua opinio,discorde, complemente, aprofunde. Essa a din}mica do "socialcast", que deve servirde base para esta coluna e para os novos canais digitais. Ela avana sobre o modelo de"broadcast", onde um emissor gera a mensagem e os receptores a consomem

    passivamente.

    Em outras palavras, esta coluna tambm sua, pois ela deve reetir a transformao daforma de se comunicar, de interagir e tambm de fazer negcios no sculo XXI.

    Sejamos todos bem-vindos!

    Mais sobre o colunista:

    Professor do curso de ps-graduao do SENAC (Web: Estratgias de Inovaoe Tecnologia), ministra disciplinas envolvendo Hipermdia, Sistemas Virtuais e

    Comrcio Eletrnico.

    Ministrou tambm a disciplina "Redes Sociais, a Inovao Digital e suas Mdias" nocurso de MBA da Faculdade Impacta: Planejamento e Estratgia de Negcios comSuporte da TI.

    Com 22 anos de experincia, co-autor do Guia de Consulta R{pida de TCP/IP(Novatec, 2000) e do Livro Intercon 2009 (Clube de Autores, 2009).

  • 8/3/2019 codificando 19

    6/41

    www.codificandomagazine.com.br

    Codificando.nete-mag

    azine

    e-magazine

    Dez / Jan - 10/11 | 6

  • 8/3/2019 codificando 19

    7/41

    www.codificandomagazine.com.br

    Codificando.nete-mag

    azine

    e-magazine

    Dez / Jan - 10/11 | 7

    O SharePoint est lento. O que

    eu fao?

    Como engenheira do suporte PremierMicrosoft com foco em soluesSharePoint, no to incomum que eureceba esse tipo de questionamento. Oartigo que escrevo nesta edio inspirado

    justamente em um caso recente que vivi,em que o cliente estava insatisfeito por terimplantado um portal intranetdesenvolvido com o SharePoint comoplataforma (para substituir uma antigasoluo feita em ASP), mas que estava

    mais lento que o site antigo! Era maisbonito e tinha mais funcionalidadesmas, segundo a {rea de marketing(patrocinadora do projeto e cliente da {rea

    de TI - respons{vel pela implantao) ,invi{vel de ser utilizado pelos cerca de3.000 funcion{rios da empresa pela

    lentido ao carregar a p{gina principal.Qual ser{ o problema?

    Introduo: Cenrio do Caso

    O cliente implantou o Microsoft Oce

    SharePoint Server 2007 SP2 para a criao

    de um portal intranet de colaborao e

    publicao de contedo. O portal consite

    de uma nica Web Application, com uma

    nica site collection denida e diversos

    subsites/webs. E quando digo diversos,

    falo de algo em torno de centenas de sites

    s no primeiro nvel de subsites lhos

    do top-level na raiz da site collection.Por ser composto de uma nica site

    collection, h{ tambm um nico content

    database para todos os subsites (cerca de

    60 GB no lanamento do portal).

    A empresa contratou um fornecedorpara implementar o projeto, o queenvolvia no s a adequao do padro

    visual do portal (que usa template depublicao), como o desenvolvimento denovos componentes (webparts, controlesde exibio de contedo e um novomenu de navegao) e o design do siteprincipal, ou seja: edio das p{ginas eadio de webparts (no somente, masinclusive usando Content Web Partspara escrita livre de contedo HTML).

    Como trata-se de um template depublicao, cada nova alterao geravauma nova verso das p{ginas editadasno banco de dados de contedo; anal,uma p{gina nada mais que um item deuma biblioteca de p{ginas (a Pages,por padro) neste tipo de template.

    Resumindo: algumas customizaesprecisavam ser distribudas como

    bin{rios (como as dlls do novo menu),outras foram includas direto no bancode dados de contedo (via browser e

    Por: Aline Maia

  • 8/3/2019 codificando 19

    8/41

    www.codificandomagazine.com.br

    Codificando.nete-mag

    azine

    e-magazine

    Dez / Jan - 10/11 | 8

    para levar a culpa, mas realizar umtrabalho cientco para RESOLVER asituao (aqui, nenhuma vida est{ em

    risco). Se o culpado do problema ,por exemplo, uma DLL com memoryleak, no podemos apontar dedos parao desenvolvedor. A capacidade degerenciar conitos e expectativas (ouseja, lidar com as pessoas) muitoimportante nestes casos. Pra deixar bemclaro: nesta analogia, o foco no oC (de Crime), mas o I (de

    Investigation), ok?

    claro que por questes de

    condencialidade o nome do cliente est{

    omitido, bem como todos os demais

    detalhes tanto do projeto como do meu

    trabalho na an{lise e correo dos

    problemas. Por isso mesmo este artigo

    no pode ser seguido ao p da letra

    como fonte de soluo para qualquer

    problema de lentido, mas o objetivo

    dar subsdios a vocs, leitores, para suas

    prprias investigaes no estilo CSI.

    Reproduzindo o Problema

    A primeira ao foi, junto com o cliente,navegar pelo portal e procurar

    reproduzir o problema (ou, no estilo CSI,visitar a cena do crime e refazer ospassos da vtima). Por GPO, o portal ahome page obrigatria de todos osusu{rios que abrem o browser e anavegao, para todos eles, semprecava bloqueada por alguns segundosat que o menu expansvel customizadofosse montado e fechado (ele montado

    todo expandido e fechava no nal damontagem). Notei ainda que aswebparts da content page j{ estavam

    SharePoint Designer). E odesenvolvimento era feito em umambiente diferente do de produo, na

    empresa fornecedora, que necessitavaentregar contedos (leia-se: backup do banco de dados de contedo) e cdigo-fonte de bin{rios para o cliente.

    Como a data de lanamento do portal j{havia sido denida, o prazo nal deentrega estava prximo e ainda haviamuitas atividades a cumprir, o Teste de

    Estresse foi sendo adiado. Quando foinalmente executado, eis a surpresa: osite estava lento. O projeto foi paraproduo mesmo assim, mas decidiu-sede ltima hora adicionar dois novosservidores de Web Front End na farmpara minimizar a percepo de lentidopelos usu{rios.

    Anlise do Caso (ou Brincando

    de CSI: Crime SceneInvestigation)

    Como ajudar a identicar problemas,oportunidades de melhoria e agir em umcaso como este? Costumo comparar otrabalho de suporte reativo ao realizadopelos personagens do seriado CSI:Crime Scene Investigation: chegamos |

    cena do crime para encontrar o(s)culpado(s) atravs da an{lise deevidncias e provas, listandoprimeiramento os principais suspeitosque tenham motivo e oportunidadepara agir.

    Mas, bem diferente do CSI, aqui osculpados e suspeitos NO so as

    pessoas, e sim itens de software e muito importante que isso que bemclaro: no se trata de buscar pessoas

    O SharePoint est lento. O que eu fao?

  • 8/3/2019 codificando 19

    9/41

    www.codificandomagazine.com.br

    Codificando.nete-mag

    azine

    e-magazine

    Dez / Jan - 10/11 | 9

    www.ddler2.com/ddler2) ou outromonitor HTTP para tem o tempo real deloading da p{gina (e voltar a medir

    quando eventuais mudanas com focoem melhorias fossem feitas), mas fuidireto ao assunto: procurar a DLL domenu e, usando o SPDisposeCheck -hp://code.msdn.microsoft.com/SPDisposeCheck - procurar porpossveis evidncias de memory leaks.No modelo de objetos do SharePoint,objetos como

    Microsoft.SharePoint.SPSite eMicrosoft.SharePoint.SPWeb so

    criados em cdigo gerenciado como umpequeno wrapper (de aproximadamente2KB). Este wrapper ento cria objetos

    no-gerenciados de aproximadamente 1-2MB que, por no serem removidos

    automaticamente da memria pelogarbage collector, precisam serexplicitamente marcados para dispose.Para mais informaes recomendo aleitura dos artigos hp://msdn.microsoft.com/library/

    bb687949.aspx e hp://msdn.microsoft.com/library/aa973248.aspx. O fato que oSPDisposeCheck listou v{rios pontoscom lgicas suspeitas. Por exemplo:

    ID: SPDisposeCheckID_XXModule: [NomedoAssembly].dllMethod: [Namespace].[ClasseMenu]DisplayClass1.OnLoadStatement: this.myRoot.{System.Xml.Linq.XContainer}Add(this.4__this.{ [Namespace].[ClasseMenu] }BuildMap(local0.{Microsoft.SharePoint.SPSite}OpenWeb(), 0))

    Pelos resultados obtidos e trechos dosmtodos exibidos, desconei nosomente que tivssemos problemas dememory leak por esquecimento de

    dispose: a lgica de loop usada paramontar o menu no me parecia a maisotimizada (se considerarmos pr{tica de

    sendo carregadas de forma assncrona.Esse comportamento do menu se repetiapara os demais acessos e no apenas

    para o carregamento da home page.

    Eu j{ tinha um primeiro suspeito: ocontrole (customizado) de menu.Precisava saber mais sobre ele e recolherevidncias de sua participao noprocesso. Liguei ento contadores deperformance, para coleta por um ciclocompleto de 24h, para todos os

    servidores, considerando os 4 principaissinais vitais de um server: CPU,memria, disco e rede. Uma dica fazera coleta no formato .csv e analis{-losutilizando o PAL (PerformanceAnalysis of Logs) disponvel em hp://pal.codeplex.com ou ainda utilizar umaferramenta Enterprise e proativa demonitoramento (como o MicrosoftOperations Manager SCOM que j{possui pacotes de gerenciamentoespeccos para servidores SharePoint eque vo alm dos sinais vitais b{sicos,pois monitoram os servios especcoscomo Timer e Search leia mais emhp://bit.ly/9Xpany).

    Utilizei o PerfMon para criar os counters(tenha templates | mo) e o PAL para

    an{lise de threshoulds. Antes mesmo deobter esses resultados, usando o TaksManager/Process Explorer, j{ podiaobservar que o processo w3wp.exereferente ao application pool do portal j{cava constantemente entre 80% e 100%de utilizao (comportamento muitoanormal) em todas as m{quinas. O usode memria era tambm era alto.

    O ideal seria tambm utilizarferramentas como o Fiddler (hp://

    O SharePoint est lento. O que eu fao?

  • 8/3/2019 codificando 19

    10/41

    www.codificandomagazine.com.br

    Codificando.nete-mag

    azine

    e-magazine

    Dez / Jan - 10/11 | 10

    tcnicos (de administrao, performance,suportabilidade, futuras migraes deverso) de uma deciso como essa

    podem ser grandes. Para mais sobre oassunto Navegao Customizada,recomendo este timo post: hp://

    blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspx

    Pronto! J{ havamos identicado umfator importantssimo de ao pramelhoria da performance! E, comotnhamos acesso ao cdigo-fonte, bastouuma r{pida vericao na lgica usadapara comprovar as suspeitas. Osprximos passos seriam um code reviewmais completo, considerando no s asmelhores pr{ticas de desenvolvimentopara SharePoint como de aplicaesASP.NET mesmo.

    Observamos tambm que o ApplicationLifecycle Management tinha muitas

    oportunidades de melhoria! No havia builds, o capacity planning e diversostipos de testes no estavam sendo feitos,no havia gesto de builds/releases e,pior: as customizaes estavam sendocopiadas para produo sem o uso depacotes .WSP/features e tambm via

    restaurao de backups de bancos. Eupoderia escrever muitos outros artigossobre cada um destes itens, mas ao invsdisso recomendo a leitura atenta doResource Center de melhores pr{ticasSharePoint no MSDN (para v3, oendereo : hp://msdn.microsoft.com/en-us/sharepoint/dd367963.aspx) e oslivros de download gratuito dos

    paerns & practices.

    Mais sugestes de leitura:

    programao .NET convencional,mesmo). Pra ser mais clara: no estavasendo usado com o controle nenhuma

    das classes do namespaceMicrosoft.SharePoint.Publishing.Navigation (veja em hp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=oce.12).aspx verso 2007 ehp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspx - verso 2010) como fonte de

    dados, nem mesmo um data sourcecustomizado herdando deHierarchicalDataBoundControl. Ouseja, o menu era montado a partir deloops no objeto SPSite, todas as vezesque a p{gina era carregada. E sem usode cache, ou seja: cada request HTTP, decada um dos 3.000 usu{rios, gerava umachamada de c{lculo de menu.Considerando a rotina para validarpermisso de acesso, tnhamos a umponto de melhoria.

    Nota: O namespace

    Microsoft.SharePoint.Publishing.Navigation j{ possui uma srie de classesotimizadas que levam em considerao ahierarquia dos objetos SPSite / SPWeb,

    bem como permisso e cache. Procure

    utilizar sempre que possvel o que oSharePoint j{ oferece nativamente: nocaso acima, o desenvolvedor at medisse que os objetos nativos noatendiam os requisitos de negcio, masvejo muitas vezes o escopo do projeto eas exigncias das {reas usu{rias sendoutilizados como palavra nalinquestion{vel para partirmos para

    desenvolvimento customizado. s vezesfalta um pouco mais de argumentaotcnica que mostre que os impactos

    O SharePoint est lento. O que eu fao?

    http://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://msdn.microsoft.com/en-us/sharepoint/dd367963.aspxhttp://msdn.microsoft.com/en-us/sharepoint/dd367963.aspxhttp://msdn.microsoft.com/en-us/sharepoint/dd367963.aspxhttp://msdn.microsoft.com/en-us/sharepoint/dd367963.aspxhttp://msdn.microsoft.com/en-us/sharepoint/dd367963.aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=office.12).aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=office.12).aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=office.12).aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=office.12).aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=office.12).aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=office.12).aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=office.12).aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=office.12).aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=office.12).aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=office.12).aspxhttp://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation(v=office.12).aspxhttp://msdn.microsoft.com/en-us/sharepoint/dd367963.aspxhttp://msdn.microsoft.com/en-us/sharepoint/dd367963.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspxhttp://blogs.msdn.com/b/modonovan/archive/2008/05/30/custom-navigation-in-sharepoint-the-full-monty.aspx
  • 8/3/2019 codificando 19

    11/41

    www.codificandomagazine.com.br

    Codificando.nete-mag

    azine

    e-magazine

    Dez / Jan - 10/11 | 11

    autorizao, a topologia dos servidores porservio eque features/conte types usar...(mais outros vrios tpicos para novosartigos!). Caso voc, leitor, tenha dvidas

    quanto a estes tpicos, sugiro continuarconsultando os documento de planejamentodisponveis no TechNet, para 2007 e tambmverso 2010.

    E como terminou esse chamado? Bom,tivemos reunies com todos os en-volvidos (marketing, TI, fornecedores),montamos um plano de ao, dividimos

    as responsabilidades e todos estavamjuntos em prol de resolver os prob-lemas. O clima, que no comeo era deinsatisfao com o SharePoint e descon-ana quanto | plataforma escolhida, mu-dou e recuperamos a credibilidade como cliente. Tivemos muito cuidado emabordar os problemas de forma sria,porm positiva, de forma que mesmo as

    falhas de execuo foram entendidascomo fruto das presses de entrega evistas como oportunidade de , daqui prafrente, buscar melhorias no s tcnicascomo de processos. Como todo projetode TI deve ser.Abraos a todos e at o prximo artigo!

    Estimate performance and capacityrequirements for Windows SharePointServices collaboration environments

    (Oce SharePoint Server)- hp://technet.microsoft.com/en-us/library/

    cc261795(oce.12).aspxTools for performance and capacityplanning hp://technet.microsoft.com/en-us/library/cc288064(oce.12).aspx

    Sugestes de Arquitetura eTopologia

    Se voc um prossional SharePoint umpouco mais experiente provavelmenteidenticou, na minha descrio do caso(em Introduo: Cen{rio do Caso)

    ainda outros fatores que merecem anossa ateno.

    A estrutura 1 Web Application + 1 Site

    Collection + 1 Content Database, emprincpio mais simples pra instalar econgurar, implica em uma arquiteturamais complexa de gerenciar ao longo dotempo. Pensando em fatoresoperacionais (como tempo de backup erestore, poltica de cotas de uso por sitecollection, reteno e arquivamento deitens) um nmero nmero maior de site

    collections (com um banco de dados decontedo para cada) pode trazer mais

    benefcios ao longo do tempo. A questo que, em se tratando de desenho desoluo SharePoint, muitas vezes no questo de Certo ou Errado, mas dePrs e Contras. Precisa se listar asimplicaes de cada deciso de formaabrangente.

    Vale avaliar tambm o uso de compressoHTTP e blob cache, o desenho da

    O SharePoint est lento. O que eu fao?

    Aline MaiaTrabalha na Microsoft como PremierField Engineer, com foco ematendimentos de casos SharePoint.Com experincia em desenvolvimento

    e suporte a sistemas, ps-graduada em Engenhariade Software, foi recentemente aprovada nas provas

    beta de SharePoint 2010 (Configurao eAdministrao), alm de ser Microsoft CertifiedTechnical Specialist (MCTS) em WSS 3.0 e MOSS2007 (infra e dev) e Microsoft Certified SolutionDeveloper (MCSD), com provas que incluem desdeVB 6.0 s diversas verses do .NET Framework.Acredita que um bom desenvolvedor deve estar

    preocupado com os aspectos relacionados administrao do ambiente SharePoint, e vice-versa.

    Blog: htp://alinefmrk.spaces.live.com (no muito

    atualizado, mas ainda ativo) e Twitter: @alinefmaia.

  • 8/3/2019 codificando 19

    12/41

    www.codificandomagazine.com.br

    Codificando.nete-mag

    azine

    e-magazine

    Dez / Jan - 10/11 | 12

  • 8/3/2019 codificando 19

    13/41

    www.codificandomagazine.com.br

    Codifi

    cando.nete-magazine

    e-magazine

    13Dez / Jan - 10/11 |

    Como criar e gerenciar usurios na

    Central de Administrao doMicrosoft Online Services

    Nesse artigo, vou detalhar um pouco sobrea administrao dos servios do onlineservices, inicialmente partindo dosusu{rios que iro aproveitar os servios nanuvem. Para que voc consigaacompanhar o artigo, indico a leitura e ovdeo de como ativar sua conta deavaliao dos servios, sendo assim camais f{cil compreender e j{ exercitar o

    aprendizado que muito simples.Para aprender como ativar sua conta deavaliao:hp://azureservicesbr.ning.com/proles/

    blogs/avaliacao-gratuita-microsoft

    Ento, vamos ao que interessa: Como criare gerenciar usu{rio na Central deAdministrao do Microsoft Online

    Services, que o foco dessa leitura.

    No primeiro contato com a centraladministrativa, so solicitadas algumastarefas, a central j{ deixa explicito que paragarantir os servios 5 tarefas devem serfeitas, veja na gura: Tarefas que precisoexecutar:

    Nesse caso vou pular duas delas (voudetalhar nos prximos artigos/posts no

    blog) e ir para a criao de usu{rios, quepara mim essencial, at mesmo deixarde usar o admin da central, criar como sefosse um backup dele e conceder aspermisses de admin.

    Para criar esse novo usu{rio, clique emadicionar usu{rio:

    Preencha os dados do novo usu{rio eclique em prxima:

    Por: Sara Barbosa

    Figura 1 - Central de Administrao

    Figura 2 - Adicionar Usurio

  • 8/3/2019 codificando 19

    14/41

  • 8/3/2019 codificando 19

    15/41

    www.codificandomagazine.com.br

    Codifi

    cando.nete-magazine

    e-magazine

    15Dez / Jan - 10/11 |

    Pronto. Seu novo usu{rio vai receber ume-mail com as orientaes, basta seguir,trocar a senha e comear a usar os

    servios que contratou e ativou.

    Para administrar e gerenciar esseusu{rio, depois de criado, voc ser{direcionado a lista de usu{rioshabilitados, note que o campo aes est{com v{rias opes desabilitadas:

    Selecione o usu{rio, veja que no campoAes, voc tem opo de editarinformaes do usu{rio, redenir senha,excluir usu{rio:

    Editar propriedades:

    Voc pode alterar endereo,

    departamento, sobrenome, nome, alterarpermisso, desabilitar conta, denir aliasde e-mail caso tenha outros domnios outenha modicado o user do endereo dee-mail, etc.Redenir senha:

    Voc altera a senha atual do usu{rio eenvia para o endereo de e-mail que eleter{ acesso a trocar a senha padro por

    uma de sua preferncia.Nota: Para evitar transtornos, oriente seu

    Como criar e gerenciar usurios na Central de Administrao

    usu{rio a trocar a senha a cada 90 dias,pois o tempo m{ximo que a senha deleser{ valida, caso ele no troque ela expira,

    e voc ter{ que gerar uma nova senha. Sevoc orientar o usu{rio, voc poupa otrabalho de fazer isso e ele conseguetrocar sem que ela expire.Excluir usu{rio:

    Para casos que necess{rio tirar da sua base de usu{rio um em especico, queatento ao nmero de licenas quecontratou e no seu contrato de 12 meses

    para no gerar cobranas fora doesperado.O Microsoft Online Services, segue alinha dos recursos que a maioria dosusu{rios j{ esto familiarizados, por isso utilizado o Live ID para criar uma contade avaliao e os recursos para gerenciarservios e usu{rios na central deadministrao tambm so bem intuitivose com v{rios fontes de ajuda sendosinalizados para facilitar o uso dosservios. A ideia essa, disponibilizar osservios com total simplicidade efacilidade. Espero que tenham gostado,at os prximos.

    Figura 7 - Modo de exibio todos os usurios

    Figura 8 - Status dos usurios criadosSara Barbosa

    MSP, revisa artigos para revistaCodicando.NET e-Magazine,

    membro do conselho da comuni-dade WININFO. Co-Leader daComunidade AzureServicesBr(azureservicesbr.ning.com). ModeradoraTechNetBrasil no frum de BPOS. Faz partedo time PensouNET (www.pensou.net)empresa Gold Certied Partner em Goi{s.Mais sobre no blog:www.sarajbarbosa.wordpress.com e twier:@sarabarbosa

  • 8/3/2019 codificando 19

    16/41

    www.codificandomagazine.com.br

    Codifi

    cando.nete-magazine

    e-magazine

    16Dez / Jan - 10/11 |

    Habilitando PDF com Ifilter no

    SharePoint Server 2010

    Por: Fernanda Saraiva

    O IFilter uma ferramenta quecombinada com o Search do SharePoint,permite uma busca mais renada paraarquivos de extenso .PDF, incluindo na

    busca o contedo interno dos

    documentos.

    A extensao .PDF (third-part) no faz parteda lista de extenses OOTb, embora sejamindexadas como outros documentos, noapresentam formatao adequada.Vamos habilitar essa funcionalidade!!Muito bem, mos a obra:

    O primeiro passo exibir o cone PDF nosarquivos carregados no portal:Faa o download do cone PDF aqui:hp://www.actonguides.org/images/icons/pdf_icon.gif.Se optar por outra imagem para o PDF,edite o seu tamanho para 16px X 16px

    1. Grave o cone PDF na pasta de

    imagens:

    C:\Program Files\Common

    Files\Microsoft Shared\Web ServerExtensions\14\TEMPLATE\IMAGES

    2. Insira a entrada para o cone PDF no

    arquivo DOCICON.XML

    Utilize o notepad pra abrir o arquivoDOCICON.XML localizado no caminho:

    C:\Program Files\CommonFiles\Microsoft Shared\Web ServerExtensions\14\TEMPLATE\XMLInsira uma entrada "ByExtension"conforme a imagem abaixo:

    Salve o arquivo. E em seguida Reinicie oIIS (Start > Run > IISReset).Se voc tiver algum arquivo salvo na suadocument librarie do SharePoint, j{ vaiconseguir visualizar o cone PDF ondeantes estava o cone de uma folha branca.

    J{ informamos ao SharePoint qual ocone correto para a extenso PDF, masse realizarmos a busca por "PDF", oarquivo retornar{ com o cone incorreto,precisamos ento incluir a extenso PDF

    na rastreabilidade do engine de busca.

    3. Incluso da extenso .PDF na busca

    do Sharepoint

    A partir da Administrao Central, clique

    em "Manage Service applications",

    Figura 1 - Grave o cone na pasta ...\images

    Figura 2 - Inclua a entrada no arquivo DOCICON.XML

    Figura 3 - O cone PDF j{ aparece associado ao documento

    Figura 4 - Veja na imagem que o engine de busca no associou a imagem

  • 8/3/2019 codificando 19

    17/41

    www.codificandomagazine.com.br

    Codifi

    cando.nete-magazine

    e-magazine

    17Dez / Jan - 10/11 |

    O IFilter uma ferramenta que combinadacom o Search do SharePoint, permite uma

    busca mais renada para arquivos deextenso .PDF, incluindo na busca o

    contedo interno dos documentos.

    A extensao .PDF (third-part) no faz parte

    da lista de extenses OOTb, embora sejamindexadas como outros documentos, noapresentam formatao adequada.Vamos habilitar essa funcionalidade!!Muito bem, mos a obra:

    O

    primeiro passo exibir o cone PDF nos

    arquivos carregados no portal:

    Faa o download do cone PDF aqui:hp://www.actonguides.org/images/icons/pdf_icon.gif.Se optar por outra imagem para o PDF,

    edite o seu tamanho para 16px X 16px

    1. Grave o cone PDF na pasta de imagens:

    C:\Program Files\CommonFiles\Microsoft Shared\Web ServerExtensions\14\TEMPLATE\IMAGES

    Habilitando PDF com Ifilter no SharePoint Server 2010

    Figura 5 - Localize o servio de busca

    Figura 6 - Insira a extenso PDF na lista d e extenses suportadas

    Figura 7 - Clique em Manage Service Application, no grupo

    "Application Management"

    Figura 8 - Clique em Manage

    Figura 9 - Clique em content Sources.

    Figura 10 - Clique na echa para expandir o menu. Selecione "Start Full

    crawl".

    Figura 11-

    O cone PDF est{ indexado corretamente

  • 8/3/2019 codificando 19

    18/41

    www.codificandomagazine.com.br

    Codifi

    cando.nete-magazine

    e-magazine

    18Dez / Jan - 10/11 |

    O IFilter uma ferramenta que combinadacom o Search do SharePoint, permite uma

    busca mais renada para arquivos de

    extenso .PDF, incluindo na busca ocontedo interno dos documentos.A extensao .PDF (third-part) no faz parteda lista de extenses OOTb, embora sejamindexadas como outros documentos, noapresentam formatao adequada.Vamos habilitar essa funcionalidade!!Muito bem, mos a obra:

    O primeiro passo exibir o cone PDF nosarquivos carregados no portal:

    Faa o download do cone PDF aqui:hp://www.actonguides.org/images/icons/pdf_icon.gif.Se optar por outra imagem para o PDF,edite o seu tamanho para 16px X 16px

    1. Grave o cone PDF na pasta de

    imagens:

    C:\Program Files\Common

    Files\Microsoft Shared\Web Server

    Extensions\14\TEMPLATE\IMAGES

    2.

    Insira a entrada para o cone PDF no

    arquivo DOCICON.XML

    Habilitando PDF com Ifilter no SharePoint Server 2010

    Figura 12 - Congure o Path do IFilter

    Figura 13 - Reinicie o servio de busca atravs do prompt

    de comando

    Figura 14 - Execute um novo crawling completo da busca

    Figura 15 - Realize uma nova busca. O cone est{ i ndexado corretamente

    Fernanda Saraiva.

    Analista de Sistemas, com foco emambientes colaborativos de gesto,liderando equipes de desenvolvi-mento em SharePoint, WSS e Project.MCTS e membro do MCPBrasil.com,

    parceira da Microsoft, como Gerente de Projetos.Organizadora do evento e mantenedora do sitewww.MSTECHDAY.com, participa tambm co-mo palestrante de tecnologias da plataforma Mi-

    crosoft, com foco EPM e Sharepoint. Atua emtreinamentos empresariais e consultoria em por-tais colaborativos.Membro da Comunidade MCPBrasil.com e inu-enciadora Microsoft, colabora regularmente comfruns como Technet e MSDN (Sharepoint / EPM).Mantm o site www.fernandasaraiva.com.br epode ser encontrada no twier @fefesaraiva.

  • 8/3/2019 codificando 19

    19/41

    www.codificandomagazine.com.br

    Codificando.nete-mag

    azine

    e-magazine

    Dez / Jan - 10/11 | 19

  • 8/3/2019 codificando 19

    20/41

    www.codificandomagazine.com.br

    Codifi

    cando.nete-magazine

    e-magazine

    20Dez / Jan - 10/11 |

    Figura 1 - Espaos de estudo para

    IntroduoWindows Azure representa umaalternativa bastante vi{vel paradesenvolvimento para Cloud. Se vocainda no sabe nada sobre o assunto, noperca tempo!Este artigo trata dos internals do WindowsAzure. Isso signica que no pretendodemonstrar como escrever cdigo para ele.Este artigo dever{ ser apenas o primeirode muitos que pretendo escrever sobre este

    tema. Especicamente nesse artigo, querofalar sobre um dos elementos maisimportantes da arquitetura do WindowsAzure: o Hypervisor.

    Por onde eu comecei e o caminho que

    percorri

    O Windows Azure uma tecnologiainteiramente nova. Consequentemente,

    poucas pessoas fora da Microsoft possuemconhecimento slido de seufuncionamento. Denitivamente no estouentre elas! Sou um estudante e como talutilizo diversos recursos para aprender.Dentre os recursos que recomendo esto:

    Blogs H{ v{rios, mas gostaria de

    recomendar como ponto de

    partida o do Ot{vio Pecego. Site do Azure: www.azure.com

    Livros Pro Azure Services Platform Developing Applications for

    the Cloud Programming Windows Az-

    ure Windows Azure Platform Building applications in the

    Cloud: Concepts, Paerns

    and Projects

    Boa parte do que voc vai ler aqui vmdessas fontes. Obviamente, adicionominhas consideraes (e nesses pontosque devem estar os prov{veis desviosque voc encontrar{ aqui).

    Por que considero importante saber

    como o Azure Funciona?

    Sempre que me deparo com uma novatecnologia, considero importante separarseu estudo em trs partes. Observe:

    Como funciona o Windows Azure

    O Hypervisor

    Por: Elemar Jnior

    http://blogs.msdn.com/b/otavio/http://blogs.msdn.com/b/otavio/http://www.azure.com/http://www.azure.com/http://my.safaribooksonline.com/book/web-development/9781430224792http://my.safaribooksonline.com/book/web-development/9781430224792http://my.safaribooksonline.com/book/web-development/9780735656239http://my.safaribooksonline.com/book/web-development/9780735656239http://my.safaribooksonline.com/book/web-development/9780735656239http://my.safaribooksonline.com/book/web-development/9781449383176http://my.safaribooksonline.com/book/web-development/9781449383176http://my.safaribooksonline.com/book/web-development/9781449383176http://www.amazon.com/Windows-Azure-Platform-ebook/dp/B003VRZUIG/ref=sr_1_1?ie=UTF8&m=AGFP5ZROMRZFO&s=digital-text&qid=1292076550&sr=1-1http://www.amazon.com/Windows-Azure-Platform-ebook/dp/B003VRZUIG/ref=sr_1_1?ie=UTF8&m=AGFP5ZROMRZFO&s=digital-text&qid=1292076550&sr=1-1http://my.safaribooksonline.com/book/information-technology-and-software-development/9780132107891http://my.safaribooksonline.com/book/information-technology-and-software-development/9780132107891http://my.safaribooksonline.com/book/information-technology-and-software-development/9780132107891http://my.safaribooksonline.com/book/information-technology-and-software-development/9780132107891http://my.safaribooksonline.com/book/information-technology-and-software-development/9780132107891http://my.safaribooksonline.com/book/information-technology-and-software-development/9780132107891http://my.safaribooksonline.com/book/information-technology-and-software-development/9780132107891http://www.amazon.com/Windows-Azure-Platform-ebook/dp/B003VRZUIG/ref=sr_1_1?ie=UTF8&m=AGFP5ZROMRZFO&s=digital-text&qid=1292076550&sr=1-1http://my.safaribooksonline.com/book/web-development/9781449383176http://my.safaribooksonline.com/book/web-development/9781449383176http://my.safaribooksonline.com/book/web-development/9780735656239http://my.safaribooksonline.com/book/web-development/9780735656239http://my.safaribooksonline.com/book/web-development/9781430224792http://www.azure.com/http://blogs.msdn.com/b/otavio/
  • 8/3/2019 codificando 19

    21/41

    www.codificandomagazine.com.br

    Codifi

    cando.nete-magazine

    e-magazine

    21Dez / Jan - 10/11 |

    Como funciona o Windows Azure O Hypervisor

    H{, obviamente, o estudo de comoescrever cdigo usando a novatecnologia. Com relao ao Windows

    Azure, h{ um grande nmero de fontesque podem mostrar como isso funciona.Em outro extremo, esto |s informaessobre como a tecnologia funciona, osinternals.Penso que usar uma tecnologia sementender como ela funciona como lutarsem conhecer o campo de batalha. Sevoc quer construir uma aplicao com

    performance superior ou deseja entenderum comportamento estranho,compreender como as coisas funcionampor baixo do cap pode ser a diferenaentre vencer ou perder a batalha.Penso que mesmo que no tenha usodireto para uma tecnologia, ter algumconhecimento sobre como as coisasfuncionam pode ser divertido. Para um

    bom arquiteto, pode representar insightsinteressantes.

    O que h{ para ser visto?

    Windows Azure uma plataformacomplexa e multicamada. umacombinao de hardware e software,separados em diversas camadas lgicas,instalados sicamente em datacenterspresentes em diferentes localidades.

    Passei a entender melhor o WindowsAzure a partir de uma representaoproposta no livro ProgrammingWindows Azure. Observe:

    Figura 2 - Organizao do Azure

    Nessa representao, as camadas maisexternas so aquelas com as quais temosmais contato quando codicamos. J{ as

    mais internas so aquelas mantidas sobcontrole mais rgido da Microsoft. Commais detalhes, percebemos que:

    O hardware, no centro darepresentao acima, mantido pelaMicrosoft em diversos data centersespalhados em todo o mundo.Alguns desses data centers rodamo Azure;

    Cada m{quina do datacenterexecuta um hypervisor otimizado eajustado para seu datacenter, bemcomo para o hardware que formamessas m{quinas. O hypervisor notem um nome ocial (at onde eusaiba). Entretanto, prov{vel quevoc o veja com o nome WindowsAzure Hypervisor. A coisa maisimportante para lembrar aqui que

    no se trata do Hyper-V.

    O agrupamento das m{quinas nosdata centers para o Azure gerenciado por uma aplicaomassivamente distribuda chamadaFabric. O Fabric gerencia ohardware, os sistemas operacionaisnos computadores e as aplicaes

    rodando nessas m{quinas. Essasaplicaes, por sua vez, podemutilizar todos os servios que oWindows Azure oferece;

    H{ muitos desses Fabrics rodandoem diferentes localizaesgeogr{cas. Quando distribumosuma aplicao, ou quando criamosuma conta de armazenamento,

    escolhemos quais dessaslocalizaes desejam que seja ahospedeira.

  • 8/3/2019 codificando 19

    22/41

    www.codificandomagazine.com.br

    Codifi

    cando.nete-magazine

    e-magazine

    22Dez / Jan - 10/11 |

    Como funciona o Windows Azure O Hypervisor

    Como j{ foi dito, meu foco principal hoje o Windows Azure Hypervisor.

    Anal, o Windows Azure um sistemaoperacional?

    Ouvi dezenas de vezes a armao deque o Windows Azure o sistemaoperacional para nuvem daMicrosoft. Essa analogia til paraexplicar a coisa para pessoas notcnicas. Entretanto, confundedesenvolvedores que imaginam que h{um novo sistema operacionalespalhando nos datacenters da Microsoftexecutando seus aplicativos. importante destacar que essa analogia um pouco forada. Se nsconceituarmos um sistema operacional,veremos que uma de suas tarefas maisimportantes gerar alguma abstrao dohardware para os aplicativos queexecuta. Ou seja, no lugar dodesenvolvedor car preocupado comespecicaes do hardware, podeescrever cdigo para uma API genrica edeixar o sistema cuidar dos detalhes.Nesse sentido, o Azure um sistemaoperacional, pois ele abstrai o hardwaredo datacenter.Entretanto, a analogia acaba aqui.Windows Azure no um sistema

    operacional de verdade. O Sistemaoperacional que roda nossos cdigos nonuvem (diretamente) o Windows

    Server 2008 (ou melhor, algo bem

    parecido).

    Importante: Sim, a infraestrutura do

    Azure orquestra a execuo de

    aplicativos (Azure no apenas

    armazenamento). As roles funcionam

    como agentes operativos que permitema execuo de atividades complexas de

    forma paralela resultando em grande

    poder computacional. Ainda assim,

    penso que a analogia com SO seja um

    pouco forada.

    Uma palavra sobre os datacenters

    Os datacenters so os palcos onde todaa ao Azure acontece. Windows Azure executado em diversos datacenters daMicrosoft ao redor do mundo. Comoqualquer outra grande companhia quemantm datacenters, a Microsoft mantmcerto mistrio sobre eles.

    O primeiro Datacenter da Microsoft foimontado em setembro de 1989.Localizado no campus da Microsoft, emRedmond, est{ muito abaixo dosdatacenters que rodam os servios onlineda Microsoft hoje em dia.A Microsoft no revela o nmero exato dedatacenters que possu (brincam dizendoalgo em torno de 10 e 100). Alm disso, aMicrosoft no fala sobre a localizaoexata desses datacenters.At onde se sabe, esses datacentersatendem a uma diversidade de propsitose no somente rodar o Azure.Cada um dos datacenters escal{vel,mas, ao mesmo tempo, so montadospara serem ecologicamente corretos.Quase toda energia consumida provemde hidroeltricas o cooling quase sempre

    ocorre com {gua recicl{vel.

    Por que um Hypervisor?

    Sabendo sobre os datacenters que fazem am{gica do Azure acontecer, a prximaquesto obviamente recai sobre como ossistemas operacionais executam nasm{quinas