Showing posts with label RIA. Show all posts
Showing posts with label RIA. Show all posts

Friday, November 20, 2009

Oracle, Flex and MOS - a sign for Java FX?

Ok, while we are still waiting for the Oracla/Sun purchase to go through, there is also lots of speculating about what might happen with Sun's technology portfolio moving forward.

Since the world is moving towards richer UI interfaces for the browser, I am always in the struggle to assess which technology stacks are most appropriate to learn (GWT, Flex, plain HTML + your choice of JavaScript library such as JQuery, YUI etc.). Thus, particularly as a Java developer I am of course interested in the outlook of JavaFX - I certainly "wish" it be successful, but it still seems to be lacking in various areas (Component libraries, JVM modularization, 'community'). Furthermore, there has not been any Oracles/Sun statements about the future of JavaFX as far as I know (Please comment if I am wrong)

There was a higher-level article in InfoWorld yesterday discussing the future of Sun's technologies:
http://www.infoworld.com/d/developer-world/java-what-does-its-future-hold-978

Oracles involvmen into Flex

This brings me to the main trigger point that caused me to this blog entry. A few days back, I read a news article at Heise Online, a large German IT news portal, stating that Oracle has some major issues while switching over to their new support system 'My Oracle Support' (MOS):  


http://www.heise.de/ix/meldung/Oracles-neues-Support-Portal-aergert-Kunden-856450.html

You can read more the issues here:
The more interesting fact, though, is that their entire new support system is implemented in Adobe Flex. Unfortunately, I was unable to find more technical details via Google, but that is a fairly substantial deployment.

I found another interesting little piece of information on stackoverflow:

http://stackoverflow.com/questions/1601444/flex-oracle-open-world-2009

According to James Ward (Flex evangelist at Adobe), Oracle showed more Flex-based applications this year at Oracle OpenWorld 2009 including: My Oracle Support, Social CRM, Siebel Gadgets and Enterprise Manager.

Can you draw any conclusions out of this regarding the future of JavaFX? Probably (hopefully) not, but it shows that Oracle has already made a significant investment into Adobe Flex. 


Adobe Flex and JavaFX in Atlanta

To give you some idea of how the market looks like here in Atlanta, Ga:

At the last meeting of the Atlanta Java Users Group (November 2009), Burr Sutter our group's president asked the group (80+ attendees) whether they use Adobe Flex and a considerable amount of hands went up (I guess at least 1/3).  Nobody in the rooms did anything with JavaFX...

* * * *

PS: On a more frustrating side-note: While writing this blog post I visited http://www.javafx.com/ and my browsers froze (FF on Mac), causing me to re-type a good portion of my blog entry (Sigh). 

Saturday, November 7, 2009

Rich Charting Options for your RIA/Webapps

I started revisiting my charting solution in jRecruiter. For this fairly basic Java web application, I have been using JFreeChart to provide basic charts (E.g. to illustrate the number of posted jobs over time).

While JFreeChart works great, and it pretty much provides all the charting features you may ever want, it has one disadvantage: It is static. Compared to all the interactive goodness that is possible with RIAs such as Flex, JFreeChart lacks the sugary icing on the top (Mouse overs, AJAX interaction, dynamic drill-down etc.). Therefore, I was investigating my options to add some richness.

Additionally, at work, I am using Google Web Toolkit (GWT) and thus wanted to get an overview about the charting capabilities I have using GWT. One of the options there is gchart. It looks okay, alas not great. What's worse, the project owner abandoned his project; see: http://code.google.com/p/gchart/.

Another option is flot which comes along as a jQuery plugin and uses the HTML canvas tag to do charting.  There is a also a GWT wrapper for flot available called gflot.

The most interesting alternative for GWT, I came across is ofcgwt. It uses Open Flash Chart 2 under the hood and looks pretty good. You could argue that if you use Flash-based charting for your GWT app, why not just implement the entire app in Flex ;-).

On the pure Flash/Flex side, there are first of all the charting components that come with Flexbuilder. In contrast to the open-sourced Flex SDK, the charting components are not free, though. 

While, I was googling for some other options, I saw Axiis - Simply beautiful! Yet, another option is IBM ILOG Elixir, which is free for free sites. They have a very nice compilation of examples: http://www.ilog.com/products/ilogelixir/demos/.

On a low level, you also may want to look at Degrafa (Even if it is just for the gorgeous examples). You can find one interesting charting example at this blog: Nike+ graph using Degrafa/Flex 3.

Lastly, if you don't mind spending some money, you may also look at FusionCharts. At one of my prior engagements we used used in very successfully in a Struts2-based web application. Fusion Charts also comes along in a flavor for Flex - see the samples. There is also a Google Code hosted GWT wrapper available.

This, concludes my little 30k-feet overview/list of 'Rich' charting options. If I missed a good one, please leave a comment!

Thursday, March 26, 2009

RIA, Flex and Excitement

I cannot believe that already two weeks passed by since the Atlanta DevNexus conference. Since then I have been quite busy learning Flex. My desire to explore Flex started back when James Ward talked at one of our AJUG meetings several months ago. Unfortunately, beyond some initial explorations, I never found the time to make the next leap forward.

The presentations at the DevNexus conference, though, finally pushed me beyond that initial hump. At the conference I attended the talks for GWT, JavaFX and Flex. Here is what I took away from it:

No doubt, GWT looks great and I think it is in the process of capturing a good share of the pie among Java developers. Since you write the GUI using Java (Compiled into JavaScript), it is a really nice component-based Framework (forget JSF). The ability to unit test your GUI code with just jUnit is cool, too. Something I was not aware of prior to attending DevNexus is the ability to also embed GWT into existing applications (e.g. a DIV on a page). However, at the end of the day you're still creating HTML with its limitations in terms of richness.

In terms of that, JavaFX has potential in my opinion. While it comes with its own scripting language you are still able to use the the full breath of exisitng Java libraries. Unfortunately, JavaFX does not seem to be there, yet. While some of the example application look nice, it still lacks some important pieces, e.g. lots of standard components. At the end of the day, most developers are building business apps and thus need standard components for datagrids, charting etc.

This was also one of the key complaints Yakov Fain (See picture) made at his DevNexus presentation which gave the audience an overview of various RIA technologies. (Another perspective on the JavaFX was posted by Javalobby: Where in the world is JavaFX?)

And therefore, by the end of the conference I was mostly convinced that Adobe Flex is the best technology at the moment for delivering rich internet applications. Don't get me wrong, I still hope that JavaFX can make it and maybe IBM fancies with the idea of becoming a player in that area and provides some more resources once BlueSun is born.

Nevertheless, once the conference was over, I made the decision to take the Flex deep dive. I mostly finished reading Learning Flex 3 and I just started reading Pro Flex on Spring. For both books I am planning on publishing book reviews soon.

As an example I am in the process of creating a simple Flex-based front-end (highly experimental) for jRecruiter my open source project. So far I have setup the Spring BlazeDS 1.0M2 integration and I am pulling back job postings from the server using AMF and showing them in a data-grid component. Furthermore, I added Google Maps to the Flex application which works pretty neat. It gives you the ability to show job postings on a map (and thus helping you estimate possible morning commutes). I hope to have a deployed version available soon. In the meantime, here is an early screen-shot: