Archive for the 'Flamingo' Category

2009

2009 was a good year. RichFaces is more popular than ever today. Exadel has participated in hundreds of RichFaces engagements this year. I don’t remember how many trainings I’ve done this year but just since September I had a RichFaces training every other week. The forum is very active. RichFaces now has two books, one is mine, Practical RichFaces (Apress). The other books is called JBoss RichFaces 3.3 (Packt). There is also RichFaces DZone RefCard available.

My blog traffic has been steadily growing this year. To make it easier for readers, I have tagged all my RichFaces howto’s, tips and tricks with richfaces-howto tag. Now you can find all the posts quickly. And of course I also started using Twitter (http://twitter.com/maxkatz) this year. My first tweet and my first follower @kito99 via http://firstfollower.com/

If you tried JSF 2 (and you should, it’s much better than JSF 1.2. Here is a great post by Andy Schwartz and here is my JSF 2 series), you will notice that core Ajax features in JSF 2 are very similar to what has been available in RichFaces for a very long time now. You will see that f:ajax tag in JSF 2 works very similar to the popular a4j:support tag (see this blog post and this for more info). The RichFaces team is already working on RichFaces 4 which will be based on JSF 2.

This year I attended and spoke at a number of conferences. I started with JSFdays in Vienna, Austria in early April. End of April I attended JAX in Maintz, Germany. In June, I spoke at JavaOne 2009 and beginning of September presented at JBoss World in Chicago. My final conference was JSFSummit in Orlando in December.

With trainings and conferences (and some personal travel), I flew over 150,000 on United this year which makes me 1K again. I’m looking forward to system wide upgrades (for international travel) and new unlimited upgrades United announced earlier this year. If you travel frequently, I definitely recommend trying to stick with one airline. Even if you just get entry level status, travel usually becomes more pleasant.

Next year already looks very interesting. I already have three trainings booked and two conferences. I will be presenting and teaching RichFaces workshop JSFdays 2010 in Vienna in February and presenting for the first time at TheServerSide Symposium in Las Vegas in March.

If you have been reading my blog, you will know that we have been doing some interesting stuff with JavaFX. Exadel has been working on JavaFX plug-in for Eclipse and Flamingo framework. We have also worked on JavaFX and JSF integration. Although we could wished for a stronger “acceptance” of JavaFX this year especially in the enterprise, nevertheless, the community has been growing very strong. I have approached Sun on two different occasions with an offer to work together on some of the enterprise features for JavaFX but never got a reply back. Now that Oracle-Sun deal is close to being final and once Oracle takes ownership of JavaFX, we hope it [Oracle] will start using more JavaFX in the enterprise.

2010 (how are you going to say 2010?) is looking to be very interesting year. We have RichFaces 4.0, our JavaFX plug-in for Eclipse is going to be open source and have been adding very interesting mobile feature to Flamingo such as connector for Android. JavaFX and JSF integration also sounds very interesting. Stay tuned.

Happy New Year!

Exadel blog: JavaFX Coding Challenge Winner Endorses Exadel Flamingo

Excellent write up by Pavel Cherkashin (Exadel developer) who attended Chicago Java Users Group last week and listened to Sten Anderson (CITYTECH) present JavaFX and how they used Exadel Flamingo to build rich JavaFX application connected to Seam.

CITYTECH: enterprise application with JavaFX, Seam, and Exadel Flamingo

Great post by John Kraus from CITYTECH on how they used Exadel Flamingo to connect rich JavaFX UI to their existing Seam application. It’s good to see JavaFX slowly penetrating the enterprise. And with Flamingo, it becomes even simpler. Companies can leverage their existing services and easily connect them to JavaFX rich UI as CITYTECH did.

There are a number of interesting new features in Flamingo. There is now server-side push and off-line applications for JavaFX. There is also a connector for Google’s Android platform. I’m planning to blog about these technologies and more very soon. As for JavaFX tooling, we have been working on JavaFX plug-in for Eclipse. Try it out. The plug-in is going to be open source any day now.

Read blog post here

My interview on JavaLobby.com: Enterprise JavaFX, JavaFX plug-in for Eclipse

My interview on JavaLobby.com on JavaFX: Is There a Lack of Advertising for JavaFX Capabilities?

Exadel Flamingo vs. REST

Interesting comparison of Exadel Flamingo approach and REST approach.

Flamingo Is Going Mobile (Android, Jave ME)

It will soon be possible to connect Android-based or Java ME applications to enterprise back end (Java EE, Seam, Spring) via Flamingo. Sneak preview here.

Hibernate Validator with JavaFX

One of the key features in Exadel Flamingo is that it allows you to use Hibernate Validator based validation on JavaFX UI side.

On the server you can have something like this:

@Entity
@Name ("message")
public class Message {
   @Id @GeneratedValue
   private Long id;
 
   @Length(min=3, max=40)
   private String text;
   ...
}

This is a simple entity and also a Seam component.

On the JavaFX side all you need to do is this:

var textBox : TextBox = TextBox {};
var errorText: String {};
...
errorText = FlamingoServiceFactory.getHessianEntityValidator().
                    validate("message.text", textBox.text);

message.text – message is Seam component name and text is component property. textBox.text is JavaFX node (widget) whose value we need to validate.

Simple… right?

Calling Seam component from JavaFX

To use JavaFX in enterprise, you need to be able to connect JavaFX to enterprise backend such as Java EE, Seam or Spring. Here is an example how to call Seam component from JavaFX using Exadel Flamingo.

Seam component (server side)

@Name("messageManager")
public class MessageManager {
 
   public String callMe () {
        return "Seam component says: what's up"?;
}

JavaFX (client side)

public interface MessageManager {
   public String callMe ();
}
public class AppServiceFactory {
   public static MessageManager getMessageManager() {
	return (MessageManager) ServiceFactory.getService(MessageManager.class,
		"messageManager");
   }
}

JavaFX script:

var reply : String;
function call(): Void { 
     ...
     reply = AppServiceFactory.getMessageManager().callMe(); 
     ...
}

That’s it. Simple, easy and transparent. Seam is used the same way if you were building a JSF-based application.

Two webinars: JavaFX and Enterprise JavaFX

Here are two great webinars (recordings) to learn about JavaFX as well as how to use JavaFX in the enterprise:

JavaFX: Rich Internet Experiences (by Jacob Lehrbaum, Sun)
JavaFX: Serving the Next Billion
Introduction to JavaFX platform, script and more

Enterprise JavaFX (by Max Katz, Charley Cowens, Exadel)
Build RIA Applications with JavaFX, Flamingo and Seam
This webinar demonstrates how to connect JavaFX to enterprise back end, in particular to Seam.

Webinar recording: Build RIA with JavaFX, Flamingo and Seam

If you missed Build RIA with JavaFX, Flamingo and Seam webinar yesterday, you can listen to the recording here.

Next Page »