如何做一个简单的开放接口(1)-功能设计

article/2025/11/9 14:48:10

1、缘起

最初,系统系统间都是孤立的。业务是贯穿的,系统间也必然需要交互数据。

实现数据交互的方式有好多种,可以通过ftp交互Excel文件,可以通过互相读写的中间库,可以通过Web Services。

系统间可能是点对点交互,可能是一对多广播,可能是多对一汇总,可能是多对多协同。

在复杂IT场景中,多信息系统各司其职,协作完成工作。交互数据的事情怎样做呢?

数据交互有两个核心问题要解决:一是协议,二是数据格式。这两个都需要通信双方协商。
如果是企业内部的各信息系统,可以搭建统一的数据交互平台解决,强制推行一致的通信协议和数据格式审定流程。

如果在开放环境中,或松散组织中呢?有没有高效、合理的办法?

开放接口是一种良好的机制,可以应对这个场景。

商定如下:每个组织定义自己的“开放接口”,供其它系统调用。发布方定义协议和数据格式。而且,开放接口是面对所有其他系统的,不再针对个别系统做定制性的接口开发。

开放接口的优势:
统一规划系统的对外数据交互和功能调用。针对不同的调用者分别配置,即完成了系统互连的需要,而不是屡屡进行针对性接口开发。

2、技术需求

首先,通信协议要足够灵活,最好实现模块化和可插拔。通信协议可以体现在多个层次,包括HTTP、序列化、加密、压缩等。以应对调用方技术平台、安全等级、网络限制等特殊情况。
需要同时支持发布多个接口,而且每个接口可采用不同的协议。

其次,数据格式要足够灵活,最好实现可配置。

最后,平台需提供安全、监控、流量控制等基础功能。

3、功能规划

3.1、功能架构

功能架构如下图所示。
开放接口核心架构

底层的通信协议,暂时不予关注,为了便于实现,先采用HTTP协议。

安全、权限、流量、序列化等工作由多个可插拔、可配置的组件实现。

服务器端架构如下图所示。

开放接口服务器端架构

借鉴Servlet Filter思路,多种通信需求由Handler实现。Handler可配置,易扩展,具备极大的灵活性。

3.2、核心功能

开放接口核心功能是数据采集和数据发布。

数据采集的核心功能是格式映射和数据校验。

格式映射包括数据存储结构和数据项名称的映射。数据校验包括字段长度、是否必填项、数字格式、日期格式等校验。

格式映射需要定义配置文件。数据校验也可以在配置文件中定义。

平台需要定义配置文件格式,并依托配置文件在不编写Java代码的情况下实现数据采集和数据发布的功能。

4、功能设计

开放接口平台需要实现以下功能。

4.1、核心引擎

包括:多Handler可配置架构、数据映射文件及转换验证机制。

4.2、支持性功能

异常处理机制、消息格式参考实现等。

4.3、常用Handler参考实现

包括授权、流量控制、日志等。

4.3、外围功能

包括:对调用方的管理(基本信息、各种key、访问限制等)等。


http://chatgpt.dhexx.cn/article/jyhPZakX.shtml

相关文章

开放API接口安全设计

前言 随着项目前后端分离的火热,后台开发的重点主要是对外提供接口,那么API接口的安全就是要考虑的问题。前后端分离和传统的开发模式有很大的差异,本文将针对以下问题进行探讨: 前后分离和传统项目的区别为什么前后分离需要关注…

开放接口使用积累

个推(消息推送) 官网: http://www.igetui.com/ Demo 快速入门说明; 步骤: 用自己的开发者账号登陆个推,进入控制界面;在左侧菜单中选择 " 应用管理 > 应用管理 > 登记新应用" 在 "应用名称" 和 "应用标识" 中填入相应内容; 名称随便取,标…

对外开放的接口验证方式

接口安全问题 请求身份是否合法?请求参数是否被篡改?请求是否唯一? AccessKey&SecretKey (开放平台) 请求身份 为开发者分配AccessKey(开发者标识,确保唯一)和SecretKey&…

股票交易开放接口是什么意思?

在股票量化市场上,大家可能对股票交易开放接口的意思不太理解,其实换个角度来看,就是关于由开发团队进行开发的股票交易开放接口,那么对于接口的开发原理跟代码是怎么样的呢? 一、股票交易开放接口函数的调用&#xff…

免费开放的API接口 供学习使用

前言 在开发测试阶段,或者是在写Demo的时候,难免会用到一些测试数据,有时苦于没有可用的接口,需要自己动手去写,但是这样大大降低了效率,前期我也找了一些开放的接口,这篇文章整理一下&#xff…

api对外开放接口

一: 对外开放接口如何保正: 请求鉴别用户身份? 请求参数被篡改?请求的唯一性(不可复制) 2 为了防止别人重复使用请求参数问题,我们需要保证请求的唯一性,就是对应请求只能使用一次,这样就算…

淘宝开放平台API接口,接入方案如下

淘宝开放平台是基于淘宝各类电子商务业务的开放平台,提供外部合作伙伴参与服务淘宝用户的各类原材料,如业务API、账号体系、数据推送,奇门网关等,是淘宝电子商务基础服务的重要开放途径。即淘宝把数据开放进来,第三方软…

开放平台API接口

某宝开放平台(Taobao Open Platform)是基于各类电子商务业务的开放平台,提供外部合作伙伴参与服务用户的各类原材料,如业务API、账号体系、数据推送,奇门网关等。它是大电子商务基础服务的重要开放途径,将推…

word中怎么做思维导图,思维导图怎么画

谈及Word软件,你一定不会陌生,因为它已成为个人和企业电脑的标配软件,也是每一位电脑使用者必会的一款应用。我们时常需要使用Word处理文本相关的内容,比如文章编辑、排版和打印。 在软件中,我们可以添加文字、图片、表格和思维导图等等,但并非所有的功能都那么易用。特别…

思维导图模板怎么制作?提供几种思路

思维导图是一种非常有用的图形化思维工具。它可以帮助我们更好地组织、整理和表达头脑中的想法。在学习中,思维导图可以帮助我们更好地理解和记忆知识点。在工作中,使用思维导图可以更好地规划和管理项目。在生活中,思维导图可以帮助我们更好…

大学生活该如何度过?思维导图告诉你

转眼开学已经一个多月,很多才跨入大学门槛的新生,打算怎么度过这段精彩的大学生活呢?是打算和室友在寝室开黑厮杀于召唤师峡谷;还是谈一场轰轰烈烈的恋爱;再或者是沉浸在阅览室默默提升自己…不管你作何选择,在面对迷茫的未来的四年生活时,做好一个统筹安排是很重要的,…

亿图思维导图软件MindMaster Mac版常用快捷键汇总

亿图思维导图软件MindMaster Mac版是亿图软件最新推出的一款免费跨平台、多功能的思维导图软件。那么该软件有哪些常用的快捷键呢?小编为大家总结整理了MindMaster实用快捷键汇总,来学习一下吧! 键盘快捷键 可以在帮助选项卡上找到键盘快捷键…

SimpleMind Pro 1.29.1 小巧的思维导图工具

Mac毒搜集到的SimpleMind是macOS上一款思维导图工具,这款工具非常小巧,完全可以取代笨重的MindManager,对Mac开发者来说称得上是一大福音了。 应用介绍 SimpleMind是macOS上一款思维导图工具。思维导图可帮助您整理想法、记忆事物并形成新的…

计算机网络——网络层——思维导图

———————— 思维导图下载地址 ———————— 网络层的功能 1.1. 异构网络互联 1.1.1. 将两个以上的计算机网络,通过一定的方法,用一种或多种通信处理设备(即中间设备)相互联接起来,以构成更大的网络系统。…

计算机网络思维导图(零基础--思维导图详细版本及知识点)

第一章 计算机网络概述 1、计算机网络向用户提供的最重要的功能分别是(连通性)和(共享)。 2、网络由若干(结点)和链接这些(结点)的(链路)组成。 3、网络把许…

网络通信的思维导图

网络通信的思维导图 传输路径:PC->交换机->路由器->路由器->交换机->PC 交换机:根据目标MAC做转发,没有MAC的则转发所有端口。 路由器:根据目标IP做转发,自己没有就发给上层路由器。

MindManager2021最新版本win/mac思维导图工具 新增功能

这一期,小编为大家推荐一款非常良心的思维导图工具-MindManager2021,它非常的强大和高效,可以将你的想法随时随地以图形化的方式快速地展现在你的面前。它已经广泛应用于各行各业,渗透性非常的强,相信它可以给你的职业…

linux软件包管理思维导图,推荐五款管理工具(思维导图)

一.幕布: 幕布 幕布(mubu.com)是坤豆科技旗下第一款产品,是一款头脑管理工具,用更高效的方式和清晰的结构来记录笔记、管理任务、制定工作计划、头脑风暴。 官网:https://mubu.com/ 1.使用平台 使用平台 2.推荐理由 (1)文本和思维导图无缝切换 (2).高效管理个人生活…

横向对比22款思维导图工具,最好用的我觉得是这款!

思维导图是什么就不用说明了吧?总之今天就来谈谈这东西 且不说思维导图对记忆有没有帮助,但在整理思路这件事上,绝对是有帮助的! 阿虚平常无论是想选题,列清单,列计划什么的,都经常有用到 那…

大学计算机课思维导图,快速记忆和理解大学计算机思维导图

1946年2月14日,世界上第一台计算机诞生于美国宾夕法尼亚大学,随后计算机技术在短短几十年内蓬勃发展。起初计算机是为了运用于军事上,然后随着科技的进步,计算机即电脑,应用到每个人的身边。不难发现,计算机…