×

Loading...

我知道你的意思,我是想说技术细节实现,偶脚得

微软现在把 xml web service 放在最前台是从 vision 和 marketing 的角度出发的。在很久很久..久以前,所有厂商都只是希望成为最牛的平台提供商,如果 98 年那会儿 yahoo, aol 都用 winnt + sql or mcis 可能微软也不会非要推出 msn。不过 internet 发展的比任何人想象的都快,尤其有了 ie vs netscape 之战的前车之鉴,微软在这方面变得格外敏感,看到了一些 B2B 站点的苗头之后,在 99 年底提出 software is service 的口号。如果说当年 COM 是为了一统 OO 组件市场的标准,那 .NET 的目标就是为了一统将来软件 (service) 之间接口的标准。现行解决方案就是 xml + soap, xml web service... 我以为这就是微软把 xml web service 看得如此之重的原因。
但目前如果从开发人员的角度来看 .NET,并非所有的应用非要以 web service 的形势出现,尤其是现存的老系统。web service 的目的主要还是 B2B。asp, dcom, com+, ado, winform, nt service... etc 有其各自的取代品,都不是 xml web service.... 简而化之的原则应该是 xml web service 可以取代以前的 3rd party component public API....
Sign in and Reply Report

Replies, comments and Discussions:

  • 工作学习 / IT杂谈 / 再谈.NET
    本文发表在 rolia.net 枫下论坛.NET Framework发布有一年了,Visual Studio .NET正式发布也快半年了。Job市场上这一块依然平静,搜索一下几

    个找工作的网站,看到的职位曲指可数,而且很多都是把这一项做为一个Nice to have。

    那.NET究竟会怎样呢?

    我们先从.NET的核心,XML Web Service说起。在XML Web Service中,XML可以使系统间的数据交换变得

    容易,并可能实现智能化。也就是说,以后在网上可以搜索数据,就象现在在Yahoo上可以搜索页面一样。现在

    有很多公司提供在线服务,比如网上提供机票价格等。用户可以输入关键词找出某次航班的价格。这样的问题在

    于,这样的在线服务很不容易集成到客户的现有系统中,旅游公司的服务人员必须一家一家网站去搜索,然后用

    笔记下来结果。如果是XML的结果,就很容易集成到客户的系统中来,旅游公司服务人员可以在他自己工作使用

    的软件中直接看到各家的结果,并完成订票。

    这样的系统就要求所有在线服务提供商都使用XML Web Service提供服务。这样的系统的特点是,一两家XML

    Web Service没有大的意义,就像电子邮件很方便,但你周围的朋友都不用电子邮件,它的意义就不大。只有大家

    都用了,电子邮件才真正的方便。

    这也就是为什么目前大家都没有对XML Web Service表现出足够的热情。要使XML Web service成为无处不在的东

    西,首先就是要得到各大公司的支持,特别是Java世界的支持。现在的服务器端的软件主要还是Java的天下,这

    个格局只会越来越明显。XML Web Service是一个很简单的东西,简单到让人觉得简陋。 Java现有应用程序很容

    易扩展到提供XML Web Service服务. 但现在Java上还没有出来这方面的快速开发工具,这使Java这方面的开发慢

    了一些(也许Java guy觉得XML Web Service根本不重要)。

    现实世界不需要先进的技术,只需要实用。当年办公室PC的普及主要是因为它能替代打字机。XML Web

    Service可以使应用程序之间的结合变得容易,并且有足够的安全性,这是现实世界所渴求的。但XML Web

    Service还是一个新东西,大家在拿到它的时侯还象拿到一件新奇的玩具,现在还没完全搞明白如何来玩它。但它

    仍然在积蓄着能量,某一天它的生命力会突然显现出来。值得IT guy期待的是,为了适应XML Web Service,很多

    现在的应用程序都需要扩充或重写,到时侯大家又可以没事偷着乐了。

    然后谈一下.NET开发方面的感受

    使用c#的第一感觉是,它象Java。我很喜欢Java,C# 给人的感觉也很好。在写没有用户界面的组件的时侯,它的

    开发感觉和Java类似,区别还是明显的。在错误处理方面,两种语言都使用try catch这种结构,但在程序结构上是

    不一样的。Java中,只要有掷出的exception就要捕获;在c# 中,这是不需要也是不好的。很多c#组件根本看不到

    一个try--catch,虽然其中掷出了很多的exception。在用户界面应用程序中,可以给主线程注册一个错误处理方法

    ,这样所有错误处理都会被送到这里。这使c#写出的程序看起来很舒服,似乎根本不用处理错误,但所有错误都

    得到了处理。在稳定性方面,c#写出来的程序非常好,如果没有Unmanaged code,应该跟Java差不多。

    第二是.NET runtime的类库超大,什么想得到的方法都可以在里面找到,用起来很方便,只是需要一个熟悉的过程



    在windows application开发方面,用c#的感觉最像的应该是Delphi,界面设计事件等都类似。可惜我没用过Delphi

    ,给我的感觉就是很像VB,开发速度甚至快过VB。

    在运行速度方便,c#写出的managed code Windwos应用程序和以前VB写出的程序差不多,但在第一次启动时编

    译会花费一些时间。在服务器组件方面,因为采用了很多优化,.NET组件运行速度很快,在重负荷情况下远快过

    VB写的com+组件。

    .NET还是会被局限在MS范围内,一些小公司可能会很快转向采用.NET,可能用它来开发新的XML Web Service,

    更可能替代上一版本的VS来开发网站(.ASPX)或windows 应用程序。感觉上觉得它会完全取代上一版本的VS,

    并且c#在windows平台上占据统治地位,就像unix上的Java;VC会像Unix上的c/c++一样,长期存在于一定的应用

    范围内。更多精彩文章及讨论,请光临枫下论坛 rolia.net
    • Good!
      你们正在用.NET做开发吗?
        • Where can I take an exam for get my .Net license?
      • 你不得不跟.NET. 好象目前IT界只有告MS 垄断吧. 做了一年多.NET 项目...
        (客户有Legal, insurance, reinsurance, govenment), 确实极大提升开发效率, 在Enterprise Application Integration领域大有作为, 这才是.NET 的目标市场. 编程语言只是很低层次的竞争....
        • 第一是基于Internet的分布式计算,第二是数据交换或应用集成。目前第一个更容易见成效,想像一下过去在局域网上的分布式应用程序,全部可以放到Internet上去。DCOM的复杂配置也被大大简化
    • xml web service 是很重要,但说它是 .NET 的核心好像很勉强
      • 同意。
      • 那是微软关于.NET的定义
        • 我知道你的意思,我是想说技术细节实现,偶脚得
          微软现在把 xml web service 放在最前台是从 vision 和 marketing 的角度出发的。在很久很久..久以前,所有厂商都只是希望成为最牛的平台提供商,如果 98 年那会儿 yahoo, aol 都用 winnt + sql or mcis 可能微软也不会非要推出 msn。不过 internet 发展的比任何人想象的都快,尤其有了 ie vs netscape 之战的前车之鉴,微软在这方面变得格外敏感,看到了一些 B2B 站点的苗头之后,在 99 年底提出 software is service 的口号。如果说当年 COM 是为了一统 OO 组件市场的标准,那 .NET 的目标就是为了一统将来软件 (service) 之间接口的标准。现行解决方案就是 xml + soap, xml web service... 我以为这就是微软把 xml web service 看得如此之重的原因。
          但目前如果从开发人员的角度来看 .NET,并非所有的应用非要以 web service 的形势出现,尤其是现存的老系统。web service 的目的主要还是 B2B。asp, dcom, com+, ado, winform, nt service... etc 有其各自的取代品,都不是 xml web service.... 简而化之的原则应该是 xml web service 可以取代以前的 3rd party component public API....
          • 讲得很好。
      • cornerstone. WebServices and WebApplication are next generation of business service. But here, xml sounds like WSDL (web service definition language)
    • 向.NET迁移的风险评估<ZT>
      本文发表在 rolia.net 枫下论坛仙人掌工作室
      2002-4-17
      本文转摘自《计算机世界》

      --------------------------------------------------------------------------------


      随着VS.NET的正式发布,Microsoft的.NET梦想终于如实展现在人们面前,对几乎所有以Microsoft技术为核心的开发组织来说,它带来了不容忽视的变革。就像以前对Windows寄予厚望一样,Microsoft现在把自己未来的重注下在了.NET的成功上。同样与以前Windows出现时相似的是,绝大多数Microsoft技术的开发者不可避免地要转移到.NET上。认清这些简单但关键的事实,这是评估.NET将在你的组织中扮演什么角色时首先要解决的重要问题。
      除非你准备彻底放弃或背离Microsoft的软件战略,否则,对于最终迁移到以.NET为基础的产品和体系,你只拥有很少的选择权:这是一个何时进行的问题,而不是一个是否要进行的问题。实际上,你真正拥有的实际控制权仅仅是迁移工作的进度安排。然而,在深入分析.NET可能在你的组织中起到哪些作用之前,首先要澄清一下本文所指的.NET具有哪些含义。

      一、澄清一些事实

      Microsoft使用的“.NET”术语在不同的场合有着许多含义:它是一种展望,一种远期战略,一种商标,同时也不可否认地带有市场策略的成分。从最简单直接的角度来看,.NET是Microsoft对“软件即服务”或“服务式软件”(Software as Services)这一IT战略和技术体系的设想。从最长远的观点来看,.NET是一种占领市场的战略,在此基础上Microsoft将支持下一代以Internet为中心的应用,这些应用将充分利用当前正在浮现的新技术的优势,例如Web服务和移动设备、无线设备等。虽然完整的、全面的.NET图像仍被市场宣传的迷云笼罩,但在这迷云之下,一个真实坚固的新平台确实存在,这就是.NET框架。本文的讨论正是以.NET的这一概念为基础。
      对于几乎所有以Microsoft技术为基础的开发者来说,转移到.NET是不可避免的趋势。在这种情况下,评估迁移工作的时间安排之前应该先回答这样一个问题:“我是一个积极的新技术采用者,还是一个保守的新技术采用者?”积极的新技术采用者会把.NET视为自DOS升级到Windows之后最重要的机遇,很自然地,他很可能把注意力集中到.NET带来的优势,而忽略其缺点。这类最早采用新技术的人往往以积极甚至激进的策略为基础,选择最前沿的、正在浮现之中的新技术,看重竞争优势带来的希望,轻视随之出现的风险。
      .NET技术早期采用者的第一个机遇在于它具有抵御竞争威胁的能力。正如Windows曾经抵御了因为Apple Macintosh日益流行而带来的威胁,抵御了OS/2的出现带来的重大威胁,.NET计划在很大程度上针对的是Java带来的威胁。著名的技术市场研究公司Gartner预测,接下来的五年中,百分之八十或更多的新电子商务应用将建立在Microsoft或Java平台技术的基础上。很自然地,.NET的目标很大程度上是在这个百分比中尽可能地扩大Microsoft的份额,降低Java技术在主流IT企业之间日益广泛的影响。
      Microsoft通过推出一个全新的技术平台回应Java的威胁,这个新的平台在许多方面填补了原来的空白,在一些领域(例如Web服务)甚至有所超越。对于Microsoft来说,这一举措正当其时,因为旧的Win32/COM体系正显示出严重的时代局限性。Java威胁的出现是由于,几年之前WWW刚刚出现时,Microsoft犯下了重大的估计错误,它仍旧坚持着以PC为中心的计算理念,对Internet日益增长的重要性视而不见。在很大程度上,推出.NET新平台这一重大举措的驱动力量来自甩下旧包袱的需要,因为旧包袱拖了Microsoft与Java展开全面竞争的后腿。

      二、评估.NET vs. Java

      旧的分布式Internet体系(DNA,Distributed Internet Architecture)建立在Win32和COM等技术的基础上,它就象是一条橡皮筋,在过去的十多年里,从最初的以PC为中心的计算模式不断拉伸和扭曲。今天,这条橡皮筋已经拉伸到了极限,该是来一次大变革的时候了。与DNA不同,Java出现在人们面前只有六年之久,既得天时也得地利,紧紧抓住了Internet大潮的机遇。Java带来了许多革命性的编程概念,它们与新兴的Internet和Web编程模式紧密结合,例如内建的安全沙箱(Security Sandbox)、可移植的代码,以及直接构造到语言和库里面的强大的Web、TCP/IP编程支持。另一方面,Microsoft只给出了一些充满缺陷的答案,例如意图作为Internet组件使用的ActiveX控件。然而,.NET不再是以PC为中心的计算技术的简单扩展,它代表着一种长远意义上的划时代的飞跃,成功地为人们带来一条全新的橡皮筋——具有足够的灵活性和伸缩能力,足够用上好几年。
      令人欣慰的是,.NET的价值取向并不完全集中在与Java的对抗上。Microsoft充分利用了.NET作为一个全新基础平台的优势,在许多领域有超越Java之势。特别是在对Web服务技术的支持上,这一点尤其突出。在这一领域,Microsoft已经引起人们的密切关注,对于简单对象访问协议(SOAP,Simple Object Access Protocol)和统一描述、发现和集成协议(UDDI,Universal Description、Discovery and Integration)之类的下一代技术平台,Microsoft已摘取到预言家的桂冠。据Gartner估计,在下一年中,人们可以看到.NET比大多数与之竞争的Java厂商提供更好的Web服务支持;然而,在两年之内,这些竞争者中的大多数也将以自己更健壮的功能提供对Web服务开发更有效的支持。
      如果你有可能成为.NET技术的早期采用者,请仔细审视.NET框架的新特色,既要了解类似的Java方案带来的竞争风险,也要了解超越“传统的”COM实现方案所带来的竞争优势。此外,应当深入地分析应用开发项目的时间因素。你正在启动的开发项目是否会在2002年上半年正式发布?或者,你是否正在启动一个直到本年或下一年末才能完成的项目?正式推出产品之前的时间越长,今天你追随.NET的必要性就越大。

      三、认清风险

      正如积极的新技术采用者在做技术决策时很大程度上倾向于高风险、高回报的机遇,也有一些新技术采用者以保守的眼光看待.NET。这些新技术的采用者总是在看到新技术带来的机遇的同时,对随之而来的风险作大量的研究,他们眼中的.NET不仅代表着一次重要的机遇,同时也伴随着一些重大的风险。
      首先,对于所有使用Microsoft技术的开发者来说,转移到.NET意味着面临一个重大的技术断层,因为.NET要求有全新的技能、工具、体系和从头开始实践。此外,目前的.NET几乎完全是来自单一厂商的1.0版本的软件,而这个厂商的1.0版软件有着可怕的历史记录,甚至同一句话中提到“Microsoft”和“1.0版本”这两个词都会让全世界的程序员感到脊梁骨上的寒意。然而,在Micrsooft的技术世界中,接受这些风险的挑战并非没有先例;当开发者从DOS转到Windows,从16位Windows转到32位Windows时,也曾面临类似的挑战。转换到.NET只是在同一条路上再走一遍,而这条路对于使用Microsoft技术的开发者来说并不陌生——转移到.NET确实是一个挑战,但对于大部分开发者来说存在的障碍不是不可克服的。
      虽然.NET带来的机遇促使人们尽快采用.NET,但你还是应该深入严肃地检查一下是否已经为潜在的挑战做好了准备,因为.NET毕竟是一个全新的、尚未充分发展和成熟的平台。例如,.NET引入了一些新的特色,包括所有语言之间统一的类库和一个经过整理的组件模型,但这些特色付出了向后兼容的代价。应该做好最坏的打算,因为如果要把现有的应用改造成真正的.NET实现,可能有大量的代码需要重新编写。

      四、结束语

      .NET为人们提供了一个拥抱下一代Internet、电子商务、移动和无线IT方案的机遇。然而,不可否认的是,它是对现有体系的一次根本性的变革,要求重新编写大量的应用代码,要求重新对开发人员进行培训以及面对一种尚未充分发展和成熟的技术所带来的风险。好在.NET迁移之路并非一个非有即无的选择,Microsoft提供了紧密连接传统COM+体系和.NET平台的桥梁,允许开发者按照渐进的方式逐步引入.NET技术。实际上,至少在.NET推出之后的前两年,在主流开发中占据统治地位的必然是.NET和现有技术共存的混合开发模式。
      因此,当你考虑.NET迁移的时间安排时,应该先回答本文开头提出的问题,“我是一个积极的新技术采用者,还是一个保守的新技术采用者?”,确定是否有直接的、令人信服的、经得起推敲的理由要求立即转到.NET平台上。如果不是这样的话,在接下来的几个月时间中,选择更稳健、谨慎的策略对你来说也许更理想。
      对于我们之中的大多数人来说,答案在于这两个极端之间。正如Gartner对其客户的忠告,为了在风险和回报之间取得平衡,应当避免在VS.NET正式发布后的六到九个月之内让运行关键任务的系统过分地依赖于.NET框架技术;当然,如果你今天启动了一个持续八个月左右的开发项目,在采用.NET技术的策略上也许应该更积极一些。不管你实际采用了哪种策略,都应当立即开始借助原型工程和规模较小的、非关键任务的工程熟悉和研究.NET,了解.NET的哪些特色对于你的组织来说最有意义。对于大多数开发者来说,最现实的迁移规划不是一个非有即无的选择,而应该是一个渐进的过程,应该随着时间的推移按照一种与现有COM服务混合应用的模式引入.NET框架技术。更多精彩文章及讨论,请光临枫下论坛 rolia.net
    • As for the implementation, can somebody compare the difficulty of ASP deploying and JSP deploying?
      • ASP不是.net想要的东西。微软主要还是想推基于windows application的东西。xml web service也主要是为了建立windows application
    • .NET经理读本 <zt>
      本文发表在 rolia.net 枫下论坛作者: ZDNET CHINA
      Monday, April 15 2002


      微软的.NET的美好前景及其这一新技术所提供的框架、开发工具和服务器对那些在微软平台上工作的开发者而言不啻是一次重大的技术变革。那么,.NET技术将如何影响你和你所带领的团队首次创建.NET解决方案呢?在同一家部署过若干.NET企业解决方案的咨询公司合作之后,现在我就向你提出一些有关.NET实施的经验之谈。

      建设更大系统的基石-可伸缩组件

      .NET是技术领域的重要革新,.NET体系结构可以让开发者营造组件化、可重用的功能,而且这些功能可以跨网络(或者因特网)应用在各种平台之上。你不妨把每个.NET解决方案都想象成为一套积木。开发者可以方便地重用、重组乃至集成这些积木来创建连续的解决方案。你想过吗,针对呼叫中心所用的工作流引擎是如何提升你的支持部门以及供应链管理系统的?针对特定浏览器的报告应用程序该进行怎样的修改才能适用于手持设备?

      如果你能把.NET的运用带入到崭新的层次,那么,当你同企业之外的合作伙伴、顾客以及供应商一道开发综合解决方案时会感觉得心应手、水到渠成。代码和平台的.NET天性将使得以上的解决方案开发过程变得更简单、成本更低廉,正如我在以下内容中所描述的那样。

      大多数的新技术都会通过一条渐进的接受曲线才能给你机会慢慢地为其实现做好准备。不够,从最近我完成的一个客户项目来看,.NET在这个项目中所具有的作用和带来的益处是非常吸引人的,这促使我建议你考虑加速.NET的实施。.NET提供了一种完备、优异、稳固的应用和开发平台。你最好立刻就利用它为自己的项目服务。


      培训经理人

      .NET给开发者所带来的变化是戏剧性的,那些通常使用Visual Basic COM应用程序的开发者也面临同样的学习曲线。C# 和 VisualBasic.NET之类的的.NET语言将带给开发人员从未有过的选择机会。

      而这些变化对项目经理一类的管理人员又意味着什么呢?答案是,对.NET开发者的培训和教育是你所负责的第一个.NET项目能最终获得成功的关键因素。在不能彻底理解平台和框架实质的情况下,你的开发团队在第一个.NET项目的开发过程中就会承担迷失方向的风险。

      除了对团队成员进行培训之外,如果有可能,你还应该找些经验丰富的.NET设计师和高级开发人员帮助整个开发团队步入正规。在设计和开发.NET的时候没有比知识和经验更有用的东西了。由于目前参考资料和第三方开发工具还比较匮乏,结果进一步强调了知识经验的重要性。

      你的第一个.NET项目

      你可能会发现与先前的项目相比,现在开发的.NET项目在开发上花费的时间可就少多了。这是因为,.NET包括了大量的类库和一种综合开发环境,通过这个综合开发环境,开发人员可以更轻松、更快捷地创建业务逻辑和基于Web的用户界面。不过,只有在项目分析分析和设计上花费更多的时间,而且项目中有全面理解.NET技术的设计师和工程师的指导,在满足以上两个条件的情况下你才能充分地利用新技术。

      完成.NET项目不再具有先前项目中所谓工作区,而且你的团队也不再会被强迫周末和晚上加班应付技术缺陷。只要设计和规划得当,项目的实现就一定会平稳地进行。就我最近的经验而言,开发者们竟然开玩笑说他们在质量保证阶段感到百无聊赖,因为项目产生的问题和缺陷太少了!

      如果你计划项目外包,那么你得确定承包公司真正具有.NET开发经验而且可以提供产品环境下的参考系统演示。最好经常性地质询承包公司当前实践的知识基础和经验。

      小结

      如果你想成为所在机构中的一位“.NET英雄”,那么你最好把赌注压在下面的注意事项上:

      花更多的时间仔细考虑企业重用性,考虑如何向合作伙伴和顾客提供新服务。
      在与你的开发团队一同工作时,给设计和开发者留出用于系统分析和设计所需的额外时间。
      培训你的开发人员,如果可能的话吸收经验丰富的.NET设计师参加开发队伍。
      外包任务时选择具有.NET开发经验的承包公司。
      一定要记住,.NET平台的真正价值不在于交付更好、更快而且更便宜的项目(尽管它确实表现得如此出众)而在于更容易地在整个企业内外构筑更强大的解决方案。更多精彩文章及讨论,请光临枫下论坛 rolia.net
    • .NET架构的核心开发技术 <zt>
      本文发表在 rolia.net 枫下论坛(作者:金志立、中国软件网 2000年12月21日)

        不可否认,应用软件的开发正在经历一次巨变——将最终增强开发人员的生产力并开启一道通向全新概念的应用程序的大门。

        新型的开发模式正逐渐被推广,将分发软件演变成一种服务还有待于所有开发人员的共同努力,而互联网却将彻底改变应用程序的开发模式和配置方式。

        传统上,软件开发人员通过集成本地系统服务的方式开发应用程序。这种模型使开发人员有权使用一整套丰富的开发资源,精确控制应用程序的性能。

        如今,开发人员在很大程度上已挣脱了这种模式的束缚,致力于构建具有复杂结构的n层系统,这种系统能将网络中各处的众多的应用程序进行集成,并大大提升应用程序的价值。这样,开发人员便可集中精力挖掘软件独特的商业价值,而不必日夜为如何构建基本结构伤脑筋了。令人欣喜的局面将应运而生:软件投放市场的时间大大缩短、开发人员的编程效率明显提高,最为根本的是开发出质量上乘的软件。

        我们正在进入计算机发展的下一个阶段——基于Internet的阶段,特别是基于Internet核心技术——XML扩充标记语言。尽管多层应用程序开发将焦点集中在建造大型企业级应用程序上,但现在XML使得能够创建可用于任何人、任何场所的大型应用程序。它扩大了应用程序的使用范围。这样,软件就不是只能从CD上安装的某种东西,而是一种服务——就像呼叫服务或者计费电视一样,可以通过通信媒体来预订。

        这一切,是通过将紧密联接的、高效的n层计算技术与面向消息的、松散联接的Web概念相结合来实现的。我们将这种计算风格称为Web Service(Web服务),它的出现标志着人类已经迈入应用程序开发技术的新纪元。Web服务是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。

        我们也可将Web服务视作Web上的组件编程。

        从理论上讲,开发人员通过调用Web应用编程接口(API),将Web服务集成进他们的应用程序,就像调用本地服务一样。两者区别在于前者能够通过Internet发送到某个远程系统的服务上。例如,像微软护照(Microsoft Passport)这样的服务,可以给开发人员提供应用程序身份确认的功能。通过对护照服务编程,开发人员就可以利用护照服务的基础体系,实现维护用户数据库,确信服务开启和运行以及正确地备份等等功能。

        ■松散联接
        跨越网络的分布应用程序逻辑的概念并不是一个新名词,但跨越Web的分布和集成应用程序逻辑的概念却是。

        此前,像微软的DCOM (Distributed Component Object Model )、Object Management Group公司的CORBA (Common Object Request Broker Architecture )以及Sun公司的RMI(Remote Method Invocation )这些分布式对象模型被称为分布应用程序逻辑。运用这些系统结构,虽然服务放在远程系统上,开发人员仍然可以像原来本机编程那样维护和丰富应用程序的功能。

        但这种系统的问题是不能扩展到Internet。因为该体系的基础是服务器上的客户端和服务器的紧密联结。这意味着两者必须是同质的基础体系,但也就常常意味着这种系统是非常脆弱的,如果有任何一端接口发生变化,另一端程序必然就会被中断。举个例子,如果服务器应用程序的接口改变了,那么客户端也将会失效。

        开发中要求有一个紧密联接的系统这本身没有错,而且许多应用程序也一直就是建立在这些系统上的。但最终,随着时间的流逝,这种模型是不会扩展的。因为众多公司企业要求相互沟通,这很难保证会有一个统一的系统,同样也很难保证,你的客户的服务器会有你所需要的完全一致的系统,你甚至都不可能猜想到它所用的是什么操作系统、什么对象模型和什么编程语言。

        相反,Web服务的联接非常松散。这就意味者你可以在联接的任何一端任意改变接口,而应用程序可以不受影响地照常工作。从技术上说,这主要是由于使用了拥有稳固性能的基于消息的异步技术,如像HTTP、SMTP等Web标准协议。而且最重要的是,XML可以帮助实现其通用性。

        作为一个宏伟的计划,.NET的路还很长。今后的发展无论是崎岖坎坷还是一片光明,在对新技术和IT产业的推动上,微软都是功不可没的。

        消息系统将通信的基本单元打包进自描述的、运用于网络通信层的包(被称做消息)。消息系统和分布式对象系统的关键区别在于,发送者需要对接收者的系统了解多少。使用分布式的对象系统,发送者需要帮助接收者考虑许多问题,比如应用程序将如何激活和卸载、调用的是什么接口等等。

        另一方面,消息系统在通讯层上达成协议。发送者只需考虑的是接收者能够知道信息正被发送。发送方不需要了解一旦消息被收到后将会如何处理,也不需要对发送方和接收方之间作任何考虑。

        在通讯层上达成协议的优势是显而易见的。例如,协议能够使接收方随时作修改而无须中断发送方,只要该协议始终明白是同一条消息。接收方不用中断任何当前应用程序,可以自由升级和改进。更进一步说,就是发送方不用要求任何特殊的软件就可以和接收方交谈,只要他发送的是符合格式的信息,接收方就可以作出应答。

        ■XML的通讯基础:SOAP
        建造跨越Web的 Web服务的工作和异步系统的关键是使用统一的数据说明格式,这就是XML。特别说明的是,Web服务器在三方面需要XML来实现:基础语言、服务说明以及服务发现。

        ● SOAP:系统在底层需要有统一语言,特别地,应用程序相互通讯需要建立一套规则来说明如何表示不同数据类型(如整数和数组),如何表示命令(如进行数据处理)。同时,应用程序在需要时还可以扩充这种语言。简单对象存取协议SOAP(Simple Object Access Protocol),这是XML的一种实现,代表了一组如何表示和扩充数据和命令的规则集。

        ● WDSL(Web Services描述语言) :一旦应用程序有了如何表述数据和命令的基本规则,他们就需要如何描述可以接收的特定数据和命令。应用程序只是声明如何接收整数是不够的,他们必须用明确的方法声明。如给你两个整数,把它们相乘。WDSL是一种XML语法,开发人员和开发工具可以用它来表示Web服务的功能。

        ● SOAP Discovery:最后需要一组规则来定位服务的描述——对于开发者和开发工具在什么地方可以发现一个Web服务。SOAP Discovery规范提供了一组规则让开发者和开发工具可以自动发现Web服务的描述。

        一旦这些准备好了,开发者可以方便地发现Web 服务,把它作为一个对象集成进他们的应用程序,并使应用程序和Web服务相互通讯。

        ■.NET框架:Web服务引擎
        很显然,许多基本结构都需实现上述进程对开发人员和用户的透明化。.NET框架(.NET Framework)提供此基本结构。从.NET框架角度看,所有组件都可以是Web服务,而Web服务也仅是一种组件。实际上,.NET框架提取出微软组件对象模型(COM)的精华,将它们与松散联接计算的精华有机地结合在一起,生成了强大、高效的Web组件系统:简化程序员的“管道”操作,深入地集成了安全性,引进了基于互联网的操作系统,极大地改善应用程序的可靠性和可扩展性。

        .NET框架由三个主要部分组成:通用语言运行库、一套层次结构的统一类库和一个被称为ASP+的高级ASP版本。

        有关.NET的许多东西让人印象深刻,尤其是微软充分传达出的对互联网作为未来主要技术平台的首肯,和在某些方面对公开的标准的欢迎。

        .NET的确牵动着每个人的猜测……

        1.通用语言运行库

        除了通用语言运行库的字面含义外,在开发阶段和运行过程中它还扮演着另一个角色。在组件运行时,运行库负责管理内存分配、启动和中止线程和进程、强化安全系数,同时还调整任何该组件涉及到的其他组件的附件配置。在开发阶段,运行库的角色稍微有点变化:因为很多方面可以自动实现(例如内存管理等)。运行库可以使开发过程变得非常简单,特别是同今天的COM编程相比更是如此。特别典型的是,像Reflection这样的特性可以极大地缩小开发人员将商业逻辑转化成一个可重复使用的组件而不得不编写的代码数量。

        运行库对于编程语言来说并不是新鲜的东西。实际上每一种编程语言都已包含一个运行库。Visual Basic开发系统有最明显的运行库(正规名字为VBRUN),Visual C++也有一个MSVCRT,此外,像Visual FoxPro、Jscript、SmallTalk、Perl、Python和Java等等都如此。.NET框架的关键角色就是它提供了一个跨所有编程语言的统一环境。

        2.统一编程类

        .NET框架类为开发人员提供了一套可以使用的统一的面向对象、异步、层次结构的可扩展类库。现在,C++的使用者使用Microsoft Foundation Classes,Java程序员使用Windows Foundation Classes,Visual Basic的用户使用Visual Basic APIs。微软用.NET框架统一了这些不同的框架。结果是,开发人员不用非去学多个框架来完成自己的工作。而且,通过创建一套跨编程语言的通用API,.NET框架可以实现跨语言继承、纠错处理以及程序调试。实际上,从JScript 到C++的所有编程语言,对于.Net框架都是相互等同的,开发人员可以自由地选择他们想使用的任何语言。

        .NET是一种全新的平台,它将对现有的所有代码产生影响。盖茨说:“微软所有的产品都会被涉及。我们的整个战略是围绕这个平台展开的。”

        3.ASP+

        ASP+是使用 .NET框架提供的类库构建而成的,它提供了一个Web应用程序模型,该模型由一组控件和一个基本结构组成。有了它,Web应用程序的构建变得非常容易。开发人员可以直接使用ASP+控件集,该控件集封装了公共的、用于超文本标识语言(HTML)用户界面的各种小组件(诸如文本框、下拉选单等等)。实际上,这些控件运行在Web服务器上,它们将用户界面转换成HTML格式后再发送给浏览器。在服务器上,控件负责将面向对象的编程模型呈现给Web开发人员,这种编程模型能提供面向对象的编程技术拥有的丰富功能。ASP+还提供一些基本结构服务(诸如会话状态管理和进程循环),这些服务进一步减少了开发人员要编写的代码量,并使应用程序的可靠性得到了大幅度提高。ASP+还允许开发人员将软件作为一项服务进行传送。通过使用ASP+ Web服务功能,ASP+开发人员只需进行简单的业务逻辑编程,而由ASP+基本结构负责通过SOAP传送服务。

        尽管ASP+还未正式发行,但它已在改进应用程序功能方面创造出了令人难以置信的奇迹:在现有基于ASP的应用程序性能基础上,性能优化了三倍之多,更为激动人心的是生产效率再度攀升。

        ■.NET框架的核心部分
        .NET框架有几个要素值得一提。首先是它的安全系统和配置系统。这两个系统协同工作,有力地遏止了运行不安全代码的可能性,并大幅度减少了号称“DLL Hell”的对应用程序进行配置时所面临的挑战。

        安全系统是一个高度细化、基于事实的系统,它赋予开发人员和管理员多种代码处理权限(而不仅仅是“on”或“off”)。将来,还会根据代码本身的核心要素来决定如何实施上述权限。

        例如,当.NET框架应用程序被下载到某一系统中时,它会申请一组权限(诸如对临时目录的写入权限)。运行时将收集有关应用程序的事实信息(诸如:它是从何处下载的、是否用了有效签名、甚至它访问系统的准确程度),并按管理策略决定是否允许应用程序运行。运行时甚至还可告之应用程序它无法授权申请的所有权限,并允许应用程序自行决定是否继续运行。

        有这种安全系统作保障,许多应用程序配置问题便会迎刃而解。开发人员和管理员(最终是用户)所面临的最大挑战之一是版本的管理问题。如果在您新装了某个应用程序之后,一切都陷于瘫痪状态,而在这之前系统一直运行得非常良好,那么最大的可能是新安装的应用程序重写了一些共享库,并极有可能修正了现有应用程序正使用的程序错误。这种情况出现的频率很高,以致人们将它称为:“DLL Hell”。

        .NET框架拥有的几项高级功能可以彻底消除“DLL Hell”现象。首先,它有一个非常强大的内部命名系统,能够有效地防止两个库因互相重名而被错当为对方的情况发生。除此之外,它还提供一项被称作“side by side”配置的新功能。如果前例中新安装的应用程序确实重写了共享库,现有应用程序可对该库进行修复。等现有应用程序再次启动时,它会检查所有的共享文件。如果发现文件被更改,同时这些更改又是不兼容的,则它可以请求运行时提取一个它可以使用的版本。得益于强大的安全系统,运行时可以安全地执行该操作,这样应用程序就完成了本身的修复工作。

        ■编者语
        人们总是喜欢不厌其烦地发表诸如“互联网改变了一切”的陈词。同样地,在谈论互联网给人类带来的影响时,总是情不自禁地使用广告式的夸张语,以表达对互联网的推崇。不过,互联网的确彻底改变了应用程序的开发模式和配置方式。将分发软件演变成一种服务还有待人们的共同努力,XML是实现这个梦想的重要手段。.NET框架是微软开发人员战略的核心内容,它旨在帮助开发人员轻松地构建、配置和运行Web服务。

        总之,.NET的最先受益者,将是我们的开发人员。.NET的路还很长,今后的发展无论是崎岖坎坷还是一片光明,在对新技术和IT产业的推动上,微软都是功不可没的。更多精彩文章及讨论,请光临枫下论坛 rolia.net
    • 请问您能不能帮忙,我想下载Visual Studio.NET,请帮忙推荐个网址。
    • 转:国内外ASP.NET优秀网站大全
      本文发表在 rolia.net 枫下论坛中国大陆:
      http://aspxcn.com
      简介:.NET中华网,提供国内外大量ASP.NET源码下载、技术文档查阅、.NET虚拟主机租用、人气旺盛的论坛交流

      http://www.51dotnet.com
      简介:更新较慢,不过内容丰富,技术文档极多是此站一大特色

      http://www.cndot.com

      http://aspcn.com
      简介:ASP.NET内容总量较少,但精品不少,是国内外有名的技术网站

      http://www.cndotnet.net
      简介:技术文章不少,但很久没有更新了

      http://www.chinaaspx.com
      简介:人气不错的ASP.NET论坛

      http://www.csdn.net/Expert/Forum.asp?roomid=33&typenum=2
      简介:学ASP.NET不可不去的地方呵,高手极多,站长就是在那里成长起来的

      http://club.pchome.net/bbs2.php?lanmuid=11&topic=129
      简介:电脑之家的ASP.NET论坛,高手也不少呵,但人气不是太旺

      http://tansin.wincn.com/Forum/Index.aspx
      简介:开发国人自己最优秀的天行.NET论坛的官方论坛,有关开发论坛的问题可以到那里看看

      http://www.htmchina.com/
      简介:提供不少的ASP.NET源码及文章的好地方

      http://www.aspx.net.cn
      简介:开发.NET先锋论坛的官方主页,国人比较早的一个ASP.NET专题站,即将有比较大的改版动作,大家留意了!!

      http://www.ouryh.net/down/default.asp
      简介:银河技术下载栏目,提供不少的ASP.NET资源

      http://www.ourasp.net
      简介:ASP.NET中文专业网,很早期的一个ASP.NET专题网站,但更新较慢

      http://www.aspcool.com
      简介:极多原创ASP.NET技术文章的网站,相当有名!!

      http://www.yesky.com/72342380434423808/index.shtml
      简介:天极网.NET文章专栏,极多原创技术文章

      http://www.pconline.com.cn/pcedu/
      简介:太平洋网络学院,ASP.NET技术文章不少呵
      其它将在以后继续增加.....

      国外网站:
      http://www.asp.net
      简介:微软公布的官方ASP.NET专题站,不用我说了吧

      http://www.codeproject.com
      简介:丰富的C#,VB.net,ASP.net代码及文章资源,国外一个出色的专题站

      http://www.dotnetbips.com
      简介:不错的专题站,代码及文章也相当不错

      http://www.dotnetjunkies.com/
      简介:代码资源相当丰富,文章也相当出色,但更新较慢

      http://www.techng.com/
      简介:微软推荐的国内优秀的ASP.NET专题站更多精彩文章及讨论,请光临枫下论坛 rolia.net
      • C# links
        http://www.csharp-station.com/
        http://www.csharphelp.com/
        http://www.c-sharpcorner.com/
        http://www.icsharpcode.net/
        http://www.codestudy.net/
        http://www.codeproject.com
        http://www.csharpchina.com/
        http://www.chinabs.net/csharp/default.asp
        http://www.texiao.net/
        http://www.windowsforms.net/
        http:// www.maigcdotnet.com
        • 你给我的email上的电话和你的email地址都是错的....你在哪个省啊?
          • 我什么时候给你的呀?对不起都不记得了. 请用这个:(408)3566350. aiattendant@hotmail.com.NOSPAM.