网站首页 > 博客文章 正文
关注留言点赞,带你了解最流行的软件开发知识与最新科技行业趋势。
了解 API 集成并想了解更多?这是一个 API 集成示例,显示了从 API 到 API 的所有内容以及介于两者之间的所有部分。
API 集成是一种代码,它允许一个系统在使用 API(应用程序编程接口)安全访问系统的同时将数据传输到另一个系统或从另一个系统传输数据。一些 API 集成可能只在集成的一侧有一个 API,而其他 API 可能使用两个或更多 API。
开发人员出于不同的原因构建 API 集成,但这些集成通常属于以下两类之一:
- 它们要么旨在在公司内部运行以自动化内部业务工作流程。
- 它们旨在连接来自不同公司的系统以进行外部数据共享。
由于我们与需要创建将其产品连接到客户使用的其他系统的本地集成的软件公司合作,因此我们的示例将涵盖外部数据共享场景——但这些概念也适用于内部集成。
我们将按如下方式布置此示例:
- 集成业务需求(原因)。
- 集成技术要求(the what)。
- 执行的集成细节(方法)。
整合业务需求
对于此 API 集成示例,您的公司提供了用于监控建筑物安全的 SaaS 产品。除其他事项外,您的应用程序会定期记录安装在每个客户建筑物关键点的传感器的温度和湿度水平。您的客户需要一个集成来每天将这些温度和湿度值从您的产品导出到其建筑维护应用程序 (StructManager)。然后,客户将确定温度和湿度水平与计划外维护票之间是否存在相关性。
集成技术要求
构建集成时,您需要从技术要求开始。这些是您在开始之前需要回答的基本问题:
- 将传输哪些数据?(数据)
- 这是一种单向集成还是双向集成?(方向)
- 集成将多久运行一次?(频率)
- 将使用哪些 API?(应用程序接口)
- 将使用什么传输协议?(协议)
- 将使用哪些传输语言?(语言)
- auth 将如何处理?(认证)
让我们为我们的 API 集成示例填写所有这些:
- 数据:前一天(24 小时)每个建筑物的湿度和温度记录。
- 方向:从您的产品单向导出到 StructManager。
- 频率:当地时间早上 7 点每天一次。
- API:您的产品使用 SOAP API。StructManager 使用 REST API。
- 协议:两个 API 都支持 HTTP。
- 语言:您的产品输出 SOAP XML。StructManager 接受 JSON 作为输入。
- Auth:SOAP API 和 REST API 使用 OAuth。
此外,虽然湿度数据以相对湿度的百分比形式提供(并且在两个应用程序中相同),但来自您产品的温度数据使用摄氏度,而 StructManager 设置为使用华氏度。最后,您的产品每分钟收集一次温度和湿度数据,但 StructManager 只需要每 15 分钟了解一次这些值。
因此,对于这个 API 集成示例,我们有两个 API、两种数据格式、两种温度值标度以及比所需更多的数据。听起来我们需要做的不仅仅是从一个 API 获取数据并将其交给另一个 API。
执行的集成详细信息
在当地时间上午 7 点,集成触发器会导致集成向产品的 SOAP API 发送查询,请求过去 24 小时内每个建筑物的指定客户的记录。值得庆幸的是,您的 SOAP API 支持内置在连接字符串中的 OAuth。一旦 SOAP API 收到请求,它就会通过 HTTP 发回 XML 以及所有匹配的记录。
从您的 SaaS 产品发送的单个记录如下所示:
<environmental> <customer_id>AA8312</customer_id> <building_id>H265<building_id/> <sensor_id>1323</sensor_id> <sensor_loc>5W2NAB</sensor_loc> <timestamp>10:30</timestamp> <temperature>27.3</temperature> <humidity>55</humidity></environmental>
集成首先执行数据格式转换,将所有内容从 XML 转换为 JSON,为我们提供以下单个记录模式:
{"environmental": { "customer_id": "AA8312", "building_id": "H265", "sensor_id": 1323, "sensor_loc": "5W2NAB", "timestamp": "10:30", "temperature": 27.3, "humidity": 55 }}
对于在一栋建筑物中分布了 30 个传感器的示例客户,每天从您的 SOAP API 导出的记录将包括 43,200 条记录,但集成只需将其中的 2,880 条发送到 StructManager。因此,我们需要集成来过滤 43,200 条记录,并剔除不具有与以下模式匹配的时间戳值的每条记录:hh:00、hh:15、hh:30和hh:45。是的,我们可以想出一种方法来首先从 SOAP API 请求这些记录,但在这种情况下,获取数据的超集并从那里开始更清晰。
一旦简化后的数据集只包含我们想要保留的记录,集成将需要再次循环数据以使用一些简单的数学将温度值从摄氏度转换为华氏度。我们的示例数据现在符合 StructManager 需要导入的格式:
{"environmental": { "customer_id": "AA8312", "building_id": "H265", "sensor_id": 1323, "sensor_loc": "5W2NAB", "timestamp": "10:30", "temperature": 81.1, "humidity": 55 }}
此时,以 JSON 编码的所有 2,880 条记录都包含在对 StructManager REST API 的 HTTP 请求中。在提交数据之前,集成再次使用 OAuth 连接 API。
我们的 API 集成示例已成功运行,下一次运行将等到明天早上 7 点。
其他 API 集成资源
当然,一个例子很难说明像 API 集成这样复杂的主题。考虑到这一点,这里有一些资源可以帮助您进一步理解 API 集成概念:
- 按技术分类的 API(REST、XML-RPC、SOAP 和 GraphQL)。
- 按访问类型(私有、合作伙伴、公共和开放)划分的 API。
- 集成传输协议和传输语言。
- 集成媒体类型(以前称为 MIME 类型)。
- 集成过程中发生的事情。
一切都与工具有关
API 对于构建 SaaS 产品之间的数据集成非常有帮助。但是拥有正确的工具来处理这些 API 是至关重要的。作为一家提供应用程序内集成的软件公司,这些工具可能是实施满足客户需求的最低限度集成与实施作为 SaaS 产品一部分但客户无法分辨的集成之间的区别您的产品停止和集成开始的地方。其中一个工具是嵌入式集成平台。
猜你喜欢
- 2024-10-14 语聚AI与集简云联合推广:API集成,无代码开发,提升CRM系统效率
- 2024-10-14 标贝API简化:无代码开发助力客服与广告推广集成
- 2024-10-14 业务分散难管理,大型销售企业如何构建得帆云API集成平台?
- 2024-10-14 LangChain开发示例:集成工具和API(1)
- 2024-10-14 联手打造智能应用!Spring Boot集成百度AI语音识别API全教程
- 2024-10-14 ApiBoot v2.3.x 分支初版发布,走出重构源码架构设计第一步
- 2024-10-14 集成底座项目实施总结(集成电路底座)
- 2024-10-14 我要进阶!用PHP极速输出API接口,是怎样的一种开发体验
- 2024-10-14 构建可靠.NET应用:深入解析集成测试与API模拟实践
- 2024-10-14 企业数字化:Mulesoft企业API集成平台
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)