Este texto foi escrito com o objetivo de fornecer uma visão geral das principais tecnologias envolvidas no desenvolvimento de um sistema para Web utilizando a plataforma Java EE. Você não encontrará informações detalhadas sobre recursos, instalação, configuração, segurança, performance e comparativos das tecnologias aqui mencionadas.O que você verá é apenas uma relação com uma pequena descrição e links para referências oficiais das tecnologias mais utilizadas num projeto Java EE. A idéia é responder a seguinte pergunta: O que eu preciso aprender/utilizar para começar a desenvolver aplicações para a Web utilizando Java EE?

Java SE

A sigla significa Java Standard Edition e é a base para o desenvolvimento de aplicações Java, sejam elas do tipo console,aplicações com interfaces gráficas para desktop, utilitários para dispositivos móveis ou sistemas completos para Web. O Java SE estará presente em todos dos tipos de soluções Java porque é a edição que disponibiliza a linguagem Java propriamente dita, as diversas bibliotecas de funções para tratamento de exceções, conexão a banco de dados, entrada e saída de dados,manipulação de arquivos em disco, mecanismos de programação concorrente, e principalmente a API SWING, que é o conjunto de bibliotecas para a criação das interfaces gráficas. Mais informações.

A sigla significa Java Enterprise Edition e é a edição que disponibiliza recursos para o desenvolvimento de aplicações Web. Nesta edição encontramos ferramentas para criação de páginas Web dinâmicas, recursos para expandir as capacidades dos servidores de aplicações e diversos frameworks para a estruturação da aplicação em camadas. Mais informações.

Nota: Um framework é um conjunto de funções,componentes e recursos para facilitar o desenvolvimento de uma aplicação.

Java ME

A sigla significa Java Micro Edition e é utilizada para desenvolvimento de aplicações para dispositivos móveis, sejam eles celulares, smartphones, smartcards, TVsDigitais e chips de cartões. Mais informações.

Protocolos

HTTP

A sigla signfica HyperText Transfer Protocol e é o protocolo que possibilita o compartilhamento de documentos na World Wide Web. O HTTP encontra-se na camada de aplicação do modelo OSI (Open Systems Interconnection)e baseia-se no mecanismo pedido-resposta entre um cliente e um servidor para a troca de informações. Mais informações.

TCP/IP

A sigla significa Transmission Control Protocol / Internet Protocol e são dois protocolos distintos,pois o TCP é o protocolo responsável pela transmissão e o IP é o responsável pelo endereçamento dos dados que serão transmitidos pelo TCP. Estes protocolos atuam em camadas diferentes do modelo OSI. O TCP estaria na camada de transporte e o IP encontra-se na camada de rede do modelo OSI. Mais informações.

Linguagens de uso geral

As linguagens de uso geral são linguagens que sempre serão utilizadas no desenvolvimento de soluções para a Web independente se o projeto utilizará Java EE, PHP ou ASP.

HTML

A sigla significa HyperText Markup Language e é a linguagem utilizada para estruturar elementos tais como textos, parágrafos, listas, tabelas e imagens num documento para que este possa ser visualizado no ambiente da Web por meio dos navegadores.

CSS

A sigla significa Cascading Style Sheets e é a linguagem utilizada para separar todas as regras de formatação de uma página HTML colocando-as em um arquivo separado. Desta forma não misturamos código de estruturação com código de formatação. Outra vantagem é que se a aplicação tiver mais de uma página web e elas utilizarem as mesmas formatações, todo o código estará centralizado em um único arquivo facilitando futuras alterações.

JavaScript

É uma linguagem utilizada para controlar o comportamento de um documento HTML. Por exemplo, é possível verificar se um determinado elemento de edição foi preenchido ou não. Existem vários projetos que disponibilizam frameworks contendo funções,componentes prontos para facilitar o desenvolvimento das aplicações. Abaixo segue uma lista com os principais frameworks JavaScript:

HTML DOM

A sigla significa HTML Document Object Model e é um recurso utilizado para acessar os elementos de uma página HTML como se fossem objetos com atributos e propriedades. Por exemplo, uma função JavaScript pode recuperar o conteúdo de um elemento HTML de entrada de dados por meio da propriedade value deste elemento.

DHTML

A sigla significa Dynamic HyperText Markup Language e é uma técnica que utiliza JavaScript e HTML DOM para tornar as páginas HTML dinâmicas. Por exemplo, é possível alterar a cor de um determinado elemento HTML ao passar o mouse sobre ele ou ainda ocultar alguns elementos ao pressionar um determinado botão contido na página.

XML

A sigla significa eXtensible Markup Language e é a linguagem utilizada para criar documentos que contenham dados organizados hierarquicamente. É amplamente utilizado para armazenar configurações de sistemas, para compartilhamento de informações e também é muito utilizado por muitos frameworks, tais como Hibernate e Spring.

XML DTD

A sigla significa XML Document Type Definition e é a linguagem utilizada para definir a estrutura de um documento XML para que o mesmo possa ser validade e aceito pelos sistemas que irão compartilhar tais documentos.

XML Schema

É a linguagem utilizada para definir a estrutura de um documento XML com muito mais flexibilidade e recursos do que o XML DTD.

XML XSL

A sigla significa XML eXtensible Stylesheet Languagee é uma linguagem utilizada para definir folhas de estilo para XML assim como oCSS define folhas de estilo para o HTML.

AJAX

A sigla significa Asynchronous Java Script and XML e é uma técnica utilizada para criar funções assíncronas, por exemplo, preencher campos numa página Web sem a necessidade de dar ‘refresh’ na mesma.

Tecnologias Java EE

Servlets

É a tecnologia utilizada para estender a capacidade dos servidores de aplicações permitindo que respondamos as requisições feitas pelo protocolo HTTP.

JSP

A sigla significa Java Server Pages e é a linguagem utilizada para gerar páginas Web dinâmicas através da inclusão de código Java no meio de código HTML ou XML.

JSTL

A sigla significa JavaServer Pages Standard Tag Library e é a tecnologia utilizada para estender a JSP por meio de uma biblioteca de tags que encapsulam funcionalidades comuns tais como processamento de dados XML, loops, execução condicional e internacionalização.

JSF

A sigla significa Java Server Faces e é a tecnologia utilizada para gerar páginas Web com mais riqueza de recursos do que páginas com componentes HTML. JSF é a especificação da tecnologia. Existem várias implementações desta especificação. A lista abaixo relaciona as mais utilizadas:

Além das diversas implementações acima citadas, várias empresas criaram bibliotecas de componentes visuais baseados na especificação JSF. Estes componentes trazem recursos extras, novos controles, novos visuais, entre outras coisas. Segue uma relação dos principais conjuntos de componentes JSF:

EJB

A sigla significa Enterprise Java Beans e é a tecnologia que possibilita a criação de componentes reutilizáveis em aplicações Web. Estes componentes estarão hospedados no servidor da aplicação e normalmente eles representam um objeto que vai ser persistido em banco de dados, uma classe que irá processar mensagens de forma assíncrona ou ainda uma classe que vai realizar uma tarefa qualquer.

Conclusão

Ao longo deste documento foram expostas algumas das principais tecnologias utilizadas para a construção de aplicações Web utilizando a plataforma Java EE. Foi apresentada uma pequena descrição e links para maiores informações. Com isso, conseguimos responder a nossa pergunta: O que eu preciso aprender/utilizar para começar a desenvolver aplicações para a Web com Java EE? É importante salientar que existem outras tecnologias que não foram mencionadas neste trabalho, pois estas vão depender de características específicas da aplicação.