The Middle Tier isn't going anywhere.
Sahil turned me on to Kiss the Middle-tier Goodbye with SQL Server Yukon . I thought this was the Onion . Look, I'm not dogging XML or Yukon - I love them both, but this is pure nonsense. Here are a few of the Limitations mentioned in the article:
- XML can't be casted to text or ntext.
- An XML column can't be part of a primary—or foreign key constraint.
- Only strings can be casted to XML.
- An XML column can't be used in a GROUP BY statement.
- An XML column can't be part of an index.
- It is only possible to create 32 XML columns per table.
Now shortly thereafter the author throws this in:
Even with these limitations, the ability to directly query and modify XML data on the database tier is a great step forward. If you work with XML data in your applications, it is well worth your time to investigate Yukon and find out whether you can benefit from these new features.
Ok, well, on the one hand I'll acknowledge that in this context, his statement isn't totally preposterous. But doesn't this sort of negate the whole claim made in the title?
So there's killer XML Support in Yukon - no DOUBT about that. It rocks. But, uhh, there's a lot of reasons for a Middle tier - not the least of which is the fact that maybe I don't want my ASP.NET pages talking directly to my database. How can I pull that off without a middle tier? Then I'd mention this little guy called a DataReader. You see, DataReaders are really cool b/c when you don't need the data persisted, well, you can use them and incur less overhead. But XML? I don't think this guy has ever called a Web Service with more than a few records, b/c last I looked, I wouldn't classify XML as the fastest way to get data. Trust me, I don't care how great Yukon can perform, somehow I don't see Amazon cutting out their middle tier. OR MICROSOFT. Maybe he didn't get the Memo, but there's a reason Microsoft put a RemotingFormat property in DataSets in ADO.NET 2.0 - and ADDED Binary.
I don't remember where I heard this so pardon my lack of attribution - but I remember hearing about Tech Hype. When a really cool technology comes out, first it's ignored. Then the people that get it hop on board. After they do, every dude who's code makes the front pages of http://thedailywtf.com and his manager and CIO hop on it. (Bluetooth anyone). Then it gets hyped into the next millenium - proof of which is provided superbly by Frans. Then at some point, when people realize the hype isn't real, sanity sets back in and the stuff is used how it should be and solves lots of problems. Folks, I hate to be the bearer of bad news, but there are entire State governments running on old versions of AS400 and Cobol. They didn't even make it into the N-Tier world yet. I'd also be willing to bet that client/server is probably more pervasive than N-Tier. There's lots of people still on Sql 97 because they can't afford the downtime associated with an upgrade (or don't see any benefit compared to the risks). And yet, Yukon is going to magically chance this.
Today, as I write this, I'm currently working on a middle tier component that transports data via DIME to a web service. Things have to happen in the middle tier with this component. Even if I wanted to change it, I couldn't. Yes, I could get to the same place with straight XML - but we're building this so any client can plug into our middle tier and still do what they need to do. If I went into work and said “Hey, you know, we can just use the new features of Yukon and cut all this middle tier crap right out”, they'd probably want me to either take a drug test or seek psychiatric help.
Yukon kicks a lot of a33. The features mentioned - are GREAT. I totally love Yukon. But next year, the year this one and the year after that, I'll still be writing middle tier components. Unless Microsoft has decided that Yukon will have a built in firewall that they aren't telling anyone about.
Chuck D and Flava Flav are right - Don't believe the hype.