Codificando e Magazine0
Codificando e Magazine0
Codificando e Magazine0
#0
360 SPARTA
N U MER O 0 ANO I
COLUNA DE QUALIDADE
Codificando Net
e-magazine
Colunas
● BizTalk.ing
● 360 Sparta
● Qualidade
● Acadêmico
● Point2Share
● .Close()
Comunidade
> Entrevista com Leonardo ● Codificando .Net
Tolomelli (MVP Lead) ● Destaque do mês
● Eventos
> Artigo Know Types no WCF -
Israel Aéce
WWW.CODIFICANDOMAGAZINE.NET
POWERED BY
Codificando Net
e-magazine
CODIFICANDO.NET
NESTA
J U N H O 2 0 0 7
EDIÇÃO E D I Ç Ã O 0 A N O I
Editorial
Entrevista 3
Coluna: XNA 5
Sparta
Coluna: 6
BizTalk.ing É com muito prazer que a comunidade Codificando .Net anuncia a Codificando .Net e-Magazine, uma
revista eletrônica mensal com um objetivo claro: ajudar a compartilhar conhecimento para a comunidade!
Coluna de 8
Aliás, este sempre foi o grande objetivo desta comunidade. Por enquanto uma revista eletrônica, mas
Qualidade
quem sabe, dependendo dos resultados da adoção/recepção/colaboração da comunidade não
Coluna 10 conseguiremos evoluir para uma revista impressa? Seria sonhar demais?
Pont2Share
Coluna: Mundo 13 O formato da revista será bem alegre e informal, oferecendo uma leitura agradável e rápida. Acredito que
Acadêmico nas próximas edições teremos uma grande evolução da qualidade visual e no conteúdo.
Artigo: Know 15 O conteúdo da revista será baseado em colunas, entrevistas, opiniões, reportagens e previews, já que
Types no WCF temos muitos outros meios focados em artigos técnicos. A publicação é totalmente aberta a comunidade,
quem quiser participar, envie um email para [email protected].
Download do 18
Mês Nesta edição de lançamento contamos a presença de ilustres colunistas: Emerson Facunte, Feio Tomaz,
Eduardo Gomes, Maurício Wieler, Hélio Sá e Israel Aéce. Foram convidados pessoas de destaque na
Blog do Mês 19
comunidade e no mercado para falar sobre assuntos bem variados. Gostaria de agradecer o apoio dos
colunistas em apostar o tempo em um projeto saindo do papel. Fica aberto o convite para todos os
Dicas 20 membros da comunidade com a vontade de compartilhar também. Agradecemos também Leonardo
Tolomelli que fala sobre o programa MVP, comunidade e até Formula 1.
Codifando .Net 21
Acompanhe as sessões de destaques e coberturas de evento e fique
ligado o que acontece na comunidade nacional.
Evento: Codifi- 23 Equipe
cando 2007
Estamos totalmente abertos para opiniões, críticas, contribuições, etc.
Final da Imagine 24 Editor:
Uma boa leitura a todos
Cup Brasil 2007 Alexandre Tarifa
Co-Editores:
Coluna: 25 Alexandre Tarifa Andrey Sanches
.Close()
[email protected] Emerson Facunte
Colaboradores:
Hélio Sá Moreira
Feio Tomaz
Eduardo Gomes
Maurício Wieler
Israel Aéce
PÁGINA 3
Entrevista - MVP Lead Leonardo Tolomelli
Leonardo Tolomelli é MVP Lead na Microsoft, responsável pelo programa no Brasil e Cone-
Sul, ele nos ofereceu gentilmente uma entrevista falando sobre o programa MVP no Brasil,
comunidade e sua paixão por Fórmula 1. Acompanhe a primeira entrevista da Codificando e-
Magazine.
Olá Leonardo Tolomelli, obrigado por sobre o uso diário dos produtos e para validação de
participar da primeira edição da futuras versões do produto. Neste caso do MVPs
Codificando .Net e-Maganine. O que é funcionam como conselheiros dos times de produto e
exatamente o programa MVP (Most representam a voz da comunidade.
Valuable Professional) da Microsoft? Muitas pessoas confundem o programa MVP
Leo: O programa MVP, ou Most Valuable com alguma certificação ou prova da
Professional (Profissional Mais Valorado numa Microsoft, existe alguma relação entre os
tradução direta) é a forma que a Microsoft programas?
encontrou para agradecer os profissionais que Leo: São dois programas distintos e não há relação
de maneira voluntária compartilham seu entre eles. Para ser um profissional certificado
profundo conhecimento técnico de produtos Microsoft é necessário estudar profundamente um
e tecnologias Microsoft com outros membros produto, realizar o exame específico e obter a nota
da comunidade. O programa é um mínima. Para o programa MVP, existe um número
reconhecimento por esta iniciativa de bastante limitado de “vagas” (hoje, por exemplo, são
colaborar ajudando outros a melhor utilizar 72 os MVPs no Brasil) e para fazer parte é necessário
estes produtos e tecnologias. É um programa ser selecionado a partir de sua ativa participação na
técnico, e o título está sempre associado a comunidade através de contribuições voluntárias.
uma competência técnica específica (por
exemplo, MVP de Windows Server –
Networking ou Visual Developer – Visual Como você visualiza a importância da
Basic) comunidade para evolução dos produtos da
Microsoft?
“ O Brasil é um .
Leo: Cada dia mais as equipes de desenvolvimento
Qual o critério de seleção da Microsoft estão se dando conta da importância de ter contato
fenômeno a parte
para escolha destes profissionais? com a comunidade que utiliza o produto no dia a dia
quando falamos Leo: Estamos interessados em pessoas que para entender o que realmente o mercado precisa.
tenham este espírito colaborativo e cujas Dentro da Microsoft hoje, praticamente todos os
de comunidade”
contribuições são realmente voluntárias e times possuem pessoas que tem por objetivo
realizadas naturalmente. São pessoas que se observar a comunidade e levar a palavra dos usuários
satisfazem através da ajuda que proporciona aos desenvolvedores. São estas pessoas por exemplo
aos membros da comunidade que faz parte. que tem fazem a ponte entres os MVPs e o time de
Para a seleção do programa levamos em produto.
consideração as contribuições realizadas à Acredito que o Visual Studio .NET foi um marco
comunidade nos últimos 12 meses. Entre estas neste ponto. Foi o primeiro produto da Microsoft a
contribuições esta a participação ativa em contar com um grande programa de beta aberto à
fóruns de discussão e newsgroups, publicação comunidade, que na época contou com mais de 3
de livros e artigos técnicos, participação ativa milhões de participantes. O Windows Vista já contou
em grupos de usuários, palestra em eventos com quase 5 milhões de participantes no programa
da indústria e muitas outras. Qualquer forma beta, avaliando e dando feedback sobre o
de compartilhamento de conhecimento desenvolvimento do produto. Isso será cada vez mais
realizado de maneira voluntária (que seja parte comum. com mais de 3 milhões de participantes. O
do seu trabalho remunerado), vale para o Windows Vista já contou com quase 5 milhões de
programa. participantes no programa beta, avaliando e dando
feedback sobre o desenvolvimento do produto. Isso
será cada vez mais comum.
Fale um pouco sobre o seu papel na
Microsoft em relação ao programa
MVP. As comunidades no Brasil vêm crescendo
Leo: Os MVPs são vistos pela Microsoft como muito nos últimos anos, qual a atual situação
especialistas na competência técnica do seu do país em relação aos países do Cone Sul e do
título, e desta forma os times de produto de mundo?
Redmond investem numa aproximação com Leo: O Brasil é um fenômeno a
os MVPs para colher feedback e sugestões parte quando falamos de
comunidade. O que eu percebo
comparando com Estados Unidos e outros países da
PÁGINA 4
Entrevista - MVP Lead Leonardo Tolomelli
por exemplo, é que existe uma preferência como podemos nos aproximar cada vez da
por algum tipo de comunidade. Nos EUA, por comunidade como um todo.
exemplo, a comunidade online através da
participação em fóruns e newsgroups é muito
grande. Na América Latina, o povo já prefere Leo Tolomelli, ficamos sabendo que você é fã
o contato pessoal e reuniões de grupos de de formula 1, na realidade gosta muito de
usuários ou eventos realizados pela Microsoft automobilismo em geral. Você acredita nos
são os preferidos. No Brasil os dois tipos de novos talentos nacionais? Conte-nos um
atividades têm uma forte participação. Os pouco da sua vivência sobre a paixão
fóruns são populares, como também os automobilística.
eventos presenciais, além das novidades como Leo: Bom, o que me atrai no automobilismo, e em
Blogs por exemplo. O brasileiro é bastante especial da Fórmula 1, é a união entre duas das
ativo e está sempre procurando uma forma de minhas paixões, automóveis e tecnologia. É muito
interagir. interessante observar não somente as corridas em si
(que são muito emocionantes por si só e já valem o
espetáculo), mas também toda a tecnologia
Você acredita que a participação em envolvida neste circo. As decisões que são tomadas,
comunidade ajuda no crescimento/ as tecnologias adotadas em busca daquele milésimo
reconhecimento profissional? de segundo a mais. É fascinante.
Leo: Sim, sem dúvidas. Existem diversos Com relação aos talentos nacionais, eu acredito que
motivos para participação em comunidades estamos vendo uma grande safra de pilotos
“O Brasil está bem
que variam desde querer aprender, brasileiros com futuro promissor nas categorias
maduro com compartilhar sua experiência ou simplesmente internacionais. Para quem me conhece bem sabe que
socializar. As comunidades oferecerem sou fã do Felipe Massa desde 2001 quando foi
relação às excelentes oportunidades para encontrar campeão da Fórmula 3000 e acredito que hoje está
outros profissionais (ou empresas) com muito maduro e colhendo os frutos do investimento
comunidades e
experiências e objetivos equivalentes aos seus, destes últimos anos. Se tudo der certo, será
uma comunidade o que normalmente gerar oportunidade de campeão do mundo. Mas o futuro será ainda
engajamento e até mesmo de negócios. Se melhor! Imaginem que em 1 ou 2 anos podemos ter
forte gera você não estiver lá, vai perder a oportunidade. novamente uma briga de Piquet e Senna na F1, agora
oportunidade de protagonizada por Nelsinho Piquet (filho do tri-
Voltando a falar sobre o programa MVP, campeão) e Bruno Senna (sobrinho do outro tri-
aprendizado para campeão). Outro nome que não podemos esquecer
qual o principal benefício que a MS
todos. Continuem oferece aos MVP´s e o que os MVP´s e que tem muito talento é o Lucas DiGrassi.
oferecem a MS de benefício? Escrevam este nome.
com o grande Mas o melhor de tudo é que no Brasil também as
Leo: Em minha opinião o maior benefício para
trabalho” os MVPs (vocês deveriam perguntar para eles coisas melhoraram muito. Basta dar uma olhada na
para confirmar) é o contato com o time de Stock Car, onde hoje correm 6 ou 7 ex-pilotos de
produto, que oferecer uma oportunidade F1, é muito expressivo.
única de trocar experiências, conhecer
melhores práticas e influenciar nas futuras Para finalizar, qual mensagem você deixa a
versões. Para a Microsoft, é a oportunidade de comunidade brasileira?
estar próximo a um grupo extremamente
influente em suas comunidades para ouvir seus Leo: O Brasil está bem maduro com relação às
desejos e feedback para incorporar em comunidades e uma comunidade forte gera
versões futuros do produto, além de entender oportunidade de aprendizado para todos.
Continuem com o grande trabalho.
Divirtam-se.
Facunte - http://www.facunte.com.br
Feio Tomaz ([email protected]) é tecnólogo em Processamento de Dados, formado pela Fatec-Americana. MCTS em
BizTalk Server 2006, trabalha desde 2004 como consultor especialista em Desenvolvimento de Processos de Negócio e Soluções de Integração.
Atualmente é consultor da ITGROUP. Trabalha há tanto tempo na área que nem consegue mais se lembrar.....
PÁGINA 8
Coluna: Coluna de Qualidade
É um prazer escrever esta coluna sobre um assunto não muito explorado como qualidade de software. Talvez eu possa
dar a minha humilde contribuição, e estimular o debate sobre o assunto. Gostaria de fazer uma experiência, leia o texto
abaixo:
“Nenhuma cena da pré-história é tão vívida como a luta de grandes monstros sobre um poço de piche. Em nossa imaginação
vemos dinossauros, mamutes e tigres dentes-de-sabre lutando contra o piche pegajoso. Quanto mais violenta a batalha, mais ficam
envoltos em piche, e nenhum monstro é tão forte ou habilidoso que não acabe afundando.
A programação de grandes sistemas na última década tem sido este poço de piche, e grandes e poderosos monstros foram vencidos
violentamente. Alguns sistemas que funcionam surgiram – destes muitos poucos atenderam requisitos, planejamento e orçamento...”
Qualidade
Quando você imagina que o texto foi escrito?
Pois bem, o texto é de 1975, faz parte do primeiro ensaio do clássico obrigatório da nossa área: The Mythical Man Month.
E se este texto se mantém atual precisamos refletir sobre o que continua dando errado, afinal, nós temos ferramentas
mais produtivas, maior acesso a informação, metodologias mais maduras, etc. Mas mesmo com a evolução de todos os
aspectos do desenvolvimento de sistemas nos últimos trinta anos, ainda estamos desenvolvendo os mesmos monstros
que lutam para se salvar do poço de piche.
Talvez seja o momento para fazer um meaculpa. Nós desenvolvedores “Microsoft” sempre nos orgulhamos de sermos os
mais produtivos, os únicos que cumprem as necessidades de uma inteligência de negócio sempre mutante, que algo que
um desenvolvedor Java levaria um mês, um desenvolvedor VB poderia fazer em uma semana.
As nossas ferramentas de trabalho (Visual Studio, SQL Server, Reporting Services, etc) sempre acompanharam essa
mentalidade do simples e rápido, deixemos o Java com o IDE Eclipse e suas dezenas de plug-ins. E neste meio tempo
enquanto nós, desenvolvedores “Microsoft” melhorávamos a nossa produtividade, eles evoluíram em diversas técnicas de
qualidade de software como automação de testes, refactoring de código, design patterns, software factories, processo de
integração contínua e muitas outras frentes.
Não me entenda mal, os projetos Java criam os seus próprios “monstros no poço de piche”, o que eu acredito é que nós
podemos tirar vantagem de toda a experiência de projetos de código aberto e incorporar algumas idéias no nosso
processo de desenvolvimento.
O primeiro conceito que eu gostaria de explorar é: aplicações devem ser projetadas para testes e manutenção.
Apesar da maioria das aplicações se reduzirem a um punhado de arquivos binários e um banco de dados, elas precisam
ser consideradas um bem, um ativo da empresa e, desse modo, nós desenvolvedores precisamos criá-las com a premissa
de que alterar ou trocar uma solução é algo que requer esforço e dinheiro. Essa mentalidade de construir uma solução
para durar pode parecer simples, mas é um compromisso que se inicia na venda e que não tem fim. É o “vender bem”,
“projetar bem”, “testar bem”, “distribuir bem”, “entregar bem”, etc.
Uma das soluções para alcançar este objetivo é projetar a solução para ser testada. Um conjunto de testes automatizados
não tem preço para uma solução:
Desencoraja o desenvolvedor a criar métodos imensos ou classes que misturem responsabilidades já que este tipo
de código é muito difícil de testar
Garante uma manutenção segura uma vez que evita que pequenas alterações causem algum problema sem que seja
notado, já que um teste automático que falhe é notado mais rapidamente que executar um teste manual
Serve como uma documentação viva da solução já que um conjunto de testes contém mais detalhes sobre um
requisito da aplicação do que qualquer documento possa possuir
PÁGINA 9
Coluna: Coluna de Qualidade
Outro ponto de vista sobre o conceito que eu citei é a manutenção do software, uma atividade considerada um pouco
marginal pelos desenvolvedores.
A verdade é que a manutenção é tão desprezada porque ninguém gosta de lidar com código excessivamente complexo e
desorganizado. Se uma equipe de manutenção pudesse recusar uma aplicação nestas condições ela o faria, pois uma
aplicação que é engessada e dificulta o acoplamento de novas funcionalidades é a frustração de qualquer projeto de
manutenção.
Qualidade
Por outro lado, se você trabalha na primeira versão de um aplicativo, pense nas vantagens de criar um código amigável
para manutenção. Quando isto acontece você não fica preso com a propriedade do código e pode partir para o próximo
projeto mais rapidamente. Além disso, é péssimo para a sua reputação um código que fica órfão e não evolui com o
tempo, já que indica que você não teve a habilidade ou o cuidado de prepará-lo para durar e não ser jogado fora depois
de algum tempo.
Como toda idéia que reside no senso comum seria muito ingênuo achar que estas sugestões poderiam ser aplicadas em
qualquer cenário. É claro que devemos criar as nossas aplicações mais testáveis e simples de dar manutenção. No entanto
se imaginarmos situações como utilizar uma tecnologia muito inovadora que possa dar uma vantagem competitiva para a
solução, por exemplo, utilizar o Microsoft Silverlight para prover uma experiência rica para um site, talvez precisaremos
fazer algo rápido e sujo, ou não poderemos explorar a tecnologia. Ainda assim, esse tipo de cenário deve sempre ser
isolado de outras partes da solução para garantir a saúde do código em longo prazo.
Enfim, espero que estes conceitos façam parte da sua realidade, se isto for verdade a chance de suas aplicações sofrerem
de problemas de qualidade é muito pequena. Mas se estes conceitos forem apenas teoria para você espero que esta
coluna tenha dado argumentos para ajudar você a convencer quem quer que seja das vantagens de se pensar em longo
prazo ao desenvolver soluções. Talvez você não tenha o poder de decidir como as coisas são feitas em sua empresa, mas
é o seu papel mostrar os benefícios de se passar de um processo de manufatura de código para algo realmente
profissional. O meu objetivo nesta coluna é dar a minha pequena contribuição para ajudar-lhe nesta tarefa.
Lembre-se, a solução na qual você está trabalhando é um bem da empresa que precisa durar.
Aqui já vai uma dica, atualmente o Office Live possui 3 pacotes de serviços evolutivos – o Office Live Basics, Office Live
Essentials e Office Live Premium – sendo o primeiro deles inteiramente gratuito () e os outros com períodos de
avaliação de 30 dias.
Ou seja, temos muito assunto para tratar sobre o desenvolvimento com base ou integração com todos estes produtos –
com certeza passaremos por VSTO – Visual Studio Tools for Office, Desenvolvimento Office System, OpenXML,
Formulários Eletrônicos com base no Office InfoPath, customização das tecnologias Sharepoint, OBA - Office Business
Applications e muito, mas muito mais mesmo.
Abordaremos também tópicos não-técnicos, ou seja, podemos conversar de forma bastante extensa sobre necessidades
corporativas, focos de integração, produtividade e outros pontos que nos assombram durante o dia-a-dia de trabalho.
Pensem nestes pontos como os possíveis motivadores para o desenvolvimento de alguma aplicação ou customização – ou
seja – nossas necessidades diárias que fomentam o desenvolvimento de soluções.
Como temos um mundo de assuntos para conversar, gostaria de aproveitar este nosso primeiro encontro já para
apresentar novidades com relação a um dos produtos que mais gosto e trabalho, sendo um dos meus prediletos
atualmente, o Sharepoint. Let's rock ....
PÁGINA 11
Coluna: Point2Share
Quando começamos a falar em Sharepoint, surjem automaticamente e invariavelmente diversas dúvidas e
questionamentos sobre o mesmo – algo perfeitamente normal – mas são sempre os mesmos. São eles:
Point2Share
1. “O que é esse tal de Sharepoint?”
2. “Por que devo utilizar o (esse tal de) Sharepoint?”
3. “Quais as diferenças entre o WSS e o MOSS?” (Prometo esclarecer a sopa de letrinhas alguns
parágrafos abaixo)
Se ao final desta coluna conseguirmos responder claramente estas 3 dúvidas; eu confesso a vocês que ficarei imensamente
realizado – pois estas respostas e esclarecimentos são primordiais para que possamos visualizar os benefícios do
Sharepoint e conseqüentemente vislumbrar os possíveis cenários de utilização e implantação.
Seguindo o direcionamento de assuntos e abordagens que detalhamos alguns tópicos acima, veremos agora algumas das
mais latentes necessidades corporativas – ou seja – vamos falar dos problemas atuais.
Colocando-me como usuário de um ambiente corporativo – e de seus respectivos serviços - qualquer (o que não deixa de
ser real ainda hoje para todos nós), enfrento particularmente os seguintes problemas durante a realização das minhas
atividades diárias:
Dificuldade em encontrar as informações corretas, uma vez que quanto maior o ambiente de trabalho maior
o volume de informações geradas – resultando conseqüentemente em grandes ilhas desconectadas e ingerenciáveis
de conteúdo. Pense sobre o seguinte cenário:
File Shares corporativos onde necessito trabalhar com 3, 4, 5 ou mais compartilhamentos de “fácil acesso”
– tal como brfscorp01, fpsserverlatam07 e outras variações bem interessantes;
E-mail´s – Exchange Server e mais 3 ou 4 arquivos locais (PST´s) somando aproximadamente meus 5 Gb´s
de e-mail;
HD local – Onde diariamente me confundo com minhas próprias tentativas de organizar arquivos
localmente, afinal, são tentadores os 80, 120 ou 160 Gb´s locais;
Conclusão: A informação que procuro esta com certeza armazenada em algum destes muitos repositórios.
Posso não perceber, mas gasto diariamente muito e muito tempo procurando esta informação. Ou seja, o
tempo desprendido na procura, e não efetivamente em produtividade e geração de conhecimento/negócios, é
muito grande.
Dificuldade em ser produtivo, uma vez que cada repositório de informações contém seu próprio mecanismo de
indexação e busca de informações. Produtividade muitas vezes não esta relacionada somente à rapidez com que você
responde as necessidades corporativas, mas vale também considerar a confiabilidade de tal trabalho; ou seja, outro
ponto importante é que com toda esta confusão fica realmente difícil acreditar e garantir a confiabilidade das
informações utilizadas neste exato momento. Quer um exemplo clássico? Então responda com certeza o seguinte
questionamento:
“Você tem certeza de que esta é a última versão deste documento (ou informação)?”
Conclusão: Achar a informação correta e confiável em um período pequeno – para ser produtivo – é essencial em nosso
dia-a-dia.
PÁGINA 12
Coluna: Point2Share
Gostaria de compartilhar alguns outros estudos com vocês – de entidades internacionais – com relação a estes pontos.
“Employees get 50%-75% of their relevant information directly from other people. “
Point2Share
“More than 80% of enterprise's digitized information reside in individual hard drives and in personal files.”
“Individuals hold the key to the knowledge economy and most of it is lost when they leave the enterprise.”
From “The Knowledge Worker Investment Paradox”
Gartner research 7/17/2002
Neste momento, espero que vocês estejam se questionando: “É .... acho que precisamos nos organizar, e organizar
consequentemente nossas informações!” Agora vamos lá, respostas rápidas e fáceis às nossas principais perguntas:
1. “O que é esse tal de Sharepoint?” – Uma plataforma tecnológica com foco e direcionamento à gestão de
informações corporativas; facilitando consequentemente a organização, centralização, gerenciamento e segurança,
proporcionando maior produtividade à medida que as informações tornan-se consistentes, seguras, confiáveis e
principalmente visíveis. De forma evolutiva, o Sharepoint pode também ser utilizado como uma plataforma de
gerenciamento de processos corporativos – afinal, processos compõe e são compostos por Informações!
2. “Por que devo utilizar o (esse tal de) Sharepoint?” – Porque sua infra-estrutura de serviços proporciona de
forma rápida, eficiente e segura um alto nível de controle das informações - sendo base de processos colaborativos
onde a transferência e organização de conhecimentos torna-se primordial para a evolução contínua e igualitária de
todos os seus consumidores. O alto nível de integração com as ferramentas do Office System proporcionam níveis
cada vez mais altos de produtividade, assim como sua interface de usuário baseada no ambiente Web traz uma ótima
usabilidade. Ou seja, o Sharepoint pode ser interessante porque ele nos ajuda tecnologicamente a organizar nosso
imenso espaço de dados, informações e conhecimentos corporativos dispersos.
3. “Quais as diferenças entre o WSS e o MOSS?” – Eu costumo dizer que o Sharepoint esta disponível em 2
sabores diferentes – ou seja – em 2 versões distintas.
A sigla WSS significa Windows Sharepoint Services – não pode ser caracterizado efetivamente como um produto,
mas sim como uma tecnologia. Fica mais fácil com isso entender que o WSS é uma parte integrante do sistema
operacional Windows Server 2003 e, como parte integrante, não requer licenciamento adicional. Isso mesmo (alguns
custam a acreditar nesta informação), se você já usa o Windows Server 2003, Parabéns, você já possui direito de
utilizar o WSS em seu ambiente corporativo sem nenhum ônus de licenciamento – basta obtê-lo a partir do site de
downloads da Microsoft. Já a sigla MOSS faz referência ao Microsoft Office Sharepoint Server 2007, um produto
Microsoft da linha Windows Server System. Este produto faz o uso do WSS como a sua Plataforma Base de serviços
(entenderam por que o WSS ser caracterizado como uma tecnologia?) – extendendo os recursos básicos e
implementando uma série de funcionalidades e características como foco em necessidades corporativas. Como
qualquer produto, o MOSS requer licenciamento para ser utilizado.
Ou seja, o WSS implementa os recursos básicos da plataforma de colaboração e gerenciamento de informações,
sendo o MOSS um produto muito mais extenso do ponto de vista de funcionalidades e recursos tanto para usuário,
como para desenvolvedores e administradores.
Mas não se engane, o WSS mesmo sendo uma tecnologia, pode se tornar uma grande e real plataforma corporativa.
Por questão de espaço, para visualizar com mais detalhes quais recursos são disponibilizados no WSS ou extendidos e
implementados pelo MOSS – recomendo o seguinte link: Which SharePoint technology is right for you? http://
office.microsoft.com/en-us/sharepointtechnology/FX101758691033.aspx?ofcresset=1
Fiquem tranquilos, nos próximos meses falaremos mais das funcionalidades em si – sempre abordando diferenças de
comportamento ou funcionalidade entre, por exemplo, o WSS e o MOSS. Espero vê-los por aqui em nossas próximas
edições, onde tentarei evoluir um pouco mais sobre esta primeira abordagem de Sharepoint, cenários de implantação e
muito mais.
Hélio Sá Moreira ([email protected]) é Microsoft MVP (Most Valuable Professional) em Office Share-
point Server 2007, especialista em arquitetura e implementação de soluções corporativas com atuação direta nas maiores e
mais importantes empresas nacionais. Entusiasta da plataforma de IW - Information Worker com abrangência a produtos
tais como Office System 2007, Office Sharepoint Server 2007, Office Communications Server 2007, Groove 2007, entre
muitos outros. Possui grandes interesses e atua também com as áreas de Data Management (SQL Server 2005) e Business
Intelligence (SQL Server 2005, PerformancePoint Server, Proclarity). Palestrante de grandes eventos tais como Microsoft
Tech-Ed 2006, BIT 2006, MS Innovation Days, e outros mais...
PÁGINA 13
Coluna: No Stress… Think .Net
É com muito prazer que irei escrever neste espaço sobre assuntos e atividades acadêmicas relacionadas às
tecnologias Microsoft, dando ênfase especial ao .NET.
Queria em particular relatar a experiência deste ano, a respeito da Imagine Cup 2007, que tem como tema a
Mundo Acadêmico Educação. Tive o prazer de ser juiz nas fases Semifinal e Final e perceber o quão engajados estão os alunos e quão
interessantes e criativos foram os trabalhos apresentados nas rodadas citadas.
Aproveito este espaço para incentivá-los a participarem na competição, que agora se encaminha à fase da Final
Mundial, na Coréia do Sul. São diversas categorias, que cito abaixo:
Participem, ousem, tentem, estudem, reúnam-se, mostrem a sua capacidade e vontade de vencer, utilizem as
tecnologias de ponta da Microsoft, .NET, WPF, WCF, Windows Vista, Silverlight, enfim, tudo o que lhes vier à mente
e que lhes proporcione a possibilidade de elaborar um projeto interessante e que lhes permita classificar, chegar às
fases Semifinal e Final. Não é apenas o prêmio físico, de poder viajar à França (local da final mundial da Imagine Cup
2008), mas também representar a sua Universidade, trabalhar em grupo, fazer um belo networking e mostrar ao
mundo a sua capacidade.
Vocês têm a faca, o queijo nas mãos e a criatividade própria de nós, brasileiros, para brilharem e mostrarem do que
são capazes.
Infelizmente não funciona da mesma forma quando falamos de serviços que são expostos a partir do WCF. Neste cenário, por padrão, você não pode usar
uma classe derivada ao invés de uma classe base. Sendo assim, se quisermos utilizar esta classe base publicamente (parâmetros e retorno de métodos),
precisamos nos atentar em algumas técnicas para permitir isso. Para exemplificar o problema, vamos analisar o código contrato abaixo:
C# VB.Net
using System; Imports System.ServiceModel
using System.ServiceModel;
<ServiceContract()> _
namespace DevMinds.Library Public Interface IGerenciadorDeContatos
{
[ServiceContract] <OperationContract()> _
public interface IGerenciadorDeContatos Sub AdicionarContato(p As Pessoa)
{
[OperationContract] <OperationContract()> _
void AdicionarContato(Pessoa p); Function RecuperaContatos() As Pessoa()
E, além do contrato, temos a classe Pessoa que possui apenas uma propriedade do tipo string:
C# VB.Net
using System; Imports System
using System.ServiceModel; Imports System.ServiceModel
using System.Runtime.Serialization; Imports System.Runtime.Serialization
Supondo-se que o cliente defina uma classe chamada Fisica (de pessoa física) que herde diretamente da classe Pessoa e tente enviar a instância desta classe
para o método AdicionarContato. Apesar de compilar, você terá uma exceção quando o código for executado, pelo fato de que quando você passar a classe
Fisica ao invés de Pessoa o serviço não saberá como deserializar a "Pessoa" que é recebida. O mesmo vale para quando você tem uma coleção em seu
serviço de uma classe derivada e tenta retorná-la para o cliente, expondo através do retorno do método uma coleção de tipos base.
PÁGINA 16
Artigo: Know Tipes no WCF
Para suavizar este problema, o WCF introduziu um atributo chamado KnownType. Esse atributo recebe em seu construtor um Type, indicando à infra-
estrutura do WCF que existe uma classe derivada do tipo onde o atributo é aplicado e que ela também pode ser aceita. Quando você define este atributo
do lado do servidor, você permitirá que todos os contratos e operações que utilizem este tipo base possam aceitar o tipo especificado pelo atributo. O
exemplo abaixo ilustra como devemos proceder para utilizar o atributo KnownType:
C# VB.Net
[DataContract] Imports System
[KnownType(typeof(Fisica))] Imports System.ServiceModel
public class Pessoa Imports System.Runtime.Serialization
{
//Implementação <DataContract, KnownType(GetType(Fisica))> _
} Public Class Pessoa
'Implementação
[DataContract] End Class
public class Fisica : Pessoa
{ <DataContract>
//Implementação Public Class Fisica
} Inherits Pessoa
'Implementação
End Class
Uma vez aplicado este atributo, ele fará com que a classe derivada seja adicionada nos metadados do serviço e, conseqüentemente, o cliente terá a definição
da mesma, podendo passá-la para o serviço ao invés da classe base. Desta forma, podemos tranquilamente executar o código que antes do atributo era
impossível:
C# VB.Net
using (GerenciadorDeContatosClient proxy Using proxy As New GerenciadorDeContatosClient
= new GerenciadorDeContatosClient()) ()
{ Dim f As New Fisica()
Fisica f = new Fisica(); f.Nome = "Israel"
f.Nome = "Israel"; f.Cpf = "00000000000"
f.Cpf = "00000000000"; proxy.AdicionarContato(f)
proxy.AdicionarContato(f); End Using
}
Como disse anteriormente, o ponto negativo deste atributo é com relação ao escopo, pois ele permite que todos os locais onde aceite uma classe base,
aceitar um tipo derivado especificado no atributo. Se não quisermos isso, ou seja, se desejarmos habilitar este recurso somente para uma determinada
operação, um contrato ou um serviço, podemos utilizar o atributo ServiceKnowType, que pode ser aplicado a um método, Interface ou classe. Com isso, o
nosso código mudará ligeiramente, permitindo que somente um determinado método aceite instâncias da classe Fisica:
C# VB.Net
using System; Imports System
using System.ServiceModel; Imports System.ServiceModel
using System.Runtime.Serialization; Imports System.Runtime.Serialization
C# VB.Net
using System; Imports System
using System.ServiceModel; Imports System.ServiceModel
using System.Runtime.Serialization; Imports System.Runtime.Serialization
Para finalizar, ainda temos um detalhe importante quando falamos de know types que é em relação à recompilação do código cliente ou do serviço quando
alguma nova classe derivada deve ser informada para que ela possa ser utilizada. Uma vez que um novo tipo precisa ser utilizado, implica em mudar o código,
recompilá-lo e redistribuí-lo. Para amenizar isso, o WCF permite-nos fazer essa configuração, ou melhor, adição de novos tipos, a partir do arquivo de
configuração, como é mostrado através do trecho de código abaixo:
*.config
<system.runtime.serialization>
<dataContractSerializer>
<declaredTypes>
<add type="DevMinds.Library.Pessoa, DevMinds.Library, Version=1.0.0.0, PublicKeyTo-
ken=null">
<knownType
type="DevMinds.Client.Juridica, DevMinds.Client, Version=1.0.0.0, PublicKeyTo-
ken=null"/>
</add>
</declaredTypes>
</dataContractSerializer>
</system.runtime.serialization>
Conclusão: Mais uma vez vimos através de uma pequena funcionalidade o quanto o WCF é flexível e permite de uma forma bem fácil e simples integrar o
código e seus tipos que são desenhados e executados no cliente com o código que temos no servidor.
Download do Mês
Nada mais nada menos que o Visual Studio “Orcas” beta 1. Para que gosta de testar o produto e
estudar os novos recursos, a Microsoft já disponibilizou o Download de todas as suas versões em fase
beta. Evidente que como o produto é beta, alguns bugs devem ser encontrados, alias, esse é o objetivo
da Microsoft.
Algumas versões só podem ser baixadas por assinantes MSDN Subscribe, mas quem não é assinante
pode baixar tranqüilamente as versões Express.
O site para download é: http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx.
Blog Nacional
Israel Aéce é um grande destaque na comunidade com contribuições de artigos e fórum MSDN, seu blog
já é muito conhecido na comunidade nacional, sempre atualizado contando as experiências do dia-a-dia
de projetos, problemas, dicas, etc. Sempre com assuntos atuais e relevantes, vale a pena assinar seu Feed
ou acessar diretamente a URL do blog.
quem acompanha Rob Caron faz parte do time do produto VSTS na Microsoft em Redmound, com atualizações constantes
o blog é material essencial para quem acompanha o produto VSTS em todo mundo. Se quiser saber
tecnologia” tudo sobre lançamentos, versões, futuro, etc. basta acompanhar o blog do Rob. Um grande destaque do
blog foi um post feito por ele sobre o livro VSTS Rocks Brasil, um livro nacional que foi citado como
referência de leitura por esse famoso blogger.
Hoje em dia temos uma quantidade gigantesca de materiais de estudo, porém um direcionamento sobre
esses materiais é sempre muito importante. Nesta edição vamos apontar bons materiais produzidos no
país.
Iniciantes em .Net
“Hoje em dia
Se você está iniciando seus estudos em .Net, no site http://www.facunte.com.br, encontramos materiais
temos uma utilizados em sala de aula, treinamentos, etc. pelo professor, palestrante, MVP, viciado em XBOX
Emerson Facunte. O material pode ser baixado gratuitamente no site.
quantidade
gigantesca de
materiais de
http://www.facunte.com.br
estudo, porém um
direcionamento XNA
sobre esses
materiais é sempre Agora se você é viciado em games e sonha em desenvolver o seu jogo, o site SharpGames, a primeira
comunidade brasileira de XNA oferece um guia de aprendizado sobre a tecnologia, criado por André
muito importante” Furtado, que é um dos grandes divulgadores da tecnologia no Brasil
http://www.sharpgames.net/Default.xna
Comunidade Codificando .Net
PÁGINA 21
A comunidade Codificando.Net surgiu em 2002, do mês, que é uma premiação dada ao membro
da idéia de agrupar um grande número de que participar mais ativamente da lista de
desenvolvedores, usuários e entusiastas da discussão.
tecnologia.NET para que os mesmos trocassem A comunidade Codificando.net possuí objetivos
experiências sobre modelos, meios e formas de claros e diretos:
desenvolvimento.
Levar o conhecimento adquirido e
Os principais meios de cooperação e interação
compartilhar as experiências;
técnica entre os membros da comunidade são:
Web Site, www.codificando.net, realização de Desenvolver cada vez mais o conhecimento
eventos presenciais, participação em palestras em sobre a tecnologia.NET;
universidades, artigos técnicos e fórum de Promover palestras, encontros e seminários
“Aprendizado, discussão através de lista de email.
sobre a tecnologia .NET;
A participação de todos é o que contribui para
companherismo, Agrupar os interessados em todo o Brasil;
uma melhor performance e conhecimento de
ensino e todos, pois a cada nova pergunta, a cada novo Solidificar e estimular o uso das linguagens da
artigo, passamos a encarar os problemas de uma plataforma por todos.
aprendizado forma clara e objetiva, deixando complicações e
Esses objetivos nos dá motivação para
frustrações de lado.
constante. continuarmos lutando para que cada vez mais,
Para essas pessoas que contribuem para o novas pessoas se interessem.
Assim se faz a perfeito funcionamento da comunidade, podemos,
por meio de parcerias, recompensá-las através de
nossa
reconhecimentos, como por exemplo, o destaque
comunidade.”
Divisões e equipe
O Codificando.Net foi fundado em 2002 no interior de São Paulo, em Campinas por Max Moussiman Neto. Nesta data foi
lançado o Site Oficial e a Lista de Discussão (email). Em apenas 2 meses a lista de discussão já contava com mais de 200
membros participantes. Vários outros projetos foram incrementando ainda mais o Web Site do Codificando.Net, um exemplo
disso foi o inovador ViOn.Net (http://www.codificando.net/view_ViOn.aspx) , um sistema de vídeos on-line, até então algo
praticamente desconhecido no Brasil.
Em 05/2004 o Codificando.Net realizou o seu primeiro evento. O evento aconteceu em Campinas, o People.Net, com apenas
32 vagas, encerradas em apenas 2 dias. Esse foi o marco
do Codificando.Net em eventos. A comunidade cresceu
muito e em outubro de 2003 criou-se uma nova divisão,
o São Paulo Codificando.Net. Liderado e Fundado por
Alexandre Tarifa e Marcus Garcia. O primeiro evento
do São Paulo Codificando .Net foi o Debate.Net, em
formato de mesa redonda e limitado a apenas 15
pessoas.
Após 3 anos de atuação, a equipe do Codificando está
dividida da seguinte forma:
Codificando .Net
Max Moussiman Neto – Líder e Fundador
São Paulo Codificando .Net 400 pessoas acompanham
Alexandre Tarifa – Líder / Andrey Sanches – Líder / Emerson Facunte – Líder palestra em evento do
Diego Nogare – Co-líder / David Pomarico – Co-líder Codificando.Net
Comunidade Codificando .Net
PÁGINA 22
reconhece três Hoje o INETA Brasil é liderada por Marcus Fábio Câmara – Microsoft MVP – VSTS
Garcia, que atuou como líder do São Paulo
dos líderes com o Codificando .Net e pelo grande trabalho realizado
título de MVP ”
Ação Social
O trabalho realizado junto a comunidade de Codificando.Net adotou nos
desenvolvedores já pode ser últimos eventos a arrecadação
considerado uma Ação Social, de alimentos e/ou brinquedos
Alimentos porém vivemos em um país que são doados a instituições
arrecada- onde existem milhares de de caridade. Já foram doados
pessoas com necessidades mais de 200 brinquedos e
dos em
diversas e acreditamos que aproximadamente uma
revento
qualquer ajuda mesmo que tonelada de alimentos.
pela comu- pequena pode significar a
nidade. alegria de algumas pessoas.
Pensando nisso o
Cobertura: Codificando 2007
PÁGINA 23
Foi realizado no dia 19/05/2007 no auditório do muito intenso e a lotação do auditório e da sala
campus Tatuapé da Universidade UNIP o evento permaneceram durante todo o evento.
Codificando 2007. Foi o primeiro evento do Para a participação no evento, o público
ano de 2007 da comunidade Codificando 2007, já opcionalmente doava 1 Kg de alimento não
começando a temporada com um evento perecível, porém a adoção a causa nobre foi
sensacional. Cerca de 500 pessoas assistiram muito grande e tivemos aproximadamente 500 Kg
palestras divididas em duas salas: Profissional de alimentos arrecadados, uma ação fantástica que
(Auditório) e Estudante. O público da sala orgulha muito a todos que participaram e
Profissional acompanhou palestras sobre: arrancaram aplausos calorosos no final do evento.
Segurança em aplicações Web com o MVP e bom No final do evento foi apresentado o lançamento
baiano Ramon Durães, Padronização em projetos da revista Codificando e-Magazine e sorteio de
com o MVP e RD Mauro Sant´Ana, Silverlight com muitos brindes, com um público que saiu do
Bruno e Roberto Sonino, Novidades do Visual evento muito satisfeito com o conteúdo
Studio “Orcas” e Framework 3.5 com o MVP apresentado.
“Mais um grande Alexandre Tarifa e desenvolvimento de games
com XNA com o MVP Emerson Facunte. Já nas O Codificando .Net agradece a presença
evento que sessões de estudante, o público acompanhou as marcante de público e aos patrocinadores:
seguintes palestras: SQL Server 2005 com Diego Microsoft, MSDN e os apoiadores: Linha de
mostra o força da Código, UNIP, Treinando .Net, Comunidade .Net
Nogare, Mercado de trabalho com Rodrigo
comunidade em Strauss, Windows Workflow Foundation com o Raptors, INETA e revista .Net Magazine.
MVP Thiago Cruz e uma repetição da palestra de
São Paulo.” SQL Server 2005 com Diego Nogare. Todas as
sessões foram acompanhadas por um público
Fotos do evento
PÁGINA 24
Com uma diferença de apenas 0,04 pontos da 1a colocada, a equipe Trivent Dreams, composta por André Furtado, Carlos Rodrigues, Ivan
Cardim e Roberto Soninno (Poli/USP); levou o 2 o lugar com o projeto e-du.
Uma plataforma que tem como objetivo permitir alfabetização digital em massa por meio de experiências de aprendizado móveis, digitais,
customizadas, de alta interatividade e automação. É composto por um assistente pessoal para alunos e ferramentas de criação e consolidação de
conteúdo para professores.
A terceira colocada, a equipe Paulista Guarini composta por Guilherme Paes Molina e Bruno Peinado Brusco - Centro Universitário Salesiano,
Leandro Ferreira de Andrade - FAC II e Richard Araujo Macena Bezerra - FATEC-AM, todos ex-Alunos Monitores, e atuais Microsoft Student
Partners criou o projeto Mosaico, uma solução com alta tecnologia que permite melhorar o processo de avaliação dos alunos por meio de
parâmetros curriculares do Ministério da Educação (MEC) e das próprias escolas. A idéia é simples e inova a maneira da avaliação da educação.
No programa, cada habilidade adquirida pelo aluno representa um pedaço que irá compor um mosaico final - que, por sua vez, compara o
desempenho do aluno com os parâmetros do MEC e da escola.
1o Oysterix 8,8958
o
2 Trivent Dreams 8,8542
o
3 Guarini 8,6146
o
4 Dominus 8,4792
o
5 Commit Solutions 8,4167
o
6 Stepping Stone 8,2604
o
7 SSL 7,7917
o
8 Fast 7,7604
Como você pôde observar no quadro da classificação final, a diferença entre o primeiro colocado e o último foi de apenas 1,14 pontos, o que
prova a forte disputa, além de um bom nível técnico. A amizade entre os integrantes das equipes finalistas sem dúvida marcou este torneio,
onde muitos trocaram idéias e ideais, além de muita descontração numa inusitada prova de kart.
Equipes finalistas – aqui todos são vencedores Kartódromo – Uma irreverente disputa antes da finalissíma
desenvolvedor
capaz de
desenvolver em
qualquer das
duas linguagens
da Microsoft:
VB.Net e C#.”
Simplificar ainda mais a sintaxe é outro assunto forte na nova versão, O time do Visual Basic .Net criou
novas formas de escrever alguns códigos que estamos acostumados a muito tempo porém que claramente
organiza/agiliza/dinamiza a leitura.
Nas próximas colunas vamos poder ver cada uma dessas novidades.
Até lá.