Posted on 2010-07-03 14:23
啥都写点 阅读(377)
评论(0) 编辑 收藏
淘宝网有很多业务,这些业务涉及交易、商品、产品、物流、用户、类目等多种数据,它们关系如下图所示:
这些数据来源中,需要一定处理周期的数据需要去请求搜索引擎或者某些分析系统,访问量非常大的需要完全在本地预加载(如类目数据),还有来自内部的各种业务子系统提供的远程访问接口。
由于系统平台的不同,编程语言的不同,外加历史演化等等各种因素,导致目前淘宝内部的传输协议(或框架)也不尽相同,有目前在淘宝内部广泛使用的hsf(high speed framework)分布式调用框架;有历史遗留下来的hessian,rmi等java编程常用的协议,也有直接访问自定义格式的http接口。
那么问题就产生了,如何才能简单的把各种数据接口变成给开发者使用的json,xml格式的api接口呢?这里用一个图来描述下目前淘宝内部的api生成机制:
API路由系统获得开发人员提交的API定义文件后,它就知道远程服务的位置和传输协议,由于路由系统没有远程服务的接口客户端,它需要根据定义文件定义的远程服务需要的请求参数,把他转成合适的传输协议输送过去,远程服务接口获取这些数据后根据淘宝的API协议引擎生成真正的调用参数,获取调用结果后转成最终的json/xml协议,然后输送回路由系统,由路由系统响应给应用程序。
本文比较简单的描述了一下目前TOP(淘宝开放平台)内部和API相关的原理,具体细节请等待后续文章。
本文作者:王霖(自雪)
延伸阅读:
淘宝开放平台开发指南之快速入门
淘宝TOP开放平台开发指南之API是如何诞生的
淘宝开放平台TOP开发指南之解密TOP的认证授权机制(一)
淘宝开放平台TOP开发指南之架构组件体系介绍
淘宝开放平台开发指南之淘宝动力开发者持续盈利的魔力
淘宝开放平台开发指南之TOP的盈利模式
淘宝开放平台开发指南之解密TOP服务分流与隔离
-- 学海无涯