您使用Delphi应用程序提供哪些类型的API?

时间:2010-11-14 17:48:44

标签: delphi api sdk

我们使用RemObjects DataAbstract编写了一个3层Delphi应用程序。我们的许多客户都在寻求API,以便他们可以使用自己的应用程序与其进行交互。

API必须允许客户端使用各种参数调用方法,并返回从简单参数到整个数据集的结果。

您可以推荐哪些类型的API以及实施起来有多困难?

3 个答案:

答案 0 :(得分:5)

由于您使用RemObjects DataAbstract编写了应用程序,因此您已经掌握了在应用程序中已经等待的所有内容。

RemObjects DataAbstract包含RemObjects SDK,它是构建可用API的最灵活,最简单的方法之一。 RemObjects SDK允许您以多种方式向客户公开方法方法,从本机二进制RemObjects调用,到XML-RPC,到JSON,到SOAP,到本地DLL,到Windows消息,到命名管道......甚至通过SMTP / POP。

美妙之处在于,您将能够设计一个API,然后轻松地将其展示给您的客户via any or all of these different mechanisms。只需设计您的API方法,然后询问您的客户他们希望如何使用它,RemObjects可能会有一个符合其请求的消息/通道组合。

答案 1 :(得分:2)

  1. 将API作为DLL中的函数发布。容易编码,但受DLL限制(仅限普通函数等)的限制。从脚本调用不容易,例如
  2. 将API发布为COM对象。实现起来有点复杂(特别是如果你以前从未使用过COM),但非常灵活。如果需要,可以从脚本轻松调用。
  3. 使用标准的通用RPC机制,如SOAP或REST。更适合服务器,不难实现,需要“监听器”激活才能接收呼叫
  4. 使用您自己的协议进行通信。更长时间的实施,可能比SOAP或REST更快,但在客户方面也需要更多的工作。

答案 2 :(得分:1)

除了简单的业务逻辑API之外,我认为如果应用程序为通用任务提供API,它也将是一个很大的优势:

  • 记录/审计跟踪
  • 监控(绩效,统计)
  • 权利管理
  • 基本管理(关闭/进入维护模式)
  • 消息(向用户或应用程序发送通知)