Capacidades e Framework Arquitetural
Quais são as capacidades necessárias para a arquitetura dos sistemas que comumente encontramos na atualidade? Dê uma olhada na figura abaixo...
Nela você vê a proposta do Simon Guest, diretor do time de Estratégia de Arquitetura da Microsoft. Para ele as principais capacidades são:
- Fundamento computação: isto é, onde e como roda nosso software? Virtualizado ou não? Hospedado internamente ou em um fornecedor? Hardware dedicado ou compartilhado?
- Infra-estrutura: Como é tratada a identidade e autorização? Como são implementadas as mensagens? O armazenamento é estruturado, relacional ou tradicional/baseado em arquivos? O workflow é baseado em eventos ou necessita alto volume/taxa de transferência?
- Serviços de Aplicativo: uma lista de capacidades que uma aplicação pode exigir, como colaboração, monetização, composição, regras de negócio, BI, Workflow, formatos e protocolos para a exposição de API’s e formato de entrega para a Web.
- Serviços no Cliente: uso ou não de RIA no browser? Apresentação e comunicação com o dispositivo móvel usando que tecnologia? Idem com o PC e dispositivos incorporados (embedded).
Com esta estruturação, podemos agora compor as capacidades para obter estilos de aplicações.
Exemplos:
Um Wiki costuma ter uma apresentação em HTML e usa fortemente as capacidades de colaboração e armazenamento tradicional. Se for hospedado de modo compartilhado em um fornecedor teríamos a configuração abaixo:
Um provedor SaaS, baseado em web, com serviços para clientes off-line poderia ter a seguinte configuração:
Infelizmente não achei esta apresentação para passar o link a vocês (se conseguir tomar coragem, tento reproduzi-la eu mesmo nos WebCasts de arquitetura).
Mas o importante aqui é o estilo: pense você também em capacidades antes de montar seu framework para a sua empresa, produto ou família de produtos. Esta é uma forma estruturante de pensar que, creio eu, contribui com melhor reuso e separação lógica entre camadas.
Comments
Anonymous
August 19, 2008
Oi, Otavio. Caso você monte um webcast sobre o assunto não esqueça de comentar por aqui. O assunto é muito relevante e interessantíssimo. Abraços, Eduardo Costa.Anonymous
August 20, 2008
Recebí um e-mail do Fernando Costa indicando de onde baixar a apresentação do Simon Guest. Obrigado, Fernando. Aqui a cópia do e-mail dele: Olá Otávio. Obrigado pela sua rápida resposta. Venho acompanhando seu blog faz algum tempo: interessante e sintético. Sim, eu fiz o comentario logado na rede blogs.msdn.. mas nao foi apresentado.. anyway.. entao, a apresentacao que Simon fez foi para o TechEd 2008 e se chama "An Architectural Overview of Software + Services". Estou lhe enviando a direcao da apresentacao com os slides de Simon que esta reproduzido em portugues através do seu blog (http://blogs.msdn.com/otavio/archive/2008/08/17/capacidades-e-framework-arquitetural.aspx). Super boa essa apresentacao. direcao da apresentacao: http://simonguest.com/downloads/TechEdPreCon_SGuest.zip abs. -FernandoAnonymous
November 20, 2008
Olá pessoal, tudo certo? Como sempre, o tema de principal interesse desses últimos dias também esteve