4

我是一名计算机科学专业的学生,​​本学年我正在学习网络。我已经具备 HTML、CSS、Javascript、PHP 和一点 XML 方面的知识。我将需要制作一个包含所有这些技术的迷你项目,其中包括 Web 服务。您能否给我描述一下 Web 服务的工作原理和方式。为什么我们使用它,以及没有它不能做什么。

如果你能给我一个例子,我们在哪里使用 Web 服务,那就太好了。这会给我一些想法来思考我的项目标题。

我将使用 SOAP 和 WSDL,使用 PHP。

4

1 回答 1

3

为什么我们使用网络服务

Web 服务的强大之处在于它们提供了程序员可以添加到他们自己的应用程序中的功能,而不管使用何种编程语言。

例子

例如,您可能有一个网站,您希望用户能够在其中输入他们的位置,并且您的网站会返回天气以及他们在 Google 地图上的位置显示。谷歌地图和各种天气网站提供网络服务,因此网络开发人员可以使用这些功能。如果您的网站是用 Java、PHP 或 python 编码的,那没关系。

另一个例子是,如果您有一个商业网站,并且您希望您的网站每天显示股票行情。各种公司将提供股票行情网络服务,以便您可以做到这一点。有些是免费的,有些不是。

SOAP 与 RESTful Web 服务

最终,您将需要讨论 RESTful Web 服务和 SOAP 之间的区别,这本身就是一个具有里程碑意义的讨论。但下面是一个简单的用于添加两个数字的 web 服务示例。

休息

http://www.SimpleMathSite.com/Add/5/6/

该网站将返回一些类似的东西

<?XML  version="1.0" encoding="utf-8"?>
<answer>
11
</answer>

您可以在您的 javascript 或 PHP 代码中使用它。查看 URL,您可以看到您调用了“添加”函数并将值 5 和 6 传递给它。这就是 Web 服务允许用不同语言编写的对象相互通信的方式。

肥皂

SOAP 要复杂得多,但它的优点是 WSDL 文件,它描述了您可以调用的所有远程函数。因此,一些编译器允许您导入 Web 服务并创建可以放置在代码中的对象,而无需查看幕后发生的任何复杂 XML。如果上面的示例有一个 WSDL 文件,一些编译器会允许您导入 Web 服务,以便您可以像这样在代码中使用它。

int Answer = SimpleMath.Add(5,6); // No need to parse the XML yourself.

查看这个天气 Web 服务,了解如何使用 SOAP 的一个很好的示例。它提供了示例 HTTP GET 和 POST 请求,如果您想从头开始制作自己的 SOAP 客户端,您可以使用这些请求。

http://www.webservicex.com/globalweather.asmx?op=GetWeather

如果没有网络服务怎么办?

如果没有 Web 服务,网站无法使用来自其他网站的数据更新其内容,例如航空公司信息、酒店空缺情况,或者您的 Facebook 朋友是否喜欢 Pandora 上的同一首歌曲。

于 2012-08-25T17:31:41.917 回答