如何逐步定义和设计云应用程序接口
燕麦云   2012-06-22

由于企业是公共和私有云服务的主要使用者,它们往往遗漏设计应用程序接口(API)的基本要素。

大多数云计算运用的都不是虚拟接口,而是非虚拟接口,或者说是应用程序接口。这些应用程序接口是典型的静态服务,使用户能够使用云计算细粒度或粗粒度的特性,比如类似存储或者权限配置的基础服务层,或诸如更新订购单的商业服务。

比方说现在你要为一家企业建立一个云计算系统,你需要定义、设计、实施这些服务,那么都有哪些步骤呢?

首先,列出系统要执行的所有动作或者系统提供的具体服务。

例如:

  • 1. 执行信用核查
  • 2. 更新客户数据
  • 3. 编辑客户数据
  • 4. 客户远程数据
  • 5. 记录一笔交易

根据你的系统的复杂程度,步骤可能有10条甚至上百条。

其次,尽量把每一个具体的服务分解为一个个原始小功能,小步骤。

例如:执行信用核查

  • 1. 验证社保号
  • 2. 向信用局提交社保号
  • 1. 连接到信用局
  • 2. 提交证明文件
  • 3. 调用信用核查
  • 3.验证反回的分数
  • 4.反馈分数
  • 这一概念是为了在细粒度的层次上定义每一项服务,为我们理解各项服务的标准话提供一个坚实的基础。

    再次,把这些服务置入从最粗粒度到最细粒度的层级机构之中。

    确保这些服务完全分解。在这里稍微提醒一下,对于更加复杂的系统,以可能要处理上百条服务。

    最后,选择你需要使之具体化的服务项目。

    这意味着你要在粗粒度和细粒度的服务动作之间权衡、交换。要记住的是,过于细粒度的服务可能会引起性能和缩放上的问题,但是太粗粒度的又会使控制力不够。

    整体上来说,我建议大家最好分解成最原始的服务动作。这样能为服务的使用者提供最多的选择,同时为客户提供最多价值。

    与其说定义和设计云应用程序接口是一门科学,倒不如说它是一门艺术。但是因为我们要建立更多这样的接口,我们会从实践中摸索出最好的方法。

    本文来源InfoWord,由OATOS企业云应用编译。
    [divider]