3. Objetivo
Trazer ao desenvolvedor Java uma
alternativa ágil na criação de aplicações
enterprise utilizando JavaFX e JEE,
apresentando ferramentas e informações
relevantes para atingir esse objetivo
4. Agenda
● Parte I - Introdução as tecnologias usadas
○ JEE (Java Enterprise Edition)
○ JavaFX
● Parte II - Cenário atual e nova alternativa
○ Sistemas WEB atuais e suas características
○ Aplicações JEE com JavaFX no Cliente
○ Desenvolvimento JEE
○ Desenvolvimento JavaFX
● Parte III - Código e discussões
○ Código
○ Conclusão
○ Dúvidas
6. JEE (Java Enterprise Edition)
Conjunto de especificações para
construção de aplicações enterprise
implementadas por servidores de aplicação
JEE 6 (Atual)
JEE 7 (Em Breve)
7. JEE:
Especificações utilizadas
JAX-RS
Criação de WEB Services utilizando REST
JPA
Persistência de objetos
CDI
Para injeção de dependência
EJB
Para facilitar o gerenciamento de transações
Lembre-se: JEE engloba outras especificações também
8. JavaFX
É uma moderna biblioteca Java que
dispõe de vários recursos para
criação de aplicações ricas.
Sua forma de programar facilita
muito a vida do desenvolvedor.
É o novo Swing
11. JavaFX:
"forma de programar"
Java no cliente como você nunca viu
● CSS
● GUI com XML: FXML
● Ferramenta "arrasta-solta"
● API: Binding e Listeners
● Uso de DSL: VisageFX, Scala, Groovy...
12. JavaFX:
"novo swing"
● Maior performance
● Multiplataforma: distruibuição da aplicação
através de JNLP, Applet, JAR e instalador
nativo: .rpm .exe...
● É parte da plataforma Java
● Open Source: OpenJFX
14. Sistemas WEB Atuais
Backend
JEE, Spring , RoR, DJango...
Frontend:
Flex, HTML 5 + JS, JSF, JSP, Frameworks JS
Backend + Frontend:
Vaadin, GWT...
15. Sistemas WEB Atuais:
Possíveis problemas
● Múltiplas linguagens de programação
● Ausência de especificações
● Dificuldade de encontrar especialistas
● Dependência de framework
● Imaturidade das ferramentas
16. Sistemas WEB Atuais:
Alternativa
Que tal mais uma alternativa?
Frontend+Backend: Java
● Sem Frameworks (exceto se você quiser)
● Especificações
● JVM
● Desenvolvimento rápido
Não é bala de prata!
17. Aplicações JEE com JavaFX no
Cliente
Servidor
JEE puro e portável
Cliente
JavaFX utilizando FXML, CSS
18. JEE com JavaFX:
Como fazer a comunicação?
● RMI
○ Realizar Lookup de EJBs para invocação de
métodos de negócio
● HTML + JS
○ Criar páginas HTML + JS e utilizar em uma app
JavaFX, utilizando recursos da plataforma
● WEB Services
○ SOAP
○ REST
19. JEE com JavaFX:
Arquitetura Geral
Blog: http://www.guigarage.com/2013/05/designing-javafx-business-applications-part-1/
29. ● Ferramentas de geração de formulários
baseado em POJO: FXForm2;
● Utilizar binding do Modelo para a camada de
visão;
● Usar JAX-RS 2.0 e Bean Validation para
incrementar o cliente;
● Facilitar a criação da visão com uma DSL;
● ...
Código:
Outras possibilidades
31. Conclusão
O uso de JEE com JavaFX em aplicações
"enterprise" se torna uma alternativa
atraente devido as ferramentas e
tecnologias envolvidas, pois essas auxiliam
no desenvolvimento rápido de aplicações
escaláveis e padronizadas.