API专为
两个软件程序之间的交互而设计,而UI(用户界面)则专为用户直接与程序交互而设计。API呈现的是可供其他程序解析和操作的原始数据,而UI呈现的是人类用户易于阅读的数据。
API在此图中被类比成餐厅里的服务员,他把订单拿给厨师,收集点单的食物,然后带着食物返回。
1. 公共API。
也称为外部或开放API,可被开发者和其他用户公开使用,限制最小。
2. 合作伙伴API。
它们不对外公开,由战略业务合作伙伴提供,需要特定权限才能访问。
3.内部API。
也称为私有API,对外部用户隐藏,仅向内部系统和内部开发团队公开。
4.复合API。
复合API结合了多个数据或服务API。在微服务架构中非常有用,在这种架构中,需要从多个服务获取信息以执行单一任务。
1.REST。
表现层状态转换(REST)架构非常流行,它依赖于客户端/服务器方法来分隔API的前端和后端,并在开发和实施中提供了相当大的灵活性。REST是无状态的,这意味着API在请求之间不存储任何数据或状态。
2.RPC。
远程过程调用协议(RPC)是一种简单的方式,可以发送多个参数并接收结果。RPC API调用可执行的操作或进程,而REST API主要交换数据或资源,例如文档。
3.SOAP。
简单对象访问协议(SOAP)是由万维网联盟定义的消息传递标准,它支持广泛的通信协议,常被用于创建使用基于XML数据结构的Web API。
API安全位于以上三个领域的交叉点:
1.信息安全
关注信息在其完整生命周期内从创建到最终销毁的数据保护全过程。
2. 网络安全
涉及对网络上数据流的保护以及防止未经授权的网络访问。
3.应用安全
确保软件系统设计和构建能够抵御攻击和滥用。
1. 所有权和管理。
每个API应该有一个所有者或提供者,他们将通过合适的服务水平协议定义和发布使用条款,以限制API的使用和使用方式,并且可以根据定义和约定的SLA随时调整API的实施。
2.根据公司政策设计API。
应制定明确阐述API的政策,表明API应该是技术中立的,即不依赖于应用程序、编程语言和平台。
3.隐私和安全。
API的设计应确保消费者数据的隐私,并定期开展审计进行检查。数据应实现端到端安全,并且应该与网络无关,以数据为中心。
4.API治理。
API应根据制定的数字战略开发,并针对以下问题有明确的答案: