Mmmmm.... Twisted Perverted Thingymajigs
Someone asked, "Do you really need a persistent layer?"
Got me to musing.
We all know that the right way to do things, like software program thingyies, is... Use Hibernate, or JPA. Use JEE containers (Spring or EJB3). Expose your middle-tier with minty EJB3 WS-* webservices, or yummy Apache Axis2. Etcetera. Hey you, preachy guy, shuddup already with all those goddamn rules! Mmmmm... rules, sweet breakable rules...
Anyway this is actually an architecture article. Actually it's a joke. Cos I always like to cloak any serious topic as a flagrant joke. I really hope no one ever takes anything i say seriously?!
So i decided on an architecture for aptframework. Which is my
playground where i can just write frameworks all day and not ever actually achieve anything useful, woohoo!
And the winner is... Swing for the database-frontend client. Cos i love programming in Java. Ok I use HTML and CSS for articles, but not for anything serious! ;)
And REST for the transport, ie. XML over stock-standard HTTP, to transact with the middle-tier. And for the persistence framework? Nothing! And for the database? Nothing!
Yes, you heard me right, ladies and gentlemen. As much as i love SQL (and i'm seriously in love with databases and SQL, ask my girlfriend, she's so jealous that to her JDBC is a four letter word, and SQL is a three-finger salute) - so as much as i love SQL and PostgreSQL, and HSQL, and JavaDB, and anything remotely to do with SQL and JDBC, i'm saying, it's so 80s man, and this is the new millenium. You know, i hate progress, just when you start digging something, something else comes along and makes it yesterday's news, D'oh!
But how can you write a database application with no database?
You guessed it, something along the lines of
prevayler.org. Just not that, i wanna try roll my own. Why? Because i'm not gonna miss out on ALL the fun! Besides i got nothing better to do.
And the best part is, there is still a database, eg. you gotta persist the RESTful XML transactions, and of course take snapshots of your "cache" aka database aka HashMap. Mmmmm, i get to write another crumpled up JDBC framework, woohoo!
But who would be mental enough to use this in production?
Well apparently people are interested.
Check out this podcast.
"John Davies on the Investment Banking Technology Stack." at TheServerSide.com
OK, i'm keeping a client waiting, gotta go now, kay bye.
Ps. I nominated myself for JCP. Embarassing. I dunno what possessed me. Please vote for Doug Lea, I'm certainly gonna! Mmmm... java.util.concurrency :)