Your SlideShare is downloading. ×
Rich Enterprise Applications with JavaFX
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Rich Enterprise Applications with JavaFX

3,194
views

Published on

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

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

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,194
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
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?