发信人: NeverLearn (Working Procedure), 信区: DotNet
标 题: Re: some1 using nhibernate?
发信站: BBS 未名空间站 (Sat Nov 17 04:30:38 2007), 转信
【 在 depend (depend) 的大作中提到: 】
: LtS 1.0一定会带来很严重的维护成本。
You have some excellent pts above. And ironically, "兼容" was #1 reason
why I prefer M$ default to third-party options. When building an
enterprise application, you'd like to see every component is from one
solution package. If one of them is from a third-party, you're gonna
see "兼容" problems. Let me give you two real examples.
1. Infragistics for ASP.NET. This thing looked fancy and offered quite
some features default ASPNET controls don't have. One of our guy used it
for a project and earlier this year he ran into trouble when Ajax.net
came out: The Infragistics controls didn't work with Ajax.net. He had
two choice, either wait Infragtistics to fix it or throw it away &
switch back to Asp.net default controls. Both are painful and take lots
of extra effort. Customers were impatient and asked him why he couldn't
deliver an ajax solution after M$ already published Ajax.net 1.0
2. ORM for .Net. Last year we decided to try the ORM out with a project.
LINQ was not ready so it's between two third-party options: NHibernate
or LLBLGen Pro. Our customer had a freaky security requirement: no
direct connections between web server and sql server. Everything was
through an extra layer of web service. NH's web service support was
closed to zero (maybe it's better now), so it was out on week one. LGP
somehow has a few clever schema importers that pass complex Entity types
through web services. Also almost everything NH does LGP does better.
Thus our guys spent 300$ on LGP and built the architecture around it.
Still it's web services, so it's slow. Our performance folks therefore
proposed WCF over web services. Customers also want to try WCF/Net 3.0
because of its built-in security support. Then here we go again: LGP
was not WCF ready. So either we wait the LGP guys for a WCF upgrade, or
throw it away & go back to strictly M$ default way. The same dilema the
Infragistic guy faced.
You see, when using 3rd party solutions, you actually take a risk if
these vendors can keep up with M$ future changes. M$ has no interest
helping them out, we know that for a fact. If they can't, and you are
using their stuff, you'll be left in no man's land.
※ 来源:·BBS 未名空间站 海外: mitbbs.com 中国: mitbbs.cn·[FROM: 76.246.]