UFCD 10791

Desenvolvimento de aplicações Web em JAVA

Formador: Marco Lucas

Objetivos

Implementar e criar aplicações Java EE.

Gerir regras de negócio utilizando POJOs, EJBs, SOAP WebServices e JMS.

Administrar persistência utilizando JPA.

Garantir a segurança nas aplicações web.

Reflexão

O desenvolvimento web é o desenvolvimento de páginas e aplicações web, que requerem o design de frontend, a programação de backend e a gestão de bases de dados.

O frontend refere-se à parte construída a partir da qual o utilizador pode aceder à aplicação. Aqui os programadores utilizam frameworks web baseadas nos 3 pilares: a linguagem de marcação HTML, a linguagem de estilização Cascading Style Sheets (CSS) e a linguagem de programação JavaScript.

O backend refere-se às páginas que estão a ser acedidas pelo utilizador e que serão tratadas e controladas através do processo de backend que tem de ser desenvolvido. Também é conhecido como “lado do servidor”, onde são efetuados os registos de dados, a gestão dos dados e os controlos lógicos.

Tendo em conta o modelo cliente-servidor, existe esta divisão de responsabilidades no desenvolvimento web. Neste modelo, um cliente - geralmente, um navegador web - faz o pedido de um recurso a um servidor. Por sua vez, o servidor - geralmente um servidor web - recebe o pedido do cliente e fornece o recurso desejado, formalizado através de uma resposta.

O desenvolvimento web com Java envolve a criação de aplicações interativas que são renderizadas nos navegadores web. Uma aplicação Java web gera páginas web, que podem conter vários tipos de linguagem de marcação e conteúdo dinâmico, e podem ser compostas por componentes web, que são responsáveis pelo armazenamento temporário de dados que serão transitados a cada requisição / resposta numa página web.

As tecnologias para a web com Java, que foram abordadas durante esta UFCD, são:

Servlet API

Os Servlets, são os programas Java executados no servidor web ou no servidor de aplicações com suporte Java. São utilizados para tratar o pedido obtido do servidor web, processar o pedido, produzir a resposta e em seguida, enviar a resposta de volta para o servidor web. Embora seja uma classe Java, é necessária num projeto web. Se tivermos uma página web com campos de formulário, os dados introduzidos no campo serão acedidos por programação Java com a ajuda do Servlet.

JavaServer Pages

O JSP permite integrar o código Java em páginas HTML, criando páginas web dinâmicas.

JDBC Driver

O JDBC (Java Database Connectivity) Driver é um componente de software que permite que a aplicação Java interaja com a base de dados.

Java Persistence API

O Java Persistence API é utilizado para persistir dados entre objetos Java e as bases de dados relacionais. O JPA funciona como uma ponte entre os modelos de domínio orientados para objetos e os sistemas de bases de dados relacionais.

JavaServer Faces

O JSF é um framework MVC (Model-View-Controller) para o desenvolvimento de interfaces de utilizador (UI) web.

Enterprise Java Beans

É específico para o desenvolvimento de aplicações comerciais distribuídas e de grande escala na plataforma Java. É uma API Java utilizada para desenvolver software empresarial que inclui uma aplicação do lado do cliente. É uma arquitetura baseada no servidor que segue os requisitos e as especificações do ambiente empresarial. Para implantar a aplicação EJB, é necessário ter um contentor JavaEE, um contentor web e um contentor EJB.

Conclusão

O desenvolvimento web em Java oferece muitas ferramentas e estruturas que aumentam a produtividade, a escalabilidade e a capacidade de manutenção. Ao tirar partido destas ferramentas, o programador web Java pode criar aplicações eficientes e robustas. Java é uma das opções mais populares para o desenvolvimento de backend, visto que esta linguagem, é mais fiável, mais segura e consistente, no entanto mais lenta, menos flexível e inovadora.

Uma outra opção para o desenvolvimento de backend é o node.js. O node.js é um ambiente de execução JavaScript open-source e multiplataforma, que permite a execução de código JavaScript fora de um navegador web. Esta linguagem permite a programação de scripts do lado do servidor e do lado do cliente no desenvolvimento de aplicações web.

icon