Internet编程方式还处于石器时代。Internet用户就像老式主机的分时终端上的用户一样,他们从一个受保护的资源请求信息,然后等待回应。你从正在浏览的Internet站点上接收的信息由它希望提供给你的、基于HTML的信息组成的。
但是,同远程Web站点进行交互式操作是不是更有趣?如果我们能用某种方法访问远程站点提供的计算能力并利用它的服务,而不仅仅是利用它的发布能力,会不会更好?这就是.NET将要提供的精华。
.NET将远程服务器所提供的计算能力和允许用户交互操作所必需的通讯结合在一起。明确地说,.NET是为你-Internet开发者-所设计的,它帮助你创建可扩充的新能力。你的Internet站点不应该成为带宽海洋中的孤岛,相反,你能以这样的方式建立你的站点:通过合作和互操作能力,使它融入Internet之中。
所有这些的关键,当然是合作的能力。要具有互操作性,要以高速数据传输率来共享数据。如何做到这些?为什么.NET发生在今天而不是五年以前?
当然一部分答案就在我们今天身在其中的网络技术之中。从来没有现在那么多的人拥有高速带宽连接,并且在不久的将来还会有更多的人加入进来。想像一下人人拥有DSL、Cable Modem或宽带无线连接的时代……我们将很难回忆起300波特Modem的时代
在过去的几年里,两个最关键的进展就是引入了XML及其在SOAP中的应用。这些技术都是.NET的核心。要成为.NET开发世界中的佼佼者,就必须理解XML和SOAP。
.NET技术
你可能已经阅读了一些关于.NET是什么和由什么东西组成的文章……NET允许我们在服务的层次上而不是在发布的层次上来共享信息并交互。Microsoft的支持.NET的产品和许多来自第三方的组件、内容和功能拥有.NET的内部结构。但自然地会提出一个问题:“是什么使.NET能够工作?”这些都从XML开始。
用XML实现数据编码
要想理解.NET,就需要理解XML。像我们在自己的交流中所说和写的语言一样,XML ,eXtensible Markup Language,可扩展标记语言,是.NET的基础。也许我们有伟大的思想和信息可以分享,但如果我们不能以一种别人可以理解的方式来表述我们的思想和信息,我们的艰苦工作和想法就只能躺在那里睡大觉。 XML 是.NET的灵魂,是所有 .NET 现在和将来的基础。数据库 将通过XML中的纪录集来读写,Web浏览器将接受XML并将其和伴随它的样式表一起显示,Visual Studio甚至会产生XML代码!不理解XML和与之相关的技术,你就不能同支持.NET的资源交流,无论是站点还是人!
对于今天的Web服务器 而言,XML差不多无所不在了。几乎所有的计算平台都能分析XML,因而也就能获得XML文档中的内容。Windows 能,Linux能,当然MVS和VMS也能。甚至蜂窝式移动电话也能!所以,如果我们能找到一种方式从远程系统获得XML文档,问题就剩下如何理解文档中包含的数据了。这时,我们通过SOAP搭载XML文档。
用SOAP实现数据通讯
长期以来我们使用超文本传输协议HTTP来提供Web页面以及往来的内容。但当我们将HTTP或一些其它Internet传输协议 同XML结合起来,并指定XML文档自身的格式时,你得到了简单对象访问协议SOAP.至少在开始构想它时,SOAP是被设计为从本地系统向远程系统传递远端方法调用的。基于SOAP的结构与同时代的其它远程结构—DCOM、CORBA和RMI等等—所不同的,SOAP协议可以穿越任何团体的 防火墙 ,并且SOAP数据包中包含着以XML编码的数据。而且,它们易于分析和使用。SOAP还有很好的伸缩性,这使得我们能同时为非常多的用户服务。
SOAP模型最初的构想是使用请求-响应模型,同我们今天所用的Internet计算模型很相似。随后SOAP发展到包含了消息模型。两者的不同之处是SOAP在对远端系统上的方法参数进行编码时,有获得结果的特殊目的。它并不请求Web站点提供一个感兴趣的数据表格,相反,比如说,在同样的系统上我能调用一个假想称为CalculatePayment()的远程调用,并收到一个个人付款数值。是的,今天你能用一个表单做到这些,但关键是在调用服务和提交表单之间存在着差别。服务调用是功能更强的概念。
.NET:数据共享平台
给我一种语言XML和一种通讯方式SOAP,我就能建立允许我们交互和合作的系统。这就是.NET.最初,Microsoft将建立这种强大的共享,然后他们需要一些时间将最初的版本放到公共领域。如果.NET像预期的那样工作,它将改变我们的计算习惯和业务实践,就像在过去的二十年里DOS和Windows所做的那样。可以预见,鼓励用户进行交互并为Web消费者提供服务的站点将繁荣昌盛。这些站点不会遇到麻烦甚至消亡,因为 Internet消费者正在更多地意识到他们需要得到增强的服务。
胖客户机计算并没有消亡,但瘦客户机计算正在市场上变得更加流行。作为一个开发者或项目经理,应该有责任学习最新的概念和技术,并把它们应用到业务实践之中。记住达尔文的圣言:进化在产生,但自然选择也在进行。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
.NET架构师:函数式语言做领域驱动设计
Scott一位.NET架构师,同时也是掌握函数式编程的作者,他很欣赏函数式编程,对于Scott来说,面向对象编程的那些概念也很恐怖,比如多态、泛型、继承、协变等。
-
软件开发就像炒股 关键看你怎么选股票!
本文作者Paulo Ortins在这里分享了对于选择哪种编程语言作为软件开发工作的起点的话题,并阐述了自己的观点。
-
API设计:如何正确开发应用程序接口
在交互组件化软件的世界里,没有比让组件之间以及组件与移动设备和浏览器之间进行连接的应用程序接口(API)更重要的东西了。
-
增进离岸Java开发效率的十个提示
近日,Cygnet Infotech公司发布了一篇博文,谈到了如何增进离岸Java开发的效率。众多的ISV与软件厂商总是在不断寻找能以最低的代价实现其业务目标的解决方案。