Do que se trata o artigo:

O artigo aborda o uso da tecnologia JavaFX 2 no desenvolvimento de aplicações ricas dentro do ambiente corporativo. Para isso, um exemplo é apresentado envolvendo o uso de um Web Service REST como forma de acesso e manipulação a um banco de dados dentro de uma aplicação cliente JavaFX.

Em que situação o tema útil:

Uma das intenções da Oracle com o JavaFX 2 é que este se torne o sucessor do Swing como toolkit de criação de interfaces com o usuário em Java, incluindo o mercado de software corporativo.

Resumo DevMan:

A tecnologia JavaFX, recentemente atualizada para a versão 2.0, possibilita a criação de aplicações cliente ricas para a Internet utilizando um novo conjunto de controles e recursos gráficos, aliados às vantagens da linguagem Java que já são familiares aos desenvolvedores. Não são somente aplicações gráficas e jogos que podem tirar proveito da tecnologia. Qualquer tipo de software cliente pode ser desenvolvido utilizando seus recursos e evidentes vantagens na elaboração de uma rica interface.

Para quem ainda não conhece o JavaFX 2, familiarizar-se com esta plataforma pode parecer mais uma tarefa daquelas do tipo: “aí vem outra tecnologia Java que vai confundir minha cabeça”.

Esta afirmação até poderia ser procedente, se ainda estivéssemos falando do JavaFX na sua primeira versão. Afinal de contas, no JavaFX 1.x, os aplicativos deveriam ser escritos em uma linguagem de script denominada JavaFX Script, que realmente poderia causar algum desconforto no programador acostumado com o “bom e velho Java tradicional”.

Mas tudo isso mudou com o lançamento da segunda versão da plataforma, o JavaFX 2. Com ela, as aplicações passam a ser escritas efetivamente em Java nativo, usando as novas APIs trazidas pelo JavaFX.

Se você não teve a oportunidade ainda de ser “apresentado” ao JavaFX, e se não viu o artigo “Por dentro do JavaFX 2” da Java Magazine 105, aí vai um breve resumo sobre suas principais características e vantagens:

• Trata-se de uma API Java nativa voltada ao desenvolvimento de aplicações ricas para Web, nos mesmos moldes daquelas criadas em Adobe Flash e Microsoft Silverlight;

• Possui uma vasta seleção de controles visuais, que possibilitam a criação dos mais diversos tipos de aplicações, indo de softwares comerciais e empresariais a jogos e multimídia;

• Todos seus recursos gráficos se beneficiam da aceleração gráfica das modernas GPUs, desde o uso de controles visuais simples até sofisticados gráficos 3D e animações;

• Separação da lógica do programa da definição da interface – sendo que esta última pode ser estruturada por uma linguagem de marcação criada especificamente para a plataforma, denominada FXML;

• Execução das aplicações dentro de um browser ou em modo standalone – aliás, um aplicativo JavaFX executado no browser pode ser facilmente “arrastado” para o desktop tornando-se um aplicativo “tradicional”;

• Incluído por padrão no Java 7, está disponível para as principais plataformas de sistema operacional do mercado: Windows, Mac OS X e Linux.

Somado a todos estes fatores, está um detalhe importantíssimo: a Oracle vê o JavaFX como o “substituto natural” do Swing. Ou seja, em pouco tempo, deve se tornar o padrão de interface com o usuário da linguagem Java.

JavaFX na empresa: porque um aplicativo empresarial não precisa ser “feio”

Tradicionalmente, aplicativos empresariais são criados para serem eficientes e precisos. Obviamente, isso inclui a construção de uma interface intuitiva e limpa, dentro dos padrões considerados adequados. Mas daí dizer que aplicativos empresarias têm interfaces “bonitas” e “atrativas” já são outros quinhentos...

Geralmente, aplicativos comerciais caracterizam-se por apresentar uma interface extremamente simples, beirando o rudimentar. Basta conhecer alguns dos exemplos mais usados no mercado, como tradicionais ERPs, para confirmar este fato. E eles não estão errados sendo assim – afinal, a interface NUNCA foi o foco principal de um aplicativo empresarial.

Mas isso não quer dizer que deve ser sempre assim. Uma interface “bonita e elegante” (sempre dentro do nível do bom senso) chama a atenção e é mais agradável de utilizar.

Interfaces intuitivas e limpas tornaram-se fundamentais em qualquer tipo de aplicação moderna. Proporcionar a criação de interfaces com estas características é um dos pontos fortes de uma plataforma de desenvolvimento de aplicações ricas, como o JavaFX.

Muitos ainda possuem a ideia que plataformas de desenvolvimento RIA (Rich Internet Applications, ou Aplicações Ricas para Internet) são exclusivas para o desenvolvimento de aplicações multimídia, jogos e animações. Esta é uma concepção equivocada, reforçada pelo fato de que algumas tecnologias desta categoria eram usadas quase que exclusivamente para este fim (notadamente, o Adobe Flash). Porém, com o surgimento de novas alternativas no mercado de desenvolvimento RIA (como o Microsoft Silverlight e o JavaFX), esta visão tem sido modificada. Tecnologias como estas tem sido cada vez mais usadas também no desenvolvimento de software empresarial.

A construção da interface de um aplicativo corporativo com JavaFX é natural, afinal de contas, controles visuais, “velhos conhecidos” dos desenvolvedores, estão disponíveis, como rótulos, botões e caixas de entrada de texto. Mas como um aplicativo JavaFX pode estar integrado com a lógica de negócios e os dados do ambiente corporativo? Uma forma de fazê-lo (para não dizer “a melhor forma”) é utilizar os recursos disponibilizados por um Web Service REST.

Para demonstrar como isso pode ser realizado, vamos elaborar neste artigo um aplicativo JavaFX simples para gerenciamento de uma base de dados de produtos. Ele conterá a interface de manutenção do cadastro, atuando como front-end se comunicando com um Web Service REST (também desenvolvido em Java), sendo que este último atuará diretamente nos dados armazenados em um banco de dados MySQL.

Neste mini-aplicativo JavaFX vamos ter uma tela única, por onde o usuário irá visualizar os produtos cadastrados e poderá fazer uma inclusão usando este mesmo recurso – tudo por meio de requisições ao Web Service.

No meio disso tudo, vamos entrar em contato com os seguintes conceitos de JavaFX:

• Uso de controles visuais para menu, caixa de entrada de texto, caixa de combinação (ComboBox) e tabela para exibição dos dados;

• Utilização de propriedades e coleções JavaFX;

• Conexão com um Web Service RESTful em um servidor GlassFish para realização do CRUD (na realidade, apenas CR – create e read – neste exemplo)

Para implementar o exemplo descrito neste artigo, é necessário:

• Java JDK 7u4 ou superior (as versões para Windows e Mac OS X já incluem o JavaFX SDK);

• NetBeans 7.1.2 ou superior;

• GlassFish 3.1.2 ou superior (você pode utilizar a versão do GlassFish que vem junto com as versões mais completas do NetBeans);

• JavaFX Scene Builder (este utilitário serve para construção das interfaces dos aplicativos JavaFX sem necessidade de escrita manual do código FXML – o link para download está disponível na seção correspondente, no final do artigo);

• MySQL Server 5.x: onde ficarão armazenados os dados.

Ao final deste artigo, o aplicativo ficará semelhante ao apresentado na Figura 1.

Figura 1. Tela do aplicativo em execução.

Criando o banco de dados e o Web Service REST

Inicialmente, precisamos criar o banco de dados do MySQL, chamado javamagazine, juntamente com a tabela que vai conter os dados, denominada produto. É óbvio que esta é uma estrutura extremamente simplificada de um banco de dados de um sistema empresarial, elaborada apenas para facilitar a implementação e o entendimento.

...
Quer ler esse conteúdo completo? Tenha acesso completo