开放平台体系结构及网关分析

本文为原创,转载请注明出处

开放平台体系结构及网关分析

 

    开放平台以API的方式将公司的核心基础服务(譬如支付、交易等)开放给ISV(Independent Software Vendors,独立软件开发商),而这些功能由公司的各业务平台(为ISV提供API底层服务的提供部门)在开放平台的基础上,按一定的规范将其内部的数据或业务流程以API的形式提供给ISV。ISV基于这些基础服务进行行业的定制、创新和进化,以最终促成新商业文明生态圈。

 

  1. 开放平台系统示意图



     

     从上图可以看到,在整个API 开发与调用过程中,直接的参与者有4 个:

       1.业务平台开发者:负责接口的设计,开发与维护

       2. 产品/运营:主要通过后台管理系统对线上API 、APP和开发者入驻进行审核管理。

       3. ISV:外部合作伙伴,通过开放平台提供的接口,开发出相应的APP供用户使用

       4. 用户:使用ISV开发出的APP

 

2.  API系统调用


  1. APP实例化SDK客户端和API输入对象,并设置请求参数,然后调用SDK客户端
  2. SDK将输入对象里的参数组装为http请求的格式
  3. SDKHttp的输入参数进行RSA签名;
  4. SDK向网关发起HTTP请求;
  5. 网关根据请求里的API名称、版本以及应用Id查询开放核心获取API配置以及应用信息;
  6. 根据Http请求的输入以及上一步查询出的api配置和应用信息组装调用上下文
  7. 网关做一些列的校验,包含:接口有效性校验、流量控制、验签、是否授权、是否订购、应用访问权限校验等;
  8. 网关根据API配置信息中的分发URL及其他WS参数动态创建WS客户端。
  9. 通过WS客户端,网关将请求分发到目标前置系统
  10. 目标前置系统通过调用上下文中的信息找到对应的处理器;
  11. 目标前置系统将调用上下文转换为处理器需要的输入;
  12. 通过处理器,目标前置系统调用最终的目标系统;
  13. 目标系统执行业务逻辑并将处理结果返回给目标前置系统
  14. 目标前置系统对结果进行安全过滤并将结果转换为jsonxml的格式;
  15. 目标前置系统返回处理结果给网关;
  16. 网关对结果加签;
  17. 网关返回加签后的结果给SDK
  18. SDKjsonxml格式的数据转换为API的输出对象;
  19. SDKAPI的输出对象返回给APP