ASMX,Remoting和ES--我们如何选择
2004-07-31 01:55
501 查看
来自和我和Redmoon在评测网的讨论
其实对于Remoting和WS的争论在于MS是从来没有停止过,但这里面并没有分歧,答案也非常简单---WebService。这不是Web Services的本身的问题,而是MS对SOA的认同。
对于MS的问题,是我们目前遇到的一些客户或一些核心开发人员,他们似乎更难忘J2EE的概念,很多时候他们接受.NET,但他们会用以前J2EE的想法来反问身边的MS的人,回答者的意见在很大程度上让他对于自己目前跨越两种平台的感觉是否良好有很大的作用,对于我们来说,所有内部的讨论和争论来自怎样能够平衡用户,而不在于自己不确定选用那个技术。
ASMX是被优先支持的,在之前我贴的Slides中非常明显的说明ASMX被优先,ES的Model被发扬光大,Remoting依然存在,不会被遗忘的。所有的专家说了,在目前ASMX是优先的,并且以后的迁移量最小
所以这一切取决你对SOA的理解和信赖,如果你也相信它,那么你就和MS一起赌到底吧
至于安全,WSE已经领先了,ASMX的不足靠它来弥补,你看它的补丁速度就知道了。WSE是产品的时间问题,对于MS来说,它是一个3-4年的技术,而ES、Indigo是7-8年的技术,用它的问题主要是技术支持的问题,你想不用等4年之后,Indigo已经出了。WSE3计划阶段已经完毕,这是专门为VS2005和FX2.0的。
DTO不是SOA考虑的东西,J2EE有,ESP提到它.
Services expose Schema and Contract, not Object and Type :)
性能我只能说Web Service足够了,假如你觉得不够让ES+NLB帮你(别笑你也别问怎么不是CLB),把WS想成和Remoting一样的协议就好了。协议层总会消耗一些性能,但它能自己控制的很好
有关序列化10M的问题是一个经验值,超过10M的Dataset在目前的版本是一个拐点,Remoting和WS在这个点会有一个差异的曲线,但测试的结果表明,差别并不大。反过来说,如果你要让性能曲线继续的升高,要花很大的代价,而且效果并不明显,也许是这个版本的问题,也许是秘密,我们追过很多EMail,但老外会问我上面的问题--你为什么要这么做?你的哪个项目需要会用到,客户是谁,言下之意,是说这个问题不是能不能做到的问题,而是你准备干什么,你准备付出多大的代价?
刚看到的这篇Blog,我觉得非常好,虽然这次没有参加MGB,但我知道SOA已经在MGB上横扫千军,上次的Envision就已经知道其势不可挡了
When to use ASMX, ES or Remoting
http://blogs.msdn.com/richturner666/archive/2004/07/21/190742.aspx
Rich Turner的建议足够犀利,他提醒了三件事情
1. SOA
2. 揭示了Remoting的神话
3. 唤起人们对ES的关注
Rockford Lhotka 的建议更加清晰了,但你仍然需要仔细考虑是否采纳 :)
我喜欢ES,喜欢W2K3/COM+ 1.5 和IIS6的搭配,现在项目组的一些家伙 ,对于使用SWC非常的兴奋,用上了他们觉得很过瘾,没用上又觉得很不过瘾
终于回到广州,可以感受一些熟悉的事物和空气。
DuDu 我没有收到你的Mail,有空再发一次或是去评测网PM我一个短信。
ps: Rockford Lhotka :
http://www.lhotka.net/WeBlog/CommentView.aspx?guid=0830a0e4-18bb-4182-99a7-a0c727fb913a
The short answer is to use the right technology for the right thing.
If you need to interact between tiers that are inside your application but across the network, then use remoting. Just avoid creating custom sinks or formatters (which most people don't do, so this is typically a non-issue).
If you need to communicate between applications (even .NET apps) then use web services. Note this is not between tiers[/i], but between applications[/i] – as in SOA.
If you need ES, then use it. This article may help you decide if you need any ES features in your app. The thing is, if you do use ES, your client still needs to talk to the server-side objects. In most cases remoting is the simplest and fastest technology for this purpose. This article shows how to pull ES and remoting together.
其实对于Remoting和WS的争论在于MS是从来没有停止过,但这里面并没有分歧,答案也非常简单---WebService。这不是Web Services的本身的问题,而是MS对SOA的认同。
对于MS的问题,是我们目前遇到的一些客户或一些核心开发人员,他们似乎更难忘J2EE的概念,很多时候他们接受.NET,但他们会用以前J2EE的想法来反问身边的MS的人,回答者的意见在很大程度上让他对于自己目前跨越两种平台的感觉是否良好有很大的作用,对于我们来说,所有内部的讨论和争论来自怎样能够平衡用户,而不在于自己不确定选用那个技术。
ASMX是被优先支持的,在之前我贴的Slides中非常明显的说明ASMX被优先,ES的Model被发扬光大,Remoting依然存在,不会被遗忘的。所有的专家说了,在目前ASMX是优先的,并且以后的迁移量最小
所以这一切取决你对SOA的理解和信赖,如果你也相信它,那么你就和MS一起赌到底吧
至于安全,WSE已经领先了,ASMX的不足靠它来弥补,你看它的补丁速度就知道了。WSE是产品的时间问题,对于MS来说,它是一个3-4年的技术,而ES、Indigo是7-8年的技术,用它的问题主要是技术支持的问题,你想不用等4年之后,Indigo已经出了。WSE3计划阶段已经完毕,这是专门为VS2005和FX2.0的。
DTO不是SOA考虑的东西,J2EE有,ESP提到它.
Services expose Schema and Contract, not Object and Type :)
性能我只能说Web Service足够了,假如你觉得不够让ES+NLB帮你(别笑你也别问怎么不是CLB),把WS想成和Remoting一样的协议就好了。协议层总会消耗一些性能,但它能自己控制的很好
有关序列化10M的问题是一个经验值,超过10M的Dataset在目前的版本是一个拐点,Remoting和WS在这个点会有一个差异的曲线,但测试的结果表明,差别并不大。反过来说,如果你要让性能曲线继续的升高,要花很大的代价,而且效果并不明显,也许是这个版本的问题,也许是秘密,我们追过很多EMail,但老外会问我上面的问题--你为什么要这么做?你的哪个项目需要会用到,客户是谁,言下之意,是说这个问题不是能不能做到的问题,而是你准备干什么,你准备付出多大的代价?
刚看到的这篇Blog,我觉得非常好,虽然这次没有参加MGB,但我知道SOA已经在MGB上横扫千军,上次的Envision就已经知道其势不可挡了
When to use ASMX, ES or Remoting
http://blogs.msdn.com/richturner666/archive/2004/07/21/190742.aspx
Rich Turner的建议足够犀利,他提醒了三件事情
1. SOA
2. 揭示了Remoting的神话
3. 唤起人们对ES的关注
Rockford Lhotka 的建议更加清晰了,但你仍然需要仔细考虑是否采纳 :)
我喜欢ES,喜欢W2K3/COM+ 1.5 和IIS6的搭配,现在项目组的一些家伙 ,对于使用SWC非常的兴奋,用上了他们觉得很过瘾,没用上又觉得很不过瘾
终于回到广州,可以感受一些熟悉的事物和空气。
DuDu 我没有收到你的Mail,有空再发一次或是去评测网PM我一个短信。
ps: Rockford Lhotka :
http://www.lhotka.net/WeBlog/CommentView.aspx?guid=0830a0e4-18bb-4182-99a7-a0c727fb913a
The short answer is to use the right technology for the right thing.
If you need to interact between tiers that are inside your application but across the network, then use remoting. Just avoid creating custom sinks or formatters (which most people don't do, so this is typically a non-issue).
If you need to communicate between applications (even .NET apps) then use web services. Note this is not between tiers[/i], but between applications[/i] – as in SOA.
If you need ES, then use it. This article may help you decide if you need any ES features in your app. The thing is, if you do use ES, your client still needs to talk to the server-side objects. In most cases remoting is the simplest and fastest technology for this purpose. This article shows how to pull ES and remoting together.
相关文章推荐
- 我们应该如何选择DR
- 女人和事业 我们如何选择?
- 我们如何选择是否离开当前的公司呢?
- 分布式ID方案有哪些以及各自的优劣势,我们当如何选择
- 我们该如何选择适合自己的编程语言呢?
- 开源软件那么多,我们该如何选择?|洞见
- Android开发方向,我们如何选择?
- Analysis Service Tabular Model #003 Multidimensional Model VS Tabular Model 我们该如何选择?
- 协同及ERP开发平台,我们如何选择?
- 系统性能之二级缓存大揭秘 从512K到12M[我们该如何选择I族CPU]
- 我们在部署 HTTPS 网站时,该如何选择SSL证书?
- XMLA ODBO 以及OLAP服务提供者自定义的协议,我们如何选择
- 分布式ID方案有哪些以及各自的优劣势,我们当如何选择
- 我们应该如何选择DR
- FTPS (FTP over SSL) vs. SFTP (SSH 文件传输协议): 我们如何做出选择
- volley-retrofit-okhttp之我们该如何选择网路框架
- 我们到底该如何选择……
- 对于刚找工作的程序员,我们该如何选择高工资与学习机会?
- 我们到底应该如何选择开发语言或工具的版本
- 对于刚找工作的程序员,我们该如何选择高工资与学习机会?