|
广东省长途电信资源管理系统(二期)项目应用实例 广东省长途电信资源管理系统(二期)--资源调度子系统由广东省电信公司科学技术研究院委托中山大学软件研究所开发,作为广东省长途资源管理系统的一个重要组成部分,是对一期原有系统的扩展和补充。原有调度系统基于C/S结构,流程固定不可配置,这给实际应用带来了相当的不便。因此,新系统必须克服旧系统的弊端,并且具有很好的可扩展性和可维护性。具体地,本项目的主要内容和目标包括:
由于本项目对流程可配置性和灵活性要求较高,我们在设计时参考了有限状态机模型和元程序设计的思想,提出了基于有限状态机的状态推导引擎,作为软件系统的核心部分。具体地说,以状态为中心通过状态视图描述用户与系统交互的接口,用户在业务过程中触发的事件(或其他外部事件)和所处的状态视图一起作为上下文Context被提交到状态推导引擎。然后,引擎按照用户定义的流程进行推导,调用相应的执行模块进行业务处理,并产生下一状态信息。最后引擎把结果返回状态视图,完成状态视图之间的切换。这样,引擎的执行过程便是业务流程的抽象,它用一种形式化方法较精确的描述了软件系统的业务逻辑,有效地分离了业务的说明性逻辑和过程性逻辑,使得具体业务逻辑可以以组件的形式被调度,其调度策略可以显式的进行配置。其效果是,业务逻辑具有"plug
and play"(即插即用)的特征。因此它可以实现业务流程的可配置,从而提高系统的柔性。同时,为了增强模型的通用性和可扩展性,我们采用了XML这种数据格式来持久化状态推导引擎的一个个实例,可以方便地进行数据读取和数据交换,大大提高各个系统之间的无缝集成。不难看出,如此一个松散藕合的体系结构能很好的适应需求易变的特点,有利于实现子模块高内聚、低藕合的目标,使系统具有较高的灵活性,业务流程可配置,充分考虑了实际业务的可扩展性。另外,我们也把用户的权限管理和有限状态模型有机的结合起来,以实现系统的权限配置。
|