Recently I’ve came across this forum thread regarding the future of [DevEx]’ eXpress Persistent Objects for .NET (XPO) ORM product. Customers (actual ones, not potential) are asking whether XPO will someday support n-tier development. They are happily using XPO but they miss a vital part, which is n-tier development. Note that XPO never advertised n-tier support and nobody is arguing that. Perhaps this comment from a customer’s post, where the situation is described:
“As Trevor said, I am one whose core is 100% XPO. The future of my application is tied to XPO. Was this a bad decision? Maybe, but probably not. However, XPO lacks in areas (n-tier) where I really need it to start to shine.”
Later on Oliver from [DevEx] comments that [DevEx] is planning to add, among various features, a multi-tier support. No other details, no dates, no nothing:
“The architectural changes we are planning will result in the potential to support a variety of layered application architectures, including multi-tier ones. So this is good news for you and everybody else waiting for this kind of functionality.”
And crowd goes cheering and applauding. Can this be defined as a true belief? From the point of [DevEx] such a comment in current situation makes sense (I won’t question whether XPO is good or bad and if it is going n-tier or not at this point). What I fail to understand is the crowd. How can it be that you use a product that misses a very important feature for you (from the beginning!) and you are prepared to wait for years to get it? We aren’t talking about a cosmetic feature. No, we are talking about core functionality. And you are happy that somebody is planning someday to deliver that feature, which might suite you or not, without any obligation to deliver (again, I am not questioning [DevEx]).
Generally speaking, is such a belief and faith that the feature will be what you’ve asked for, a good attribute of an architect? Would you choose a product that doesn’t support a core functionality and it might never support it. Knowing that competition is stiff and you have plenty of choices out there that support this feature and more, you are a bad architect if you don’t look around. At least one I wouldn’t trust. This is simply bad practice. If you are basing a core part of your application on something, it should work from the start. Gambling on future is not an option.
Hi Miha,
I think you’re generalising a bit too much to make your point here.
First, it is obvious that if you chose XPO without it explicitly supporting n-tier then you chose it for other, good reasons.
That doesn’t in any way deters from the fact that, for some types of apps, having a supported architecture for n-tier could be better than having to roll your own.
It’s certainly not impossible to do n-tier using XPO, it’s just more work.
Secondly, I think a lot of customers have seen in the past year efforts being spent on XAF and not much trickling down to XPO, making some of us a bit nervous about whether solutions to long-standing, recurrent questions, would find their way into the product.
The recently published roadmap did not address any XPO-related issue, and Oliver didn’t add much to it, apart from assuaging at least one concern: they’re still working on XPO and they publicly say it will go in the direction we expect.
Now, of course, that’s not much to go by it demands some ‘faith’ and trust in Developer Express.
It’s not completely blind though: having faith that the sun will rise up tomorrow is pretty reasonable.
Based on past experiences, Developer Express has been pretty good at delivering consistent and useful products, so it’s not a big leap of faith to trust them a bit and see what they will offer.
Now, of course, if your apps absolutely require n-tier support now, then either roll-up your sleeves or find another ORM product.
I agree with you though that if your livelihood depends on Developper Express issuing exactly what you need in a timely fashion, then you’re probably taking too much of a risk and placing too much unwarranted faith into Developer Express solving your specific problems for you.
To me at least, it’s a risk-management thing: considering the investment I made in XPO, how patient can I be before deciding that the risk of waiting for a new version of XPO outweigh the cost (in the broad sense) of having to switch to another product.
It’s probably a question that each of us can only answer according to our particular circumstances.