Posts com tag “Arquitetura

DNAD 2010 – Retrospectiva

No dia 20/11 ocorreu na USP no prédio do IME a segunda edição do .NET Architects Day, este é um evento que reuniu profissionais e estudantes de várias regiões do País que trabalham com .Net e curtem arquitetura e design de software. Neste evento foram discutidos vários assuntos relacionados a desenvolvimento de software, arquitetura, design, desenvolvimento ágil entre outras.

O evento foi muito legal, tivemos palestras de profissionais de várias empresas de diversas áreas. Foi uma grande oportunidade que o pessoal teve de fazer novos contatos e compartilhar conhecimentos.

O evento teve o patrocínio de : Gonow, Locaweb, Web Foundations e o IME, também contou com o apoio de Lambda3, Caelum, Emphasys, MSDN e da Global Code.

Antes de dar um resumo sobre cada palestra, queria dar os parabéns aos organizadores, que pelo jeito ralaram bastante para realizar o evento deste ano.

Agora vamos ao conteúdo que foi discutido.

Abertura do Evento

O evento foi iniciado pelo Emmanuel Brandão, que lembrou muito bem de estarmos na semana internacional do Empreendendorismo, e do grande momento de oportunidades que temos aqui em terras tupiniquins, o grande aumento da Classe C, o aumento do acesso a internet e os inúmeros problemas que temos por aqui para resolver que são grandes oportunidades para aqueles que tiverem coragem e espirito empreendendor.

Depois desta abertuta motivacional e com espírito empreendedora, passamos para várias presentações com muito código, arquitetura e design.

Entenda porque ASP.NET MVC pode te ajudar a ter uma arquitetura melhor

Este tema foi apresentado por Victor Cavalcante , a apresentação teve como foco a nova versão do MVC da microsoft que está agora na versão 3, esta versão ainda não foi lançada oficialmente, está no RC1 mas deve ter sua versão final lançada em breve. Victor apresentou as várias melhorias desta versão, destaco algumas aqui:

Inclusão do JQuery Validation, a inclusão do Web Standards para a utilização do HTML5 (sim ele já vem com várias opções para explorar todo o potencial do HTML5), uma maior facilidade para testar o controllers que era algo que nas versões anteriores muita gente reclamava, geração de JavaScripts menos intrusivos no código e diversas outras melhorias, Victor também mostrou melhorias que foram feitas em relação a filtros Globais, injeção de dependências e outras, todas com códigos de exemplo e várias dicas de design e lembrando da importância de uma boa suite de testes unitários.

Se você ficou interessado tem mais informações sobre esta nova versão site oficial do projeto, e há dicas sobre MVC também no blog do Victor.

Integração Contínua: Muito Além do Build

Este tema foi apresentado por Juan Lopes , ele começou lembrando que Integração continua não é apenas o servidor de Integração Continua e sim toda a filosofia e metologia por trás, ele apresentou a importância do desenvolvedor ser capaz de poder rodar todos os testes na sua máquina em quanto desenvolve e integrando com o código de seus colegas o quanto antes, para detectar mais rápido possiveis erros, antes mesmo de mandar para o servidor de CI, reforçou assim com o Victor a importante de uma boa suite de testes para garantir a qualidade do seu projeto.

Reforçou algumas práticas para se usar um ambiente de integração continua, mas a que houve um grande destaque foi a da visibilidade de que se um pacote quebrou ou não, lembrei na hora de um exemplo da thoughtworks deu em algum evento que fui, que é que em um dos seus escritórios ligados ao servidor de CI tem uma JukeBox, toda vez que um build quebra ele toca alguma música para todos saberem que algo ocorreu e que precisa ser corrigido o quanto antes.

Para quem quiser saber mais sobre a apresentação dele, pode abaixar a mesma no Github

Quem quiser algumas opções de servidor CI, temos o CruiseControl, o Hudson e outras, eu particularmente gosto mais do Hudson e este tem se tornado cada vez mais popular e funciona muito bem em projetos .net, mas tem várias opções na net é só buscar.

Projetando Aplicativos para a Escalabilidade – Tirando o melhor da Plataforma Windows Azure

Esta era uma das apresentações que eu mais queria ver, e foi apresentada pelo Otávio Coelho , que é Arquiteto Chefe na Microsoft e um grande conhecedor do assunto, ele apresentou diversas utilizações e arquiteturas que podem ser construidas em cima do Azure, ele mostrou coisas como fazer cache de imagens por região usando servidores de CDN, como utilizar o Azure para fazer processamento de filas, subir aplicações em produção fazendo chaveamento de DNS ou upgrades Domains para não ter sua aplicação fora durante um deploy, comentou bastante sobre o SQL Azure, suas vantagens, suas limitações também, deu várias dicas de como montar uma arquitetura que tenha uma menor latência de dados, melhor resposta para alguns cenários entre outras várias dicas sobre o Azure e infra-estrutura.

A pedido do Andre Della Torre, vou escrever uma série de posts neste blog sobre Cloud Computing e vai ter um especificamente sobre o Azure, mas que posso dizer que é uma platafora que tem inúmeras vantagens e vem crescendo bem, para quem quiser saber mais sobre o Azure recomendo acessar a introdução de 25 horas que tem no site

AOP: Desenvolvimento de aplicações usando aspectos

Fábio Falavinha apresentou as vantagens da programação orientada a aspectos (AOP), utilizando o Spring.net um port do Spring que tem para java para a plataforma .net, o Fábio apresentou as vantagens e como utilizar este framework em diversos cenários, todos com exemplos de código. Ele defendeu bastante o uso deste recurso principalmente nos requisitos não funcionais de um projeto, como os elementos de infra-estrutura, como logs, autorização, tracing, segurança e outros. Apesar de AOP ter uma relação de amor e ódio no mundo de arquitetura, ou seja, tem gente que adora e tem gente que odeia, a apresentação teve uma excelente aceitação pelo publico.

TDD e sua influência no design

Este assunto foi apresentado pelo meu ex-colega de Locaweb o Mestre Mauricio Aniche e foi um dos momentos de bastante descontração da platéia. Ele apresentou com casos bem reais a utilização de TDD e como ele pode influenciar e ajudar no design de uma aplicação, o Mauricio lembrou da importância de se utilizar várias técnicas do mundo ágil para ajudar na qualidade do seu código, como pareamento, que seria o feedback mais rápido do código que você está criando, integração continua, classes simples sem muitas responsabilidades e com baixo acoplamento, da importância de se escrever boas classes, de ter muito claro as dependencias dela, de usar mocks para facilitar na escrita de seus testes e reforçando que ao escrever testes antes mesmo de escrever a funcionalidade faz com que o desenvolvedor mantenha o foco no problema a ser resolvido, tem uma noção mais clara da regra do negócio que precisa ser implementada, entre outras dicas.

Para quem nunca usou TDD ou tem duvidas sobre o que é recomendo dar uma lida no blog do Mauricio que tem várias dicas e informações legais lá.

Gerenciando dependências com NuPack(agora NuGet)

Esta foi apresentada por Vinicius Quaiato, o NuGet é um ferramenta Open Source sensacional de Gerenciamento de Pacotes, quem não tem aquele projeto em .net com aquelas dll de terceiro, ou de alguma outra equipe e que por causa dela você inclui diversas outras também? O Vinicius apresentou esta ferramenta como uma ótima solução para gerenciar este tipo de situação, o NuGet gerencia as dependências de seus pacotes, mostra se há novas atualizações, os atualiza se você solicitar (cuidado aqui: o fato de ter uma nova atualização de uma dll não significa que seu projeto vai continuar funcionando depois), o NuGet tem uma lista enorme de pacotes disponiveis para uso, você pode criar seu próprios pacotes e incluir nele também. O Vinicius já disponibilização a apresentação no slide share.

OData: REST com qualidade

Esta foi apresentada por Elemar Jr, ele apresentou sobre o Open Data Protocol (ODATA), que é uma implementação REST com uma pitada de RPC, para quem já usou o WCF Data Service, vai ver que o ODATA é a evolução dele, muito se tem falado ultimamente sobre usar REST como arquitetura para construção de serviços Web, substituindo o SOAP por exemplo. Elemar lembrou da facilidade de uso do HTTP e das vantagens de usar REST para disponibilizar recursos de uma aplicação, lembrou também da facilidade dos padrões de retorno que se pode usar em REST como XML, JSON e texto puro por exemplo. Há varios defensores do uso de REST aqui no Brasil o maior deles que eu conheço é o Guilherme Silveira da Caelum. O Elemar prometeu durante a apresentação escrever em seu blog sobre REST e já cumpriu segue o link do primeiro post dele sobre o assunto.

Resultado final

Como disse no começo deste post, o evento foi sensacional, foi muito legal ver o pessoal da comunidade .NET reunida discutindo arquitetura, novas tecnologias que estão por vir, trocar experiências e por aí vai. Senti falta de alguns assuntos, como a nova versão do C# e mais gente falando de aplicações utilizando Cloud, mas realmente não caberia tudo em um dia, quem sabe no proximo, não se faz o evento em dois dias. Para quem quiser participar do grupo de discussão do .NET o basta acessar o .Net Architects

E é isso aí pessoal, o post ficou longo mas era bastante conteúdo, sorry se esqueci da palestra de alguém e até a próxima.