Patterns de arquitetura e aplicações com serviços para .NET

Olá pessoal, tudo certo?

Essa semana passou bem rápida, com alguns foruns de arquitetura, eventos sobre .NET in companies e discussões de projetos. Para uma das reuniões, acabei resgatando um desenho antigo mas bem conhecido de alguns.

Você se lembra do livro “Application Architecture for .NET – Designing Applications and Services” do patterns & practices, de 2002? :)

image

Application Architecture for .NET: Designing Applications and Services
https://msdn.microsoft.com/en-us/library/ee817664.aspx

Application Architecture for .NET: Designing Applications and Services
https://www.microsoft.com/downloads/en/details.aspx?FamilyID=A08E4A09-7AE3-4942-B466-CC778A3BAB34

Apesar de antigo, esse livrinho é leitura de muita gente no mercado, oferecendo a base para diversos cenários de aplicações que ainda estão operando, firmes e fortes

Parte do sucesso é devido a organização em camadas que o livro adota para as soluções .NET, quando vimos o Business Entity, o Business Workflow, o Business Componentes, a interface de serviços, entre outros.

Se você ficou curioso, veja o desenho abaixo:

image

Lembrou né? Por que estou relembrando esse tipo de desenho? Veja, já se passaram 8 anos desde sua publicação e ainda hoje, temos uma organização de componentes muitas vezes baseada na arquitetura acima. Ainda daquela época, outro desenho importante posiciona as camadas de consumo e exportação de serviços, como vemos a seguir:

image

Veja, já se falava em uma interface padrão via Web Services, com protocolos SOAP/HTTP/WS-I, permitindo o importação e exportação de dados com serviços externos a aplicação.

Se isso já existia há 8 anos atrás, o que mudou na arquitetura de fazemos hoje? Para pensar sobre o assunto, veja o desenho abaixo, que retirei do Application Architecture Guide 2.0, de Setembro de 2009:

image

A figura ilustra uma arquitetura de serviços, onde vemos basicamente as mesmas camadas de 8 anos atrás.

Interessante não? A conclusão é que bons patterns de arquitetura são permanentes, duram bastante e se provam bons investimentos de projeto. Assim, quando estiver projetando sua solução, procure cercar alguns cenários com bons patterns de arquitetura. Com certeza, aplicando boas escolhas, você estará garantindo vida longa para sua solução. Mas veja, um ANTI-PATTERN também é ser excessivo no uso de PATTERN’s. Use-os com moderação, sempre! :)

Bom, existem dezenas de patterns importantes, além de arquiteturas de referência como a que vimos acima. Para conferir outros patterns, confira:

Patterns of Enterprise Application Architecture
https://martinfowler.com/eaaCatalog/

Design Patterns for .Net
https://www.designpatternsfor.net/

Por enquanto é só! Até o próximo post :)

Waldemir.