Wednesday, December 15, 2004

Java Management Extensions - critical for Enterprise Applications

Java Management Extensions or JMX for short have been around for a long time now (in technology time at least). I first came across JMX at JavaOne 2000, where a guy from Sun Microsystems France went through what it could do. It didn't take off then - although BEA and JBoss both added JMX to their servers. In the case of JBoss, JMX was crucial to the micro-kernel architecture and still plays a large part today - although they seem to be much more enamoured with AOP now! ;-)

I'm using mx4j and mc4j on a current project to really beef up the remote administration capabilities for one of my projects. It's working out well, although the lack of documentation around mc4j is an issue. I chose mc4j because I found the default HTML view from mx4j to be not enterprise-class and I like the dashboard feature in mc4j. I certainly don't like the netbeans dependencies though.. extending mc4j is needlessly complicated from a compile, build, test point of view..

Anyhow, I'm now at a point where I'm exposing many hitherto locked-down features of an application easily via the mc4j client connecting to the mx4j runtime as a JSR160 compliant application and it's working out well - next to get some dynamic charts working using jfreechart!

And moving back away from Linux as a primary desktop OS!

I figured an update on my earlier post was warranted, given my failure to move away from Microsoft Windows.

My successes below still stand, but there were also some unanticipated problems. These problems included:

1. Annoying differences between the Eclipse IDE on Windows and on Linux (it is way more usable on Windows, esp. keyboard shortcuts);

2. Microsoft lock-in alive and well - I have to take my pst files with me, but they just didn't want to come. More investigation needed here, also I couldn't use Evolution or the Exchange connector because of server-side issues; and

3. Speed - subjective opinion, but I felt that the speed-up I gained in not needing Sophos or Symantec running was cancelled out by the lardiness of Gnome / KDE. Yes I'm aware of faster WMs out there, but they don't look as nice or have the same level of features.

I ran into additional issues where complex formatting in Microsoft Word documents didn't render properly in OpenOffice, problems accessing networked printers etc. - no showstoppers, but not something that I want to wrestle incessantly with either. So I'm still in dual-boot land, planning to move away from Fedora 2/3 in the near future and over to SuSE - I've read good things about it especially when used in a corporate environment. Hopefully it's more laptop-friendly too.

Moving towards Linux as a primary desktop OS

Over the past few days, I've been doing a lot of work getting ready to move to RH Fedora Core 2 as my primary desktop OS. I've had linux distros of one form or another (but usually RH) on my machines since 1997 but I've never been comfortable relying on it for my day to day job. Simply put, I need a desktop that works.

So I've chosen RH Fedora Core 2. I would have gone with SuSE 9.1 and Evolution but I spent a weekend trying to get the bloody ftp installation to work and failed miserably..
Successes so far include getting my previously linux-averse WiFI card (US Robotics 2210) working via the acx100 driver (thank you folks!), moving over my J2EE servers of choice and getting comfortable with the new keyboard shortcuts for Gnome and firefox.

Major tasks that still await me are moving from outlook to thunderbird (including migrating a 600 MB pst file), getting APM/ACPI working properly and various other linux tweaks for the thinkpad t30.

Oh, I've finally been using up2date and yum in anger and once configured properly they save loads of time over manually managing rpm dependencies.

Towards a Java Research Map

Recently I posted a blog entry to Javaworld covering my initial attempt to map out the world of Java as I see it with a view to setting some direction for my R&D efforts over the next few months. The diagram has some interesting properties - check out the javaworld blog entry for more details.

In Pursuit of Perfection

Please use this entry to record your comments on my latest Javaworld article titled In Pursuit of Perfection. The article is here -

Looking back on this article now, I think I tried to cover too much - a correct and indepth treatise of the perfect technology platform would probably need a book to cover properly.. well I got a few good flames for my "lightweight" article, notably from Daniel on!

The Awards are Out!

Check out the 2003 JavaWorld awards here -

All of the category winners are worthy victors, although I have to say that I was very disappointed that the eclipse IDE ( didn't win anything - it has had a profound effect on how I code and I think it's a cracking good IDE. The eclipse AOP implementation AspectJ did win an award however - Most Innovative Java Product or Technology. This is the equivalent of the Best Picture Oscar as far as the JavaWorld awards go..

Well done to all concerned - it was tough being a judge and having to choose between so many strong offerings (no it wasn't I'm just saying that ;-p)

Keeping up to date in Java

It's that time of year again - the annual Java love-in in San Francisco. Due to work commitments, I can't get to Java One this year, although to be honest, I'm looking for a more advanced conference anyway - a lot of the JavaOne sessions are targeted as "101" sessions. Still, there's already been a flurry of announcements that I want to digest to see if they affect our product architecture moving forward. Some look exciting - more on that later.

Keeping up to speed with JavaOne also raises a wider issue - how to keep up to speed with the Java technology platform in general. With Sun looking like they are going to really up the ante on new additions to the J2SE, J2EE and J2ME platforms, it's going to get more and more time consuming.

Push technologies - e.g. RSS feeds for blogs and key web sites are a great help. Good blogs are hard to find though, and I tend to use blogs to generate new ideas or areas to explore - I don't buy opinions that are expressed in a blog without doing my own R&D first - the writing style tends to be polemic in order to attract an audience / get a reaction as opposed to even-handed and impartial.

Feedback on the J2EE Architect Certification article

[Apologies to those people who added comments to this post on my radio blog - they didn't come over..]

Well, the article on the SCEA J2EE Architect certification has garnered a respectable level of feedback from the J2EE community - both direct feedback via emails and also through the discussion thread on theserverside.

On the discussion thread, a number of common themes have come up and I'll address the main one in my opinion - the validity of the certification.

Some posters have recounted stories about companies where one person sits the exam and then discloses exam details to colleagues, effectively giving them a free ride. Other stories include the 3-hour submission and so on.

Long story short, I addressed this type of thing in the article. It sucks to see people cheat because they are attempting to devalue all the hard work that decent candidates put into getting the J2EE architect certification, but the fact is that some people will always try to cheat on an exam.

Cheaters will always be found out when their experience and know-how falls woefully short of their resumes / CVs and any good interviewer will quickly figure this out. Plus they won't take 1% of the value that comes with actually working through the exam itself. I have yet to hear of anyone who walked into a position - contract or permanent - simply because they had the J2EE architect certification. Especially with the job market as tight as it is right now on both sides of the atlantic, that just ain't gonna happen.

As for people who boast of a successful submission in some ridiculously short timespan - they cannot prove it. Having taken the exam and also seen submissions, I don't believe that a successful submission could be produced in a couple of hours. If someone wants to boast about speed of submission *shrug* so what? Let me know what you think - add a comment!

J2EE Architect Exam

This article covers the SCEA J2EE Architect exam. picked up on the article and that garnered some robust discussion on the exam and exactly how valuable it is. Here's the article -

JBoss Review

Here's a review I did on JBoss four years ago now (December 2000! doesn't seem that long...) There have been a couple of follow-on reviews since this one at theserverside - I liked David Jones' the best. It's cool to see how far JBoss has come. At the time, I had to ask Floyd Marinescu to create a section for JBoss - up until then he had regarded JBoss as not really an app server! I was a judge at the Javaworld awards this year at Java One and JBoss scooped Best Application Server award, so their star is most definitely in the ascendancy at the moment. And what with JBoss 4 and all this hoopla about AOP, they look to be still innovating.

As long as BEA and IBM insist on charging high licensing fees per CPU, JBoss will continue to wipe the floor with them in terms of market share. Interesting to see the Business Process Modelling (BPM) moves as well - I'm happy to see JBoss make money, but now when I see new technology from the group, I have to wonder is it useful technology or technology that begets maintenance and services revenue.;article_count=47

J2EE versus .NET

Update: since I wrote this article, my opinion of .NET has changed, matured even. In my opinion, Microsoft have added significant desktop integration and rich client features to the .NET platform that other technologies need to address and quickly.

This article took a lot longer to write than I anticipated. Don't tell Microsoft though, or they'll probably publish this quote claiming that J2EE articles take longer to write than .NET equivalents :-) Michael Monteiro and I pooled forces to put together a balanced assessment of J2EE versus .NET. You may find our recommendations bland and "on the fencey", but they're accurate - there is no "winner". J2EE stands for a Java-based cross-platform technology stack, .NET stands for a multiple-language based single platform technology stack.

Interestingly, a lot of the reader feedback centered on exactly how truthful Microsoft is in claiming that .NET is truly viable for multi-language development. Other readers were quick to point out the hidden effort in porting existing applications to the .NET platform. Javaworld were kind enough to have a special follow-on issue of reader's letters to capture this feedback -

Bottom line #1: J2EE and .NET are both viable systems for enterprise development.

Bottom line #2: I like .NET. I'm also happy to use Windows as well as {U | Li} nix. Come to think of it, I don't particularly have a problem with any Microsoft technology (except for the security issues). It's the company I have a problem with. I also think that the only entity powerful enough to rein in Microsoft will be Microsoft itself - through exorbitant licensing practices that erode it's own market share.

To EJB or not to EJB

The background to the next article is pretty interesting - it was created solely because of reader demand! Take a look at "top ten J2EE dangers" danger # 2. Look familiar? Yup, it's the old to EJB or not to EJB question.

Check it out:

I'm especially proud of my Hamlet take-off, but then again when I was in school (high school for you state-siders) my art teacher used to hold up my paintings so that the class could have a laugh, so my creative opinions are pretty suspect... :-)

This article is even more pertinent today - large swathes of the latest J2EE specifications, in particular EJB 3.0 are all about reducing complexity - even to the extent of auto-generating a lot of the code that goes to make up an EJB.

Top Ten J2EE Project Dangers

This article is a perennial evergreen - as evidenced by the hits it continually generates on and the fact that it accounts a large proportion of the emails I get on my articles.

The article is

and I would classify it as an anti-pattern article. It lists out the top ten reasons in my opinion responsible for J2EE project failures. Read it and weep - we've all been here at some point in the past!

Monday, December 13, 2004

Frameworks save the day

This article sprang directly from the fact that I found most of the commercial and open-source offerings too complicated or unstable, so I built my own lightweight and easy to use framework to handle the bread and butter tasks in Java / J2EE development:

This article was very well-received. Based on the emails I received, I reckon ~ 200 companies are using it world-wide, including at least three Fortune 500 companies. This article is 4 years old now (an age in Java development time) and I still get emails on it - so reducing complexity is just as hot a topic now (2004) as it was back then..

Wednesday, December 08, 2004

First blogspot post

test post - wonder if google is more "efficient" at indexing than radio? :-)