ESB总线和能力开放平台

jopen 8年前
 

ESB总线和能力开放平台

上图是ESB企业服务总线和互联网Open API能力开放平台的一个简单对比。对于在企业内部的服务集成和管控,由于需要面对企业内复杂的业务系统间集成和遗留系统适配,因此使用较多的仍然是 ESB企业服务总线。而对于互联网应用,更多考虑的是轻量和高性能,已经开发和接入的效率,当前使用较多的是类似Open API方式下的能力开放平台。

对于能力开放平台,网上有比较明确的定义,具体如下:

Open API即开放API,也称开放平台。 所谓的开放API(OpenAPI)是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API(Application Programming Interface,应用编程接口)开放出去,供第三方开发者使用,这种行为就叫做开放网站的API,所开放的API就被称作OpenAPI(开放 API)。就现在互联网上Open API的形态来看,主要分成两种:标准REST和类REST(也可以叫做RPC形态)。

对于是否够成一个能力开放平台,有两个重点,其一是服务的提供以htpp rest服务为主,其二是平台本身是提供和暴露服务能力,而不消费服务。因此即使是在企业内部,如果ESB平台本身能够实现为仅暴露和提供服务,同时采用 轻量的Rest服务接入,那么也可以看做是能力开放平台。

对于企业内部的服务,往往由于服务接口对需求规范要求严格,往往有会采用SOAP WebService方式来实现完整的服务契约设计。即服务接口本身就对服务的调用规范进行了强约束。而对于开放平台往往采用http协议,传输的对象也 是大的json串,对于json串格式的定义往往只有通过文档约定。这两种方式各有优缺点,具体的选择使用关键还是看使用的场景。

企业内部只是提供和暴露服务,供其它业务系统消费,这种场景往往出现在主数据和共享数据服务能力提供,因此对于共享数据往往是适合构建能力开放平 台的。而对于企业内部端到端流程引起的横向业务系统接口,这类横向集成接口本身复用度不高,更多是为了业务系统,即使这类服务接入也很难真正高复用和共 享。

前面有一篇文章专门谈到过Dubbo服务总线,对于Dubbo是可以用来构建Open API平台的轻量服务总线。互联网能力开放平台这类总线其核心是服务注册和管控,服务的访问安全,服务集群扩展能力等。为了达到高并发和高性能,往往不会 在总线层面做详细的服务调用日志审计。即:

服务消费方从总线获取到服务地址后,即转为对服务提供端的直接调用,数据流不经过轻量总线。

ESB总线和能力开放平台

对于互联网能力开放平台的构建要注意,能力开放平台不仅仅是一个高性能的轻量服务总线或一个http接口,而是要构建一个完整的互联网PaaS平 台生态环境。从最早期的中国移动等电信运营商开放的互联网PaaS能力开放平台可以看到这个特点,即这种能力开放平台提供了完整的自服务,多租户管理,服 务申请和开通,安全管控,开发框架和环境,本地SDK开发包,开发样例等完整的支持。即除了开发完成的应用托管能力可以不提供外,其它标准的互联网 PaaS平台提供的能力,在能力开放平台都需要完整提供。