• Save
Rich Enterprise Applications with JavaFX
Upcoming SlideShare
Loading in...5
×
 

Rich Enterprise Applications with JavaFX

on

  • 4,499 views

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

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

Statistics

Views

Total Views
4,499
Views on SlideShare
4,267
Embed Views
232

Actions

Likes
1
Downloads
0
Comments
0

13 Embeds 232

http://mkblog.exadel.com 143
http://www.jboss.org 34
http://redhat.sys-con.com 11
http://www.slideshare.net 11
http://www.docshut.com 10
https://java.sys-con.com 6
http://java.sys-con.com 5
http://maxkatz.sys-con.com 4
http://planet.jboss.org 3
http://www.jsfsummit.com 2
http://static.slidesharecdn.com 1
http://java.ulitzer.com 1
http://www.nofluffjuststuff.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Rich Enterprise Applications with JavaFX Rich Enterprise Applications with JavaFX Presentation Transcript

  • Rich Enterprise Applications with JavaFX
    • Max Katz
    • Senior Systems Engineer
    • Exadel
    • [email_address]
    • 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)
  • Author of Practical RichFaces (Apress) Co-author of RichFaces Dzone RefCard
    • Blog
    • http://mkblog.exadel.com
    • Twitter
    • http://twitter.com/maxkatz
    • 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
    • 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
    • Exadel Services
    • Rich Enteprise Applications development
    • Custom rich components
    • Eclipse development
    • Cloud services
    • Mobile development
    • Training
    • The Plan:
    • Introduce JavaFX
    • Show how JavaFX can be connected to enterprise back ends
    • Other JavaFX-related projects
    • Options today
    • Ajax/HTML
      • Browser only
    • Flash/Flex
      • Browser + Flash player plug-in
    • Silverlight
      • Browser + plug-in
    • Another (new/old) option
    • JavaFX
      • Browser + Java plug-in
    • What is JavaFX?
    • Rich client platform for building and deploying rich Internet applications
    • JavaFX SDK
    • JavaFX script
    • Java runtime (JRE)
    • Java applets done correctly ( almost )?
    • Java runtime download
    • Java runtime installation/configuration
    • Application deployment
    • Powerful declarative language
    • JavaFX Script is a DSL for creating rich UI using a powerful declarative language
    • Let's look at a simple example
    • Could JavaFX be used to create rich UI's in the enterprise?
    • Server options:
    • Java EE
    • Spring
    • Seam
    • H ow to connect the client (JavaFX) with server?
    • Basic API to make remote calls in JavaFX
    • Some ready-to-use framework
    • Flamingo
    • Framework for easily bootstrapping JavaFX front-end with a Java EE, Seam and Spring back-end
    • Open source
    • Flamingo features:
    • CRUD tools
    • Server-side push
    • Offline
    • Server integration components:
      • Server components call
      • Conversation support
      • Binding
      • Validation
      • EL (Expression Language)
  • Examples
  • @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
  • @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
  • @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
  • @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)
    • More examples:
    • EL (Expression Language)
    • Server-side push
    • Off-line
    • JavaFX server-side push
    • JavaFX hotel booking application
    http://tinyurl.com/javafxhotel
    • 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
    • Android application connected to back-end with Flamingo
    • Other JavaFX projects
    • JavaServer Faces (JSF) is the standard component-oriented UI framework for the Java EE platform
    • Using JavaFX applet on JSF page
    JSF page Applet <h:outputText> <h:inputText> <h:dataTable> <fiji:javafx>
    • Fiji: JavaFX – JSF integration
    • Wrap any JavaFX applet as a JSF component
    • Open source
    • Fiji: JSF-JavaFX integration
    <fiji:javaFx archive=&quot;/javafx/chart.jar&quot; applicationClass=&quot;com.exadel.fiji.Chart&quot;/>
    • FacesFX – JavaFX as JSF VDL (View Description Language)
    • JavaFX script is a very powerful UI language
  • JavaFX nodes for JSF component ValueExpression
    • JavaFX plug-in for Eclipse
    • Eclipse plug-in for developing JavaFX applications
    • Open source, free
    • Ajax Applications with RichFaces and JSF 2 session
    • Tomorrow, 4:30pm
    • 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?