Você é um arquiteto de uma arquitetura só!?

Olá pessoal, tudo certo?

Enquanto o tempo passa, algumas arquiteturas evoluem de forma bem interessante. Resgatando alguns documentos e guias do passado, veja o que notei.

Entre 2000 e 2003, uma solução Web em plataforma Microsoft era frequentemente apresentada como vemos abaixo:

image

A partir de 2005, com o lançamento do .NET 3.0 e o Windows Communication Foundation, passamos a substituir os Web Services ASMX por serviços em WCF (.SVC).

Num primeiro momento, regras de negócio ainda em COM+ e Enterprise Services eram mantidas e escondidas por serviços WCF. Aos poucos, algumas regras foram sendo convertidas para serviços, como vemos no desenho abaixo:

image

Ainda encontro empresas com regras de negócio em COM+ sendo exportadas a partir de Web Services WCF. O impacto disso é latência em alguns casos, principalmente para componentes legados antigos.

Mais recentemente, diversas aplicações corporativas ampliaram o uso de serviços, criando camadas e funcionalidades exportadas para diferentes canais de consumo, como desktop, web, ambientes móveis, etc. Desenhos como a figura abaixo tornaram-se comuns em muitas empresas, onde vemoos uma camada de serviços bem definida através de interfaces de serviços e tipos de mensagens:

image

Enquanto a empresa amplia o número de serviços expostos para domínios de aplicações diferentes, alguns desses serviços tornam-se bons candidatos para reuso. Nesse cenário, uma visão de barramento de serviços ou virtualização de serviços, onde podemos concentrar sua exposição e governança torna-se bem interessante.

Barramentos de serviços sempre foram um tópico importante no cenário corporativo, onde questões como governança de serviços, monitoração, segurança, versionamento, administração e composição são críticos.

Veja um desenho que ilustra esse cenário:

image

Além da exposição central de serviços, o barramento também suporta aspectos de integração entre plataformas heterogêneas, como .NET e JAVA, SQL e ORACLE, camadas de apresentação e aplicações do legado, etc.

Qual é o desenho de arquitetura do momento?

Com certeza, a integração entre on-premise e nuvem é bem promissora, já que existe uma tendência de migração de alguns cenários de aplicações para um ambiente externo da empresa. Isso fará com que a monitoração e o controle sobre os serviços hospedados na nuvem sejam muito importantes! Não é admissível que uma solução colocada na nuvem e integrada com um ambiente on-premise corporativo não seja monitorada ou administrada de forma integrada ao modelo de monitoração corrente. Se a empresa não possui esse modelo de governança em sua TI, o problema é mais grave e deve ser tratado antes mesmo de se pensar em uma solução na nuvem.

Que ver um exemplo simples? Veja o desenho abaixo:

image

Acima, vemos uma solução local (on-premise), integrada com serviços no ambiente na nuvem. Ainda, a segurança proposta aqui é baseada em tokens de segurança SAML, emitidos por servidores de token (STS), baseando a solução na abordagem CBA – Claim-Based Authentication.

É provável que no futuro próximo, os barramentos locais e na nuvem também estejam integrados, como vemos a seguir:

image

Estive com o Giovanni Bassi esses dias e gostei muito de um comentário que ele fez, sobre os ”arquitetos de uma arquitetura só”. São profissionais que não evoluem ao longo tempo. Enquanto que novas combinações e alternativas de soluções são apresentadas, eles continuam fazendo uso da mesma arquitetura, sempre!

Fica a dica: busque sempre avaliar alternativas, novas metodologias, novas tecnologias e formas diferentes de integrar, combinar, desenvolver, etc. Seja um “arquiteto antenado e atualizado com as tendências em TI”.

Sobre as figuras e tópicos que falamos aqui, confira:

Building Secure ASP .NET Applications .pdf Download (2002)
https://www.microsoft.com/download/en/details.aspx?DisplayLang=en&id=19032

patterns & practices Improving Web Services Security Guide (2008)
https://wcfsecurityguide.codeplex.com/releases/view/15892

Microsoft Application Architecture Guide, 2nd Edition (2009)
https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=16236

AppFabric Connect (2011)
https://www.microsoft.com/biztalk/en/us/appfabricconnect.aspx

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

Waldemir.