Your SlideShare is downloading. ×
0
Developing Web Applications
        of the future
              -
 Combining JEE 6 & JavaFX
Goal of this talk



            New features in JEE 6
            Mixing JEE 6 and JavaFX
            A look into the nea...
About me


Paul Bakker
                         EJB 3
 Trainer Info Support    JSF
 NLJUG speaker           Seam
         ...
Outline


JavaFX web applications
JAX-RS RESTful services
Connecting JavaFX to services
One minute JavaFX intro


Sun’s RIA platform
  Competes with Flex, Flash and Silverlight
A new language
  JavaFX Script
  ...
JavaFX key features


Expressiveness
Easy component creation
Animation
Java integration
Media support
Write once, run anyw...
Current problems



No components!
No layout managers
No selectable text
Tooling
JEE 6 ingredients

Profiles
EJB 3.0 => 3.1 (Lite)
JSF 1.2 => 2.0
JPA 1.0 => 2.0
JAX-RS => New!
WebBeans => New!
Using JEE 6



GlassFish V3
 EJB3.1, JSF 2.0 and JAX-RS
 No WebBeans, Servlet 3.0 and JPA 2.0 yet
 Only WAR deplyment
JEE 6 & JavaFX
          Browser
Desktop

                        JavaScript
JavaFX        JavaFX                 HTML

  ...
2.0 highlights
             JSF


Facelets
Annotation support
  e.g. @ManagedBean
AJAX support
Resource loading
Project St...
Integrating JSF & JavaFX


JSF renders to HTML
  Use <applet> tag
  JavaScript for communication
All text oriented functio...
Full page JavaFX


Too limited at this moment
  Navigation, bookmarks, scrolling...
Will be an option in future versions
O...
JavaFX brower integration


AppletStageExtension
  Browser navigation
  Script evaluation
Call JavaScript methods
JavaFX calling JavaScript
Server url


JavaFX uses web services to connect to the
server
Do not hardcode the server url
Use FX.getParameter
JSF page initialization

Use @ManagedProperty to inject a request
parameter



Use @PostConstruct to initialize values
JFXtras


Layout Managers
 MigLayout port
Compontents
Dialogs
Unit Testing

   http://code.google.com/p/jfxtras/
MigLayout example
JEE 6 & JavaFX
          Browser
Desktop

                        JavaScript
JavaFX        JavaFX                 HTML

  ...
JAX-RS



Expose RESTful web services
Annotation based
Easily combined with EJB and JPA
 But no @EJB injection (yet)
RESTful intro


Web style web services
Resources over HTTP

Uniform Interface        Connectedness

 Addressability       ...
JAX-RS



@Path
 Resource class root path
 A sub-resource
JAX-RS


@GET
 Method handling GET requests
@Produces
 Content type supported
@PathParam
 Extract value from URI template
Using JPA




Use out-of-container JPA confguration
Use EJB (Lite) Session Beans Lookup
  Global JNDI namespace
  @EJB
Use...
JEE 6 & JavaFX
          Browser
Desktop

                        JavaScript
JavaFX        JavaFX                 HTML

  ...
lite
           EJB 3


No interface required
Runs in the web profile
No Message Driven Beans
No remote interface
No Timer...
EJB 3.1 lite Session Bean
Global JNDI namespace



A portable namespace
java:global[/<app-name>]/<module-name>/
<bean-name>
Using Global JNDI

MobileShopServices.war
Converting




               Resource    Entity
Request




                          Converter
                 XML
Resp...
Converting Entities


Each Entity has two converters
  A single Entity converter
  A list converter
A JAXB annotated wrapp...
Converter example
JavaFX web service API


JavaFX style HTTP calls
Pull style parsing
  XML and JSON supported
REST only (no SOAP)
JavaFX Production Suite


           Designer => Developer
                Workflow
Production Suite
            Workflow

                   Place all    Replace
Photoshop        elements on     dummy
    ...
More about this


June 29: Summer Class
Bert Ertman & Paul Bakker
More about this


June 29: Summer Class
 JSF 2.0
 Servlet 3.0
 EJB 3.1 (lite)
 JPA 2.0
 WebBeans
 JAX-RS
 JavaFX (includin...
Web Applications of the future: Combining JEE6 & JavaFX
Upcoming SlideShare
Loading in...5
×

Web Applications of the future: Combining JEE6 & JavaFX

10,286

Published on

This presentation shows the most important web related new futures in JEE 6, and how to combine JEE 6 and JavaFX to create interesting applications. Topics such as JAX-RS, JSF 2.0, EJB lite and JavaFX/JavaScript integration is discussed.

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
  • I find it very interesting, though I used it for JSF!!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
10,286
On Slideshare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
540
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Web Applications of the future: Combining JEE6 & JavaFX"

  1. 1. Developing Web Applications of the future - Combining JEE 6 & JavaFX
  2. 2. Goal of this talk New features in JEE 6 Mixing JEE 6 and JavaFX A look into the near future
  3. 3. About me Paul Bakker EJB 3 Trainer Info Support JSF NLJUG speaker Seam JavaFX Java Magazine author Spring Hibernate Flex
  4. 4. Outline JavaFX web applications JAX-RS RESTful services Connecting JavaFX to services
  5. 5. One minute JavaFX intro Sun’s RIA platform Competes with Flex, Flash and Silverlight A new language JavaFX Script Declarative UI programming
  6. 6. JavaFX key features Expressiveness Easy component creation Animation Java integration Media support Write once, run anywhere...
  7. 7. Current problems No components! No layout managers No selectable text Tooling
  8. 8. JEE 6 ingredients Profiles EJB 3.0 => 3.1 (Lite) JSF 1.2 => 2.0 JPA 1.0 => 2.0 JAX-RS => New! WebBeans => New!
  9. 9. Using JEE 6 GlassFish V3 EJB3.1, JSF 2.0 and JAX-RS No WebBeans, Servlet 3.0 and JPA 2.0 yet Only WAR deplyment
  10. 10. JEE 6 & JavaFX Browser Desktop JavaScript JavaFX JavaFX HTML HTTP Server JAX-RS JSF EJB 3 JPA
  11. 11. 2.0 highlights JSF Facelets Annotation support e.g. @ManagedBean AJAX support Resource loading Project Stages
  12. 12. Integrating JSF & JavaFX JSF renders to HTML Use <applet> tag JavaScript for communication All text oriented functionality => JSF All flashy stuff => JavaFX
  13. 13. Full page JavaFX Too limited at this moment Navigation, bookmarks, scrolling... Will be an option in future versions Ok for Swing / Desktop
  14. 14. JavaFX brower integration AppletStageExtension Browser navigation Script evaluation Call JavaScript methods
  15. 15. JavaFX calling JavaScript
  16. 16. Server url JavaFX uses web services to connect to the server Do not hardcode the server url Use FX.getParameter
  17. 17. JSF page initialization Use @ManagedProperty to inject a request parameter Use @PostConstruct to initialize values
  18. 18. JFXtras Layout Managers MigLayout port Compontents Dialogs Unit Testing http://code.google.com/p/jfxtras/
  19. 19. MigLayout example
  20. 20. JEE 6 & JavaFX Browser Desktop JavaScript JavaFX JavaFX HTML HTTP Server JAX-RS JSF EJB 3 JPA
  21. 21. JAX-RS Expose RESTful web services Annotation based Easily combined with EJB and JPA But no @EJB injection (yet)
  22. 22. RESTful intro Web style web services Resources over HTTP Uniform Interface Connectedness Addressability Statelessness
  23. 23. JAX-RS @Path Resource class root path A sub-resource
  24. 24. JAX-RS @GET Method handling GET requests @Produces Content type supported @PathParam Extract value from URI template
  25. 25. Using JPA Use out-of-container JPA confguration Use EJB (Lite) Session Beans Lookup Global JNDI namespace @EJB Use Session Bean as resource Might not be in JEE 6
  26. 26. JEE 6 & JavaFX Browser Desktop JavaScript JavaFX JavaFX HTML HTTP Server JAX-RS JSF EJB 3 JPA
  27. 27. lite EJB 3 No interface required Runs in the web profile No Message Driven Beans No remote interface No Timer service No EJB 2.x compatibility
  28. 28. EJB 3.1 lite Session Bean
  29. 29. Global JNDI namespace A portable namespace java:global[/<app-name>]/<module-name>/ <bean-name>
  30. 30. Using Global JNDI MobileShopServices.war
  31. 31. Converting Resource Entity Request Converter XML Response JAXB
  32. 32. Converting Entities Each Entity has two converters A single Entity converter A list converter A JAXB annotated wrapper class
  33. 33. Converter example
  34. 34. JavaFX web service API JavaFX style HTTP calls Pull style parsing XML and JSON supported REST only (no SOAP)
  35. 35. JavaFX Production Suite Designer => Developer Workflow
  36. 36. Production Suite Workflow Place all Replace Photoshop elements on dummy scene elements Add Add action animation handlers
  37. 37. More about this June 29: Summer Class Bert Ertman & Paul Bakker
  38. 38. More about this June 29: Summer Class JSF 2.0 Servlet 3.0 EJB 3.1 (lite) JPA 2.0 WebBeans JAX-RS JavaFX (including new beta)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×