Monday, July 12, 2010

My Problem With The Relational Database

I build modern applications using modern tools, but I have to put an inordinate amount of effort into what is essentially screen scraping an interface from the 70's.

Let's not throw the baby out with the bathwater though. The RDBMS is built on a solid foundation: relational theory. It's interface needs an upgrade to play nicely with modern tools. SQL is not that interface. But I'm not sure what is.

Tuesday, March 16, 2010

Why do I have so many boxes underneath my TV?

These are all the boxes that live underneath my TV. Nothing too exciting: DVR, receiver, Blu-Ray, Wii... The most exotic toy is the AppleTV.

So why am I bothering to post this? Because this article got me thinking: that's a lot of shelf space for hardware.

Seriously! It's a a couple optical readers and a couple hard-drives. You can fit those in a backpack now. Why do I need two whole shelves when I connect them to my TV?

Granted, I can't fit everything onto PC hardware, we're actually rather close. With a Windows Media Center (gasp!) we can consolidate the AppleTV, the Blu-Ray, and the DVR into a single box. My question is: why is it so hard to find a box that does this? and why is it so unusual to try?

Friday, February 12, 2010

Loader constraint violation when trying to generate an AXIS WSDL.

I've got an RPC style web service implemented using Apache AXIS. It was developed using JBoss 4, but when I deployed it on JBoss 5, I got this nasty error:

There seems to be a conflict between axis-jaxrpc*.jar and JbossWS. Both of them contain definitions for the QName class.

The solution? When using JBoss 5, exclude axis-jaxrpc*.jar from your WAR files.

Thursday, February 11, 2010

Upgrading to JBoss 5 - JBossXBRuntimeException: White spaces are required between publicId and systemId

I have a WAR file that deploys and starts fine in JBoss 4. When I deploy it to JBoss 5 though, deployment fails with approximately this stack-trace:

Directly above that trace, I notice that it's trying to resolve a bunch of Spring schemas. In particular:

A grep of my project tells me that that schema is referenced in only in my applicationContext-hibernate.xml. According to this post (), the error occurs because JBoss is attempting to validate that file, but fails for some as yet undetermined reason. The current solution is to move applicationContext-hibernate.xml to a sub-folder, on the classpath, below WEB-INF (ie. WEB-INF/classes/applicationContext-hibernate.xml). Make sure you update all of your references to applicationContext-hibernate.xml including the command that builds your WAR.