所有文章 > API开发 > API驱动连接:优势与挑战全面解析
API驱动连接:优势与挑战全面解析

API驱动连接:优势与挑战全面解析

API 主导的连接是当今 IT 领域最重要的设计模式之一。它不仅是数字化转型的关键,也是解锁组织产品和服务的 IT 战略。这一模式涵盖多个方面,本文将列出一些关键要点,并开始探讨相关话题,未来还将继续深入讨论。

在 EPAM API 实践中,最具影响力的变革之一就是采用 API 主导的连接。大多数组织已经在某种程度上实施了 API,这些 API 通常源自 SOA 或微服务方法。API 通常是逐步引入的,导致组织内存在大量 API,但它们可能未遵循 API 主导的连接方法。推动采用这一标准的过程中常会遇到阻力,类似于过去客户端-服务器应用程序被模型-视图-控制器设计模式取代的情况。API 主导的连接遵循类似的理念。在模型-视图-控制器中,用户通过视图层交互,控制器负责协调,模型则连接到数据。

同样,API 主导的连接也包含三层:体验(视图层)、流程(控制器层)和系统(模型层)。这三层使得应用程序的用户可以通过体验层和系统层中的记录系统进行解耦,而业务逻辑和编排则位于流程层。这种结构带来了许多好处,下图展示了 API 主导的连接的示例。

体验层

在体验层,可以根据应用程序使用者的身份实施不同的安全策略。这些使用者可以是 Web、移动设备用户或第三方,可能是组织内部或外部的用户。可以根据订阅情况提供多种安全策略,如客户端 ID、证书、OAuth 以及多个服务等级协议 (SLA) 层次。通过管理对应用程序的访问权限、授权访问并监控 API 数据量和吞吐量,能够有效地控制这些使用者。这种管理方式也使得在体验层通过产品或服务实现盈利变得更加便捷。

处理层

处理层包含了业务能力,并且可以按照不同领域进行划分。每个业务线可以拥有自己独立的 API,用于定义其提供的产品或服务。例如,可以有一组 API 专门用于定义客户、产品或账单。这些业务层 API 由体验层的使用者进行访问。此外,处理层的 API 可以调用其他处理层 API,也可以调用系统层的 API,以提供或更新来自记录系统的信息。

系统层

系统层负责公开来自各种记录系统的信息,包括遗留系统、数据库、Salesforce 等 CRM(客户关系管理)系统以及 SAP 等 ERP(企业资源规划)系统。例如,当遇到性能问题时,可以在此层添加队列、缓存、超时设置和断路器等机制。此外,一些 API 框架供应商会自动生成此层,并利用 AI 技术提升性能、消除冗余并删除未使用的功能。

大型组织

在拥有多个开发团队的大型组织中,API 主导的连接方法非常有效。不同业务线可以在流程层中各自管理自己的 API 领域。例如,Web、移动设备或第三方合作伙伴可以连接到体验层的 API。同时,系统层则由中央 IT 组管理,负责与各种记录系统的集成。

优点和缺点

常见的抱怨包括:从一层到另一层有多个网络跃点,以及这种方法增加了系统的复杂性。这些问题类似于在迁移到模型-视图-控制器 (MVC) 方法时或过去在数据库和应用程序使用不同服务器时遇到的情况。然而,设计良好的应用程序始终优于仅仅追求几毫秒的性能。API 主导的连接方法可以通过添加缓存、峰值控制、监控多个使用者以及适当调整系统层的安全性来提高性能。同时,安全性通常保持在体验层和系统层,而处理层则使用更快的客户端 ID 和密码级别的安全性,从而提高系统的整体性能。

此外,API 主导的方法还有两个重要的好处:可重用性和快速引入新消费者及记录系统的能力。

总结

以上内容概述了 API 主导连接的概念及其应用理由。是否需要体验层?体验层应该按域、渠道或合作伙伴进行划分吗?系统 API 中的数据应如何建模?这些问题将在未来的文章中详细探讨,包括具体的使用案例、每层的示例以及这种方法如何帮助您的组织。欢迎分享您使用 API 主导连接的经验,包括其优点和潜在影响。

原文链接:The Pros and Cons of API-Led Connectivity

#你可能也喜欢这些API文章!