Arquivo para 'Arquitetura'
Rodando sua aplicação na Amazon do Brasil
Postado em 20. dez, 2011 por Guilherme Silveira.
Desde o início de nosso trabalho com o cloud em 2009 temos investido tempo e pesquisa na utilização do cloud como plataforma para diminuir custos (e trabalho!) e potencializar produtos, através de diversos vendors. Com a Amazon não é diferente: nosso sistema de ensino online está deployado lá. Com o lançamento de grande parte da more »
Continue Lendo
Lançamento do livro Introdução à Arquitetura e Design de Software
Postado em 15. dez, 2011 por Paulo Silveira.
Depois de uma longa espera, temos o tão aguardado lançamento. O livro está sendo distribuído para as livrarias, e já é bem fácil encontrá-lo nas lojas online, como na Saraiva. Foi bastante tempo e trabalho para criar uma introdução abrangente, e ao mesmo tempo com uma necessária profundidade, de alguns dos principais tópicos da plataforma more »
Continue Lendo
NoSQL – Do teorema CAP para P?(A|C):(C|L)
Postado em 07. dez, 2011 por Nico Steppat.
Existem muitas motivações para os bancos NoSQL, como por exemplo usar um modelo mais adequado para os seu dados ou facilitar alterações de schema; ou ainda além, melhorar o desempenho e simplificar a replicação para ter a tão sonhada escalabilidade linear. O teorema CAP Claro que todos os benefícios não vem sem custo, comparado com os more »
Continue Lendo
Screencast: sua App no Cloud com OpenShift
Postado em 01. dez, 2011 por Hanneli Tavante.
O cloud vem se espalhando pelo mercado de TI e em especial entre os desenvolvedores de software. Heroku, Cloud Foundry, Microsoft Azure, Google App Engine, entre outros serviços de cloud no modelo PaaS, (Platform as a Service), popularizaram-se muito nos últimos tempos. Para disponibilizar serviços de cloud, é necessário que haja uma infraestrutura de servidores more »
Continue Lendo
Adequar o banco às entidades ou o contrário?
Postado em 09. ago, 2011 por Erich Egert.
Uma das features interessantes do Hibernate é gerar a Data Definition Language para criação da estrutura de tabelas do banco de dados (schema). Tudo que precisamos fazer é pensar em nosso modelo Orientado a Objeto que o banco é gerado automaticamente a partir das entidades. Aparentemente o processo de pensar na modelagem do banco de more »
Continue Lendo
Caçando seus gargalos com o Hibernate Statistics
Postado em 08. jun, 2011 por Guilherme de Almeida Moreira.
Uma reclamação frequente dos novos usuários do Hibernate é o excesso de queries realizadas pelo framework, afetando não só a performance mas também a escalabilidade da aplicação. Será realmente culpa do framework? Práticas simples podem ajudar a enfrentar esses gargalos ao usar o Hibernate, mas como detectá-los numa aplicação que já foi mapeada sem muito more »
Continue Lendo
Como não aprender orientação a objetos: o excesso de ifs
Postado em 12. abr, 2011 por Guilherme Silveira.
Aglomerados de ifs aparecem com frequência, e chegam até a ter um aspecto engraçado. Em alguns casos poder dar a impressão de que estamos usando orientação a objetos, já que cada cláusula costuma envolver a invocação de um método, dependendo do tipo do objeto. Infelizmente, essa sensação é falsa, e chegou até a gerar o more »
Continue Lendo
Facilitando a manutenção dos testes ao diminuir o acoplamento com o código
Postado em 01. mar, 2011 por Mauricio Aniche and Guilherme Silveira.
É fácil entender por que devemos diminuir o acoplamento entre classes: a alteração em um ponto do sistema pode propagar a necessidade de mudanças em outros. Dependendo do acoplamento, uma simples alteração exige um esforço enorme. Em alguns casos as mudanças não são feitas, e a funcionalidade é simplesmente descartada, devido a esse alto custo more »
Continue Lendo
TDD e sua influência no acoplamento e coesão
Postado em 17. fev, 2011 por Guilherme Silveira and Mauricio Aniche.
Escrever testes de unidade é uma prática cada vez mais adotada. Ela ajuda a verificar se tudo funciona como o esperado mesmo após mudanças, trazendo mais segurança para a equipe ao alterar o código. Mas os testes de unidade vão além, possibilitando a validação de um design. Um código fácil de testar tende a apresentar um bom design. more »
Continue Lendo
Vivendo no cloud: a infraestrutura externa da Caelum em 11 soluções
Postado em 03. fev, 2011 por Sérgio Lopes.
Há muito tempo que falamos de cloud computing na Caelum, para minimizar a necessidade de infraestrutura própria e especializada. Mas, mais que falar, a Caelum como empresa aprendeu ao longo dos últimos anos a usar serviços disponíveis na nuvem para as mais diversas tarefas. Somos clientes de diversas soluções SaaS, PaaS e IaaS. Muitos nos more »
Continue Lendo
Branches e integração contínua: o problema de feature branches
Postado em 03. jan, 2011 por Guilherme Silveira.
Integrar o código criado pelos desenvolvedores o mais frequentemente possível, com espaços de tempo mínimos, para que o feedback e consequências do código criado por um desenvolvedor entre em contato o mais rapidamente possível com os outros é o processo chamado de integração contínua. Mas em diversos momentos existe a tentação de criar branches, linhas more »
Continue Lendo
5 dicas simples de escalabilidade com Ruby
Postado em 08. dez, 2010 por douglas.campos.
Escrever aplicações Ruby e Rails, justamente pela alta produtividade dessa plataforma, permite a criação e implantação de um novo projeto em um curto espaço de tempo. Colocar o projeto rapidamente em produção para receber feedback dos clientes faz parte da cultura ágil. Mas e se a aplicação atingir um público maior que o esperado inicialmente? more »
Continue Lendo
Quando muitos dados passam a atrapalhar: replicação e sharding
Postado em 30. nov, 2010 por Adriano Almeida and Guilherme Silveira.
Quando pensamos na arquitetura de sistemas com grande volume de dados a primeira palavra que vem a mente é escalar. Além de desejar que cada uma das pesquisas em nosso sistema execute o mais rápido possível, precisamos criar meios para que, quando necessário, seja fácil adicionar mais recursos (como memória ou novos servidores) e o more »
ASSINE NOSSO RSS



