译者序
世界是普遍联系和永恒发展的。
自IT行业诞生以来,世界始终处于快速的变革与演进之中。无论是基础设施、编程语言,还是设计思想和架构模式,都在持续迭代和完善。即使是那些使用尖端技术构建的软件系统,也可能在短时间内显得不够先进。这样的高速变化,虽然有时会让人觉得有些力不从心,但正是这种持续的进步和创新,构成了此行业的独特魅力。它意味着新机会的不断涌现、软件生态的持续改进,以及技术门槛的不断降低,为互联网时代和AI时代创造了无数可能性。
API是Application Programming Interface(应用程序编程接口)的缩写,是应用程序世界相互连接的桥梁。AWS将API定义为“两个软件组件使用一组定义和协议相互通信的机制”,IBM则将API定义为“一组定义的规则,使不同的应用程序能够相互通信”。我国金融标准化技术委员会发布的《商业银行应用程序接口安全管理规范》(JR/T 0185—2020)中则将API定义为“一组预先定义好的功能,开发者可通过该功能(或功能的组合)便捷地访问相关服务,而无须关注服务的设计与实现”。
我们综合这几个定义可以看到这个应用程序世界桥梁的真正目的和定义:
●目的:用来为开发者在无须关注服务的设计与实现的情况下便捷地访问相关服务。
●定义:不同的应用程序使用一组定义规则和协议相互通信的机制。
2023年初在机械工业出版社华章分社有关老师的推荐下,我们很幸运地接触到了这本书,书中用前瞻性的思维和全局视角详细阐释了当前最先进的基于API的架构设计方法和技术。其独到之处不仅在于对现有最主流技术的介绍,更在于其所采用的方法论既可以帮助读者升级和完善现有系统,也为读者应对未来变革提供了指南。其中的C4架构图、ADR和DFD等都是在大型企业架构设计中得到广泛应用的简明却功能强大的实用工具。不同于其他仅停留在理论层面的书籍,本书以一个虚拟的案例贯穿始终,即如何通过小步快跑的策略将一个用三层架构方式设计的传统应用系统迭代为一个基于API的现代架构。本书分为四部分,共10章,囊括了设计、测试、运维、安全、部署和发布等整个软件生命周期的各个环节,其中第一部分介绍API的设计、构建和测试,第二部分介绍如何开展API流量管理,第三部分阐述API运维、发布和安全管理之道,第四部分介绍API架构的迭代演进。本书内容贴近实践,易于理解和应用。此外,书中的大量引用、深度阅读链接和工具推荐,不仅彰显了三位作者的深厚学识和实战经验,更为读者提供了丰富的延伸阅读和实际操作参考。
三位作者都是资深开发人员,也各有所长——有的擅长API架构设计和实施,有的是曾获得Java Champion的Java社区的关键影响者;有的熟悉安全架构,在摩根士丹利这样的世界级投行负责系统开发——他们基于各自的理论积累和项目实践为本书做出了贡献。
当我们第一次接触这本书时,便被其内容吸引,心生将其翻译成中文的愿望,以便国内的同行能从中受益。在数月的翻译过程中,我们深刻感受到了本书的实用价值。事实上,书中的许多内容我们已经在实际工作中采纳并取得了显著的效果。
在此衷心感谢施勇、许惊皞、付晓岩、杜军、徐鸣、马成明、王劲松、马欢、黄勇、张礼立、刘安、张海涛、胡萍、贾瑞起、黄磊等15位来自云计算、应用开发、网络安全、数据管理、科技创投、电子商务等方面的前辈和专家给我们在翻译过程中和成稿后的专业意见,他们的意见为我们探索API架构在各相关领域的应用价值提供了动力。
我们由衷感谢出版社的支持与信任,并期待中文版能早日与大家见面。
张力强、范怿平
2023年冬