| By Yakov Fain | Article Rating: |
|
| January 9, 2008 10:00 AM EST | Reads: |
25,476 |
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:

Before even going into 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 respected 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 10 years. If James had not invented 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 a 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 half of their customers trying to persuade them to use Java applets - each of them has different version of JRE and installing the right one requires a college degree in computers. I hope this situation will change with the introduction of the 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 the specific needs of this application, such as adding the application-specific quality of service (QoS) information right to the packets 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 the Flash client. By the way, AMF goes open source in a month or so (see BlazeDS). Security is similar to Java applets (sandbox) and you can use RTMPS instead of RTMP. Java offers RMI protocol for RPC and JMS for messaging. RTMP is easy to integrate with other messaging systems via JMS. RTMP is built using Java non-blocking IO and it supports the data push needed in most Web applications.
Under the hood, AMF and RTMP protocols implement object serialization, so an instance of a Java object gets serialized on one end and is re-created 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 re-created in the server’s JVM as a Java object.
One of the most important features of the Flex framework is that it’s extendable. The server side of the 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 client's 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 for JavaFX, I wish it would 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 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
Published January 9, 2008 Reads 25,476
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Yakov Fain
Yakov Fain is a Managing Director of Farata Systems, consulting, training and product company. He has authored several Java books, dozens of technical articles. SYS-CON Books released his latest co-authored book , Rich Internet Applications with Adobe Flex and Java: Secrets of the Masters in Spring 2007. Sun Microsystems has nominated and awarded Yakov with the title Java Champion. He leads the Princeton Java Users Group. He is an Adobe Certified Flex Instructor. Yakov co-athored the O'Reilly book "Enterprise Application Development with Flex". He twits at twitter.com/yfain.
![]() |
steve ballmer 01/12/08 09:28:25 PM EST | |||
PopFly+Silverlight makes Flash Obsolete! Those companies who will not adopt these technologies will be "downlisted" at MS. It's a beautiful day at Microsoft! |
||||
![]() |
John Bailo 01/08/08 07:50:36 PM EST | |||
Gosling is absolutely right! I have thought the same thing myself. Flash does not make "rich applications", it is useful for very graphically rich applications. To me, a rich application is one where the whole space is available for interaction. Yeah, you could make the page one gigantic Flash "graphic", but that's not the point. I want all the elements at my disposal, from the lowliest HTML element, to the most magnificent control -- but I want absolute programmer direction of each thing. Java is good enough to do it all -- I think we'll see some real consolidation (and some real needed growth for Sun Microsystems (JAVA)) in the coming ten years. |
||||
![]() |
ByStander 01/08/08 03:37:40 AM EST | |||
> I've been doing some variation of AJAX for over 4 An AJAX vs Flex dicussion at AJAXWorld would be cool, are you giving a session, Dave? |
||||
![]() |
DaveS 01/07/08 06:26:25 PM EST | |||
Surprise, surprise, Yakov disses on AJAX again. I've been doing some variation of AJAX for over 4 years now and can say that aside from vector graphics, AJAX can do anything that Flex can. Based on Yakov's prior comments regarding AJAX, he has very little experience with advanced JavaScript and DOM scripting. |
||||
- IDEs Belong in the Cloud
- ActiveState Releases Komodo 7, "World's Fiercest IDE"
- eXo Platform 3.5 Now Available: First Cloud-Ready Enterprise Portal and User Experience Platform-as-a-Service (UXPaaS)
- Blog Summary for Week of February 6
- Salesforce.com Announces the Availability of D&B Company Information in Data.com
- MercadoLibre Deploys Opscode Chef® to Automate its OpenStack Private Cloud
- AppFog Enhances User Experience With Additional Add-On Partners Blitz.io and Iron.io
- CloudBees Reduces Cost to Run Java Applications by 62 Percent
- PatientsLikeMe Contributes Free Open-Source Parser to Blue Button Initiative
- BET and CENTRIC Pay Tribute to the Richness and Diversity of the African-American Experience With a Lineup of Dynamic Programming During Black History Month
- 20 Ruby Performance Tips
- Brookfield Homes Calgary Partners with Interior Designer and TV Personality Jillian Harris
- IDEs Belong in the Cloud
- ActiveState Releases Komodo 7, "World's Fiercest IDE"
- eXo Platform 3.5 Now Available: First Cloud-Ready Enterprise Portal and User Experience Platform-as-a-Service (UXPaaS)
- Blog Summary for Week of February 6
- Salesforce.com Announces the Availability of D&B Company Information in Data.com
- MercadoLibre Deploys Opscode Chef® to Automate its OpenStack Private Cloud
- AppFog Enhances User Experience With Additional Add-On Partners Blitz.io and Iron.io
- CloudBees Reduces Cost to Run Java Applications by 62 Percent
- PatientsLikeMe Contributes Free Open-Source Parser to Blue Button Initiative
- BET and CENTRIC Pay Tribute to the Richness and Diversity of the African-American Experience With a Lineup of Dynamic Programming During Black History Month
- 20 Ruby Performance Tips
- Brookfield Homes Calgary Partners with Interior Designer and TV Personality Jillian Harris
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- Ruby on Rails Won't Make It in 2007 and Forget About AJAX
- The Jury's Still Out On Ruby On Rails (RoR) and AJAX
- The Top 250 Players in the Cloud Computing Ecosystem
- Red Hat Named "Platinum Sponsor" of Virtualization Conference & Expo
- Ruby on Rails Creator Says: "Reduce the Risk, Hire Programmers From Open Source"
- Java Kicks Ruby on Rails in the Butt
- Can Ruby Live Without Rails?
- An Introduction to Ant
- Testing in Ruby on Rails
- 4th International Cloud Computing Conference & Expo Starts Today
- Cloud Expo 2011 East To Attract 10,000 Delegates and 200 Exhibitors





















