论文部分内容阅读
交易中间件和消息中间件在金融计算平台中的应用较为广泛,它们屏蔽了底层环境的异构性和复杂性,基于这种架构的应用实现中,一个模块应该呈现其功能而隐藏其本身的实现,体现了可移植性、可重用性等基本对策和理念。尽管这种做法有许多优点,但事实表明,有时候它并不能满足各种客户的不同需求,同时存在灵活性和适应性的先天性不足,特别是在金融计算平台上,由于业务十分复杂,逻辑多变,因此需要中间件系统具有更大的可定制能力、灵活性和适应性。 为此,我们建议在中间件系统设计中应用反射机制,所谓反射是指所研究的对象“感知自己、自行推理和作用于自身”的一种能力,反射包括对象的反射和消息的反射,本文提出了用元数据描述表来实现消息的反射机制,使得面向消息中间件传送的消息不再是一个字节流,而是一个可以支持因果相联自表示的消息对象,它能对数据进行类型和数值有效性检查,并且具备应对业务数据变更的适应能力。 为了满足金融计算的业务逻辑的定制需要,应在面向消息反射中间件的基础上实现对象的反射机制。在此反射中间件上执行的每一次计算首先从客户的运行空间切换到反射协议栈,转换为可插入的元对象的操作,通过调用绑定协议,再切换到具体的服务对象的实现,计算得出结果后以相反方向返回,从而完成一次计算操作。 根据业务需要,修改元数据描述表,可以让消息对自身数据的含义有不同的描述,并以相应的格式进行报文编码/解码,从而实现客户对消息的定制能力,另外,中间件的实现采用微内核结构,其服务的实现也应该是可定制的,用户自己实现的业务逻辑也是通过发布服务的方式来实现,借助可插入的反射协议栈,中间件自身和用户应用的业务逻辑都是可以灵活地被定制的。 本文实现了一个面向消息的反射中间件并在金融计算平台上得到应用。