Olá desenvolvedores, iniciamos com a evolução da arquitetura web uma série de tutoriais sobre JSF – JavaServer Faces, que é uma especificação Java para a construção de interfaces de usuários. Antes, porém, é preciso que você entenda um pouco mais sobre padrões de arquitetura web e saiba onde você se encontra dentro deste tema tão importante da ENGENHARIA DE SOFTWARE.
O objetivo dos PADRÕES DE ARQUITETURA é orientar os desenvolvedores quanto a adoção de boas práticas no processo de desenvolvimento de suas aplicações. Expressando assim, a forma de organizar a estrutura fundamental de uma aplicação. Com o surgimento de novas tecnologias, novas linguagens de programação, frameworks, protocolos, regras de negócio cada vez mais complexas, os padrões de arquitetura também precisaram se reinventar.
A arquitetura de software cliente-servidor não é mais suficiente. Desse modo, este antigo modelo precisou unir forças com outros modelos formando arquiteturas cada vez mais heterogênicas para atender uma demanda crescente e exigente.
PADRÕES DE ARQUITETURAS
Obviamente a escolha do padrão de arquitetura a utilizar deve considerar o tipo de sistema e seus REQUISITOS NÃO FUNCIONAIS. Entenda como requisito não funcional aquele que não está diretamente relacionado a funcionalidade de um sistema, como confiabilidade e adaptabilidade.
Os principais tipos de arquiteturas existentes hoje são o PADRÃO MVC – Model-View-Controller, que utiliza conceitos de orientação a objetos. ARQUITETURA BASEADA EM COMPONENTES onde o foco está na interface de comunicação contendo seus métodos, eventos e propriedades. E também a ARQUITETURA DE WEB SERVICES que permite que um sistema se comunique de forma transparente com outro sistema rodando em diferentes plataformas.
ARQUITETURA WEB
O diagrama abaixo ilustra a evolução do padrão de arquitetura web tendo como base a linguagem Java.
O início se deu com Servlets um servidor que tem o objetivo principal de receber requisições HTTP – Hypertext Transfer Protocol, processá-las e enviar a resposta ao cliente. Se você é aluno do curso de Formação Java Web, tenho certeza que treinou a exaustão este modelo de comunicação.
Posteriormente surge o JSP – JavaServer Pages, uma tecnologia que auxilia o desenvolvedor na criação de páginas dinâmicas em HTML e XML. É da união da Servlets e do JSP que surge o já mencionado padrão MVC.
O padrão MVC organiza as classes em três grupos, visão(view) que responde pela camada de apresentação da interface gráfica de um sistema. A camada de controle (Controller) entre outras funções controla o estado das camadas model e view. A camada de modelo por sua vez armazena os dados manipulados pela aplicação e que têm a ver com o domínio do sistema em construção.
Dentro da camada MVC encontram-se o Spring Framewors, um modelo abrangente de programação e configuração baseado em Java, sua premissa consiste em deixar que o programador se concentre na regra de negócio. E também o nosso objeto de estudo dessa série de tutoriais, o JSF – JavaServer Faces focado em componentes.
Muito utilizado nos dias atuais estão as arquiteturas web services, que no cenário do Java destacam-se a arquitetura RESTful que representa a condição de um sistema específico em aplicar os conceitos de REST. Grosso modo podemos definir a arquitetura REST como aquela que possibilita a comunicação entre aplicações.
E Angular que é um framework poderoso voltado para construção da interface de aplicações usando HTML, CSS.
EM POUCAS PALAVRAS
Entendendo toda esta arquitetura você se torna capaz de combiná-las e implementar qualquer tipo de aplicação. E com qualquer uma dessas camadas você pode utilizar o Hibernate e o JPA – Java Persistence API, que são frameworks de persistência e mapeamento de objeto relacional.