Grey Line

Redmond Developer News has published an interview with Dr. James Gosling, creator of the Java language where among other things, he talks about JavaFX and competing technologies. And he made a comment I can’t agree with. Here’s the quote from that interview:

“As organizations think about building rich Internet applications or rich client applications, when should developers look at JavaFX over competing technologies?
If you look at something like Flash, when you get to the much more advanced stuff — richer interfaces, more complex network protocols, more complex APIs — it really falls short. We’ve had a platform for years that can build rich Internet applications that are extremely sophisticated.”

Before even going to technical details explaining why this statement is wrong, let me tell you that if someone would ask me to name a dozen of the most respectful people in the industry, James Gosling would be one of them. Because of him, I live in a nice house and drive a nice car – I’ve been doing Java for the last ten years. If James would not invent Java, I’d be probably still working with PowerBuilder writing that it’s the best thing since sliced bread.

But let’s go to the essence of the accusations. Dr. Gosling does not attack the presentation and delivery abilities of Flash Player because Flash Player is today’s leading delivery mechanism for rich Internet applications. He addresses network protocols, something that may not be as easy to argue. So let’s talk protocols.

In 2007, my colleague and I were invited by a financial company (a Java shop) to assess if they could create an Internet version of their trading application using Flex. They did not have any doubts the GUI part should be done in Flex and delivered to their customers by Flash Player. Using AJAX for such an application would be crazy.
Sun’s long history of ignoring Java as platform for delivering Internet applications ruled Java applets out. A dancing Duke made his short appearance in 1995 and was forgotten by Sun for the next 10 years. Can you imagine Amazon or Google using Java as a front end for their applications? It’d be insane – they’d lose a half of their customers trying to persuade them to use Java applets – each of them had different version of JRE and installing the right one required a college degree in computers. I hope this situation will change with the introduction of Consumer JRE later this year, but we are not there yet.

Anyway, this financial company was not sure if the communication protocols offered by Flex were robust enough to provide reliable and guaranteed message delivery and could be extended to accommodate specific needs of this application, such as adding the application-specific quality of service (QoS) information right to the packages sent over the network from the Flash client to Java server-side application. They wanted some other things too, such as message throttling in case of network congestion and more.

Flex offers a server-side piece called LiveCycle Data Services ES, which comes with a couple of fast communication protocols: AMF – a binary protocol that makes calls over HTTP from client to server (polling) and RTMP – real time messaging protocol that supports real time push from the server to Flash client. By the way, AMF goes open source in a month or so (see BlazeDS). Java offers RMI protocol for RPC and JMS for messaging. RTMP is easy to integrate with other messaging systems via JMS.

Under the hood, AMF and RTMP protocols implement object serialization, so an instance of a Java object gets serialized on one end and is recreated as an instance of the ActionScript object on the client inside Flash Player, which is nothing else but a VM. On the way back, an ActionScript object is serialized on the client and gets recreated in the server’s JVM as a Java object. Security is similar to Java applets (sandbox) and you can use RTMPS instead of RTMP.
One of the most important features of the Flex framework is that it’s extendable. The server side of implementation of these protocols is written in Java, and the client side in ActionScript 3. To make the story short, we were able to extend the communication channels, end points, message consumers and producers to enrich RTMP protocols to the clients specification. Now the messages about trading orders and executions travel happily between the Flash client and Java server. We’ve also added a two-way RPC-over-messaging in a symmetrical way.

This project was an example of a nice marriage between Flex and Java in a Wall Street application. If Flex has weak spots, it’s slow compiler and a mediocre (by Java standards) Eclipse-based IDE . Since Flex is open sourced now, I hope that some third-party company will create a better IDE and improve the compiler.

But as of now, I’m pretty happy with using both Java and Flex technologies, and the good part is that it’s not an either-or situation – just use the right tools for the job. There is no need to lobby for any particular language. As to JavaFX, I wish it to start competing with Flex and Silverlight as soon as possible. The more the merrier.

Some time ago I said to my kids, “Even if, God forbid, you’ll commit a crime, Mom and I will still love you and will try to protect you to the very end. You are our kids and we love you regardless of your achievements and personal qualities”. It seems that James Gosling has the same principles and protects his baby no matter what. I respect this but have my reservations.

James Gosling’s fan,
Yakov Fain

2 Comments

  1. Roger Voss said,

    January 7, 2008 @ 5:15 am

    Hey Yakov, come on over to Java Posse and hang out with us some. We’ve got a thread going on over there on this subject as well:

    http://groups.google.com/group/javaposse/t/9d5589a44884298c

    I’m sort of the resident Flex fanboy. Well, James Ward shows up there too.

    BTW, has been a while since you came out to Seattle for you Flex trainer training. In Feb. my first Flex commercial app will be final 1.0 bits (well, I was it’s dev mgr. and architect). Alas, can’t give you a URL to it as is for vertical market customers – just like your Flex customers. :-)

    Nice thing about vertical markets is you can still charge money for creating software.

  2. alessandroronchi said,

    January 12, 2008 @ 3:12 pm

    Hi,
    I’m a Java developer and I started developing in Flex simply because I was bored by developing in HTML, JSF or Swing to build my (web) application clients. Maybe it’s my fault but maybe not: JavaFx is basically a wrapper to avoid developers writing swing code.

    Regards, Alessandro

RSS feed for comments on this post

canada online pharmacy propecia
free cialis
buy cialis without rx
cheap cialis
viagra quick delivery
levitra overnight shipping
best price cialis without perscription
hydrochlorothiazide cialis
50mg viagra
cialis discount prices
best price cialis
canada levitra
online viagra levitra cialis
cialis pills for sale
indian cialis
cialis free samples
when will viagra be generic?
buy cheap viagra online uk
order generic viagra canada
where can i get cialis
generic viagra online pharmacy
cheap online propecia
propecia from canada
best price for generic viagra
where buy viagra
cialis 5 mg
viagra off internet
alaska viagra doctors
buy viagra online without a prescription
viagra onlines
propecia sales canadian
cialis ottawa pharmacy
cheapest viagra online
online ordering propecia
buy cheap uk viagra
overnight viagra
viagra online buy
buy propecia 5mg
online order viagra overnight delivery
how to buy viagra in canada
propecia discount
cialis daily canada
canada propecia prescription
vardenafil:
cialis next day delivery
order viagra in canada
cialis free delivery
uk cialis sales
buying generic propecia
canada viagra
levitra without prescription
generic viagra australia
cheap cialis from india
buy generic cialis online
online presription for viagra
best viagra and popular in uk

real viagra without prescription
levitra online without prescription
liquid cialis for sale
buy generic cialis online from canada
viagra express delivery
soft gel viagra
buy cialis pill
canadian generic cialis
tablet viagra
100 mg cialis
buy cheapest cialis
propecia for sale online
overnight propecia
viagra price
get cialis online
buy cheap generic cialis
viagra replacement
viagra online in canada
order cialis from canada
prescription needed for cialis
menu:
50mg viagra
viagra for sale online in the uk
cialis canada on line
viagra mail order usa
cialis viagra
viagra 100 mg
cialis for less 20 mg
levitra viagra online
find cheap viagra online
online viagra au
online generic cialis 100 mg
online pharmacy propecia
pfizer viagra no prescription
buy propecia online cheap pharmacy
to buy viagra online
propecia
viagra doses
i want free viagra
buy real viagra online no prescription
viagra for woman
brand viagra professional
sildenafil viagra
cialis now
viagra for less
lowest price for viagra from canada
where to buy cialis cheap
viagra online in canada
canadian healthcare cialis
cialis kanada
cheapest levitra uk
cheapest viagra in uk
no prescription viagra canada
canadian pharmacy cialis no rx
cheapest prices on propecia
viagra samples
cheap discount cialis
viagra tablet weight
low price viagra
viagra canadian pharmacy support
cialis us drug stores
generic cialis next day delivery
viagra canada cheapest
buy propecia online
generic propecia canada
find cialis no prescription required
propecia cialis viagra
cialis strenght mg
lowest-price propecia costs us
discount cialis levitra viagra
buy viagra for women
real cialis online
drugstore best buy generic cialisbuy generic cialis
generic viagra canadian pharmacy
cialis testimonial
propecia generic
viagra how much
buy propecia no prescription
find viagra without prescription
buy generic cialis online
no rx viagra
cialis free delivery
viagra from uk
cheap canadian viagra
buy generic cialis
cheap cialis pills
levitra 10 mg without prescriptions
viagra pfizer canada
cheap viagra for sale
cheap cialis online canada
viagra echeck
cheap cialis online no prescription
propecia orders
cialis without prescription in canada
low cost canadian viagra
viagra/cialis sales
buy cialis without prescription
generic propecia for sale
cheap viagra canada
can i buy viagra in canada
nizagara viagra online
viagra mail order
www.cialis.com
viagra sales online
viagra in china
canadian pharmacy viagra cheap
ordering viagra online
cialis canadian cost
buy viagra online without prescription
viagra with no prescription in britain
find viagra no prescription required
cialis daily canada
cheap brand name cialis
vardenafil generic
buy propecia without a prescription
the best price of viagra
try cialis for free
order cialis in canada
usa cialis women
generic cialis sales
viagra sale
sale of viagra tablets
womens viagra no prescription
di scount 50 mg viagra
buy cialis online australia
cialis online australia
real viagra without a prescription
buy cheapest viagra online
cialis canadian online pharmacy
sale viagra
alternative for viagra
prescription for propecia
buying cheap cialis
viagra order
viagra com
purchase cialis next day delivery
online viagra levitra cialis
professional cialis online
combine cialis and levitra
prices for propecia
real viagra to buy
sildenafil
levitra for sale
cheap order prescription propecia