Arquivo para 'Arquitetura'

Rodando sua aplicação na Amazon do Brasil

Postado em 20. dez, 2011 por .

16

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 .

43

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 .

2

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 .

13

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

mapeamento de banco de dados a orientacao a objetos

Adequar o banco às entidades ou o contrário?

Postado em 09. ago, 2011 por .

20

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

Caçando seus gargalos com o Hibernate Statistics

Postado em 08. jun, 2011 por .

12

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 .

42

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 and .

13

É 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 and .

21

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 .

18

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 .

4

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 .

4

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 and .

5

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 »

Continue Lendo