image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Luiz Café
Luiz Café26/02/2025 19:07
Compartilhe

Introdução aos Padrões de Arquitetura MVC (Model-View-Controller) em Aplicações Java Web

    Olá, comunidade da DIO!

    Um dos meus passatempos favoritos é ouvir podcasts. Atualmente existem diversas plataformas disponíveis, em diversos formatos para todos os gostos e perfis. Porém, você sabia que, a Arquitetura MVC está presente em algumas dessas plataformas web justamente para disponibilizar os podcasts?

    Colocar um podcast "no ar" está longe de ser uma tarefa fácil, por isso, a equipe de desenvolvimento trabalha com diversas tecnologias e linguagens, como Java, para que tudo fique da melhor maneira possível para os ouvintes tenham a melhor experiência possível.

    No artigo de hoje, apresento para vocês uma introdução a Arquitetura MVC para Aplicações Java Web, com o objetivo de te ajudar a entender melhor esse conceito tão presente em nosso dia a dia quando estamos ouvindo nossos podcasts favoritos.

    Neste artigo você encontra:

    • O que é Desenvolvimento Web;
    • Introdução a Arquitetura MVC
    • Como ele é Implementado em Aplicações Java Web;
    • O papel dos Frameworks na Implementação de Aplicações Java Web;
    • Vantagens do MVC em Aplicações Java Web;
    • Considerações Finais.

    O que é Desenvolvimento Web?

    image

    Antes de começarmos a falar sobre a Arquitetura MVC propriamente dita, precisamos conhecer um pouco mais sobre o Desenvolvimento Web, uma das áreas mais importantes nos dias de atuais. Ela consiste basicamente na criação de sites, aplicativos web, banco de dados e demais ferramentas importantes que podem ser disponibilizadas online, com acesso em tempo real, de qualquer parte do mundo.

    A área de desenvolvimento para web é bem ampla é precisa de profissionais qualificados para exercer essas funções com maestria. Dentre as principais temos, o Desenvolvedor Front-End que é responsável pela criação da interface visual, aquela que o usuário pode interagir e o Back-End, onde estão as regras de negócio, em que o usuário, a princípio não tem acesso. No Back-End estão disponíveis as informações armazenadas em banco de dados que serão enviadas ao Front-End, quando um usuário faz as solicitações.

    Por fim temos o Desenvolvedor Fullstack, altamente procurado pelas empresas atualmente, este profissional pois domínio tanto do Front-End como também do Back-End, por isso é tão valorizado.

    Vantagens do Desenvolvimento Web:

    Ao disponibilizar aplicativos na web, as empresas podem proporcionar aos seus clientes uma série de vantagens como:

    Não há necessidade de instalação: por estar disponível online, basta apenas ter acesso a internet e um navegador compatível para acessar os conteúdos disponíveis;

    • Redução de custos: Como tudo fica armazenado em nuvem é possível ter acesso aos conteúdos em larga escala para um grande número de pessoas;
    • Acesso global: é possível que pessoas de todo o mundo acessem os aplicativos disponíveis na web;
    • Fortalecimento da marca: cada vez mais empresas querem reforçar sua presença global é uma boa maneira de fazer isso é disponibilizando aos seus clientes um ambiente na web;
    • Comunicação com o cliente: pode ser melhorada, pois será disponibilizado uma ampla gama de opções para tirar dúvidas, aprender e também interagir com demais usuários
    • Entender melhor as necessidades e desejos dos clientes: através da coleta e análise de dados é possível entender o comportamento do consumidor e fornecer para eles uma experiência cada vez mais personalizada e imersiva, facilitando o processo de fidelização e até mesmo, ser possível aumentar o marketing share;
    • Melhor fornecimento dos serviços prestados: se por algum motivo, o aplicativo móvel não estiver disponível, o cliente pode acessar o site disponível na internet para continuar utilizando os serviços, assim ele não se sente prejudicado e garante acesso ao conteúdo. Por isso muitas empresas estão investindo cada vez mais em se tornar multiplataformas.

    Em resumo, ao disponibilizar aplicativos web para seus clientes, as empresas oferecem uma série de benefícios, que podem ser utilizados pelos consumidores e assim, ter maior praticidade em usufruir de serviços e consumir conteúdo, sem a necessidade de instalar nada em seus aparelhos, basta ter acesso a internet e um navegador para conseguir fazer o uso dos serviços disponibilizados.

    Introdução a Arquitetura MVC

    Agora que conhecemos um pouco mais sobre o que é Desenvolvimento Web, profissionais envolvidos no processo e as vantagens de algumas empresas tomarem a decisão de manter uma aplicação web, podemos definir o que é a Arquitetura MVC.

    De acordo com o autor Dias (2021), uma Arquitetura MVC é:

    "O padrão arquitetural MVC (Model-View-Controller) é usado para projetar e criar interfaces e a estrutura de um aplicativo. Esse padrão divide o aplicativo em três componentes (modelo, visão e controlador) que são dependentes e conectados entre si. Esta divisão arquitetural é usada para distinguir a apresentação dos dados da maneira como os dados de entrada do usuário e os dados que estão sendo mostrados." (p. 36).

    Autor entende que a Arquitetura MVC é uma parte fundamental do desenvolvimento de aplicações web, pois ela exerce um papel primordial, responsável pela criação de ambientes, onde o usuário poderá interagir. Para que ela funcione é preciso que seja dividida em três partes:

    • Model: é onde acontecer a aplicação dos dados propriamente dita. Nela estão as regras de negócio;
    • View: responsável pela camada de apresentação dos dados, onde o cliente pode interagir com os conteúdos disponibilizados
    • Controller: local que será responsável pelas solicitações feitas pelo usuário. Por exemplo, quando um usuário deseja ouvir um episódio em específico, ele faz a solicitação na camada view, que será enviada para responsabilidade do controller retornar o que foi pedido pelo usário, para isso acontece uma interação entre as 3 camadas, para assim concluir o processo.

    Para entender melhor como funciona, veja essa imagem criada por Dias(2021,p. 26):

    image

    Fonte: Dias(2021, p. 26).

    Na imagem podemos observar que o autor apresenta em formato de esquema o funcionamento da camada MVC. Um dos pontos interessantes de se notar é a camada controller, se você prestar bem a atenção pode perceber que, ela não atua para realizar a comunicação entre as camadas view e model, isso é feito diretamente entre a camada view e a camada model. A camada controller fica responsável por tratar as solicitações feitas pelos usuários, o que facilita a execução de processos mais complexos.

    Assim é o funcionamento da arquitetura MVC, muito utilizada em diversas empresas de streaming em todo momento para entregar aos usuários uma resposta rápida para suas solicitações.

    Vantagens do MVC:

    Existem uma série de vantagens ao utilizar a Arquitetura MVC. Veja algumas delas:

    • Melhoria de Performance: ao realizar a separação em 3 camadas distintas é possível perceber uma importante melhora no desempenho e funcionamento de aplicações web;
    • Manutenção e Testes mais Rápidos: como está dividida em três é possível realizar manutenções e testes necessários em cada uma das camadas de forma separada, sem a necessidade de interromper o sistema como um todo para realizar cada uma dessas etapas, podendo tornar os processos mais escaláveis em um curto espaço de tempo;
    • Reaproveitamento de Código: é possível aproveitar o código escrito em uma das 3 camadas para outros meios diferentes, facilitando assim o processo de desenvolvimento;
    • Facilidade para Trabalhar em Equipe: os times de desenvolvimento podem ter maior facilidade para construir sistemas de aplicações web, pois cada um com sua especialidade pode trocar boas práticas e contribuir com o sistema como um todo, assim, a chance de ocorrer erros pode diminuir, já que todos estão engajados e comprometidos com o projeto como um todo.
    •  Aproveitamento de Frameworks Java: muitos frameworks Java, como por exemplo o Java Server Faces (JSF), já estão adaptados para Arquitetura MVC, tornando o desenvolvimento ainda mais ágil.

    Ao utilizar MVC em seu dia a dia, as empresas podem se beneficiar de um desenvolvimento mais ágil, fácil de se realizar manutenções e testes, escaláveis, reutilizáveis e que favorece o trabalho em equipe e a colaboração. Além disso, com frameworks como o JSF disponíveis o trabalho fica mais fácil ainda, deixando a equipe de desenvolvimento engajada para construir sistemas cada vez melhores.

    Implementação do MCV em Aplicações Java Web

    Quer ver na prática uma implementação da Arquitetura MVC em Java Web? Para isso você pode contar com a ajuda dos frameworks próprios para isso. Um dica é conhecer melhor o Java Server Faces (JSF). Que segundo Dias (2021, p. 40):

    “é um framework MVC Java para a construção de interfaces web orientadas a eventos e baseadas em componentes.”

    Na visão do autor, o framework JSF é útil na construção de interfaces web, e além disso, Dias (2021) ainda destaca que ele possui orientação para eventos, contando com uma base em componentes, que o tornam uma ótima opção para construção de sistemas web, utilizando Java.

    Ademais, o autor ainda faz uma diferenciação importante com o Java Server Pages (JSP), uma tecnologia fundamental para o desenvolvimento de Aplicações Java Web, que possui a capacidade de incluir o código Java dentro de um documento HTML. Veja a diferença apontada pelo autor nessa citação:

    “Porém, ao contrário do JSP, que é essencialmente uma página HTML de recursos do lado do servidor, JSF é um documento XML que representa componentes formais em uma árvore lógica. Os componentes JSF são apoiados por objetos Java, que são independentes do HTML e têm toda a gama de recursos Java, incluindo acesso remoto a APIs e bancos de dados” (DIAS, 2021, p. 41).

    Com essa colocação o autor faz uma importante diferenciação entre o JSP e JSF, que pode confundir algumas pessoas que estão iniciando seu aprendizado em Desenvolvimento Java Web. Assim, o compreender que o JSF vai além de um documento HTML, e podem ser utilizados para compor uma árvore lógica, possibilitando ainda esclarecer que o JSF possui a disposição todos os recursos Java como, por exemplo API´s e até mesmo banco de dados, tornando o processo de desenvolvimento ainda mais robusto.

    Criando um Projeto com o Framework JSF

    O passo principal para utilizar o JSF é ter um ambiente preparado para executar os códigos. Para isso, é essencial que você tenha instalado em seu computador, as seguintes ferramentas:

    • Servidor: é o local em que a aplicação será executada. Como exemplo temos o Apache Tomcat;
    • IDE(Ambiente de Desenvolvimento Integrado): responsável pela criação dos códigos que serão desenvolvidos as aplicações em Java Web. Um bom exemplo de IDE é o Eclipse.
    • Estrutura das Pastas: normalmente os arquivos principais ficam armazenados em uma pasta chamada WebContent e ou WebApp;
    • Configurações: para que tudo funcione da melhor maneira possível é preciso configurar corretamente um arquivo chamado Web.xml. Nele estão todas configurações do servidor e outros detalhes importantes como endereçamento de URLs;
    • Código XHTML: é muito semelhante ao HTML, que conhecemos, a principal diferença é que é possível utilizar código Java dentro do documento. Além disso, algumas tags são diferentes como por exemplo, as tags:
    <h:form>, <h:inputText>, <h:commandButton>
    

    essas tags, ajudam na criação da interface do usuário em sistemas java web.

    • Managed Beans: outra parte fundamental do desenvolvimento de sistemas java web. Nelas estão a lógica do negócio e o controle da aplicação. Os beans podem ser de diferentes tipos como por exemplo: request, session e application.
    • Meios de Navegação: o arquivo responsável pelas configurações é conhecido como faces-config.xml. Ele é como um mapa, que indica a página que irá se abrir de acordo com as solicitações do usuário;
    • Banco de Dados: o framework JSF pode interagir com diferentes tipos de banco de dados, o que o torna uma solução viável.

    Principais Benefícios do JSF

    Ao optar por utilizar o JSF em seus projetos Java Web, você terá como benefícios:

    • Aumento da produtividade: a equipe de trabalho pode reutilizar os códigos da melhor maneira possível, o que pode ser considerado um ganho de tempo importante;
    • Integração com outros frameworks: não é difícil realizar a integração do JSF com outros frameworks Java, caso seja necessário;
    • Automação: alguns processos podem ser automatizados, sem muita dificuldade, o que facilita ainda mais o uso do JSF.

    Em resumo, podemos entender o framework JSF como uma ótima opção para quem deseja construir aplicações java web, robustas, escaláveis e de fácil aprendizado e manutenção, o que explica sua ampla utilização dentro da comunidade de desenvolvimento.

    Exemplos na Prática: Spofity

    image

    Para manter seu aplicativo web disponível, o Spotifiy faz uso da Arquitetura MVC para organizar seus dados. Veja como isso funciona:

    • A camada Model : no Spotify ela está presente quando temos acesso as playlists, álbuns, os artistas disponíveis, Api´s e demais informações que o usuário tem acesso;
    • A camada View: é o página do Spotify propriamente dita. É tudo que podemos ver ao entrar no site;
    • A camada Controller: está presente na lógica do site. Toda vez que você faz uma solicitação para ouvir sua música favorita ou até mesmo ouvir um podcast, ela entra em ação, aplicando a lógica e as regras do negócio.

    Resumindo: quando você entra no site do Spotify, através do seu endereço eletrônico, você está na camada view, ao pesquisar por uma música ou episódio de podcast, você está na camada model e por fim, quando você faz login e dá um "play" para ouvir o que deseja, a camada controller entra em ação e em milésimos de segundos entrega para você o que foi solicitado. Essa é a aplicação do MVC na prática.

    É importante lembrar que o site do Spoitfy faz uso de diversas outras arquiteturas, como por exemplo a de microserviços, como é uma página que lida com milhares de acessos simultâneos e também uma ampla gama de dados disponíveis, conhecidos como big data, é de se esperar que o Spotify tenha diversas arquiteuras e tecnologias dentro de seu site.

    Exemplo no Brasil: Magazine Luiza

    image

    Aqui no Brasil podemos ver diversos exemplos de aplicação da Arquitetura MVC. Um deles sem dúvidas é o Magazine Luiza ou Magalu. Veja como funciona:

    • Model: podemos observar quando estamos fazendo uma pesquisa de um produto qualquer dentro do site, temos disponível o preço, quantidade, disponibilidade, cores, cupons, formas de pagamento e outras informações importantes, para o cliente tenha a melhor experiência de compra possível;
    • View: é o site propriamente dito, ao acessar o endereço eletrônico do e-commerce, você pode perceber a camada view em ação;
    • Controller: por fim temos a camada de cotroller, que é quando, o cliente executa alguma ação no site. Por exemplo, a compra de uma camisa, o controller irá realizar toda a lógica e disponibilizar para o cliente o que ele deseja.

    Em resumo, ao acessar o endereço eletrônico do Magazine Luiza você está na camada view, ao pesquisar por um produto você vai para a camada model e por fim, quando você decide comprar algo, o controller entra em ação e assim conclui o processo da camada MVC.

    Considerações Finais

    Após a leitura deste artigo, você teve a oportunidade de conhecer melhor um pouco do mundo do Desenvolvimento Web. Os profissionais envolvidos, como o Desenvolvedor Front-End, Back-End e Fullstack. Além disso foi possível entender um pouco mais sobre a Arquitetura MVC e suas aplicações em ambientes Java Web. O artigo continuou, e você conheceu as vantangens de se utilizar MVC em seus projetos para web, como pode ser mais escalável e aumentar a produtividade dos times de desenvolvimento. Outro ponto importante que fez parte deste artigo é sem dúvidas, entender melhor os frameworks Java, como JSF e seu papel para tornar o processo de construção de sistemas web mais robustos.

    E por fim, você viu algumas das partes de um projeto Java Web utilizando o framework JSF e para encerrar, viu a aplicação prática do MVC no site do Spotify, um gigante do streaming mundial e também no Magazine Luiz, um grande e-commerce brasileiro, com esses exemplos, espero que você tenha entendido melhor o que é Model: onde acontece a manipulação dos dados, view: onde acontece a visualização dos dados e controller: em que ocorre a lógica dos negócios.

    Não deixe de aprender e estudar bastante sobre Desenvolvimento Web e Aplicações Web com Java, pois o mercado é promissor e diversas vagas podem ser abertas nos próximos anos. Não deixe de fazer bootcamps, cursos, participar de workshops e demais oportunidades que você julgar necessário para impulsionar sua carreira. Porém, não deixe de assumir o papel de protagonista da sua carreira, sempre buscando ir além do comum, inovando e criando seus próprios projetos!

    Bons estudos!

    Referências

    APACHE SOFTWARE FOUNDATION. Download do Apache Tomcat 9. 2025. Disponível em: https://tomcat.apache.org/download-90.cgi. Acesso em: 26/02/2025;

    COODESH. O que é arquitetura MVC?. 2025. Disponível em: https://coodesh.com/blog/dicionario/o-que-e-arquitetura-mvc/. Acesso em: 26/02/2025.

    DEVMEDIA. Gestão de regras de negócios. 2025. Disponível em: https://www.devmedia.com.br/gestao-de-regras-de-negocios/30670. Acesso em: 26/02/2025.

    DEVMEDIA. Guia JSF (JavaServer Faces). 2025. Disponível em: https://www.devmedia.com.br/guia/jsf-javaserver-faces/38322. Acesso em: 26/02/2025;

    DIAZ, Ariel da Silva. Desenvolvimento Java Web. Londrina: Editora Educacional S.A., 2021;

    EBAC ONLINE. Desenvolvedor Back-end e SEO. 2025. Disponível em: https://ebaconline.com.br/blog/desenvolvedor-back-end-seo. Acesso em: 26 fev. 2025.

    ECLIPSE FOUNDATION. Eclipse IDE. 2025. Disponível em: https://eclipseide.org/. Acesso em: 26/02/2025.

    MOZILLA DEVELOPER NETWORK. Seu primeiro site. 2025. Disponível em: https://developer.mozilla.org/pt-BR/docs/Learn_web_development/Getting_started/Your_first_website. Acesso em: 26/02/2025.

    PATI, Camila. Este tipo de desenvolvedor é raro no Brasil e, por isso, ganha até R$ 15 mil. 2025. Exame. Disponível em: https://exame.com/carreira/este-tipo-de-desenvolvedor-e-raro-no-brasil-e-por-isso-ganha-ate-r-15-mil/. Acesso em: 26/02/2025.

    VALINOR, Rodrigo. Desenvolvimento Web. Remessa Online. 2025. Disponível em: https://www.remessaonline.com.br/blog/desenvolvimento-web/. Acesso em: 26/02/2025;

    TOTVS. Front-end. 2025. Disponível em: https://www.totvs.com/blog/developers/front-end/. Acesso em: 26/02/2025;

    Compartilhe
    Recomendados para você
    Decola Tech 2025
    Microsoft AI for Tech - Copilot Studio
    Suzano - Python Developer
    Comentários (0)