Imprimir Post

Arquitetura em Camadas (Parte 2) – Modelo de Desenvolvimento em Camadas

Resumo:

O objetivo não se aplica a este post.

Uma vez que o conteúdo total desta série foi dividido em 4 partes, deve-se considerar absoluto o resumo da primeira postagem até o momento presente.

Modelo de Desenvolvimento em Camadas - Relembre - Link Primeiro PostPalavras-chaves:

Arquitetura, Camadas, Desenvolvimento, Cliente, Servidor.

Texto:

Modelo de Desenvolvimento em 4 Camadas

Modelo de Desenvolvimento em Camadas - Atenção - Arquitetura N camadas, Arquitetura em 3/4 camadas Web-Based, Arquitetura 4 camadas

Em menção do modelo de desenvolvimento em 3 camadas original (vide publicação anterior), o revés que fica em aberto é a manutenção na Apresentação ainda presente no Cliente, característica que veio a ser resolvida com as pretensões do modelo de desenvolvimento em 4 camadas.

A mudança neste modelo se dá com a transferência da Apresentação do Cliente para o denominado: Servidor Web. Servidor este, que pode vir a ser um novo Servidor (nasce a denominação 4 camadas) , ou estar presente no já existente Servidor de Aplicação (mantém-se a denominação 3 camadas).

Em fato, este modelo pode ser utilizado de duas maneiras, conforme exibido nas imagens abaixo:

  • Em 3 camadas, modelo aperfeiçoado com o Servidor Web unificado ao Servidor de Aplicações:
Modelo de Desenvolvimento em Camadas - Modelo de Arquitetura Cliente/Servidor - Modelo de Desenvolvimento em 3 camadas (aperfeiçoado)

Modelo de Arquitetura Cliente/Servidor – Modelo de Desenvolvimento em 3 camadas (aperfeiçoado)

  • Em 4 camadas, modelo onde o Servidor Web fica separado do Servidor de Aplicações:
Modelo de Desenvolvimento em Camadas - Modelo de Arquitetura Cliente/Servidor - Modelo de Desenvolvimento em 4 camadas

Modelo de Arquitetura Cliente/Servidor – Modelo de Desenvolvimento em 4 camadas

A grande questão deste modelo, portanto, é a transferência da Apresentação presente no Cliente para o Servidor Web, eliminando assim, novas instalações em máquinas previstas para atualização da aplicação, por uma necessidade de mudança na questão visual. A pergunta que cabe agora é: “Por onde será acessada a Aplicação”?

A resposta é simples como a solução: por meio de um Browser (Navegador), ferramenta que utilizará de um endereço específico (Exemplo: http://www.escritorio.com.br/sistema/login. aspx) para acessar a aplicação alvo.

A divisão de responsabilidades nesse modelo, finalmente fica representada da seguinte maneira:

Cliente: um navegador qualquer, no mercado há opções hoje como: Internet Explorer, Chrome, Mozilla Firefox, Safari, entre outros. Supondo um ambiente de rede na plataforma Windows, máquinas Cliente já terão o Internet Explorer instalado de fábrica, não havendo necessidade alguma de interferência humana sobre este, além disso, a maioria dos navegadores de hoje, possuem a inteligência de iniciar automaticamente sua própria atualização de versão (de tempos em tempos), assim que são abertos pelos usuários finais, garantindo a qualidade do produto sob efeito de bugs ou qualquer inconveniência do tipo.

Apresentação: elementos visuais estarão presentes no Servidor Web e deverão ser alterados diretamente neste local. Levando em conta o navegador como principal elemento de visualização da aplicação, pode-se dizer que o Servidor Web armazenará possíveis páginas ASPNET (Sucessora do ASP – Active Server Pages), HTML, entre outras. Neste ponto, vale ressaltar que o ganho de Manutenção e a credibilidade de Versionamento estão em seu melhor estágio, uma vez que a atualização da aplicação poderá ser visualizada de cada Cliente, sem complicações.

Pressionar o botão F5 do teclado com o navegador aberto será o menor dos problemas para se ter a versão mais atual da aplicação, correto?

Lógica do Negócio: as regras de negócio estarão presentes no Servidor de Aplicações.

Dados: informações da aplicação estarão presentes no Servidor de Banco de Dados.

Com o modelo de Desenvolvimento em 3 ou 4 Camadas baseado na Web, a divisão de responsabilidades atinge um nível bem favorável de estruturação e desacoplamento, o que garante todas as vantagens dos modelos anteriores somadas a estas novas vantagens apresentadas.

Um fato decisivo na conclusão deste tema é que, independente de existirem diversos Servidores (Servidor de Aplicação, Servidor Web e Servidor de Banco de Dados) o modelo não deve ser encarado com a obrigatoriedade de estarem separados fisicamente, a recomendação é sobre a separação de funções que cada servidor está responsável.

Considerações Finais:

Vigente ao fato da Arquitetura Cliente/Servidor suportar todos estes modelos de desenvolvimento (2 ,3 ,4 ou ‘n’ camadas), é que caracterizou-se chamá-los de Arquitetura Multicamadas e o processo evolutivo não para por aí, até porque as conexões e flexibilidades de hoje em dia não se estabelecem apenas em escritórios com suas redes internas. A utilização de servidores na nuvem é um bom exemplo de como caminham as comunicações atuais, às vezes até somados a hospedagem de Sites e (ou) Web-Services que integram diferentes aplicações (inclusive sistemas legados), estabelecendo portanto, diferentes opções de Arquitetura que são disponibilizadas para escolha dos ambientes corporativos, que por sua vez não devem parar no tempo com o pensamento antigo: “em time que está ganhando não se mexe”.

Na próxima publicação, terceira parte da série: Arquitetura em Camadas, será apresentado o desenvolvimento do Modelo em três camadas (3Tier) de maneira prática.

Referências Bibliográficas:

As referências bibliográficas serão apresentadas no último post desta série.

Sobre o autor

Thiago Richard Vanicore

Thiago Richard Vanicore formou-se em análise e desenvolvimento de sistemas, possui certificação ITIL Foundation V2 e entre seus conhecimentos estão: ASP .Net (WebForms/MVC5/Web API) C#, HTML5, Html/XHtml, CSS3, JQuery, JQuey Mobile, JavaScript, Xml, Ajax, Json, Microsoft SqlServer, MySql, Firebird, Azure, Visual Studio Online, Scrum, UML, CRM, Quality Assurance, CTI (Computer Telephony Integration) MPSBR (Melhoria de Processos do Software Brasileiro).

Link permanente para este artigo: http://linksinergia.com.br/2014/07/30/arquitetura-em-camadas-parte-2-modelo-de-desenvolvimento-em-camadas/