网站基础设施建设,网站建设技术列表,建网站需要什么编程技术,太原网站建设360在我们的常见应用中#xff0c;往往包含着大量服务于各种数据交换的API类型、以及各种常见的API架构与协议。下面#xff0c;我将从集成的角度和您讨论#xff0c;在准备将多个服务相互集成时#xff0c;使用不同类型、架构和协议的API意味着什么?我们可以使用哪些工具往往包含着大量服务于各种数据交换的API类型、以及各种常见的API架构与协议。下面我将从集成的角度和您讨论在准备将多个服务相互集成时使用不同类型、架构和协议的API意味着什么?我们可以使用哪些工具又应该注意什么呢? API的类型和集成的复杂性
通常我们有四种常见的API类型公共、私有、伙伴和复合。其中
公共API
公共API有时也被称为开放或外部API。顾名思义任何人都可以公开的方式在没有限制、或限制相对较少的情况下使用它。此类API通常是方便第三方与本公司开发的Web应用进行通信的一种方式。一些常见的、为大多数中小企业提供服务的公共API有PandaDoc、BigCommerce、DocuSign、NetSuite等等。
如何与公共API集成
与公共API集成相对比较容易。不同的公司都会为您提供必要的API文档其中描述了各种端点、验证与授权其API的使用和调用方法等。事实上大多数企业的集成平台都是围绕着公共API的概念来构建的。他们提供的所谓集成连接器在本质上都是各个Web应用的API抽象层。不过它们在工作机制上的复杂性和范围则取决于API的设计与文档说明。
总的来说与公共API集成相关的主要策略有两种要么像iPaaS那样使用第三方软件;要么自行开发。在您选择后者时请准备好为数据映射(Data Mapping)而设计的相应策略。虽然许多应用程序会使用相同的模式来命名前端的公共字段但这些字段在后端可能有着截然不同的标签。适当的策略应该能够保证追溯性、准确性和相对快速的项目实施以及对于一些容易避免的错误予以避免。
值得一提的是如果您正在为自己的项目寻找一些可公开访问的APIGitHub上就有一个较为详尽的公共API列表。它涵括了诸如天气预报等Web应用所需要用到的、完整的API密钥和OAuth授权。
私有API
作为公共API的对立面私有API仅适用于单个公司。企业开发人员经常使用它们来实现Web应用之间在某种程度上的数据交换、提供对企业数据库和其他内部共享服务的访问权限、以及与其他内部API通信、或为公司员工构建内部应用。
事实上越来越多的公司认识到使用自己的API的价值。据此他们可以节省更多的时间和资源提高应用的敏捷性和灵活性并有助于降低整体运营成本。
如何与私有API集成
由于私有API通常驻留在具有高度安全性的环境中因此与它们的集成需要通过非常严格的防火墙或VPN服务来发起调用(当然首先需要能够允许外部到访问)。这意味着如果您想知道本公司的集成中间件是否确实有用就应该去检查它是否具有某种安全机制/层去访问本地系统和Web应用。
同样值得注意的是那些对于公共API的成功至关重要的某些方面却可能在私有API中显得无关紧要。例如由于已被假定为受到了公司现有安全策略的保护因此安全性机制在私有API并不重要。同时由于开发人员经常在文档中使用内部或技术性的名称因此版本控制不一定会被包含在设计中。
无论您准备采用手动编码还是某个集成式中间件新加入团队的成员或其他部门在集成私有API时都会面临一些挑战。因此如果您正在负责设计私有API的话我建议您像设计公共API那样去准备好API的各项最佳实践和检查。
伙伴API
伙伴API属于内部API的一个类别但这些API通常在业务伙伴和B2B客户之间共享而不是在某个组织内自己使用。此类API的一个常见用例是在供应链集成或销售点的集成中连接两个内部业务软件的应用程序。在这种情况下API往往充当的是经典的EDI(电子数据交换Electronic Data Interchange)集成的替代方案。
伙伴API通常具有更加强大的授权、身份验证和安全功能。它们能够允许外部各方去访问某些敏感数据。例如伙伴CRM或ERP应用的客户数据或者是医疗机构患者医疗数据等。
如何与伙伴API集成
由于伙伴API不是公开可用的因此您可能无法找到允许即时“连接”的集成方案。如果您打算集成此类伙伴API的话就需要提供良好的手动编码、或者去寻找支持自助服务、以及自定义连接器的集成中间件的帮助。
有时您可能需要将伙伴API与基于EDI的Web应用相连接那么您就需要进行诸如从EDIFACT到JSON的各种数据格式的转换。当然一个良好的企业集成平台往往能够支持此类功能。此外您也可以使用各种专用的解析器例如用于UN/EDIFACT文档的Javascript流解析器。
复合API
我个人觉得复合API的使用场景最广泛。例如在购物车中创建订单时就需要对多个端点进行多次API调用其中包括创建新的客户、创建新的订单、向该订单添加新的商品、展示分类商品等。一个复合API往往可以在一次性调用中完成所有这些工作。这无疑加快了多任务处理的能力和效率。例如下面是Salesforce的复合REST API的属性文件
{
compositeRequest : [{method : POST,url : /services/data/v52.0/sobjects/Account,referenceId : refAccount,body : { Name : Sample Account }},{method : POST,url : /services/data/v52.0/sobjects/Contact,referenceId : refContact,body : { LastName : Sample Contact,AccountId : {refAccount.id}}}]
}
在上述文件中其API在一次性调用中最多可以有25个所谓的子请求。
复合API的另一个实用场景是从多个服务中提取信息以完成微服务架构模式中的单个任务。不过复合API也不一定需要创建全新的API。在许多情况下您可以通过在一个序列中包装多个调用或请求来扩充现有API的设计。
如何与复合API集成
在集成方面复合API与常规公共API并没有太大的区别。事实上如果您的集成平台方案已经具有被用于REST或SOAP的通用连接器的话您可以轻松地使用它来连接到复合API处。
与不同的API架构和协议集成
下面让我们简要地讨论一下在使用具有不同架构和/或协议的API时该如何定义可接受的数据类型和命令。当然在大多数时候您可能会用到REST和SOAP等API。其中REST是一种架构风格而SOAP是一种协议。它们之间有着各种相似之处可以通过HTTP和XML进行通信因此彼此的集成非常容易。
当然两者之间也有着显著的差异。例如
为了在服务器上公开Web应用业务逻辑的特定部分SOAP会使用服务接口而REST则使用URI。REST API支持包括纯文本、XML、JSON和CSV在内的多种数据格式而SOAP仅支持XML。REST通常被认为比SOAP更轻量级、而且消耗的资源也更少。
就两者的集成而言我们需要在这两种API之间进行某种“翻译”。当选择手动集成这些API时您可以使用Postman等工具来自动执行此类操作。例如您可以调用一个Web应用程序的SOAP API并将返回的XML解析为您需要的数据。之后您可以将该XML转换为诸如JSON格式并将这些数据推送到另一个Web应用程序的REST API处。可见当您的公司部署了可以默认处理REST和基于SOAP的Web应用与服务之间的数据转换集成API之后它将使您的工作变得更加轻松应用的效率大幅提升。
善用工具
成功的前端工程师很会善用工具这些年低代码概念开始流行像国外的 Mendix国内的 JNPF这种新型的开发方式图形化的拖拉拽配置界面并兼容了自定义的组件、代码扩展确实在 B 端后台管理类网站建设中很大程度上的提升了效率。
开源地址JNPF体验中心
代码量少系统的稳定性和易调整性都会得到一定的保障。基于代码生成器可一站式开发多端使用 Web、Android、IOS、微信小程序。代码自动生成后可以下载本地进行二次开发有效提高整体开发效率。同时支持多种云环境部署、本地部署给予最大的安全保障可以快速搭建适合自身应用场景的产品。