Aug 9 2009

When Everything You Know Is … Sub-Optimal?

Category: ArchitectureAlexRobson @ 19:08

So maybe my blog name isn’t self-explanatory. The reason it’s called sharp learning curve ahead is because I think it describes what my ongoing experience in IT has been and continues to be; one learning challenge after another. If you’re like me, you look forward to the challenges and even enjoy the paradigm shifts. Thankfully, I have the extreme good fortune to work with pros like Jim Cowart, Elijah Manor and Evan Hoff; each being exceptional and each of them excellent mentors in their respective areas of expertise. The good thing about working with so many solid people is that you’re constantly learning. Well, if I could summarize some of the things I’ve been learning about lately, I’d say they’ve been along the lines of learning that there are much better tools available than what I’ve been using.

On Friday, Evan was patiently educating me on a rather important fundamental architectural pattern that I somehow managed to know almost nothing about, messaging. Sure I’d heard about service busses and messaging before, but the only place I had heard it applied to something concrete was, I believe, a very weak implementation and so I (foolishly) glossed over the concepts, uninterested at the time, assuming that what those concepts had to offer wasn’t significant. Sadly there hadn’t been any further opportunities for me to expose my ignorance on the topic so someone could correct me. If you’re not so impressed with messaging, I highly recommend this screen cast, it was an excellent overview, and explanation of the how and why of SOA via messaging.

In light of that recent discovery, I now feel like I’ve been trying to hammer nails with a screwdriver for several years now and have just been shown an actual hammer. But the fun doesn’t stop there.

Up until the past few months, I was certain that Nvigorate’s ORM had a reasonable value proposition and even made sense in light of NHibernate (which is practically the de facto ORM for .Net). I started to doubt that with the addition of Fluent NHibernate, which makes the whole adoption process less odious, but still I believed that Nvigorate’s API, extensibility and superior state tracking justified my on-going development. Well, two weeks back, LINQ to NHibernate was released, and having worked briefly on a LINQ adapter in the past, I know what a difficult task that is. Shortly after that, Matt Honeycutt, was telling me about how he had used NHibernate’s schema update functionality to resolve differences between his model and the database schema and update the schema. You see where this is going, right? At this point I could continue to work on the ORM piece of Nvigorate, but I’d spend months trying to match two features. Two features which any developer should be really excited about using and won’t want to wait months for.

I’ve been playing with the Fluent NHibernate and LINQ to NHibernate some this weekend and have acquired Mass Transit so I can start figuring out how all the pieces work together. What about Nvigorate? It’s not going away, there are still a lot of positive things it has to offer outside of the ORM that I’m working on, such as a fluent WCF Proxy class that eliminates the need for generating WCF proxies.

At any rate, I wanted to blog about all of this because I the path I’m about to take is going to really change the direction of this blog in general and explaining why I stopped working on/talking about the Nvigorate ORM piece seemed important.

Tags: , ,

blog comments powered by Disqus