能力服务平台架构 能力开放平台架构_能力服务平台架构

 

在上图所示的分层架构中,人人网开放平台提供了不同层次的功能。图中红色部分表示目前还没有提供的功能模块,需要未来由平台或开源社区来提供;黄色部分表示在旧的平台架构中已经提供但正在往新的架构中迁移的功能模块;其它颜色的是功能比较完整的功能模块。

从图中可以看出,人人网开放平台大概分为三个层次,共同为最上层的各种形式的第三方应用程序提供服务:

  • Core Service Layer: 实现了人人网对外提供的最底层的API,定义好了接口参数和调用流程,第三方或平台方可以根据这个层次的API在上面封装SDK。
  • SDK layer: 由第三方或平台方提供的针对各种开发语言或开发环境的SDK。
  • High SDK layer: 构建在Core Service Layer或SDK Layer之上的高级SDK,例如Discuz SDK就是基于JS SDK来封装的。

第三方应用程序可以使用任意三个层次提供的API进行开发。

那么,我们为什么要推出这样的分层架构呢?因为它具有如下好处:

  • 通用性。更好地支持web、mobile、desktop等运行环境,提供了多种形式的API。即提供了需要授权才能使用的Rest API,也包括无需授权即可使用的Widget API。
  • 标准化。新的架构的一个很重要的特点就在于它的分层架构和明确定义的API接口,这有利于第三方获得稳定清晰的编程环境。
  • 行业分工的清晰化。标准化带来的好处之一,是可以将SDK的开发维护工作交给第三方开源社区来完成,而不是全部由平台来完成。开源社区在Core Service Layer层次提供的API上开发SDK,第三方应用开发者在SDK基础上开发应用。
  • 易维护和易理解。清晰的分层模型和明确定义的接口规范有利于降低平台方的维护成本,也有利于第三方对平台架构的理解。
  • 扩大开放范围,提供更多新特性。在某些出于安全考虑而无法通过Rest API开放的功能,如加好友功能,则可以由新的Widget API来提供