JavaFx is a set of technologies built on-top of Java.
The goal of JavaFx is to make it simpler to build RIA/Desktop GUI applications in Java.
Additionally JavaFX has native support for calling REST services and parsing XML or JSON. It can also call SOAP though REST is more likely in RIA.
Also because JavaFX in a RIA can be run as a Java applet. The newer JVM that run JavaFX are much faster and stable than the original Java applets that gave Java UI such a bad impression. Also an applet can now be dragged from the browser to the user desktop.
And because your JavaFX application is running as an applet - the "offline" storage problem is much simpler. If you really just want to do operations on data already retrieved but have lost a connection - the data is kept in resident memory. Or if you need to actually store it to local storage, you can use any data source supported by Java.