The Middle Tier isn't going anywhere.

Published 17 January 5 10:54 PM | William

 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:

  1. XML can't be casted to text or ntext.
  2. An XML column can't be part of a primary—or foreign key constraint.
  3. Only strings can be casted to XML.
  4. An XML column can't be used in a GROUP BY statement.
  5. An XML column can't be part of an index.
  6. 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.

Comments

# William said on January 17, 2005 11:19 PM:

I am so jealous, you've got a Comment Spam Blocker here !! :), damn I need to move off dotnetjunkies and make this my home.

Either way - I love this blogpost. I was a bit shocked to see the title of that article.

Yukon is *NOT* a replacement for the middle tier people !!!

# William said on January 17, 2005 11:24 PM:

My code was 951bfe. I used to hear about BFE - Bum F*** Egypt as a way to describe being in the middle of nowhere.

Nothing would please me more than to see you have an account here if you catch my drift.

I was thinking about getting a site though b/c I'm not even allowed ot use "Hell" or "Ass" on knowdotnet - so that's definitely not the place for me to have my OffTopic blog. I was thinking about having an Explicit Lyrics blog - and while I'm at it, I can register another one...

# William said on January 17, 2005 11:46 PM:

Bill,

Some of us should get together and start a blogging engine which we can do whatever the hell we wish with.

That'll be the south park of .NET.

_ SM

# William said on January 18, 2005 12:00 AM:

Exactly - reprobate.com would be perfect. Or FoulMouthedProgrammers.com I always wanted BadMuthafucka.com (a la Pulp Fiction). Sniffmyballs.com would work too. Our byline could be "The site that offended an entire planet"

# William said on January 18, 2005 8:44 AM:

oh man...you gotta include me...i can only imagine how many people i've offended...

but anyway...it's when i see articles like this i just want to vomit my fucking brains out. i can't tell you how many morons read this shit and just by into it hook, line, and sinker. every new generation of development tools, technologies, and platforms promises soooo much, and delivers sooooo little, every time, you'd think people would have enough intelligence and common sense to not fall for all the hype...

# William said on January 18, 2005 9:36 AM:

I mean, if you're going to have a headline like that, show me how you killed the middle tier across the board, not in one very specific case. But it does get eaten up. If I hear SOA another time I'm going to barf. It was like hearing "This way is better because it's more object oriented" 5 years ago. Then you see some crap like an address object that inherits from a personalInformation class, zipcode that inherits from CityInfo class, State that inherits from StateInfo and you're like, sure, this is really nice and complex, and you used enough Inheritance to choke a whale, but how is this any better?

We have only begun to see the benefits as well as the absurdities that SOA will bring....

Search

This Blog

Tags

Community

Archives

News

  • William G Ryan William Ryan Bill Ryan W.G. Ryan Charles Mark Carroll Charles M Carroll
    My Blog Juice Microsoft MVP
    Bill Ryan W.G. Ryan William Ryan
    Cuckooz' MySpace Page View Bill Ryan's profile on LinkedIn
    My Profile on Twitter
    Please note that this is my personal blog and the opinions expressed are my own. Also, comment moderation is about one of the least important things in my life so please keep that in mind. I can't vouch for the authenticity of any of the posters so please don't hold me accountable. And whatever you do, don't pretend to be Noted Option Strict Off expert and AspFriend Charles Mark Carroll when you post. Doing so will lead him to become apoplectic and write absurd accusatory posts about me that are as coherent and thought out as they are factually correct. He does a stellar job proving his reputation is well deserved and he doesn't need any help from you making himself look foolish. If I have to listen to him banging his spoon off of his high chair one more time, I'm going to burst into flames so please don't make that happen!

    My other sites

    Cool Stuff

    Book Stuff

    Security

    ORM

    Data Access

    Funny Stuff

    Compact Framework Stuff

    Web Casts

    My KnowledgeBase Articles

    My MVP Profile

    Design Patterns

    Performance

    Debugging

    Remoting

    My Fellow Authors

    My Books

    LINQ

    Misc

    Speech

    Syndication

    Email Notifications