.Net的精髓:XML和SOAP

 
   | |

导读:文章主要介绍了.NET两个最关键的进展就是引入了XML及其在SOAP中的应用。这些技术都是.NET的核心,要成为.NET开发世界中的佼佼者,就必须理解XML和SOAP。

关键词:.NET XML 数据编码 SOAP 数据共享平台

 
正在加载数据...

  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消费者正在更多地意识到他们需要得到增强的服务。

  胖客户机计算并没有消亡,但瘦客户机计算正在市场上变得更加流行。作为一个开发者或项目经理,应该有责任学习最新的概念和技术,并把它们应用到业务实践之中。记住达尔文的圣言:进化在产生,但自然选择也在进行。


提高J2EE技术与.NET之间的互操作性
 提高J2EE技术与.NET之间的互操作性(三)
 改善J2EE与.NET之间的互操作性(二)
 提高J2EE技术和.NET之间的互操作性(一)
 与XML语言协同运用的.NET工具
 实际项目中对SOA的困惑
 是什么把主机级别事务处理与Java或者.NET服务级别事物处理区别开来?
 .NET和J2EE该相互学习什么
 微软准备.NET 4.0——框架改进REST和MVC 支持JQuery
 浅析ASP.NET的五大数据控件
 .Net的精髓:XML和SOAP
 .NET平台的轻量级脚本引擎:NanoScript
 Bobby Woolf 谈J2EE体系结构和设计
 ASP.NET未来:简化开发 HTML5及性能提升
 J2EE的MVC体系结构及其设计模式

原文出处:http://tech.it168.com/a2009/1126/815/000000815310.shtml
 
来源:IT168    
 
 
 
 
 

.NET Web服务

 
Mono Project本周发布Moonlight 2,Silverlight的开源Linux实施。微软回应Adobe Flash,Silverlight是创建在线和离线的富应用的框架……
 
这一整年,我们发布了许多技巧来协助您创建更好的面向服务架构。为此我们认真筛选推荐一下5条技巧给您。希望可以起到查漏补缺的作用。
 
就像脱离浏览器运行Silverlight应用这个功能一样酷,微软通过推出运行离线OOB应用的功能而略胜一筹。这里对OOB离线的Silverlight应用……
 
UML从一开始就收到了很多批评。有些观察员认为UML语言有些臃肿,因为许多关系图很少使用,而有些关系图的功能又相互重叠……
 
统一建模语言(UML)是标准的可视化标注,可以用来表示软件工程的各个阶段。这个标准化的语言考虑到为使用它的不同组织和公司之间提供更广泛……

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

 

Mashup是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解mashup的模型。现在开源的操作系统无疑是非常好的apis的集合或应用程序编程接口,帮助开发者去构建其应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。本技术手册为读者提供了一些相关信息,如果需要深入了解mashup,读者可以借助其他参考资源。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录