什么是 Web Service呢?从表面上看,W(xu)eb Service是一个应用程序,它向外界暴露Z个能够通过Webq行调用的API。这是_(d)你能够用~程的方法通过Web调用来实现某个功能的应用E序。例如,W者创Z个Web ServiceQ它的作用是查询某公司某员工的基本信息。它接受该员工的~号作ؓ(f)查询字符Ԍq回该员工的具体信息。你可以在浏览器的地址栏中直接输入HTTP GETh来调用罗列该员工基本信息的ASP面Q这可以算作是体验W(xu)eb Service?jin)?br />
从深层次上看QW(xu)eb Service是一U新的Web应用E序分支Q它们是自包含、自描述、模块化的应用,可以在网l?通常为Web)中被描述、发布、查找以?qing)通过Web来调用?br />
Web Service便是Z|络的、分布式的模块化lgQ它执行特定的Q务,遵守具体的技术规范,q些规范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议Q像文本传输协议HTTP和XMLQ将功能体现在互联网和企业内部网上。Web Serviceq_是一套标准,它定义了(jin)应用E序如何在Web上实C操作性。你可以用你喜欢的Q何语a(W者用的是C#)Q在你喜Ƣ的Mq_上写Web Service?br />
Web Service的技术支?/span>
Web Serviceq_需要一套协议来实现分布式应用程序的创徏。Q何^台都有它的数据表C方法和cdpȝ。要实现互操作性,W(xu)eb Serviceq_必须提供一套标准的cdpȝQ用于沟通不同^台、编E语a和组件模型中的不同类型系l。目前这些协议有Q?br />
1.XML和XSD
可扩展的标记语言XML?是Web Serviceq_中表C数据的基本格式。除?jin)易于徏立和易于分析外,XML主要的优点在于它既与q_无关Q又与厂商无兟뀂XML是由万维|协?W3C)创徏QW(xu)3C制定的XML SchemaXSD?定义?jin)一套标准的数据cdQƈl出?jin)一U语a来扩展这套数据类型?br />
Web Serviceq_是用XSD来作为数据类型系l的。当你用某种语言?VB.NET或C#?来构造一个Web ServiceӞZ(jin)W合Web Service标准Q所有你使用的数据类型都必须被{换ؓ(f)XSDcd。如惌它用在不同q_和不同Y件的不同l织间传递,q需要用某种东西它包装h。这U东西就是一U协议,?SOAP?br />
2.SOAP
SOAP即简单对象访问协?Simple Object Access Protocol)Q它是用于交换XML~码信息的轻量协议。它有三个主要方面:(x)XML-envelope为描qC息内容和如何处理内容定义?jin)框Ӟ程序对象编码成为XML对象的规则,执行q程q程调用(RPC)的约定?SOAP可以q行在Q何其他传输协议上。例如,你可以?SMTPQ即因特|电(sh)子邮件协议来传递SOAP消息Q这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负蝲保持相同?br />
Web Service 希望实现不同的系l之间能够用“软g-软g对话”的方式相互调用,打破?jin)Y件应用、网站和各种讑֤之间的格g入的状态,实现“ZWeb无缝集成”的目标?br />
3.WSDL
Web Service描述语言WSDL?是用机器能阅读的方式提供的一个正式描q文档而基于XML的语aQ用于描qWeb Service?qing)其函数、参数和q回倹{因为是ZXML的,所以WSDL既是机器可阅ȝQ又是h可阅ȝ?br />
4.UDDI
Web Service本n其实是在实现应用E序间的通信。我们现在有两种应用E序通信的方法:(x)RPCq程q程调用?和消息传递。用RPC的时候,客户端的概念是调用服务器上的q程q程Q通常方式为实例化一个远E对象ƈ调用其方法和属性。RPCpȝ试图辑ֈ一U位|上的透明性:(x)服务器暴露出q程对象的接口,而客L(fng)好像在本地使用的这些对象的接口一Pq样隐藏了(jin)底层的信息,客户端也根本不需要知道对象是在哪台机器上?br />
Web Service软g的支?/span>