内容


使用 IBM API Connect 实现您的 API 策略

Comments

要在 API 经济 下蓬勃发展,您需要为您的 API 方法制定策略,并创建、运行、管理和保护您的 API。在将注意力集中到 API 之后,您的公司可以采用易于使用的形式来共享数据和服务。还可以创建由合作伙伴和第三方组成的生态系统,该生态系统要比您通过传统渠道获得的生态系统要大得多。高效的 API 策略会将 API 视为一种企业产品,该产品具有明确的生命周期、目标市场和投资回报 (ROI) 指标。

本文主要面向 API 开发人员、架构师和产品经理。您将了解 API 策略的一些基本要素,包括关键利益相关者、他们的需求,以及 IBM® API Connect 如何帮助满足这些需求。您将了解 IBM API Connect 如何超越 API 管理平台的各种局限,让您的企业不仅能够管理和保护其 API,还能创建和运行它们。最后,您将会了解如何快速上手使用 API Connect。

API 策略的基础知识

为了更好地了解 API 策略的基础知识,您需要考虑涉及到的人员,他们想用 API 的哪些功能。

API 的生命周期中涉及大量的利益相关者。本文将探讨以下重要角色:

  • 应用程序开发人员。应用程序开发人员是使用 API 的人。应用程序开发人员可能效力于一家公开 API 的公司,或者效力于该公司的业务合作伙伴。或者,应用程序开发人员可能与拥有 API 的企业以前没有任何关系。
  • API 产品经理。API 产品经理是负责定义 API 的各个方面的人,这些方面包括路线图、目标受众、货币化策略和生命周期。
  • API 开发人员。API 开发人员具有创建 API 和公开企业 IT 资产所需的大量 IT 角色的人。

下图说明了对 API 策略有贡献的每个角色。

利益相关者角色对 API 策略的贡献
利益相关者角色对 API 策略的贡献

从业务和技术角度讲,由 API 公开的各项功能的特性和类型的覆盖范围非常广。不过,从架构的角度讲,可以将 API 分为两类:

  • 系统 API。这些 API 公开了一些核心的后端系统功能。它们通常会触发一些常见的、流程无关的活动,往往针对企业内部的应用程序开发人员。
  • 交互 API。这些 API 支持更多特定于用例的功能。这些 API 的实现通常需要聚合和过滤对系统 API 的调用。各种接口已为了便于使用而进行了优化,往往针对企业外部的移动设备或消费者。

下图说明了系统 API 与交互 API 之间的区别。

系统 API 与交互 API 之间的区别
系统 API 与交互 API 之间的区别

API Connect 优于 API 管理。它提供了一个应用程序平台来创建和运行微服务。也就是说,您会得到一组集成的工具来创建和运行微服务,保障其背后的访问点和应用程序逻辑的安全。

API Connect 如何支持您的策略

IBM API Connect 满足了您的 API 策略、系统 API 和 交互 API 中所有利益相关者的需求。

对于应用程序开发人员:自助服务式 API 消费

以自助服务方式使用 API 是 API 获得广泛采用的关键。自助服务消费 的概念不同于完全免费消费 的概念。可行的 API 策略必须基于一个在易用性与高度安全性之间达到平衡的全面方法和管理。

为了达到这种平衡,IBM API Connect Developer Portal(一个门户网站)在 API 的自助服务消费的所有方面为应用程序开发人员提供了支持:

  • 发现:在 Developer Portal 中,您可以搜索某个 API,并阅读其文档。您可以查阅其他用户的评论,并访问博客和 Twitter 提要,获得如何实际使用 API 的全面了解。
  • 订阅:在订阅某个 API 后,您会收到一组凭证(API 密钥和密码),它们可以向 API 提供商确认您的应用程序,并授予您访问权限。如果他们的保密性出现问题,您还可以更新您的密钥。
  • 实现和测试:在 Developer Portal 中,您可以访问用多种语言实现的代码片段,它们是启动 API 所需的几行代码。您还可以生成示例输入数据集,或者使用内置的 Web 客户端,触发 API 调用,并验证其行为。
  • 捕获使用情况指标:在用户获得应用程序后,您可以分析 API 调用指标,比如调用速率、延迟和数据流量。
  • 支持:Developer Portal 为您提供了访问带有专门论坛的用户社区的访问权。此外,您还可以公开和跟踪 API 提供商支持团队的票据。

对于产品经理:API 产品发布、管理和分析

API 不是被单独使用的。与消费者达成协议不是用一个简单的输入和输出列表就能说明的。例如,您可能有一个应用程序,它最初每分钟只调用几次 API。但是,随着该应用程序被广泛采用,它开始产生每秒数千个事务的负载。也许您会问:这种类型的负载仍然受支持?如果我需要更多的信息,我可以和谁联系?我应该使用 API 的哪些许可条款?

所有这些方面都被打包成一个 API 产品,它是 IBM API Connect 的管理方面的核心。一个 API 产品包含与其他产品相关的一组 API,通常是因为它们被一起使用,或者提供了执行相同操作的替代方式。它包括对许可条款、服务条款和联系方式的引用。API 产品还可以定义各种计划,描述使用 API 的权利,而不是描述您允许每个时间段内触发的调用次数。

通过使用 IBM API Connect,产品经理可以控制将 API 产品推向市场所涉及的活动,并在使用该产品后管理其生命周期。API Connect 的核心活动包括:

  • API 产品发布:您可以定义一组将会订阅和使用 API 产品的应用程序开发人员。您还可以让 API 端点可用于调用,并在开发人员门户网站上发布他们的文档。
  • API 产品订阅管理:您可以决定想要通过 API 实施的控制类型。您可以进行细粒度的控制,这意味着您将决定是否批准每个订阅请求。您可以进行有限制的控制,根据应用程序开发人员的组织为开发人员授权。或者,您可以让 API 完全公开。如果出现任何订阅滥用或产品已淘汰,那么您可以撤销订阅。
  • API 产品生命周期和版本管理:您必须谨慎管理淘汰的 API 产品,或这类产品向新版本的迁移,因为它们可能会对应用程序开发人员带来很大的影响。此外,运行相同功能的多个版本会造成资源过度使用,给产品经理及其 IT 部门带来影响。通过促进此过程中涉及的各方之间的沟通,并提供行之有效的过渡方法,API Connect 解决了这些难题。当您发布一个新的 API 版本时,您有以下几种选择:
    • 制作多个可用版本,单独管理每个版本的生命周期。
    • 在发布新版本时,弃用旧版本。
    • 在发布新版本时,让旧版本淘汰。

    API Connect 支持所有这些选项。如果 API 已过时,该解决方案就会阻碍新的订阅,同时继续支持现有消费者的调用。如果旧版本被淘汰了,API Connect 将会管理订阅的迁移。您还可以定义在生命周期状态之间移动 API 所需的审批等级,这样就可以正确地审查各种更改。然后,您可以使用开发人员门户网站或电子邮件通讯,向应用程序开发人员推荐迁移路径和时间表。

  • API 分析:关于 API 消费者如何使用 API 的硬数据对量化投资回报、预测趋势和寻找机会至关重要。API Connect 将会捕获关于每个 API 调用的信息,并将它们发送到一个强大的分析引擎。在这个引擎中,您可以使用预先构建或自定义查询获得各种指标和可视化数据。

对于 API 开发人员:一个端到端集成环境

从技术角度讲,API 实现由两个核心要素组成:

  • 安全的访问点,该访问点运行在强制实施了与公开和使用 API 相关的政策的 API 网关上,比如授权规则和调用速率限制
  • 应用程序,它实现了 API 的业务逻辑

如下图所示,API 网关强制实施了访问控制,同时,API 的业务逻辑可以运行在微服务或现有企业系统上。

该图显示,API 网关强制实施了访问控制,并且 API 的业务逻辑可以运行在微服务或现有企业系统上
该图显示,API 网关强制实施了访问控制,并且 API 的业务逻辑可以运行在微服务或现有企业系统上

在 API 开发人员创建系统 API 时,他们通过一个新的安全的访问点公开了已在现有应用程序中实现的逻辑。但是,为了交互 API,他们需要创建新的功能,使用必要应用程序逻辑构建访问点和一个新的微服务。IBM API Connect 代表了从以前使用的 IBM 产品版本到只专注于 API 的安全性和管理方面的显著转变。API Connect 优于 API 管理。它提供了一个应用程序平台来创建和运行微服务。也就是说,您会得到一组集成的工具来创建和运行微服务,保障其背后的访问点和应用程序逻辑的安全。

特别是,API 开发人员可以使用:

  • 一个 Swagger 编辑器和策略汇编程序来定义 API,并指定安全约束条件、调用速率限制、路由、数据和协议转换。
  • LoopBack®模型,用于实现 API 的业务逻辑。LoopBack 是由 IBM 的子公司 StrongLoop® 创建的一个 Node.js 开源框架。因为完全包含了 REST 的核心概念,所以该模型对 API 开发很有效。其核心应用结构(一个模型)是表示您想要公开的业务实体,比如客户或一个帐户。

当您用业务术语定义一个模型和它的属性时,LoopBack 会自动生成所有 REST 端点,让消费者能够访问实体,并使他们可以使用 API Connect Swagger Editor。这样,它们就可以受到保护,并被配置为 API 产品的一部分。这些模型同时封装了业务逻辑(比如,实现多个细粒度的系统 API 的过滤或聚合)和数据,它们通常位于企业记录系统中。通过使用一个用一组统一界面公开数据源的连接器框架,API 开发人员可以提取对这些外部资源(从数据库到外部服务或事件总线)的访问。您可以在 StrongBlog 的 StrongBlog 中找到许多示例。

您可以通过图形用户界面或命令行界面定义所有工件,以满足新手用户和高级用户的需求。然后,您可以轻松地将这些定义集成到现有 DevOps 工具链中。

由于 API Connect 提供了对各种运行时的选择,您可以在最适合的平台上运行 API 实现的不同组成元素。

您可以在以下网关上部署访问点及其策略:

  • 边缘网关。提供了您的 API 的公共访问点的企业级安全网关
  • 微网关。一个轻量级 Node.js 网关,支持为单个应用程序测试或提供路由和记录

在应用程序方面,API Connect 为两种运行时提供了权利:

  • Node.js 用于运行 LoopBack 应用程序
  • Java® Liberty 用于部署 Java 组件

Node.js 因其成功实现了移动后端(一个交互 API 用例)而成为众所周知的平台。但是,许多企业都希望继续使用他们所拥有或可以访问的 Java 资产,无论他们在技术库和开发技巧方面的能力如何。通过选择运行时,您可以采用最合适的技术来处理具有不同特征的工作负载。

深入分析 Node.js 与 Java 的特性超出了本文的讨论范围。不过,Node.js 的异步特性使其成为了协调许多外部资源访问的应用程序的最佳选择。此外,Java 的线程模型使其能够高效处理 CPU 密集型工作负载。如果您选择同时运行 Node.js 和 Java,不必担心管理不同环境的复杂性。API Connect 为您提供了单个仪表板来管理和扩展运行时,不管其特性如何。

在一致的条件下进行选择 的原则对解决方案的部署模型也同样适用。您可以在本地或在第三方云上安装所有 API Connect 组件。或者,您可以使用它们作为 IBM Bluemix® 上的托管服务。您可以免费体验它们,并注册加入一个订阅计划,这样,无需进行大量投资,您就能逐步增加您的 API 使用经验。

IBM API Connect 入门

API 并不仅仅只在您的现有系统中创建了一些新界面。它们还是您的数字化转型的中坚力量,从技术和管理角度为您提供了新的机遇。本文介绍了 IBM API Connect 如何提供一个完整的解决方案,不仅能让您保护和管理 API,还能创建并运行了您的数字通道所需的新业务逻辑。

要开始使用 IBM API Connect 并了解有关的更多技术,请观看下面的演示视频来实际了解它:

然后,在 IBM Bluemix 上免费试用它,并下载 API Connect Developer Toolkit。

下载 API Connect 服务下载 API Connect Developer Toolkit

另外,请参阅本文末尾处的相关主题,以获得有关的更多资源。要讨论 API Connect 如何为您正在构建的 API 解决方案提供帮助,请发送电子邮件至 cmarcoli@uk.ibm.com 与我取得联系。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere, Cloud computing, DevOps, Java technology
ArticleID=1037966
ArticleTitle=使用 IBM API Connect 实现您的 API 策略
publish-date=09272016