Rich Enterprise Applications with JavaFX

  • 3,109 views
Uploaded on

JavaFX presentations given during TheServerSide Java Symposium in Las Vegas (2010)

JavaFX presentations given during TheServerSide Java Symposium in Las Vegas (2010)

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,109
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Rich Enterprise Applications with JavaFX
    • Max Katz
    • Senior Systems Engineer
    • Exadel
    • [email_address]
  • 2.
    • Max Katz
    • Senior Systems Engineer at Exadel
    • RIA strategy, development, training and consulting
    • Products:
      • Exadel JavaFX plug-in for Eclipse
      • Exadel FacesFX (JavaFX as JSF VDL)
      • Exadel Fiji (JSF with JavaFX and Flex)
      • jsf4birt (JSF-BIRT integration)
  • 3. Author of Practical RichFaces (Apress) Co-author of RichFaces Dzone RefCard
  • 4.
    • Blog
    • http://mkblog.exadel.com
    • Twitter
    • http://twitter.com/maxkatz
  • 5.
    • Exadel
    • Products and services
    • Founded in 1998, headquarters in San Francisco Bay Area
    • 300+ employees
    • Offices in:
      • Concord, California - 1998
      • Russia, Moscow - 1999
      • Belarus, Minsk - 2002
      • Belarus, Vitebsk - 2005
      • Ukraine, Donetsk and Kharkov - 2006
  • 6.
    • Exadel Products
    • Open Source with JBoss
      • RichFaces
      • JBoss Tools/JBoss Developer Studio
    • Exadel
      • JavaFX plug-in for Eclipse
      • FacesFX
      • Fiji (JSF – JavaFX/Flex integration)
      • jsf4birt (JSF – BIRT/Actuate integration)
      • Mobile ecommerce
  • 7.
    • Exadel Services
    • Rich Enteprise Applications development
    • Custom rich components
    • Eclipse development
    • Cloud services
    • Mobile development
    • Training
  • 8.
    • The Plan:
    • Introduce JavaFX
    • Show how JavaFX can be connected to enterprise back ends
    • Other JavaFX-related projects
  • 9.
    • Options today
    • Ajax/HTML
      • Browser only
    • Flash/Flex
      • Browser + Flash player plug-in
    • Silverlight
      • Browser + plug-in
  • 10.
    • Another (new/old) option
    • JavaFX
      • Browser + Java plug-in
  • 11.
    • What is JavaFX?
  • 12.
    • Rich client platform for building and deploying rich Internet applications
    • JavaFX SDK
    • JavaFX script
    • Java runtime (JRE)
  • 13.
    • Java applets done correctly ( almost )?
    • Java runtime download
    • Java runtime installation/configuration
    • Application deployment
    • Powerful declarative language
  • 14.
    • JavaFX Script is a DSL for creating rich UI using a powerful declarative language
  • 15.
    • Let's look at a simple example
  • 16.
    • Could JavaFX be used to create rich UI's in the enterprise?
  • 17.
    • Server options:
    • Java EE
    • Spring
    • Seam
  • 18.
    • H ow to connect the client (JavaFX) with server?
    • Basic API to make remote calls in JavaFX
    • Some ready-to-use framework
  • 19.
    • Flamingo
    • Framework for easily bootstrapping JavaFX front-end with a Java EE, Seam and Spring back-end
    • Open source
  • 20.
    • Flamingo features:
    • CRUD tools
    • Server-side push
    • Offline
    • Server integration components:
      • Server components call
      • Conversation support
      • Binding
      • Validation
      • EL (Expression Language)
  • 21. Examples
  • 22. @Name ("messageManager") public class MessageManager { public void delete (int index){...} public void add (String text) {...} } public interface MessageManager { public void delete (int index); public void add (String text); } public static MessageManager getMessageManager() { return (MessageManager) FXServiceFactory .getService (MessageManager.class, " messageManager " ); } function add(): Void { var text = textBox.text; var msg: Message = Message {}; msg.setMessage(text); insert msg into messages; AppServiceFactory.getMessageManager().add(text); } Server Client 1 2 3 Server component call Server component call
  • 23. @Name ("wizardManager") @Scope(ScopeType.CONVERSATION) public class Wizard { @Begin public void start (){ log.info("starting long-running conversation"); .. } } public static void start() { ((WizardManager) ServiceFactory.getService(WizardManager.class, " wizardManager " )).start(); } Server Client Conversation support
  • 24. @Name (&quot;messageManager&quot;) @Scope(ScopeType.SESSION) public class MessageManager { @DataModel private List<Message> messageList ; Binding – bind (send to client) to any variable in server context public static BindingManager getBindingManager() { return (BindingManager) ServiceFactory.getService(BindingManager.class, &quot;com.exadel.flamingo.service.binding.bindingManager&quot; ); } public static Message[] getMessageList() { List<Message> list = (List<Message>) getBindingManager() .getObject( &quot;messageList&quot; ); return list; } Server Client 1 2
  • 25. @Entity @Name (&quot;message&quot;) public class Message { @Length(min=3, max=40) private String text ; } FlamingoServiceFactory. getHessianEntityValidator(). validate( &quot;message.text&quot; , value); Server Client Hibernate and Bean Validation (JSR 303)
  • 26.
    • More examples:
    • EL (Expression Language)
    • Server-side push
    • Off-line
  • 27.
    • JavaFX server-side push
  • 28.
    • JavaFX hotel booking application
    http://tinyurl.com/javafxhotel
  • 29.
    • Flamingo Mobile
    • Easily connect Java EE, Seam and Spring back-ends to iPhone, Android, and BlackBerry native applications
    • Re-use exiting enterprise services
    • Open source
  • 30.
    • Android application connected to back-end with Flamingo
  • 31.
    • Other JavaFX projects
  • 32.
    • JavaServer Faces (JSF) is the standard component-oriented UI framework for the Java EE platform
  • 33.
    • Using JavaFX applet on JSF page
    JSF page Applet <h:outputText> <h:inputText> <h:dataTable> <fiji:javafx>
  • 34.
    • Fiji: JavaFX – JSF integration
    • Wrap any JavaFX applet as a JSF component
    • Open source
  • 35.
    • Fiji: JSF-JavaFX integration
    <fiji:javaFx archive=&quot;/javafx/chart.jar&quot; applicationClass=&quot;com.exadel.fiji.Chart&quot;/>
  • 36.
    • FacesFX – JavaFX as JSF VDL (View Description Language)
    • JavaFX script is a very powerful UI language
  • 37. JavaFX nodes for JSF component ValueExpression
  • 38.
    • JavaFX plug-in for Eclipse
    • Eclipse plug-in for developing JavaFX applications
    • Open source, free
  • 39.
    • Ajax Applications with RichFaces and JSF 2 session
    • Tomorrow, 4:30pm
  • 40.
    • Max Katz
    • Blog
      • http://mkblog.exadel.com
    • Twitter
      • http://twitter.com/maxkatz
    • Email
      • [email_address]
    • Exadel
    • Blog
      • http://blog.exadel.com
    • Twitter
      • http://twitter.com/exadel
    Thank you. Questions?