Introdução às plataformas Java

Com o objetivo de apresentar algumas das plataformas Java, este artigo aborda os conceitos de cada uma delas, são elas: Java SE, Java EE e Java FX, onde podem ser utilizadas e quais os tipos de aplicação que podem ser desenvolvidas.

Conhecendo as plataformas Java

Com o objetivo de apresentar algumas das plataformas Java, este artigo aborda os conceitos de cada uma delas, onde podem ser utilizadas e quais os tipos de aplicação que podem ser desenvolvidas. Também serão apresentadas suas características e algumas especificações aplicadas e disponíveis para cada plataforma, descrevendo suas utilidades.

Este tema é útil para quem deseja conhecer e utilizar as plataformas Java EE, Java SE e JavaFX no desenvolvimento de aplicações web e desktop. É válido também para profissionais que desejam conhecer algumas das especificações que podem ser aplicadas nessas plataformas.

Diversas plataformas de desenvolvimento estão presentes fortemente no mercado de TI, como é o caso do Java. Ela foi lançada pela empresa Sun Microsystems em 1995 e atualmente está sob a responsabilidade da Oracle. Seu objetivo é fornecer ferramentas para o desenvolvimento de aplicativos que contemplam áreas como mobilidade, sistemas web, sistemas desktop, dentre outros.

A plataforma Java é composta atualmente por quatro edições para segmentos específicos de aplicações, a saber: Java EE, Java SE, Java ME e JavaFX. Uma característica forte e presente em todas elas é a contribuição significativa de seus usuários, que ajudam cada vez mais em seu processo de evolução e divulgação.

Além da colaboração da comunidade, uma das grandes vantagens do Java é ser multiplataforma, o que possibilita a execução de aplicativos em qualquer sistema operacional ou hardware, desde que o interpretador Java esteja instalado. Os programas desenvolvidos são emulados por meio de uma máquina Virtual, conhecida como JVM (Java Virtual Machine), que converte os bytecodes (codificação do programa) para uma linguagem que a máquina entenda.

Outra vantagem do Java é a oferta de um vasto conjunto de tecnologias (ou especificações) que estão disponíveis e ajudam a enriquecer cada vez mais as plataformas. Alguns conceitos dessas tecnologias serão abordados ao longo do artigo.

Java Enterprise Edition

A Java EE, ou Java Platform, Enterprise Edition, é a plataforma que disponibiliza recursos para o desenvolvimento de aplicações corporativas voltadas para web e servidores de aplicação.

Java EE foi projetada para suportar sistemas de uso em larga escala, ou seja, para uma quantidade significativa de usuários, possibilitando o desenvolvimento de aplicações escaláveis, robustas e multicamadas. Toda essa estrutura incorpora características como segurança e confiabilidade, muitas vezes consideradas difíceis de serem implementadas. Com o objetivo de amenizar as dificuldades de implementação dessas características, o Java EE fornece um conjunto de tecnologias que reduz significativamente o custo e a complexidade de desenvolvimento.

Em uma aplicação multicamadas, por exemplo, tem-se a estrutura do aplicativo separada em camadas, onde cada uma possui uma responsabilidade específica. Atualmente é possível classificar essa estrutura em duas partes: arquitetura lógica e arquitetura física.

A arquitetura física refere-se à infraestrutura sobre a qual o sistema ou aplicação é executado, que pode ser dividida em três camadas, a saber:

Em relação à arquitetura lógica, a mesma é caracterizada pela organização dos componentes do sistema ou aplicação, podendo ser dividida em quatro camadas, a saber:

Para compreender melhor como funciona essa arquitetura observe a Figura 1 que exemplifica graficamente a estrutura de uma aplicação Java EE.

Figura 1. Estrutura de uma aplicação Java EE.

As quatro camadas lógicas interagem entre si através do seguinte fluxo: a camada de apresentação tem a função de interagir com o usuário e apresentar resultados. Ela dispara eventos gerados a partir das ações dos usuários (cliques ou seleções de menus) para a camada de controle. Esta gerencia todo o fluxo de informação recebida e ativa processos da camada de negócio. A camada de negócios, por sua vez, mantém toda a regra de negócios da aplicação, e de acordo com a ação recebida da camada de controle, executa a lógica necessária e se comunica com a camada de persistência, responsável pelo acesso às informações no banco de dados. Esta última camada, enfim, provê a criação, atualização, busca ou remoção de dados solicitados na camada de negócios, que são processados e devolvidos por meio da camada de controle à camada de apresentação.

Tecnologias aplicadas na camada de apresentação

Na camada de apresentação estão contidos todos os componentes visuais (formulários, menus, botões, por exemplo) presentes na aplicação. Para a construção da interface gráfica, tecnologias como HTML, JavaScript, CSS e Ajax são utilizadas.

Essas tecnologias trabalham em conjunto com algumas especificações Java, a saber:

Embora presentes na camada de apresentação, as tecnologias JSP e JSF também possuem recursos que permitem o seu uso na camada de controle.

Com o objetivo de enriquecer ainda mais o client-side de Java, foi criada a plataforma JavaFX, que vem conquistando o mercado, provendo uma nova e moderna coleção de controles de interface com o usuário. Esta coleção permite aos desenvolvedores construir aplicações RIA (Rich Internet Applications) que podem ser executadas em vários navegadores, desktops e dispositivos móveis. Mais informações sobre ela serão abordadas em seu respectivo tópico.

Tecnologias aplicadas na camada de controle

Na camada de controle, que intermedia a interação entre a camada de apresentação e de negócios, o Java EE oferece tecnologias para atender as necessidades das tarefas descritas anteriormente. Dentre estas tecnologias podem-se citar alguns dos componentes fundamentais do Java EE, que são:

Tecnologias aplicadas na camada de negócios

A camada de negócio é responsável por implementar toda a lógica de negócios para o aplicativo. Nesta camada se concentra todo o código com as regras desenvolvidas para um caso específico, como um setor financeiro, um site de comércio eletrônico, entre outros. Em um aplicativo empresarial devidamente projetado, o núcleo da aplicação é implementado nos componentes da camada de negócio. As tecnologias que são oferecidas nesta camada são:

Tecnologias aplicadas na camada de persistência

A terceira camada consiste em receber requisições da camada de negócio e executar essas requisições na base de dados. A seguir, são demonstradas algumas tecnologias que podem ser aplicadas para comunicação com o banco de dados a partir de aplicações Java EE:

Algumas das tecnologias supracitadas continuam sendo evoluídas nas novas versões das plataformas. Atualmente, a Java EE, por exemplo, está na versão 7, lançada oficialmente em 2013. Alguns dos principais marcos da evolução da Java EE estão ilustrados na Figura 2.

Figura 2. Evolução da plataforma Java EE.

A Java EE 7 introduziu um conjunto de novas APIs, bem como melhorou algumas das APIs já existentes. Seu maior objetivo foi facilitar a implementação e execução de aplicações em ambientes na nuvem, sejam elas públicas e/ou privadas. Um dos aspectos mais importantes do crescimento do Java é seu foco, que busca sempre acompanhar tendências com as novidades presentes em cada nova versão de plataforma. As tecnologias e suas respectivas versões, que compõem essa plataforma, estão ilustradas na Figura 3.

Figura 3. Especificações da Java EE 7.

Dentre as diversas melhorias projetadas para a Java EE 7, pode-se citar a tecnologia Bean Validation. Com ela é possível realizar validações no código fazendo uso de anotações. Bean Validation permite que a mesma validação de um campo obrigatório aplicada na camada de apresentação, por exemplo, possa ser utilizada nas demais camadas. Esta regra em todas as camadas fornece diversos benefícios ao desenvolvedor, gerando produtividade e evitando possíveis falhas.

Java SE

A Java SE (Java Platform, Standard Edition) é a plataforma de programação voltada para criação de applets e desenvolvimento de softwares para desktop, destinados a computadores pessoais, notebooks ou outras arquiteturas com maior capacidade de processamento e memória.

Os aplicativos podem ser executados em Windows, Mac OS, Linux, Solaris ou outros sistemas operacionais, contanto que estes tenham instalado o ambiente de execução JRE (Java Runtime Environment).

Tecnologias aplicadas à Java SE

A plataforma Java SE fornece um conjunto de tecnologias para a criação de aplicações, sejam elas desktop ou não. Dentre as que ela oferece, são citadas algumas a seguir:

JavaFX

JavaFX é uma plataforma projetada para oferecer um rico conjunto de APIs que simplificam o desenvolvimento de softwares que utilizam conteúdo de multimídia. Para que isso seja possível, são utilizados avançados engines de mídia e gráficos de aceleração por hardware.

Essa tecnologia provê uma nova e moderna coleção de controles de interface com o usuário, tornando-se uma ótima opção para o desenvolvimento RIA com Java. As aplicações RIA (Rich Internet Applications) podem ser acessadas de qualquer computador que esteja conectado a internet. O termo RIA é usado para descrever Aplicações Ricas para Internet, que são executadas em ambiente web, mas que possuem características similares a softwares desenvolvidos para execução em ambiente desktop.

Investir nesta plataforma pode significar muitas vantagens para os desenvolvedores e empresas que já trabalham, principalmente, com Java. Por ser baseada nesta linguagem, é possível utilizar todos os seus poderosos recursos, como multithreading e suporte a anotações.

Outra vantagem é que a tecnologia utiliza FXML, uma linguagem de marcação como opção à codificação em Java. FXML permite modelar a UI separadamente da lógica da aplicação, não sendo necessário recompilar o código toda vez que uma mudança no layout ocorrer. Com essa tecnologia é possível criar tabelas, botões, aplicar efeitos em campos, criar animações, fazer uso de CSS, exibir conteúdo multimídia, dentre muitas outras funcionalidades que contribuem para fornecer ao usuário uma melhor usabilidade. Na Figura 4 é exibida a tela de uma aplicação disponibilizada pela Oracle com exemplos de aplicações desenvolvidas em JavaFX.

Figura 4. Aplicação com exemplos do JavaFX.

Para incrementar ainda mais a plataforma JavaFX, algumas tecnologias e projetos vêm contribuindo para o desenvolvimento de aplicações desse tipo. São eles:

Conclusão

Neste artigo foi possível conhecer as principais plataformas Java (Java SE, Java EE e JavaFX) e abordar diversos conceitos de tecnologias que podem ser aplicadas especificamente em cada uma delas.

A edição Java SE é considerada a base da plataforma Java, sendo voltada, principalmente, para a criação de software para ambiente desktop. Como é a base da plataforma, Java EE estende Java SE, e é usada para a construção de aplicações corporativas e web. JavaFX, por sua vez, tem por objetivo focar no desenvolvimento de aplicações multimídia, proporcionando uma interface visual muito mais agradável que enriquece o desenvolvimento client-side da plataforma Java.

Para o futuro, espera-se que sejam implementadas ainda mais tecnologias que venham a fortalecer as plataformas analisadas, buscando uma melhora contínua para tornar o processo de desenvolvimento de aplicações Java ainda mais produtivo.


Links Úteis
  • Java 7:
    Site com informações sobre o lançamento do Java 7
  • JavaFX:
    Site para fazer download de aplicações JavaFX
  • JFXtras:
    Site do projeto JFXtras

Saiba mais sobre Java ;)

  • O Que é JPA?:
    Dominar a persistência de dados é uma necessidade indispensável aos programadores. Sem esse conhecimento nossas aplicações não terão a capacidade de armazenar e recuperar os dados por ela manipulados.
  • Preparando o ambiente para programar em Java:
    Neste curso você aprenderá a preparar seu ambiente para programar em Java. Veremos aqui o que é necessário instalar e como proceder para desenvolver aplicações com essa linguagem.
  • Criando meu primeiro projeto no Java:
    Neste curso você aprenderá a criar o seu primeiro programa com Java, e não, ele não será um simples “Hello, World!”. :) Para isso, vamos começar ensinando como instalar o Java e preparar o ambiente de desenvolvimento.

Artigos relacionados