Olá pessoal, tudo certo? Depois de alguns postsintrodutórios para C++, volto a falar um pouco sobre arquitetura. Todos concordamos que qualquer software possui uma arquitetura, certo?! Entretanto, todos concordamos que nem todo software possui um conjunto apropriado de artefados descrevendo essa arquitetura. Como arquitetos, as vezes precisamos encontrar formas de descrever nossa arquitetura sem que… [Read more…]
Olá pessoal, tudo certo? Nesse, volto a falar sobre Architectural Patterns (foram feitos outros posts sobre o tema). Agora, proponho uma breve reflexão sobre o Cahing pattern. Não é raro vermos a adoção de componentes em arquiteturas de software. Sejam esses componentes desenvolvidos “dentro de casa” ou fornecidos por teceiros, constituem parte importante do plano… [Read more…]
Olá pessoal, tudo certo?! Com frequência, quando me solicitam uma definação para arquitetura de software, repito quase sem pensar: Arquitetura de Software é a definição dos componentes de um sistema, seus papéis, relacionamentos e responsabilidades. Mas, o que quero dizer com componentes?! Esse é o tema do post de hoje. Para entrar no clima As… [Read more…]
Olá pessoal, tudo certo?! Você já parou para pensar nos motivos que levaram aquele “super projeto”, que começou certinho, a total deterioração? Você procurou culpados? Espero que não. No post de hoje, falo sobre a deterioração arquitetônica que encontramos em diversos projetos. Aproveito para mostrar um pouco mais de conceitos fundamentais de arquitetura. Como tudo… [Read more…]
Olá pessoal, tudo certo? Você já tentou responder quem são os seus clientes e o que eles realmente esperam de seus produtos e/ou serviços?! Esta pergunta não é tão fácil de responder quanto possa parecer inicialmente. Provavelmente, nem todos em sua organização sabem claramente quem são os seus clientes. Talvez, você mesmo ignore parte importante… [Read more…]
Vídeos da palestra sobre arquitetura evolucionária no DNAD 2011
Olá pessoal, tudo certo? O DNAD 2011 já passou há algum tempo. Abaixo, os vídeos da palestra que Leandro Daniel, Vinícius Quaiato e eu fizemos no evento. Essas gravações foram realizadas pelo pessoal da GoNow. Primeira Parte – Leandro Daniel Segunda Parte – Elemar Jr Teceira Parte – Vinícius Quaiato Por hoje, era isso.
Você conhece Mort, Elvis e Einstein?!
Olá pessoal, tudo certo?! Semana passada, durante o TDC 2011 Floripa, ocorreu um pequeno debate entre @vsenger (Vinícius Senger), @fribeiro1 (Fernando Ribeiro), @luciano (Luciano Ramalho) e eu sobre a forma como a Microsoft compreendia e tratava seus desenvolvedores. Depois de alguma discussão, surgiram Mort, Elvis e Einstein. Você os conhece?! Não! Tem certeza?! Mort, Elvis… [Read more…]
Olá pessoal, tudo certo? O post de hoje é uma espécie de provocação. Muitas vezes vejo discussões acaloradas sobre o que são boas práticas. No post de hoje, apresento minha visão sobre esse tema. Relação entre boas práticas e eficácia Para mim, boas práticas são aquelas que garantem a entrega do valor certo para o… [Read more…]
Um bate-papo (virtual) sobre arquitetura de software
Olá pessoal, como estamos? Para quem acompanha o DNA, percebeu que a lista esteve “on the fire” em um tópico relacionado a arquitetura. Nele, coloquei algumas percepções minhas sobre “como as coisas são”. Há pouco, tive o prazer de conversar com o grande Daniel Yokoyama e acho que o bate-papo ficou interessante. Por isso, copio… [Read more…]
CAP Theorem e alternativa para o ACID
Salve, pessoal! Consistência, Disponibilidade e Tolerância ao particionamento. Em 2000, Eric Brewer demonstrou que um sistema pode oferecer apenas dois desses atributos, nunca os três. Esse teorema ficou conhecido como “The CAP Theorem”. No post de hoje, faço algumas considerações sobre esse assunto e relaciono alguns artigos interessantes relacionados (via @porcelli). Consistência, disponibilidade e… [Read more…]
O que é “Cloud” e “Cloud Computing”?
Olá pessoal, como estamos?! Sempre tive dificuldades para prover uma definição adequada para Cloud e, em consequência, Cloud computing. A razão para isso está, em partes, na pluralidade de definições a que tive acesso. No post de hoje, apresento minha compreensão sobre o significado desses termos baseado nos pontos comuns que encontrei na literatura técnica… [Read more…]
Quatro tipos de SOA
Olá, tudo certo?! Você sabe o que é SOA?! Caso não saiba, talvez já seja hora de aprender. Há algum tempo, gravamos um episódio sobre SOA do .NET Architects Podcast. Nele, Brandão, Felipe Oliveira, Giovanni Bassi e eu, discutimos alguns conceitos fundamentais que talvez sirvam de inspiração para estudos mais aprofundados. No post de hoje… [Read more…]
Olá pessoal, como estamos!? Fuzzy Logic permite a construção de sistemas elaborados para tomada de decisão. Trata-se de um conceito amplo e rico. Nesse post, apresento alguns conceitos fundamentais desse tema. Além do falso e verdadeiro Quando estamos descrevendo um cenário do mundo real, raramente é conveniente, ou mesmo possível, definir alguns valores de estado… [Read more…]
Olá pessoal, como estamos? Minha proposta, para começar bem a semana, é escrever um EventBroker de propósito geral. Quando usar um EvenBroker? Um EventBroker atua como um centralizador para objetos que precisam disparar ou escutar eventos. Em contraste com a prática convencional, um EventBroker permite a existência de componentes “escutando” eventos de outros sem que… [Read more…]
Olá pessoal, tudo certo? Hoje volto a abordar patterns arquiteturais. Meu primeiro post, sobre o Microkernel pattern, foi um pouco denso. Hoje, quero ver se consigo “aliviar o tom”. O tema de hoje é um outro architeural pattern bacana: Pipes and Filters. Espero que gostem. Sem mais delongas… Antes de começar, mais uma palavrinha sobre… [Read more…]
Olá pessoal, tudo certo? Gostaria de, vez ou outra, compartilhar minha visão sobre alguns patterns arquiteturais. Entendo que essa categoria de patterns colabora com o desenvolvimento de arquiteturas sólidas e consistentes. Patterns arquiteturais ajudam a identificar e descrever elementos (componentes) de software – seus papéis, comportamentos e relacionamentos – que vão ser implementados para atender… [Read more…]
Olá pessoal, tudo certo? Depois de alguns dias falando sobre conceitos, escrevendo muito texto e pouco código, resolvi fazer algo diferente. O post de hoje será predominantemente código. É simples e mais direto. Espero que gostem. O que proponho hoje é uma abstração. Estou considerando a possibilidade de “extrair” comportamentos dos objetos, deixando-os mais simples… [Read more…]
Olá pessoal, tudo certo? Desenvolver uma boa experiência para o usuário (UX), em nível profissional, não é facil. Certo?! Considere: Há uma mistura “tenebrosa” de dados, interação, atratividade visual, conectividade, multithreading, segurança, internacionalização, validação e um bocado de “mágica”. Dessa mistura de necessidades, infere-se uma diversidade de competências (conhecimento + habilidade + atitude) raramente encontrada… [Read more…]
Olá pessoal, tudo certo? Hoje pretendo demonstrar, com considerações práticas , como planejar a arquitetura de um sistema Web partindo de uma arquitetura de referência. Utilizar arquiteturas de referência ajuda a melhorar a “cobertura” do escopo. Além disso, otimiza o tempo de concepção de um sistema indicando claramente que questões estão relacionadas ao tipo de… [Read more…]
Olá pessoal, tudo certo? O post de hoje mostra minhas considerações sobre os papéis de arquitetura e desenvolvimento. Nessa posição, sou extremista (embora acredite que toda verdade extremista é fraca): arquitetos são arquitetos, desenvolvedores são desenvolvedores. Vamos aos fatos… O que é arquitetura? Todo software possui uma arquitetura. Boa ou ruim, ela está presente. Planejada… [Read more…]
outubro 10, 2011
2