OBD(Open BufferDefinition)文件是一种简化的接口定义语言,用于描述 Open Broker 中间件接口的数据类型和 Open Boss 后台服务相互调用的数据类型,并尽量简化和规范应用中数据类型的写法,使程序更集中于解决业务逻辑。OBD文件不能直接使用到程序设计中,工具obdi2cpp用于将 .obd 文件映射成相应的 .cpp 文件。
OBD文件的设计动因主要有两个:
1) 在 Open Boss 的五层结构中,处于中间件位置的 Open Broker 需要一种带有数据类型的接口定义方式来描述中间件传递的数据内容;此外,后台服务互调,也需要定义一种类似功能的动态接口,以减小模块之间的耦合程度。
2) Open Boss中大部分数据都与数据库表直接相关,业务运算中大都有基于表结构做字段的增减和合并等操作,所以需要在接口实现中提供这样的支持;另一方面,在接口和业务逻辑的主要类之间实现数据转换,可以减少很多编程人员的工作量,可以更多的关注于业务逻辑的实现。
3) 以文件形式提供的接口格式清晰,易于管理。
4) 接口需要充分考虑到稳定(能有效的检查出接口数据使用者和提供者的不一致,从而保证服务的稳定)、兼容性好(适合于多种用途但是API一致)和高效的要求。