You are on page 1of 41

Sumrio

03 :. Editorial
Edio 19 Nmero 19 Ano 04 10/11 EDITOR RESPONSVEL Cleber Dantas REVISO Sara Barbosa Sergio Gonalves (Ganso) Erick Lopes EDITORAO E DIAGRAMAO Sara Barbosa Sergio Gonalves (Ganso) CAPA Edjan Santos COLUNISTAS Alexandre Tarifa Luciano Palma COLABORADORES Aline Maia Elemar Jnior Fabian Andr Gehrke Fernanda Saraiva Pablo Hadler Sara Barbosa IDEALIZADORES Alexandre Tarifa Diego Nogare
Por:

Cleber Dantas

04 :. Coluna: Cultura XXI


Por: Luciano Palma

07 :. O SharePoint est lento. O que eu fao?


Por: Aline Maia

13 :. Como criar e gerenciar usurios na Central de Administrao do Microsoft Online Services


Por: Sara Barbosa

16 :. Habilitando PDF com Ifilter no SharePoint Server 2010


Por: Fernanda Saraiva

20 :. Como funciona o Windows Azure O Hypervisor


Por: Elemar Jnior

28 :. SharePoint 2010 - Administrao Avanada com PowerShell


Por: Fabian Andr Gehrke

Fale com Editor


muito importante para a equipe saber a sua opinio sobre a revista, caso tenha alguma critica, sugesto, ou elogio entre em contato. Caso tenha interesse em publicar um artigo na revista envie o ttulo e um resumo do tema em formato Word.
revista@codificando.net

35 :. Ferramenta de desenvolvimento auxilia o programador .NET


Por: Pablo Hadler

40 :. Coluna: .Close()
Por: Alexandre Tarifa

Produzido por:

www.codificando.net

Edio 19 Nmero 19 Ano 04 2010

Editorial
Caro leitor com muito orgulho e entusiasmo que escrevo este editorial. Estou orgulhoso por ter sido convidado pelo time do Codificando.Net para estar | frente de um projeto como a revista Codificando e-Magazine e ao lado de um time fant{stico que faz a revista acontecer a cada edio.

O entusiasmo grande pois sei de todo o potncial da revista e do seu alcance junto a comunidade de desenvolvedores brasileiros, uma grande responsabilidade e um grande desafio, a Codificando eMagazine 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 de desenvolvimento Web, ministro palestras e mini-cursos dentro das comunidades Microsoft, j{ escrevi artigos para portais como Imasters, DevMedia e LinhaDeCodigo. Possuo algumas certificaes como MCAD e MCTS. Hoje trabalho como coordenador de desenvolvimento do maior portal de Sade e Bemestar da internet brasileira, o portal Minha Vida (http://www.minhavida.com.br) e agora tenho o orgulho de tambm ser o Editor da revista Codificando.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 alguma forma, seja escrevendo artigos, nos ajudando com revises tcnicas, diagramaes, arte, divulgao e etc. Por favor entre em contato atravs do email cleber.dantas@codificando.net, a comunidade agradece! Que todos tenham um timo 2011 repleto de desafios e conquistas, agora apreciem o contedo desta edio que foi feita com muito carinho e dedicao pelo nosso time. Abraos, Cleber Dantas Editor Respons{vel Email: cleber.dantas@codificando.net Twitter: @cleberdantas

EDITORIAL

e-magazine

Coluna: Cultura XXI

Luciano Palma Palestrante e Consultor Estratgico de Redes Sociais, Novas Mdias e Tecnologia. Trabalhou mais de 8 anos na Microsoft do Brasil como Consultor e Evangelista Tcnico, com a funo de manter uma Comunidade de Influenciadores energizada e atualizada sobre as ltimas tecnologias. Desde 2006 foi palestrante do Tech Ed Brasil, tendo realizado 9 palestras em 4 edies. Voc pode acompanhar suas atividades pelo Blog (http:// lpalma.com) ou pelo Twitter (@lucianopalma)

O convite do Tarifa para escrever esta coluna me pegou de


surpresa. Depois vieram os sentimentos de felicidade, honra, orgulho e agradecimento. Agradecimento a ele pelo convite, mas tambm a toda a equipe que mantm a revista, com empenho e zelo em cada detalhe, para levar at voc informao atual com qualidade - sem esquecer daqueles que contriburam no passado para tornar a Codificando.Net eMagazine o que ela hoje. Nesta coluna, Cultura XXI, discutiremos mudanas comportamentais que esto acontecendo no Sculo XXI, grande parte delas decorrentes dos incrveis avanos da tecnologia. Quando eu era criana (no vou entrar no mrito de datas), o desenho "Os Jetsons" era pura fico. Os carros voavam, robs substituam humanos em tarefas repetitivas, e a videoconferncia era coisa dos sonhos - ainda mais quando acontecia no relgio do George.

Codificando.net e-magazine
|

Ok, nossos carros ainda no voam (felizmente - imagine a sombra causada pelos congestionamentos), mas j{ podemos carregar no bolso aparelhos capazes de fazer videoconferncia. E muito ainda est{ por vir! Com os novos recursos e - principalmente - com novos meios de conexo que eliminam a vari{vel "espao" entre as pessoas, relacionamentos e comportamentos esto em fase de ajustes. Essa mudana est{ sendo introduzida em nossa cultura, e este ser{ o assunto principal desta coluna.

www.codificandomagazine.com.br

Dez / Jan - 10/11

e-magazine

Coluna: Cultura XXI

A evoluo comportamental no se restringe aos relacionamentos pessoais. As empresas, e at os governos, esto tendo que se adaptar. Adotar novos canais e novas formas de comunicao no mais opcional, e tudo indica que nas 9 dcadas que restam do sculo, as relaes profissionais tendem a mudar muito, tornando obsoleto o modelo hier{rquico atual, baseado em comando em controle. A interconexo entre pessoas criar{ uma fora "anti-hierarquias", e a informao, assim como a ao, passaro a fluir em Rede. nesse contexto de informao livre que convido voc a participar desta coluna. Entre em 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 servir de 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 refletir a transformao da forma de se comunicar, de interagir e tambm de fazer negcios no sculo XXI. Sejamos todos bem-vindos!

Codificando.net e-magazine

Mais sobre o colunista: Professor do curso de ps-graduao do SENAC (Web: Estratgias de Inovao e Tecnologia), ministra disciplinas envolvendo Hipermdia, Sistemas Virtuais e Comrcio Eletrnico. Ministrou tambm a disciplina "Redes Sociais, a Inovao Digital e suas Mdias" no curso de MBA da Faculdade Impacta: Planejamento e Estratgia de Negcios com Suporte 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).

www.codificandomagazine.com.br

Dez / Jan - 10/11

e-magazine

Codificando.net e-magazine
|

www.codificandomagazine.com.br

Dez / Jan - 10/11

e-magazine

O SharePoint est lento. O que eu fao?


Por: Aline Maia

Como engenheira do suporte Premier Microsoft com foco em solues SharePoint, no to incomum que eu receba esse tipo de questionamento. O artigo que escrevo nesta edio inspirado justamente em um caso recente que vivi, em que o cliente estava insatisfeito por ter implantado um portal intranet desenvolvido com o SharePoint como plataforma (para substituir uma antiga soluo feita em ASP), mas que estava mais lento que o site antigo! Era mais bonito e tinha mais funcionalidades mas, 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 de 3.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 Office 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 definida e diversos subsites/webs. E quando digo diversos, falo de algo em torno de centenas de sites

s no primeiro nvel de subsites filhos 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 fornecedor para implementar o projeto, o que envolvia no s a adequao do padro visual do portal (que usa template de publicao), como o desenvolvimento de novos componentes (webparts, controles de exibio de contedo e um novo menu de navegao) e o design do site principal, ou seja: edio das p{ginas e adio de webparts (no somente, mas inclusive usando Content Web Parts para escrita livre de contedo HTML). Como trata-se de um template de publicao, cada nova alterao gerava uma nova verso das p{ginas editadas no banco de dados de contedo; afinal, uma p{gina nada mais que um item de uma biblioteca de p{ginas (a Pages, por padro) neste tipo de template. Resumindo: algumas customizaes precisavam ser distribudas como bin{rios (como as dlls do novo menu), outras foram includas direto no banco de dados de contedo (via browser e
Dez / Jan - 10/11

Codificando.net e-magazine
|

www.codificandomagazine.com.br

O SharePoint est lento. O que eu fao?

e-magazine

SharePoint Designer). E o desenvolvimento era feito em um ambiente diferente do de produo, na empresa fornecedora, que necessitava entregar contedos (leia-se: backup do banco de dados de contedo) e cdigofonte de bin{rios para o cliente. Como a data de lanamento do portal j{ havia sido definida, o prazo final de entrega estava prximo e ainda havia muitas atividades a cumprir, o Teste de Estresse foi sendo adiado. Quando foi finalmente executado, eis a surpresa: o site estava lento. O projeto foi para produo mesmo assim, mas decidiu-se de ltima hora adicionar dois novos servidores de Web Front End na farm para minimizar a percepo de lentido pelos usu{rios. Anlise do Caso (ou Brincando de CSI: Crime Scene Investigation) Como ajudar a identificar problemas, oportunidades de melhoria e agir em um caso como este? Costumo comparar o trabalho de suporte reativo ao realizado pelos personagens do seriado CSI: Crime Scene Investigation: chegamos | cena do crime para encontrar o(s) culpado(s) atravs da an{lise de evidncias e provas, listando primeiramento os principais suspeitos que tenham motivo e oportunidade para agir. Mas, bem diferente do CSI, aqui os culpados e suspeitos NO so as pessoas, e sim itens de software e muito importante que isso fique bem claro: no se trata de buscar pessoas

para levar a culpa, mas realizar um trabalho cientfico para RESOLVER a situao (aqui, nenhuma vida est{ em risco). Se o culpado do problema , por exemplo, uma DLL com memory leak, no podemos apontar dedos para o desenvolvedor. A capacidade de gerenciar conflitos e expectativas (ou seja, lidar com as pessoas) muito importante nestes casos. Pra deixar bem claro: nesta analogia, o foco no o C (de Crime), mas o I (de Investigation), ok? claro que por questes de confidencialidade 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 os passos da vtima). Por GPO, o portal a home page obrigatria de todos os usu{rios que abrem o browser e a navegao, para todos eles, sempre ficava bloqueada por alguns segundos at que o menu expansvel customizado fosse montado e fechado (ele montado todo expandido e fechava no final da montagem). Notei ainda que as webparts da content page j{ estavam
Dez / Jan - 10/11

Codificando.net e-magazine
|

www.codificandomagazine.com.br

O SharePoint est lento. O que eu fao?

e-magazine

sendo carregadas de forma assncrona. Esse comportamento do menu se repetia para os demais acessos e no apenas para o carregamento da home page. Eu j{ tinha um primeiro suspeito: o controle (customizado) de menu. Precisava saber mais sobre ele e recolher evidncias de sua participao no processo. Liguei ento contadores de performance, para coleta por um ciclo completo de 24h, para todos os servidores, considerando os 4 principais sinais vitais de um server: CPU, memria, disco e rede. Uma dica fazer a coleta no formato .csv e analis{-los utilizando o PAL (Performance Analysis of Logs) disponvel em http:// pal.codeplex.com ou ainda utilizar uma ferramenta Enterprise e proativa de monitoramento (como o Microsoft Operations Manager SCOM que j{ possui pacotes de gerenciamento especficos para servidores SharePoint e que vo alm dos sinais vitais b{sicos, pois monitoram os servios especficos como Timer e Search leia mais em http://bit.ly/9Xpany). Utilizei o PerfMon para criar os counters (tenha templates | mo) e o PAL para an{lise de threshoulds. Antes mesmo de obter esses resultados, usando o Taks Manager/Process Explorer, j{ podia observar que o processo w3wp.exe referente ao application pool do portal j{ ficava constantemente entre 80% e 100% de utilizao (comportamento muito anormal) em todas as m{quinas. O uso de memria era tambm era alto. O ideal seria tambm utilizar ferramentas como o Fiddler (http://

www.fiddler2.com/fiddler2) ou outro monitor HTTP para tem o tempo real de loading da p{gina (e voltar a medir quando eventuais mudanas com foco em melhorias fossem feitas), mas fui direto ao assunto: procurar a DLL do menu e, usando o SPDisposeCheck http://code.msdn.microsoft.com/ SPDisposeCheck procurar por possveis evidncias de memory leaks. No modelo de objetos do SharePoint, objetos como Microsoft.SharePoint.SPSite e Microsoft.SharePoint.SPWeb so criados em cdigo gerenciado como um pequeno wrapper (de aproximadamente 2KB). Este wrapper ento cria objetos no-gerenciados de aproximadamente 12MB que, por no serem removidos automaticamente da memria pelo garbage collector, precisam ser explicitamente marcados para dispose. Para mais informaes recomendo a leitura dos artigos http:// msdn.microsoft.com/library/ bb687949.aspx e http:// msdn.microsoft.com/library/ aa973248.aspx. O fato que o SPDisposeCheck listou v{rios pontos com lgicas suspeitas. Por exemplo:
ID: SPDisposeCheckID_XX Module: [NomedoAssembly].dll Method: [Namespace].[ClasseMenu] DisplayClass1.OnLoad Statement: this.myRoot.{System.Xml.Linq.XContainer} Add(this.<>4__this.{ [Namespace].[ClasseMenu] } BuildMap(local0.{Microsoft.SharePoint.SPSite} OpenWeb(), 0))

Codificando.net e-magazine
|

Pelos resultados obtidos e trechos dos mtodos exibidos, desconfiei no somente que tivssemos problemas de memory leak por esquecimento de dispose: a lgica de loop usada para montar o menu no me parecia a mais otimizada (se considerarmos pr{tica de
Dez / Jan - 10/11

www.codificandomagazine.com.br

O SharePoint est lento. O que eu fao?

e-magazine

programao .NET convencional, mesmo). Pra ser mais clara: no estava sendo usado com o controle nenhuma das classes do namespace Microsoft.SharePoint.Publishing.Navig ation (veja em http:// msdn.microsoft.com/en-us/library/ microsoft.sharepoint.publishing.navigati on(v=office.12).aspx verso 2007 e http://msdn.microsoft.com/en-us/library/ microsoft.sharepoint.publishing.navigati on.aspx - verso 2010) como fonte de dados, nem mesmo um data source customizado herdando de HierarchicalDataBoundControl. Ou seja, o menu era montado a partir de loops no objeto SPSite, todas as vezes que a p{gina era carregada. E sem uso de cache, ou seja: cada request HTTP, de cada um dos 3.000 usu{rios, gerava uma chamada de c{lculo de menu. Considerando a rotina para validar permisso de acesso, tnhamos a um ponto de melhoria. Nota: O namespace Microsoft.SharePoint.Publishing.Navig ation j{ possui uma srie de classes otimizadas que levam em considerao a hierarquia dos objetos SPSite / SPWeb, bem como permisso e cache. Procure utilizar sempre que possvel o que o SharePoint j{ oferece nativamente: no caso acima, o desenvolvedor at me disse que os objetos nativos no atendiam os requisitos de negcio, mas vejo muitas vezes o escopo do projeto e as exigncias das {reas usu{rias sendo utilizados como palavra final inquestion{vel para partirmos para desenvolvimento customizado. s vezes falta um pouco mais de argumentao tcnica que mostre que os impactos

tcnicos (de administrao, performance, suportabilidade, futuras migraes de verso) de uma deciso como essa podem ser grandes. Para mais sobre o assunto Navegao Customizada, recomendo este timo post: http:// blogs.msdn.com/b/modonovan/ archive/2008/05/30/custom-navigation-in -sharepoint-the-full-monty.aspx Pronto! J{ havamos identificado um fator importantssimo de ao pra melhoria da performance! E, como tnhamos acesso ao cdigo-fonte, bastou uma r{pida verificao na lgica usada para comprovar as suspeitas. Os prximos passos seriam um code review mais completo, considerando no s as melhores pr{ticas de desenvolvimento para SharePoint como de aplicaes ASP.NET mesmo. Observamos tambm que o Application Lifecycle Management tinha muitas oportunidades de melhoria! No havia builds, o capacity planning e diversos tipos de testes no estavam sendo feitos, no havia gesto de builds/releases e, pior: as customizaes estavam sendo copiadas para produo sem o uso de pacotes .WSP/features e tambm via restaurao de backups de bancos. Eu poderia escrever muitos outros artigos sobre cada um destes itens, mas ao invs disso recomendo a leitura atenta do Resource Center de melhores pr{ticas SharePoint no MSDN (para v3, o endereo : http://msdn.microsoft.com/ en-us/sharepoint/dd367963.aspx) e os livros de download gratuito dos patterns & practices. Mais sugestes de leitura:
Dez / Jan - 10/11

Codificando.net e-magazine
|

www.codificandomagazine.com.br

10

O SharePoint est lento. O que eu fao?

e-magazine

Estimate performance and capacity requirements for Windows SharePoint Services collaboration environments (Office SharePoint Server) - http:// technet.microsoft.com/en-us/library/ cc261795(office.12).aspx Tools for performance and capacity planning http:// technet.microsoft.com/en-us/library/ cc288064(office.12).aspx Sugestes de Arquitetura e Topologia Se voc um profissional SharePoint um pouco mais experiente provavelmente identificou, na minha descrio do caso (em Introduo: Cen{rio do Caso) ainda outros fatores que merecem a nossa ateno. A estrutura 1 Web Application + 1 Site Collection + 1 Content Database, em princpio mais simples pra instalar e configurar, implica em uma arquitetura mais complexa de gerenciar ao longo do tempo. Pensando em fatores operacionais (como tempo de backup e restore, poltica de cotas de uso por site collection, reteno e arquivamento de itens) um nmero nmero maior de site collections (com um banco de dados de contedo para cada) pode trazer mais benefcios ao longo do tempo. A questo que, em se tratando de desenho de soluo SharePoint, muitas vezes no questo de Certo ou Errado, mas de Prs e Contras. Precisa se listar as implicaes de cada deciso de forma abrangente. Vale avaliar tambm o uso de compresso HTTP e blob cache, o desenho da

autorizao, a topologia dos servidores por servio eque features/conte types usar... (mais outros vrios tpicos para novos artigos!). Caso voc, leitor, tenha dvidas quanto a estes tpicos, sugiro continuar consultando os documento de planejamento disponveis no TechNet, para 2007 e tambm verso 2010.

E como terminou esse chamado? Bom, tivemos reunies com todos os envolvidos (marketing, TI, fornecedores), montamos um plano de ao, dividimos as responsabilidades e todos estavam juntos em prol de resolver os problemas. O clima, que no comeo era de insatisfao com o SharePoint e desconfiana quanto | plataforma escolhida, mudou e recuperamos a credibilidade com o cliente. Tivemos muito cuidado em abordar os problemas de forma sria, porm positiva, de forma que mesmo as falhas de execuo foram entendidas como fruto das presses de entrega e vistas como oportunidade de , daqui pra frente, buscar melhorias no s tcnicas como de processos. Como todo projeto de TI deve ser. Abraos a todos e at o prximo artigo! Aline Maia
Trabalha na Microsoft como Premier Field Engineer, com foco em atendimentos de casos SharePoint. Com experincia em desenvolvimento e suporte a sistemas, ps-graduada em Engenharia de Software, foi recentemente aprovada nas provas beta de SharePoint 2010 (Configurao e Administrao), alm de ser Microsoft Certified Technical Specialist (MCTS) em WSS 3.0 e MOSS 2007 (infra e dev) e Microsoft Certified Solution Developer (MCSD), com provas que incluem desde VB 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: http://alinefmrk.spaces.live.com (no muito atualizado, mas ainda ativo) e Twitter: @alinefmaia.

Codificando.net e-magazine
|

www.codificandomagazine.com.br

Dez / Jan - 10/11

11

e-magazine

Codificando.net e-magazine
|

www.codificandomagazine.com.br

Dez / Jan - 10/11

12

e-magazine

Como criar e gerenciar usurios na Central de Administrao do Microsoft Online Services


Por: Sara Barbosa

Nesse artigo, vou detalhar um pouco sobre a administrao dos servios do online services, inicialmente partindo dos usu{rios que iro aproveitar os servios na nuvem. Para que voc consiga acompanhar o artigo, indico a leitura e o vdeo de como ativar sua conta de avaliao dos servios, sendo assim fica mais f{cil compreender e j{ exercitar o aprendizado que muito simples. Para aprender como ativar sua conta de avaliao: http://azureservicesbr.ning.com/profiles/ blogs/avaliacao-gratuita-microsoft Ento, vamos ao que interessa: Como criar e gerenciar usu{rio na Central de Administrao do Microsoft Online Services, que o foco dessa leitura. No primeiro contato com a central administrativa, so solicitadas algumas tarefas, a central j{ deixa explicito que para garantir os servios 5 tarefas devem ser feitas, veja na figura: Tarefas que preciso executar:

Figura 1 - Central de Administrao

Nesse caso vou pular duas delas (vou detalhar nos prximos artigos/posts no blog) e ir para a criao de usu{rios, que para mim essencial, at mesmo deixar de usar o admin da central, criar como se fosse um backup dele e conceder as permisses de admin. Para criar esse novo usu{rio, clique em adicionar usu{rio:

Codificando.net e-magazine

Figura 2 - Adicionar Usurio

Preencha os dados do novo usu{rio e clique em prxima:

www.codificandomagazine.com.br

Dez / Jan - 10/11

13

Como criar e gerenciar usurios na Central de Administrao

e-magazine

administrador na central, no quer dizer que no site do SharePoint ele ter{ automaticamente perfil de controle total, as permisses da central so independentes dos servios. Prxima etapa, voc tem acesso a data da compra, servios que o usu{rio ter{ disponvel, nmero de licenas disponveis no seu pacote, no meu caso tem 20 licenas, pois estou usando a verso trial. Tambm consegue visualizar a quantidade de espao destinado a caixa de correio, como so 20 licenas para caixa de correio, voc tem 20 Licenas x 25 GB = Total: 500 GB de espao. Voc define nessa etapa entre 256 MB a 25GB qual o tamanho da MailBox do usu{rio que voc est{ criando. Escolha o tamanho e clique em concluir: ltima etapa, defina o e-mail para onde o

Figura 3 - Preencha os campos com informaes do usurio

Nessa parte voc vai definir se seu usu{rio deve ter permisses de administrador da central de administrao, a senha tempor{ria que ser{ gerada, se voc deseja habilitar a conta do usu{rio para os servios que voc contratou e onde esse usu{rio est{ localizado. No meu caso, selecionei Sim na permisso de administrador e selecionei Sim para habilitar a conta do usu{rio, depois disso s clicar em prxima: Nota: Voc defnir o usu{rio como

Codificando.net e-magazine

Figura 5 - Servios Ativos

usu{rio vai receber seu user e password para o primeiro acesso, digite o endereo de e-mail clique em enviar e depois em concluir:

Figura 4 - Configuraes Figura 6 - Confirmao

www.codificandomagazine.com.br

Dez / Jan - 10/11

14

Como criar e gerenciar usurios na Central de Administrao

e-magazine

Pronto. Seu novo usu{rio vai receber um e-mail com as orientaes, basta seguir, trocar a senha e comear a usar os servios que contratou e ativou. Para administrar e gerenciar esse usu{rio, depois de criado, voc ser{ direcionado a lista de usu{rios habilitados, note que o campo aes est{ com v{rias opes desabilitadas:

Figura 7 - Modo de exibio todos os usurios

Selecione o usu{rio, veja que no campo Aes, voc tem opo de editar informaes do usu{rio, redefinir senha, excluir usu{rio:

Figura 8 - Status dos usurios criados

usu{rio a trocar a senha a cada 90 dias, pois o tempo m{ximo que a senha dele ser{ valida, caso ele no troque ela expira, e voc ter{ que gerar uma nova senha. Se voc orientar o usu{rio, voc poupa o trabalho de fazer isso e ele consegue trocar sem que ela expire. Excluir usu{rio: Para casos que necess{rio tirar da sua base de usu{rio um em especifico, fique atento ao nmero de licenas que contratou e no seu contrato de 12 meses para no gerar cobranas fora do esperado. O Microsoft Online Services, segue a linha dos recursos que a maioria dos usu{rios j{ esto familiarizados, por isso utilizado o Live ID para criar uma conta de avaliao e os recursos para gerenciar servios e usu{rios na central de administrao tambm so bem intuitivos e com v{rios fontes de ajuda sendo sinalizados para facilitar o uso dos servios. A ideia essa, disponibilizar os servios com total simplicidade e facilidade. Espero que tenham gostado, at os prximos.

Codificando.net e-magazine

Sara Barbosa Editar propriedades: Voc pode alterar endereo, departamento, sobrenome, nome, alterar permisso, desabilitar conta, definir alias de e-mail caso tenha outros domnios ou tenha modificado o user do endereo de e-mail, etc. Redefinir senha: Voc altera a senha atual do usu{rio e envia para o endereo de e-mail que ele ter{ acesso a trocar a senha padro por uma de sua preferncia. Nota: Para evitar transtornos, oriente seu
MSP, revisa artigos para revista Codificando.NET e-Magazine, membro do conselho da comunidade WININFO. Co-Leader da Comunidade AzureServicesBr (azureservicesbr.ning.com). Moderadora TechNetBrasil no frum de BPOS. Faz parte do time PensouNET (www.pensou.net) empresa Gold Certified Partner em Goi{s. Mais sobre no blog: www.sarajbarbosa.wordpress.com e twitter: @sarabarbosa

www.codificandomagazine.com.br

Dez / Jan - 10/11

15

e-magazine

Habilitando PDF com Ifilter no SharePoint Server 2010


Por: Fernanda Saraiva

O IFilter uma ferramenta que combinada com o Search do SharePoint, permite uma busca mais refinada para arquivos de extenso .PDF, incluindo na busca o contedo interno dos documentos. A extensao .PDF (third-part) no faz parte da lista de extenses OOTb, embora sejam indexadas como outros documentos, no apresentam 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: http://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

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML Insira uma entrada "ByExtension" conforme a imagem abaixo:

Figura 2 - Inclua a entrada no arquivo DOCICON.XML

Salve o arquivo. E em seguida Reinicie o IIS (Start > Run > IISReset). Se voc tiver algum arquivo salvo na sua document librarie do SharePoint, j{ vai conseguir visualizar o cone PDF onde antes estava o cone de uma folha branca.

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

J{ informamos ao SharePoint qual o cone correto para a extenso PDF, mas se realizarmos a busca por "PDF", o arquivo retornar{ com o cone incorreto, precisamos ento incluir a extenso PDF na rastreabilidade do engine de busca.

Codificando.net e-magazine

Figura 4 - Veja na imagem que o engine de busca no associou a imagem Figura 1 - Grave o cone na pasta ...\images

2. Insira a entrada para o cone PDF no arquivo DOCICON.XML Utilize o notepad pra abrir o arquivo DOCICON.XML localizado no caminho:

3. Incluso da extenso .PDF na busca do Sharepoint A partir da Administrao Central, clique em "Manage Service applications",

www.codificandomagazine.com.br

Dez / Jan - 10/11

16

Habilitando PDF com Ifilter no SharePoint Server 2010

e-magazine

O IFilter uma ferramenta que combinada com o Search do SharePoint, permite uma

Figura 8 - Clique em Manage

Figura 5 - Localize o servio de busca

busca mais refinada para arquivos de extenso .PDF, incluindo na busca o contedo interno dos documentos. A extensao .PDF (third-part) no faz parte

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

Figura 9 - Clique em content Sources.

Figura 6 - Insira a extenso PDF na lista de extenses suportadas

da lista de extenses OOTb, embora sejam indexadas como outros documentos, no apresentam formatao adequada. Vamos habilitar essa funcionalidade!! Muito bem, mos a obra: O

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

Codificando.net e-magazine

Figura 11 - O cone PDF est{ indexado corretamente

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

Figura 7 - Clique em Manage Service Application, no grupo "Application Management"

primeiro passo exibir o cone PDF nos arquivos carregados no portal:

www.codificandomagazine.com.br

Dez / Jan - 10/11

17

Habilitando PDF com Ifilter no SharePoint Server 2010

e-magazine

O IFilter uma ferramenta que combinada com o Search do SharePoint, permite uma busca mais refinada para arquivos de extenso .PDF, incluindo na busca o contedo interno dos documentos. A extensao .PDF (third-part) no faz parte da lista de extenses OOTb, embora sejam indexadas como outros documentos, no apresentam formatao adequada. Vamos habilitar essa funcionalidade!! Muito bem, mos a obra: O primeiro passo exibir o cone PDF nos arquivos carregados no portal:

Extensions\14\TEMPLATE\IMAGES

Figura 14 - Execute um novo crawling completo da busca

2.

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

Figura 12 - Configure o Path do IFilter

Insira a entrada para o cone PDF no arquivo DOCICON.XML


Fernanda Saraiva. Analista de Sistemas, com foco em ambientes colaborativos de gesto, liderando equipes de desenvolvimento em SharePoint, WSS e Project. MCTS e membro do MCPBrasil.com, parceira da Microsoft, como Gerente de Projetos. Organizadora do evento e mantenedora do site www.MSTECHDAY.com, participa tambm como palestrante de tecnologias da plataforma Microsoft, com foco EPM e Sharepoint. Atua em treinamentos empresariais e consultoria em portais colaborativos. Membro da Comunidade MCPBrasil.com e influenciadora Microsoft, colabora regularmente com fruns como Technet e MSDN (Sharepoint / EPM). Mantm o site www.fernandasaraiva.com.br e pode ser encontrada no twitter @fefesaraiva.

Faa o download do cone PDF aqui: http://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

Codificando.net e-magazine

Figura 13 - Reinicie o servio de busca atravs do prompt de comando

Files\Microsoft

Shared\Web

Server

www.codificandomagazine.com.br

Dez / Jan - 10/11

18

e-magazine

Codificando.net e-magazine
|

www.codificandomagazine.com.br

Dez / Jan - 10/11

19

e-magazine

Como funciona o Windows Azure O Hypervisor


Por: Elemar Jnior

Introduo Windows Azure representa uma alternativa bastante vi{vel para desenvolvimento para Cloud. Se voc ainda no sabe nada sobre o assunto, no perca tempo! Este artigo trata dos internals do Windows Azure. Isso significa que no pretendo demonstrar como escrever cdigo para ele. Este artigo dever{ ser apenas o primeiro de muitos que pretendo escrever sobre este tema. Especificamente nesse artigo, quero falar sobre um dos elementos mais importantes da arquitetura do Windows Azure: o Hypervisor. Por onde eu comecei e o caminho que percorri O Windows Azure uma tecnologia inteiramente nova. Consequentemente, poucas pessoas fora da Microsoft possuem conhecimento slido de seu funcionamento. Definitivamente no estou entre elas! Sou um estudante e como tal utilizo diversos recursos para aprender. Dentre os recursos que recomendo esto:

partida o do Ot{vio Pecego. Site do Azure: www.azure.com Livros Pro Azure Services Platform Developing Applications for the Cloud Programming Windows Azure Windows Azure Platform Building applications in the Cloud: Concepts, Patterns and Projects

Boa parte do que voc vai ler aqui vm dessas fontes. Obviamente, adiciono minhas consideraes (e nesses pontos que devem estar os prov{veis desvios que voc encontrar{ aqui). Por que considero importante saber como o Azure Funciona? Sempre que me deparo com uma nova tecnologia, considero importante separar seu estudo em trs partes. Observe:

Codificando.net e-magazine

Blogs

H{ v{rios, mas gostaria de recomendar como ponto de


Figura 1 - Espaos de estudo para

www.codificandomagazine.com.br

Dez / Jan - 10/11

20

Como funciona o Windows Azure O Hypervisor

e-magazine

H{, obviamente, o estudo de como escrever cdigo usando a nova tecnologia. Com relao ao Windows Azure, h{ um grande nmero de fontes que podem mostrar como isso funciona. Em outro extremo, esto |s informaes sobre como a tecnologia funciona, os internals. Penso que usar uma tecnologia sem entender como ela funciona como lutar sem conhecer o campo de batalha. Se voc quer construir uma aplicao com performance superior ou deseja entender um comportamento estranho, compreender como as coisas funcionam por baixo do cap pode ser a diferena entre vencer ou perder a batalha. Penso que mesmo que no tenha uso direto para uma tecnologia, ter algum conhecimento sobre como as coisas funcionam pode ser divertido. Para um bom arquiteto, pode representar insights interessantes. O que h{ para ser visto? Windows Azure uma plataforma complexa e multicamada. uma combinao de hardware e software, separados em diversas camadas lgicas, instalados fisicamente em datacenters presentes em diferentes localidades. Passei a entender melhor o Windows Azure a partir de uma representao proposta no livro Programming Windows Azure. Observe:

Nessa representao, as camadas mais externas so aquelas com as quais temos mais contato quando codificamos. J{ as mais internas so aquelas mantidas sob controle mais rgido da Microsoft. Com mais detalhes, percebemos que:

Figura 2 - Organizao do Azure

O hardware, no centro da representao acima, mantido pela Microsoft em diversos data centers espalhados em todo o mundo. Alguns desses data centers rodam o Azure; Cada m{quina do datacenter executa um hypervisor otimizado e ajustado para seu datacenter, bem como para o hardware que formam essas m{quinas. O hypervisor no tem um nome oficial (at onde eu saiba). Entretanto, prov{vel que voc o veja com o nome Windows Azure Hypervisor. A coisa mais importante para lembrar aqui que no se trata do Hyper-V. O agrupamento das m{quinas nos data centers para o Azure gerenciado por uma aplicao massivamente distribuda chamada Fabric. O Fabric gerencia o hardware, os sistemas operacionais nos computadores e as aplicaes rodando nessas m{quinas. Essas aplicaes, por sua vez, podem utilizar todos os servios que o Windows Azure oferece; H{ muitos desses Fabrics rodando em diferentes localizaes geogr{ficas. Quando distribumos uma aplicao, ou quando criamos uma conta de armazenamento, escolhemos quais dessas localizaes desejam que seja a hospedeira.
Dez / Jan - 10/11

Codificando.net e-magazine
|

www.codificandomagazine.com.br

21

Como funciona o Windows Azure O Hypervisor

e-magazine

Como j{ foi dito, meu foco principal hoje o Windows Azure Hypervisor. Afinal, o Windows Azure um sistema operacional? Ouvi dezenas de vezes a afirmao de que o Windows Azure o sistema operacional para nuvem da Microsoft. Essa analogia til para explicar a coisa para pessoas no tcnicas. Entretanto, confunde desenvolvedores que imaginam que h{ um novo sistema operacional espalhando nos datacenters da Microsoft executando seus aplicativos. importante destacar que essa analogia um pouco forada. Se ns conceituarmos um sistema operacional, veremos que uma de suas tarefas mais importantes gerar alguma abstrao do hardware para os aplicativos que executa. Ou seja, no lugar do desenvolvedor ficar preocupado com especificaes do hardware, pode escrever cdigo para uma API genrica e deixar o sistema cuidar dos detalhes. Nesse sentido, o Azure um sistema operacional, pois ele abstrai o hardware do datacenter. Entretanto, a analogia acaba aqui. Windows Azure no um sistema operacional de verdade. O Sistema operacional que roda nossos cdigos no nuvem (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 permitem a 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 toda a ao Azure acontece. Windows Azure executado em diversos datacenters da Microsoft ao redor do mundo. Como qualquer outra grande companhia que mantm datacenters, a Microsoft mantm certo mistrio sobre eles. O primeiro Datacenter da Microsoft foi montado em setembro de 1989. Localizado no campus da Microsoft, em Redmond, est{ muito abaixo dos datacenters que rodam os servios online da Microsoft hoje em dia. A Microsoft no revela o nmero exato de datacenters que possu (brincam dizendo algo em torno de 10 e 100). Alm disso, a Microsoft no fala sobre a localizao exata desses datacenters. At onde se sabe, esses datacenters atendem a uma diversidade de propsitos e no somente rodar o Azure. Cada um dos datacenters escal{vel, mas, ao mesmo tempo, so montados para serem ecologicamente corretos. Quase toda energia consumida provem de hidroeltricas o cooling quase sempre ocorre com {gua recicl{vel. Por que um Hypervisor? Sabendo sobre os datacenters que fazem a m{gica do Azure acontecer, a prxima questo obviamente recai sobre como os sistemas operacionais executam nas m{quinas< Uma an{lise mais simples poderia conduzir a ideia de instalar uma inst}ncia do Windows Server 2008 diretamente em cada computador. A propsito, esta a
Dez / Jan - 10/11

Codificando.net e-magazine
|

www.codificandomagazine.com.br

22

Como funciona o Windows Azure O Hypervisor

e-magazine

forma como muitas empresas executam aplicativos em seus datacenters hoje em dia. Entretanto, h{ pelo menos dois problemas com essa abordagem: 1. Compartilhamento de recursos 2. Migrao de cargas de trabalho Executar sistemas operacionais diretamente sobre o hardware implica em esse ter o controle total da m{quina. Em outras palavras, para cada aplicao rodando no datacenter, um computador. Isso faz pouco sentido se pensarmos que poderemos estar dedicando m{quinas potentes com muitos gigabytes de RAM para websites com quase nenhum acesso. Outra implicao a impossibilidade de mover aplicaes e cargas de trabalho facilmente. Se um Website A estivesse com baixa demanda e um Website B estivesse sob stress, no seria f{cil, nem r{pido, dar parte do poder computacional da m{quina que est{ hospedando o Website A para o Website B. A soluo que vem sendo repetidamente apontada para esses problemas a virtualizao. Ou seja, a capacidade de manter diversos sistemas operacionais convidados rodando simultaneamente em um mesmo computador, sob o controle de um sistema operacional hospedeiro. Cada sistema operacional convidado v uma m{quina inteira (chamada m{quina virtual), e completamente desinformado quanto | existncia de outros sistemas operacionais. Estas m{quinas virtuais compartilham os recursos da m{quina real.

Figura 3 - Hypervisor coordena as VMs

Para criar e manter diversas m{quinas virtuais em uma nica m{quina fsica, um pequeno software chamado hypervisor usado. Esse software respons{vel pela alocao justa de recursos entre as m{quinas virtuais. o hypervisor que agenda o tempo da CPU e as requisies de I/O, alm de prover isolamento entre as diversas m{quinas virtuais. Na representao acima, o Hypervisor opera como uma balana que equilibra os recursos entre diversas m{quinas virtuais. Como programas Hypervisor interferem na execuo dos sistemas operacionais convidados Para executar suas atividades de forma eficiente, o hypervisor precisa contar com o suporte do hardware. Um processador x86/x64 oferece quatro nveis de privilgio chamados Rings, sendo o Ring 0 o mais poderoso e o Ring 3 o mais restrito. Todos os sistemas operacionais modernos utilizam esse conceito rodando o kernel (corao do sistema operacional) em Ring 0, e todos os demais aplicativos no Ring 3. Por exemplo, no Windows, o ntoskrnl.exe (o Sistema no TaskManager) executa no Ring 0 junto com todos os drivers. Quando um cdigo executando em Ring 3 precisa executar uma operao com alto privilgio, precisa executar uma transio
Dez / Jan - 10/11

Codificando.net e-magazine
|

www.codificandomagazine.com.br

23

Como funciona o Windows Azure O Hypervisor

e-magazine

para o Ring 0.

sejam executada de forma justa e equilibrada. Conversando com o Hypervisor: Hypercalls e Enlightenments Sabemos como um sistema operacional normal roda sob o hypervisor. Entretanto, digamos que os criadores de sistemas operacionais soubessem dessa condio antes de funcionar. Sistemas operacionais convidados podem se comunicar com o hypervisor onde esto sendo executados atravs de um mecanismo chamado hypercall. A relao entre o sistema operacional convidado e o hypervisor bem semelhante ao que ocorre entre cdigo em user-mode e kernel. Da mesma forma que um processo pode chamar uma API para conseguir acesso direto para algum recurso, o kernel de um sistema operacional convidado pode invocar um hypercall que resultar{ em alguma execuo no Hypervisor. Um enlightened kernel aquele que usa hypercalls para se comunicar com o Hypervisor de forma a obter algum ganho de performance. Esses kernels conseguem desempenho superior a outros que no contam com esse recurso. O Hypervisor do Windows Azure O que foi tido at aqui verdadeiro para todos os hypervisors presentes no mercado hoje. O hypervisor do Windows Azure foi projetado por Dave Cutler (um dos pais do Windows NT). O hypervisor do Azure foi projetado com trs princpios em mente: Ser r{pido, pequeno e fortemente integrado com o kernel. Projetado para ser o mais eficiente possvel, foi desenvolvido de forma otimizada primando por execuo em
Dez / Jan - 10/11

Figura 4 - Cdigo execut{vel e o processador

Os Rings 1 e 2 geralmente no so utilizados. Todo o cen{rio que descrevi ocorre na execuo de sistemas operacionais que rodam diretamente na m{quina. Agora, onde executaria o hypervisor se o Ring 0 j{ est{ comprometido com o sistema operacional? Este problema foi resolvido pela Intel e pela AMD pela incluso de um nvel de privilgio inteiramente novo chamado de Root mode, ou Ring 1. Assim, todos os sistemas operacionais podem operar de forma normal entre os Rings 0 e 3.

Codificando.net e-magazine

Figura 5 - Nvel adicional de permisso para o Hypervisor

Quando o processador reconhece que uma instruo executada em uma m{quina virtual precisa de um privilgio maior para executar, transfere a execuo para o Hypervisor. Uma vez que o hypervisor tem conhecimento de todas as m{quinas virtuais (e seus respectivos sistemas operacionais) consegue garantir que essas operaes

www.codificandomagazine.com.br

24

Como funciona o Windows Azure O Hypervisor

e-magazine

hardware sempre que possvel. Por estar rodando em ambientes controlados, otimizado para o hardware presente nos datacenters da Microsoft. No Windows Azure, o kernel dos sistemas operacionais convidados so claramente otimizados para o hypervisor. Isso significa que eles contem dezenas de enlightenments. Windows Azure Hypervisor e o HyperV no so a mesma coisa A Microsoft lanou um Hypervisor, chamado Hyper-V, com o Windows Server 2008. H{, frequentemente, confuso sobre as diferenas do Hyper-V e o Windows Azure Hypervisor, sendo que alguns artigos assumem que eles sejam o mesmo. Na verdade, ambos foram construdos com propsitos bem diferentes. HyperV distribudo como parte do Windows, por isso, precisa ser suportado por uma ampla variedade de hardware e necessidades. O Windows Azure Hypervisor executam somente nos datacenters da Microsoft e so otimizados especificamente para o hardware onde o Windows Azure funciona. Como esperado, dois produtos similares de uma mesma companhia compartilham cdigo e design. Acredito que no futuro novas funcionalidades includas no Windows Azure Hypervisor sero implementadas no Hyper-V, e vice-versa. Como o Windows Azure Hypervisor funciona? O Hypervisor divide o sistema em mltiplas m{quinas virtuais ou parties. Aplicaes executam sempre

em parties, cada uma delas executando uma inst}ncia independente de um sistema operacional. Uma partio tem visibilidade apenas sobre um espao de endereamento, mas no possui acesso direto para o hardware. Quando o sistema inicia uma partio especial iniciada, a host partition. Esta partio especial de diversas formas. ela que tem acesso completo a operaes de I/O, memria fsica, e todo o hardware. Ela executa operaes criticas e usada para executar todos os acessos a dispositivos usando drivers padres do Windows. No Windows Azure Hypervisor todos os dispositivos tratados pelas parties so interceptados pelo hypervisor e encaminhados para a host partition. Em grande parte, assim para que no seja necess{ria nenhuma escrita de driver especial para o Hypervisor.

Codificando.net e-magazine

Figura 6 - Hypervisor usa uma VM para operaes de IO

O routing das chamadas de I/O ocorrem atravs da Virtual Machine Bus (VMBus). Um sistema operacional convidado, sem enlightenments, poderia ingenuamente executar diversas operaes de acesso a hardware para execuo de uma nica operao lgica. Isso envolveria muitas transies entre o convidado e o hypervisor e, finalmente a partio host. Para evitar esse problema, cada sistema operacional convidado no Windows Azure tem uma pilha, que pega algumas operaes dos device drivers nos
Dez / Jan - 10/11

www.codificandomagazine.com.br

25

Como funciona o Windows Azure O Hypervisor

e-magazine

guest e encaminha pela VMBus para o sistema operacional host. Isso garante ganho de performance. Qual sistema operacional executa nosso cdigo no Windows Azure? Mesmo com toda essa discusso sobre sistemas operacionais com enlightenments e integrao com o Hypervisor, muitos desenvolvedores esto apenas interessados em saber sobre qual o sistema operacional onde seu cdigo executar{. A resposta simples. Aplicaes rodam no Windows Server 2008 x64 Enterprise Edition. Bem, quase isso< A Microsoft chama de Windows Server 2008-compatible, pois esse sistema Windows Server em quase todos os sentidos, exceto pelo fato de que ocorreram alteraes de baixo nvel para aperfeioar o funcionamento com o Hypervisor. Entretanto, aplicaes no conseguem perceber isso. Concluindo

Elemar Rodrigues Severo Jnior, 31 anos (@elemarjr). Arquiteto-chefe e Pesquisadorchefe na Procad (www.procad.net / http:// galeria.promob.com.br ). Gerente de P&D. Est{ nessa empresa h{ 13 anos. Comeou a estudar computao aos 9 anos, aos 13 comeou a ministrar cursos de programao. Programou com linguagens como: Basic, C, Assembly, C++, Java, C#. Destacado como autoridade em Computao Gr{fica, sobretudo OpenGL. Fez parte do time de desenvolvimento de produtos de larga distribuio (Promob tem mais de 60mil licenas em 35 pases). Seus interesses atuais

Codificando.net e-magazine

O Windows Azure uma robusta plataforma de hardware e software capaz de prover uma real alternativa de PaaS. A forma como as m{quinas virtuais operam, bem como a estrutura de seu hypervisor deixam evidente o compromisso da Microsoft com a escalabilidade e confiabilidade. Alm do Hypervisor, h{ toda a estrutura do Windows Fabric. Entretanto, esse um bom tema para um prximo artigo.

www.codificandomagazine.com.br

Dez / Jan - 10/11

26

e-magazine

Codificando.net e-magazine
|

www.codificandomagazine.com.br

Dez / Jan - 10/11

27

e-magazine

SharePoint 2010 - Administrao Avanada com PowerShell


Por: Fabian Andr Gehrke

Introduo O Windows PowerShell um shell de linha de comando e linguagem de script, baseado em tarefas, criado especialmente para a administrao de sistemas. Criado em uma estrutura .NET, o Windows PowerShell ajuda os profissionais de TI a controlar e automatizar a administrao do sistema operacional Windows e de v{rias tecnologias Microsoft que so executados em Windows, como: Microsoft SharePoint 2010, Active Directory, Microsoft Exchange Server e outros diversos produtos da Microsoft. Objetivos da administrao por script: Nem todas as funes esto implementadas na interface, por isso muitas vezes necess{rio o agendamento por script, j{ que algumas dessas funes no possuem agendamento pela interface; Possibilidade de gerenciar servios remotamente; E a gravao de funes prdefinidas, ou seja utilizao de comandos em lote. Ao invs de utilizar v{rias tarefas pela interface podemos criar um script que executa v{rias tarefas de uma vez. O Microsoft SharePoint no foge dessa regra, nas verses anteriores ele possua

um utilit{rio de linha de comando, o STSADM.EXE, que utilizado para a administrao do servidor SharePoint e da Farm. Com ele tarefas de administrao poderiam ser executadas e agendadas em v{rios servidores. Com a evoluo da tecnologia, principalmente do PowerShell, v{rios produtos da Microsoft esto vindo com suporte cada vez maior em relao | administrao via script. O Microsoft SharePoint no poderia ser diferente, na verso 2010 veio com uma Shell de gerenciamento exclusiva para ele. Importante: grande parte dos novos recursos do SharePoint 2010 no possui suporte ao STSADM.EXE, essas tarefas devem ser feita via PowerShell. A tendncia a descontinuao do STSADM e centralizao das funes no PowerShell. Por enquanto o STSADM.EXE continua funcionando para manter a compatibilidade com verses anteriores do SharePoint. De qualquer maneira, todos os recursos que j{ eram feitos no STSADM.EXE, continuam funcionando no SharePoint 2010. O PowerShell 2.0 e os CMDLETS do SharePoint j{ so ativados/instalados durante a instalao dos pr-requisitos do SharePoint 2010, por isso no necess{rio se preocupar com essa etapa.

Codificando.net e-magazine
|

www.codificandomagazine.com.br

Dez / Jan - 10/11

28

SharePoint 2010 - Administrao Avanada com PowerShell

e-magazine

Curiosidade: Somente na verso 2007 que o SharePoint passou a contar com administrao via linha de comando, ele introduziu o STSADM.EXE. No decorrer do artigo vou mostrar v{rios exemplos de scripts que podem ser feitos para a administrao do ambiente SharePoint 2010. Introduo ao PowerShell Com comandos do Windows PowerShell, chamados de CMDLETS, voc pode executar tarefas de gerenciamento da linha de comando. Com provedores do Windows PowerShell, possvel acessar armazenamentos de dados, tais como o registro e o armazenamento de certificados, to facilmente como so acessados arquivos do sistema opercional. Alm disso, o Windows PowerShell possui um analisador de expresses rico e uma linguagem de scripts totalmente desenvolvida. Os CMDLETS seguem o mesmo padro de nomenclatura, formados por verbosubstantivo, tambm conhecidos como formato ao-objeto. O substantivo sempre no singular. Antes de iniciar os exemplos vamos explicar alguns comandos b{sicos do PowerShell que vo nos ajudar nos scripts do SharePoint. Get-Help: Exibe informaes sobre comandos Windows PowerShell. Exemplos:

Get-Help GetSPManagedAccount Get-Help GetSPManagedAccount examples Get-Help GetSPManagedAccount detailed Get-Help GetSPManagedAccount full Get-Help *ManagedAccount*

Exibe o resumo do commando Get-SPManagedAccount Exibe exemplos do commando Get-SPManagedAccount Exibe informaes detalhadas sobre o comando GetSPManagedAccount Exibe toda informao disponvel sobre o commando Exibe todos os commandos que contm o contedo ManagedAccount no nome. O asterisco serve como coringa indicando que deve procurar comandos que possuem ManagedAccount em qualquer posio.

Get-Command: Exibe os cmdlets


Get-Command Module Microsoft.SharePoint.PowerShell Get-Command Module Microsoft.SharePoint.PowerShell ().Count Exibe todos os commandos do assembly definido Exibe o total de comandos existentes no assembly. O mtodo Count retorna o nmero de registros retornados. Traz todos os commandos disponveis.

Get-Command *

Pipe |: O pipe o agregador de comandos, com ele podemos fazer composies e executar um comando sobre o resultado de outro comando, e assim aninhar v{rios comandos. Como o PowerShell retorna objetos nos comandos, esses retornos podem ser utilizados para outros procedimentos. Este um recurso fundamental para se ter produtividade com PowerShell, muito importante entender o seu funcionamento.
Get-SPSite | Where {$_.Url like *evento*} O comando Get-SPSite retorna todos os sites do servidor, utilizando o pipe e o Where, retorna apenas os sites que contm evento na url. Seleciona o site de eventos e exibe o ttulo de todas as listas

Codificando.net e-magazine

Get-SPWeb "http:// evento.azeroth.com" | Select Expand Lists | Select Title

Variveis: as vari{veis no PowerShell

www.codificandomagazine.com.br

Dez / Jan - 10/11

29

SharePoint 2010 - Administrao Avanada com PowerShell

e-magazine

no so fortemente tipadas, todos os tipos so definidos em tempo de execuo. Para definir o tipo preciso informar o mesmo na atribuio do valor assim como nos exemplos:
[string] $nome = Fabian $nome = Fabian Varivel do tipo string. Varivel com tipo dinmico, ela se ajusta conforme o contedo que lhe form atribuda. Esta forma de declarao de variveis muito comum, j que muitas vezes nos nos preocupamos com o tipo de retorno dos comandos. Varivel do tipo inteito, se definir um valor tipo string ir retornar erro. Varivel do tipo double

para administrao do SharePoint. Iniciando o PowerShell do SharePoint:

[int] $valor = 200 [double] $media = $valor / 5

PowerShell no SharePoint 2010 Para fazer a administrao do SharePoint 2010 podemos utilizar o PowerShell de duas maneiras, uma delas utilizando o PowerShell padro do Windows e chamando os objetos do SharePoint no SharePoint 2007 j{ era possvel fazer dessa forma, mas necess{rio carregar todos os assemblies do SharePoint manualmente. E temos a outra maneira que utilizando a Management Shell do SharePoint 2010, que facilita e agiliza a vida do administrador. Neste artigo iremos falar apenas do novo mecanismo do SharePoint 2010. Ao ser carregado o Management Shell j{ carrega tudo que necess{rio para o usu{rio executar scripts na farm do SharePoint. Ele carrega um arquivo que fica no diretrio do SharePoint (sharepointroot\config\powershell\registr ation\sharepoint.ps1), sendo que este mesmo arquivo respons{vel por montar o ambiente que j{ traz uma conexo com a farm e carrega todos os CMDLETS

Figura 1. Abrindo o Shel de Gerenciamento do SharePoint 2010.

Figura 2. Janela do Shell de Gerenciamento do SharePoint 2010.

Gerenciamento de aplicativos Web Podemos gerenciar Web Applications utilizando PowerShell. Nos exemplos abaixo temos dois cmdlets importantes para esta tarefa.
$nomeWebApp = "Site Artigo" $nomePool = "Site Artigo" $nomeServidorBanco = "add-cecred\sqlexpress" $nomeBanco = "SiteArtigo" $hostHeader = "evento.azeroth.com" #Obtm a conta gerenciada configurada na Administrao Central $contaPool = Get-SPManagedAccount "azeroth\sp_farm" #Cria o web application com base nos par}metros New-SPWebApplication -Name $nomeWebApp ApplicationPool $nomePool -ApplicationPoolAccount $contaPool -DatabaseServer $nomeServidorBanco DatabaseName $nomeBanco -Hostheader $hostHeader

Codificando.net e-magazine
|

www.codificandomagazine.com.br

Dez / Jan - 10/11

30

SharePoint 2010 - Administrao Avanada com PowerShell

e-magazine

O comando Get-SPManagedAccount obtm a conta gerenciada configurada no SharePoint. O comando New-SPWebApplication respons{vel pela criao do Web Application, recebendo como par}metro as mesmas informaes utilizadas na interface. Para excluir uma Web Application:
Remove-SPWebApplication http:// evento.azeroth.com -Confirm:$False DeleteIISSite -RemoveContentDatabases

O comando Remove-SPSite o respons{vel pela excluso da Site Collection.


Remove-SPSite -Identity http:// evento.azeroth.com -Confirm:$False

E para obter todas as Site Collections:


Get-SPSite

Figura 04: Listagem de todas as Site Collections da Farm.

O comando Remove-SPWebApplication o respons{vel pela excluso do WebApplication. Possui dois par}metros opcionais, que definem se o site no IIS e a Content Database sero excludos. O PowerShell possui duas constantes para definir os valores true e false, so $true e $false respectivamente. Para obter a lista de todos os Web Application o comando Get-SPWebApplication pode ser utilizado. Se informarmos a Url do site, apenas o site que corresponde a ela ser{ retornado, conforme Fig. 03.

Trabalhando com sites Para criar um site dentro de uma Site Collection utilizamos o comando New-SPWeb:
#Template STS#0 o templade de site de equipe New-SPWeb http://evento.azeroth.com/ PowerShell -template "STS#0" -Name "Site criado pelo PowerShell" -AddToTopNav

O comando Remove-SPWeb utilizado para remover o site, notem que primeiramente


Get-SPWeb http://evento.azeroth.com/ PowerShell | Remove-SPWeb confirm:$False

o site obtido e em seguida removido: Mtodo Get-SPSite lista todos os sites ex-

Codificando.net e-magazine

Get-SPSite http://evento.azeroth.com | Select Expand AllWebs Figura 03: Listando os Web Application.

istentes no Site Collections.

Gerenciamento de Site Collections Este exemplo utilizado para criar um novo Site Collection utilizando o comando New-SPSite e informando os par}metros url, name, owner e o template.
$tituloSite = "Site Artigo" $administrador = "azeroth\sp_farm" #Templa de site em branco $template = "STS#1" $url = "http://evento.azeroth.com" New-SPSite $url -OwnerAlias $administrador Template $template

Figura 05: Listagem de todos os sites da Site Collection de Eventos.

www.codificandomagazine.com.br

Dez / Jan - 10/11

31

SharePoint 2010 - Administrao Avanada com PowerShell

e-magazine

Gerenciamento de listas Para exibir todas as listas que existem muito simples, basta obter o site e listar todas as listas utilizando utilizando o comando Foreach.
(Get-SPWeb evento.azeroth.com).Lists {write-host $_.title} http:// ForEach

(Get-SPWeb http:// evento.azeroth.com/).Lists ["Palestrantes"].Delete()

Gerenciamento de Contedo A sequncia de comandos abaixo utilizada para listar os itens de uma lista. Ele utiliza v{rios pipes para simplificar sua utilizao. Primeiro obtm o site, depois expande para o nvel de listas, seleciona a lista que tenha o ttulo Palestrantes, expande para o nvel de itens e exibe o ttulo de todos os itens.
Get-SPWeb http://evento.azeroth.com | Select -expand Lists | Where{$_.Title eq "Palestrantes"} | Select -expand Items | Select Title

Figura 06: Criao da lista.

Ao colocar o Get-SPWeb entre parnteses, podemos chamar mtodos ou propriedades do objeto SPWeb. No exemplo est{ sendo utilizada a propriedade lists, que retorna todas as listas do site. Com a ajuda do pipe o comando foreach utilizando sobre a coleo de listas do site, depois exibe o ttulo de todas as listas. Esse um dos grandes poderes do pipe, executar v{rios comandos a partir de uma linha de script. Para criar uma lista customizada, o script abaixo pode ser utilizado:
$web = Get-SPWeb "http:// evento.azeroth.com/" $template = $web.ListTemplates["Custom List"]; $listaGuid = $web.Lists.Add("Palestrantes", "Lista de cadastro de palestrantes", $template); $lista = $web.Lists.GetList($listaGuid, $true); $lista.OnQuickLaunch = $true; $lista.Update() $web.Lists | ForEach {write-host $_.title} $web.Dispose()

Para adicionar um documento a uma biblioteca de documento podemos utilizar o script abaixo. Ele cria um documento tipo texto, escreve o contedo e carrega no site.
$conteudo = "O contedo deste documento foi preenchido pelo PowerShell" $stream = new-object System.IO.MemoryStream $writer = new-object System.IO.StreamWriter ($stream) $writer.Write($conteudo) $writer.Flush() $webUrl = "http://evento.azeroth.com" $listaDocumentos = Get-SPWeb http:// evento.azeroth.com | Select -expand Lists | Where {$_.Title -eq "Documentos Compartilhados"} $listaDocumentos.RootFolder.Files.Add ("DOcumento PowerShell.txt", $stream, $true)

Codificando.net e-magazine

Para editar um item especfico de uma lista:


$listaDocumentos = Get-SPWeb http:// evento.azeroth.com | Select -expand Lists | Where {$_.Title -eq "Palestrantes"} $item = $listaDocumentos.GetItemByID(2) $item["Title"] = $item["Title"] + " alterado pelo PowerShell" $item.Update()

Para excluir uma lista:

Backup O SharePoint 2010 possui v{rias formas de fazer backup, entre elas esto: backup pela Administrao Central, STSADM, SQL Server e pelo PowerShell o qual iremos

www.codificandomagazine.com.br

Dez / Jan - 10/11

32

SharePoint 2010 - Administrao Avanada com PowerShell

e-magazine

mostrar em seguida. Para listar todos os itens que esto No backup da farm usamos o comando Backup-SPFarm com o par}metro ShowTree:

o Path, que o endereo do arquivo em que o backup ser{ armazenado.

Figura 08: Execuo do Backup

Para ver o histrico do backup usado o comando Get-SPBackupHistory passando o diretrio dos backups.

Figura 07: Mostra o contedo do backup da farm.

Figura 09: Histrico do backup

O comando Backup-SPFarm utilizado para executar o backup completo da Farm, alguns parmetros que podem ser utilizados: BackupMethod permite selecionar o tipo de backup, que pode ser completo ou diferencial; Directory: o local onde o backup ser salvo; BackupThread: o nmero de threads que sero utilizadas para fazer o backup e passando o parmetro. Quanto mais threads utilizadas mais bancos esto sob backup ao mesmo tempo. Mximo de 10 threads. Verbose: o log do backup ser exibido na tela, se esse parmetro no for passado o backup ser feito e o usurio no poder ver o progresso do mesmo.
Backup-SPFarm -BackupMethod Full directory "C:\Backup SharePoint\" BackupThreads 3 Verbose

Trabalhando com a Lixeira Para exibir todos os itens da lixeira do site necess{rio obter a coleo de sites com o comando Get-SPSite e depois chamar o objeto da lixeira RecycleBin. No exemplo abaixo somente o ID e o ttulo dos itens so exibidos:
(Get-SPSite http://evento.azeroth.com).RecycleBin Select ID, Title |

Codificando.net e-magazine

Figura 10: Visualizao da RecycleBin do site.

Para restaurar algum item da lixeira o commando Restore pode ser executado a partir do objeto RecycleBin passando por par}metro o ID do item excludo.
(Get-SPWeb http:// evento.azeroth.com).RecycleBin.Restore ("3cfd8f67-8457-491d-af0a-ecec3b635c0c")

Para fazer o backup de um site collection podemos utilizar o comando BackupSPSite, um dos par}metros obrigatrio o Identity, que a Url da Site Collection. Mas se utilizarmos o Get-SPSite em conjunto com o pipe no precisamos passar o par}metro. O outro par}metro obrigatrio

Para acessar a lixeira da Site Collection necess{rio substituir o comando Get-SPWeb por Get-SPSite, os outros mtodos e par}metros so os mesmos.

www.codificandomagazine.com.br

Dez / Jan - 10/11

33

SharePoint 2010 - Administrao Avanada com PowerShell

e-magazine

Outras tarefas administrativas O comando Get-SPAlternateUrl retorna todos os mapeamentos do Web Application:
Get-SPAlternateUrl http://evento.azeroth.com

Para mudar a porta da Administrao Central, o comando SetSPCentralAdministration pode ser utilizado, para isso necess{rio passar o par}metro Port com o nmero da porta:
Set-SPCentralAdministration Confirm:$False -Port 5555 -

Agora, com o Management Shell que j{ vem na instalao do SharePoint 2010, a execuo de scripts ficou muito melhor com recursos como execuo de tarefas em lote, agendamento de tarefas, reaproveitamento de funes visto que o script feito uma vez pode ser reutilizados v{rias vezes, ao invs do administrador precisar utilizar a interface repetidamente. Referncias
SharePoint 2010 Products administration by using Windows PowerShell http://technet.microsoft.com/en-us/library/ee806878.aspx

O comando Get-SPDatabase retorna todas as bases de contedo da farm:

About Windows PowerShell http://technet.microsoft.com/en-us/library/dd315275.aspx Install SharePoint Foundation 2010 by using Windows PowerShell http://technet.microsoft.com/en-us/library/cc752946.aspx A guide to PowerShells Advanced Functions

Figura 11: Visualizao de databases da farm

http://huddledmasses.org/a-guide-to-advanced-functions/ SharePoint 2010 PowerShell Cmdlets Reference http://dmitrysotnikov.wordpress.com/2009/10/19/ sharepoint-2010-cmdlet-reference/

Utilizando o comando Get-SPProduct mostra detalhes sobre qual produto SharePoint est{ sendo utilizado, no caso o SharePoint Foundation:

Codificando.net e-magazine

Figura 12: Produto SharePoint instalado

Consideraes Finais O PowerShell a soluo de administrao de ambiente com scripts que est{ evoluindo cada vez mais na plataforma Microsoft, ele torna a tarefa de administrar ambientes muito mais produtiva. O seu uso no SharePoint trouxe novas possibilidades que at antes do SharePoint 2010 no existiam.

Fabian Andr Gehrke (fgehrke@gmail.com): Graduado em Sistemas de Informao e ps-graduado em Gesto de Desenvolvimento de Software. Atua em desenvolvimento de sistema h{ 10 anos e a 2 se dedica a implementao e customizaes de portais corporativos com SharePoint. MCTS em WSS 3.0, MOSS

www.codificandomagazine.com.br

Dez / Jan - 10/11

34

e-magazine

Ferramenta de desenvolvimento auxilia o programador .NET

Por: Pablo Hadler

Introduo Todo programador .NET usa e abusa do Visual Studio como sua IDE principal, e todos sabemos das inmeras vantagens de usar esta IDE. Porm existem algumas coisas que uma boa ferramenta para desenvolvimento de aplicativos pode ajudar e muito. E sobre isso que vamos tratar neste artigo. O GASweb uma IDE de desenvolvimento que pode ser utilizada em conjunto com o Visual Studio e que vai aumentar bastante a produtividade dos programadores .NET , aplicaes com CRUD, SITES, INTRANET podem ser desenvolvidas rapidamente usando esta ferramenta. Ao criar uma nova soluo no GASweb voc ver{ uma tela como mostra na figura 1. No lado direito mostramos a {rvore da soluo que mostra os mdulos que voc incluiu no lado esquerdo voc tem algumas abas de controles como: Banco de dados, componentes, imagens etc..

Figura 1 - Tela Inicial de Soluo do GASweb

Vamos montar um pequeno exemplo de aplicao CRUD neste artigo usando um banco de dados j{ existente que pode ser baixado do CodePlex http:// chinookdatabase.codeplex.com/ este banco serve como alternativa ao famoso Northwind para demonstraes. Veja na figura 2 a tela de importao de banco de dados no GASweb.

Codificando.net e-magazine

Figura 2 - Importando um Banco j{ Existente para o GASweb.

www.codificandomagazine.com.br

Dez / Jan - 10/11

35

Ferramenta de desenvolvimento auxilia o programador .NET

e-magazine

Aps importar um banco de dados para dentro da IDE do GASweb voc pode manipular os objetos deste banco dentro da prpria ferramenta. Figura 3. O interessante neste cen{rio tambm que caso voc modifique algum campo na IDE a ferramenta j{ identifica a mudana e prope um script para corrigir/ atualizar o seu modelo fsico no banco existente aproveitando os dados j{ cadastrados.

Na p{gina principal podemos ver como ficaria nossa pagina default. Figura 5, veja que j{ foi criado automaticamente alguns controles nesta p{gina como menu, toolbar, e foi aplicado um template que pode ser customizado pelo desenvolvedor.

Figura 5 - Pgina Principal

Vamos arrastar um modulo de p{gina de dados para a nossa soluo, uma pagina de dados um modelo de CRUD que o desenvolvedor pode customizar e colocar regras de negcio de forma muito simples, aumentando a produtividade em situaes rotineiras.
Figura 3 - Objetos do banco de dados

Na parte de mdulos vemos que a ferramenta j{ criou alguns mdulos padres que podem ser manipulados pelo desenvolvedor.
Figura 6

Codificando.net e-magazine

Ao criar o modulo de p{gina de dados, voc deve clicar para abrir na parte central as propriedades deste mdulo, e assim definir as informaes necess{rias para o funcionamento da p{gina. Voc define, por exemplo, o nome da p{gina
Figura 4 - Pagina Principal

(ASPX), qual a tabela do banco de dados ser{ usada e outras informaes pertinentes ao mdulo como mostra na figura 7.

www.codificandomagazine.com.br

Dez / Jan - 10/11

36

Ferramenta de desenvolvimento auxilia o programador .NET

e-magazine

Figura 7(propriedades de uma p{gina de dados)

Vamos agora definir o design desta pagina, voc ter{ duas formas de fazer isso, usar o modo autom{tico ou arrastar os controles e definir suas propriedades. No nosso caso eu usarei a forma autom{tica (CTRL+T) para criar esta tela, baseada na tabela de banco de dados definida para o modulo. Clicando em qualquer controle voc pode ver as propriedades e redefinir qualquer uma deles como: cores, fontes, comportamentos.

Figura 9 (Regras de Negcio)

Depois de criar a p{gina de dados vamos abrir nossa pagina principal e colocar uma chamada no menu para a p{gina que acabamos de criar.

Figura 10

Codificando.net e-magazine

Na aba eventos vamos fazer a chamada da pgina.

possvel ainda customizar comportamentos especficos criando seus prprios cdigos. Isso deixa o usu{rio totalmente livre pra criar aplicaes poderosas usando a ferramenta. Nesta mesma tela voc define tambm algumas regras de negcio como: validaes, processos e lanamentos em tabelas auxiliares.
Figura 11

www.codificandomagazine.com.br

Dez / Jan - 10/11

37

Ferramenta de desenvolvimento auxilia o programador .NET

e-magazine

Basicamente isso que precisamos pra gerar uma aplicao com CRUD usando o GASweb, vamos gerar o cdigo, abrir no Visual Studio 2010 para rodar a nossa aplicao.

mostrar como uma boa ferramenta de gerao de cdigo pode ajudar voc a construir aplicaes poderosas de forma r{pida e usando o melhor da tecnologia ASP.NET. Voc pode encontrar mais informaes em www.gasweb.com.br.

Pablo Hadler analista programador da Gas Tecnologia, graduado pela unisul em web e programao, desenvolve aplicaes em ASP.NET , WPF, Silverlight , Na figura 13 visualizamos o cdigo gerado no Visual Studio. MCP ASP.NET 3.5 e atua ativamente na comunidade Microsoft no @brasildotnet , @devbrasil e @devgoias.

Codificando.net e-magazine

Vamos rodar essa aplicao agora e abrir a nossa p{gina customer que criamos.

Bom a ferramenta tem inmeros recursos que no seria possvel descrever em um nico artigo, mas a ideia aqui foi

www.codificandomagazine.com.br

Dez / Jan - 10/11

38

e-magazine

Codificando.net e-magazine
|

www.codificandomagazine.com.br

Dez / Jan - 10/11

39

e-magazine

O que ser de 2011?


Por: Alexandre Tarifa
Estamos acostumados aqui no Brasil nesta poca de comeo de ano a ver na TV, jornais, sites, etc diversas pessoas tentando adivinhar o futuro de diversas formas... f, milagre, crena, etc etc... Eu particularmente no acredito muito nessas teorias, mas respeito e muito quem acredita. Mas o que isso tem a ver? Nesta coluna pretendo adivinhar as tendncias e situaes de 2011... Claro que uma brincadeira baseada em palpite e sorte mesmo... Daqui um ano, veremos se fui bem :) Para mim 2011 ser{ um ano do apago do profissional de TI. O Brasil est{ crescendo muito e o ano passado comeou cheio de dvidas... Com isso os projetos comearam com o freio de mo puxado e tenho certeza que muitos projetos do ano passado sobraram para este ano... Com isso, alm do amplo crescimento dos projetos em 2011, teremos uma grande sobra de 2010. Naturalmente a {rea de TI que j{ totalmente carente, ficar{ mais e mais... O que acontecer{?

desqualificados com bons sal{rios (risco da bolha) Consultorias especializadas aparecendo a cada dia Problemas, problemas e mais problemas para contratar profissionais.

Arrisco-me a dizer ento que o ano de investir nos profissionais atuais e na sua categoria de base... Invista em programas de est{gio, contrate garotos, arrisque com a gerao que est{ entrando ou prestes a entrar na universidade. Valorize os seus profissionais e os reconhea... Se no algum far{ isso por voc. Se inspire nas empresas de fora do Brasil que as pessoas gostam de trabalhar como Google, Facebook, Microsoft, etc e pare com essa besteira de formalidades, ambiente de trabalho ultrapassado, etc. Tambm acredito que 2011 ser{ o ano do empreendedorismo entre os profissionais de TI... Esse efeito ser{ causado principalmente pelo grande crescimento do potencial de negcio na internet... Lembre-se que aqui no Brasil ainda engatinhamos e o potencial assustador.

Contratao de profissionais qualificados a preo de ouro ou diamante Contratao de profissionais

www.codificando.net

Dez Jan 10/11 Abril //Maio-2009

||

40

e-magazine
Os profissionais de TI vo se inspirar em Mark Zuckerbers e conseguiro ver que conseguem usar o seu conhecimento para gerar e criar negcios, startups, etc... E muitos ganharo muito dinheiro com isso. Claro que a formao de TI nossa muito deficiente no aspecto de negcio e administrao... Mas para isso que existem os grupos de investidores por ai para dar essa possibilidade. Para os profissionais de desenvolvimento, eu acredito que este ano o de investir muito em conhecimento de internet... Tem uma frase que repito a cada entrevista que fao: trabalhar com internet usa o mesmo ASP.NET, o mesmo C#, o mesmo .Net Framework... porm um mundo 100% novo. Temos pouqussimos profissionais de desenvolvimento .Net preparados para desenvolver sites... parece ridculo! Mas desenvolver uma aplicao que milhares de pessoas acessam, de diversos tipos de navegadores, cidades, estados, pases, internet, etc etc etc pode ser muito mais difcil do que sistemas com regras ultra complexas. Acredito que tambm este ano ser{ um ano para criarmos novas solues pensando em plataformas... twitter, facebook, kinect, etc... em 2010 j{ vimos muitas coisas, mas creio que este ano essa necessidade crescer{ muito... aquela frase conhecida inicie uma aplicao integrada ao Facebook e tenha 500 milhes de usu{rios. Em tecnologia, este ano de 2011 continuaremos dizendo que o celular o futuro... infelizmente aqui no Brasil no www.codificando.net
Dez Jan 10/11 Abril //Maio-2009

nem ser{ o presente to cedo, pois os preos de devices e servios como 3G por exemplo, so dos mais caros do mundo... por isso uma popularidade to baixa. 2011 o ano da oportunidade... o ano de crescer, de pensar grande, de acreditar em grandes ideias e projetos! Chega de pensar pequeno, de trocar de emprego por R$ 500,00 e deixar um sonho para tr{s! o ano de arriscar! De no desperdiar ideias, de executar as ideias... arregaar as mangas e por no ar! Nos momentos de lazer, o kinect est{ ai como um device totalmente inovador, com um custo acessvel e com uma evoluo muito grande que pode ser aproveitada por ns desenvolvedores... no pense no kinect s como um vdeo game... pense grande! Por que no usar a API dele e criar algo inovador? Concluso: 2011 o ano de inovar! Apostar! Colocar na pr{tica todas as ideias que j{ tivemos e deixamos no papel ou nos nossos sonhos. Feliz 2011

||

41

You might also like