Skip to main content

Techtarget's Java ServerSide Symposium 2009 Impressions

Just got back from Vegas where between Wednesday and Friday a small-ish java conference was taking place. This was my second one, the first being five years ago in 2004.

Of course it's hard not to compare, and I find myself doing it anyway... I can't help but feel that the excitement has left java server software. Remembering one of the very first java conferences in Sydney 1995, when it was still almost academic and less of an industry conference, I feel like we've come to an end of an era.

The tedious reality of maintaining enormous enterprise systems built over the the last decade has sinked in, and unfortunately there is nothing exciting about it, but everything difficult and complex. Those less fortune whose systems took advantage of EJB1 and EJB2s will suffer the most, as those are dying technologies and are rapidly being replaced by simpler more component friendly software.

The first set of simplification came with frameworks over the last five years - Spring and Hibernate being the most notable. Now the simplifications are being pushed out across language boundaries, because of the need to stay competitive against exploding Ruby on Rails community, and even smaller but still disproportionally more productive frameworks like Django, when compared to java.

Several talks focused on jRuby, and I think this is where the future power lies. Combining the two platforms, Ruby on Rails for web development, and server side java for multi-threaded, asynchronous, transactional behavior seems like a fantastic opportunity.

However nobody is yet talking about how this all works together in production. What does it mean to run a multi-app server distributed java application, with a RoR application hosted inside JVM and interacting with the service layer? What if service layer mixes ActiveRecord and Hibernate? Questions like this, while entirely logical in early evaluations of emerging technologies, were simply beyond the depth of TSSJS09.

But for what it's worth, there was a decent overview of a multitude of scripting languages: javascript, ruby and scala, and a very impressive talk on Ruby meta programming.

There were several exciting news for me personally, the first having to do with Flex and BlazeDS integration in Spring 3.0. Basically what this means is that it's now possible to build a typically modular and well understood server-side backend architecture in Spring, the client side in Flex, and have them directly converse over binary AMF protocol, which is highly compressed and optimized to send data back and force. I believe the entire stack is free, except Flex Builder Eclipse-based tool that's not free. My exposure to Flex is minimal, but I love the ability to build beautiful application UIs that run consistently within the browser, and expose your backend in a way of clearly defined REST/XML api. And the load time in demos appeared significantly faster compared to java RMI applications I've had experience working with.

I'll add part II in a couple of days.


ilango said…
Your review in Amazon for: Java Open-Source Programming by Ava Abrahamian, Walnes.

I read your review about this book and made a decision to buy this book. Thanks for helping me make this decision.
I now have a question to ask. You mentioned that you ran this PetSoar application (a long long time ago, I am sure), and I would like to host my PetSoar Application on some kind of domain on the internet. Right now, I still do not have the application running yet, but I hope to soon. Where I would like your opinion is: I would like to simply map this to a purchased domain name, so that I can expose this application to the outside world. Is such a thing possible? If so how can I do that? Any tips and pointers would be helpful and appreciated. Thanks for your time.

Popular posts from this blog

Car or Auto Make-Model-Year Database : For Breakfast

Make Model What?If you like me were tasked with loading a database of recent car makes/models/years, you would start by looking on the web and seeing if someone else just has it out there, readily available, hopefully for free, but perhaps for a tiny nominal fee.?If only it was that simple... I looked and looked, and couldn't find anything that would fit the above requirements. So I thought, who would know about US car models better than Kelly Blue Book? So I went on their site, and sure enough they have a javascript file that lists all known to them makes and models of used cars. Since the file is public, I figured it's not really "evil" if I scrape and parse it for my own benefit. Disagree? Have a better source? Then leave a comment.Anyway, to cut the long story short, I'm hoping to save a day or so to someone else who may, like me, be looking for this information. The ruby module shown below retrieves and parses the javascript from KBB site into a Ruby da…

Getting RMagic and friends to work on OS-X Mountain Lion

Upgraded my ruby environment today to Mountain Lion.

Here is a quick checklist that I went through to get everything working.  The largest change was having to reinstall XCode and command line tools, and also download XQuarts in order to reinstall ImageMagick successfully. Without it, I was getting errors building RMagick of the following shape:
ld: file not found: /usr/lib/libltdl.7.dylib for architecture x86_64clang:
error: linker command failed with exit code 1
(use -v to see invocation)make: *** [RMagick2.bundle] Error 1

Quick checklist: Install Mountain Lion Install XCode 4.4 Install command line tools from XCode 4.4 Preferences dialog Install XQuartzIn terminal run brew update brew uninstall imagemagick brew install --fresh imagemagick wipe out your ~/.rvm folder reinstall RVM and install the latest ruby 1.9.3-p-194 run "bundle" in the project folder run "rake" and rejoice

Wanelo Tech Gems: we've been busy!

It's been quite some time that I've posted here, to my personal blog, so long in fact, that the publishing interface a'la Blogger now looks like MS Word. Or God forbid you remember, Word Perfect. (Yes, I am that old).

But that's not what I wanted to write about.

Wanelo, the team that I lead as a CTO, has been kicking so much ass lately, that I've just had no time documenting personal projects here, even though there have been plenty.

So to sort of catch up in one blog post at once, I wanted to put a few links to some of the great content on our technical blog, that's been recently migrated to Github Pages.

Without further ado:
Multi-process or multi-threaded design for Ruby daemons A pretty awesome blog post by our own Eric Saxby about thinking in terms of GIL (global interpreter lock in ruby), it's impact on production environments, especially in multi-threaded environments, and where long-running processes may have impact on your database transactions. Ver…