New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Jon Rose on May 13, 2008
After nearly 21 years, I'm leaving Sun Microsystems. I'm moving to Adobe, to work on Flex, starting Monday May 12th.Earlier in the year, Chet Haase, a former Sun engineer and co-author of Filthy Rich Clients, made the move to Adobe’s Flex SDK team. Saying in February:
One of the things that attracted me to Flex, and to Adobe, was a client platform that enables very rich user experiences; transitions, animations, filters, and just darned good-looking UIs are all pretty exciting to this graphics geek.Dion Almaer discussed Hans' move on his blog post, “Sun is bleeding; More engineers leave as JavaFX is pimped:”
Well, more heavy hitting engineers are leaving. When the CTO of the client division moves on (to Adobe again, no less), we yet again have a reason to wonder what is happening at Sun.He continues by setting Hans' move against the context of current events:
It is ironic that the exodus of talent has happened at the same time as Sun promotes JavaFX at JavaOne.What is the InfoQ community to make of major Java players moving on from Sun, particularly to Adobe? Will these moves put JavaFX even further behind Adobe Flex?
Is this the dead sea effect in action?
With the looming clouds of mass layoffs at sun, are those that can-do moving away? Sheesh, who can blame them if they get a good offer.
It certainly looks like all the momentum is with Adobe at the moment but having done quite a big project using Flex which is unlikely to ever see the light of day because it requires way too powerful a machine to actually work I think the RIA space is still open and, if Sun can increase the penetration of newer versions of Java on the client side then I think they could easily steal some market from Adobe. Moreover Java still rules in the mobile space. A really smart move here would be for Sun and Adobe to actually partner up to add a Flash runtime to the JRE in place of the existing C++ one - the performance of Java FX is a lot better than that of Flash so Adobe gain here, have a smaller security risk, and get access to the mobile market, Sun gets better web penetration, and the two of them get to ensure that Silverlight never really gets off the ground. However back in reality land this is unlikely to happen. So assuming the drift is real it could be indicative of a number of things and you need more info to know what is really going on. I suspect some of it is the pain of transitioning from a closed to an open source company. How destructive it all is for JFX depends mostly on wether Sun is able to recruit and retain new talent.
It certainly looks like all the momentum is with Adobe at the moment but having done quite a big project using Flex which is unlikely to ever see the light of day because it requires way too powerful a machine to actually work
Interesting... Can you talk about how big this project was? I know of a 4000 screen Flex application in production on standard hardware at hospitals in Turkey. Everyone is very pleased with performance of that application.the performance of Java FX is a lot better than that of Flash
I'm curious if you have done some benchmarking on this that you can share with us. I haven't done or seen any benchmarks yet that compare JavaFX and Flex.
-James (Adobe)
Hi James,
I can’t say too much about the project on a public forum. To be fair though I think Flash performance is fine for what it is intended to do and the Flex product is pretty good. There are things I really don’t like about it (no typed arrays – ug!) but the real problem comes when you need to work outside of its problem domain – Gossling rightly identified this as a weakness in this interview in my opinion. In our case what we really needed was direct access to the soundcard. We can do this easily enough in Java and it works pretty well and our C++ client is obviously fine. However we really wanted a Flash version and basically you can’t do what we needed to do in Flash (and actually it seems to have got worse over the newer releases) which means we have to resort to all sorts of hackery to make it work and we end up with very glitchy sound performance on anything other than top flight hardware – not something we could really use. I’m no longer on the project but if there is any chance at all of someone from Adobe looking at possibly fixing/addressing this then please have someone drop me a line via the Conissaunce public email and I’ll forward the details on to the head of R&D. I suspect it would require code changes from the Adobe side and maybe sitting down with someone for a day or two to sort out the details.
As for the performance the benchmark tests we ran had Java at about 15-20% faster in general but these weren’t public domain. Java is getting a lot faster of course in the “Update N” project – there’s some loose comparisons here blogs.sun.com/chrisoliver/entry/bubblemark which look about right to me (85fps for Java vs about 50fps for Flex).
Just as another possibility, but could it be that Adobe is headhunting for key Java client people? Adobe has been putting in a lot of effort to lure Java developers to use Flex. Java has been their number one target since the beginning, with all of the latest technology going to them first. A quick look on Dice.com shows that the overwhelming majority of Flex jobs that actually specify the server side technology specify Java. Now imagine what would happen when JavaFX becomes a viable alternative. I'm not saying its better technology, but being able to do Java all the way to the top is going to be a really nice option for many enterprise developers. I think Adobe knows this too.
As for the performance the benchmark tests we ran had Java at about 15-20% faster in general but these weren’t public domain. Java is getting a lot faster of course in the “Update N” project – there’s some loose comparisons here blogs.sun.com/chrisoliver/entry/bubblemark which look about right to me (85fps for Java vs about 50fps for Flex).
The Bubblemark thing doesn't really measure performance. It actually measures timer resolution. More details on my blog and on Chet's blog.
I'm hoping to add a JavaFX test to my Census RIA Benchmark app. That should provide more realistic performance metrics.
-James
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
6 comments
Watch Thread Reply