【问题标题】:what is API web services, how do you create them and why? [closed]什么是 API Web 服务,您如何创建它们以及为什么? [关闭]
【发布时间】:2009-10-16 01:54:07
【问题描述】:

网络服务的目的是什么?

我的意思是不是所有的 Web 应用程序都是 Web 服务吗?

还有人为什么要创建 API Web 服务?是让开发者使用网站的功能吗?有点像facebook和youtube?

是否可以为 Web 服务创建一个 API,您可以使用 C++ 或 VB 来使用这些功能?因此,有人可以根据您的 Web 应用程序的 API 制作桌面应用程序吗?

如何创建网络服务 API 和网络服务?

【问题讨论】:

    标签: web-services api


    【解决方案1】:

    网络服务的目的是什么?

    允许使用网络技术轻松使用服务?我的意思是,你可以潜在地编写你的应用程序来完成浏览器所做的事情(这就是过去已经完成了多少个 stackoverflow 应用程序)

    问题是:

    这比使用 API 困难得多

    由于没有 API,网站中的更改确实会使您的应用程序崩溃(而负责任的 API 将允许您使用旧版本)

    我的意思是不是所有的 Web 应用程序都是 Web 服务吗?

    一点也不。 Web 应用程序是设计用于 Web 浏览器(Firefox、Chrome 等)的特定应用程序,而 Web 服务旨在供其他应用程序使用。

    您几乎可以使用任何编程语言使用 Web 服务。

    还有人为什么要创建 API Web 服务?是让开发者使用网站的功能吗?有点像 facebook 和 youtube?

    不是网站功能,而是允许他们创建使用该网站某些功能的自己的应用程序。

    例如,YouTube 允许您使用其 API 上传视频,否则您将不得不“模拟”可能有问题的 HTTP 帖子。

    这样,一些工具提供了直接从应用“上传”视频的功能。

    是否可以为 Web 服务制作 API,您可以使用 C++ 或 VB 来使用这些功能?

    这就是其他编程语言的重点。

    因此,有人可以根据您的 Web 应用程序的 API 制作桌面应用程序吗?

    没错!!!

    这是我用于 Twitter (tweetie http://www.atebits.com/tweetie-mac/) 的 Object-C 应用程序示例


    (来源:cachefly.net

    如何创建网络服务 API 和网络服务?*

    这与为内部框架/产品/库创建 API 没有太大区别。

    你必须定义你要提供什么(你的公共界面,你的服务)

    创建输入/输出参数和交换格式列表(XML、json、text/plain、YAML 等)

    最后在 web 中提供和端点(或者为什么不是 Intranet)

    Web 服务可能比常规 API 更难控制,您必须检查安全问题、工作负载等。

    要查看有效的 API,请参阅 Nathan here 提到的 API

    【讨论】:

      【解决方案2】:

      基本上有两种不同类型的 Web 服务,一种基于 SOAP,另一种基于 REST。

      两者都可以通过桌面应用程序访问。我已经编写了应用程序,例如屏幕保护程序,它们将通过这两种类型的 Web 服务与服务器进行交互。

      API 很有用,这样人们就可以编写应用程序来使用这些服务,因为如果没有应用程序使用它们,这些 Web 服务就毫无用处。

      基于 SOAP 的 Web 服务基本上只是一个使用遵循标准的 xml 消息格式发送和接收的 Web 应用程序。

      基于 REST 的 web 服务是基于 cgi 的应用程序,类似于使用 html 表单元素,通常使用 GET,但是,如果您正在执行任何可能具有破坏性的操作或更改数据库,您将需要使用 POST .

      您可以使用这些 API 以任何语言编写应用程序,这是一个优势,因为您可以选择最适合服务器端的语言,而这不会影响您在客户端执行的操作。

      如何创建 Web 服务取决于您要创建的两种主要类型中的哪一种,以及您选择使用的语言。

      【讨论】:

        【解决方案3】:

        网络服务是一种运行在网络服务器上的程序,专门为其他程序使用而构建,通过以特定格式(通常是一些用 XML 包装的信息)向它提交信息请求。

        API 部分(应用程序编程接口)通常是一个类或一组类,其代码知道如何格式化信息以从 Web 服务发出请求 - 因此您的程序只需要进行通常的函数调用到 API 类。

        它简化了您对网络服务的使用。

        这是一个如何制作并将其用于 .NET 语言的示例:http://www.codeproject.com/KB/XML/BeginnerWebService.aspx

        任何使用网络作为其界面的程序都是网络应用程序,例如本网站或 Facebook。

        应用程序服务提供商是帮助您编写网络应用程序 (http://en.wikipedia.org/wiki/Application_service_provider) 或提供其他服务的公司。

        【讨论】:

        • 实际上是什么是 Web 应用程序或应用程序服务提供商?是 Web 服务 API 的目的,只是为了让希望使用您的 Web 应用程序的独特功能的 3rd 方开发人员的生活更轻松?
        【解决方案4】:

        通常会开发 API 来创建与网站交互的程序,例如 Twitter API,您可以在程序中使用 Twitter 功能。

        【讨论】:

          【解决方案5】:

          如果您曾经在 Windows 编程方面开发过依赖库或 dll 的应用程序。将 Web 服务视为托管在具有直接 URL 的 Web 服务器上的 dll。 因此,您的应用程序或网站可以读取从 URL 公开的数据,您可以将其用作函数调用。

          Web 服务通过 xml 传输数据,一旦你编写应用程序所用的语言可以读取 xml,你就可以编写它来调用 Web 服务,即向服务传递参数和函数名,然后如果期望返回值,您的应用程序从 xml 中读取数据。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-02-09
            • 2011-10-12
            • 1970-01-01
            • 2023-04-04
            • 2020-12-12
            • 2021-12-09
            • 2017-12-03
            • 2013-07-02
            相关资源
            最近更新 更多