论文部分内容阅读
子午工程由中国科学院牵头,教育部、信息产业部、中国地震局、国家海洋局、中国气象局等共同建设。子午工程包括空间环境监测系统、数据与通信系统、研究与预报系统,有数目众多的各种观测仪器设备。要实现整个系统长时间协调一致的运行,科学的管理将是一个很复杂的工作。空间天气科学研究协作平台为子午工程研究与预报分系统所包含的三个分系统之中的科学计划调度软件。空间天气科学研究协作平台的重要功能之一是依据子午工程的总体科学目标、空间环境状况、台站可利用资源情况,以及与其他空间探测活动的配合观测等诸方面制定子午工程台站科学联合观测计划,从而最大限度地利用子午工程的探测手段和资源,为科学家获取最多、最优的科学观测数据。由于子午工程所涉及的台站、设备众多,长时间的运行计划的管理是一项复杂而繁重的工作。空间天气科学研究协作平台的研制正是基于科学运行办公自动化和科学管理的需求,为实现科学运行的功能提供重要的支撑服务。
本文主要是描述一套基于工作流引擎的空间天气科学协作平台的设计与实现的过程,所做的主要工作如下:
(1)研究和分析了J2EE技术和各种现有的J2EE开发架构,充分比较各种架构的优劣势。按照软件工程的规范以及面向对象的设计思想,采用Struts、Spring、Hibernate框架设计了一个基于轻量级J2EE的三层系统架构。该架构具有低耦合、高复用、可扩展和可移植等优点,能很好满足系统需要。
(2)深入学习了工作流技术、工作流系统和工作流引擎的理论知识,着重了解了JBPM开源工作流管理系统。深入了解现有工作流访问控制方式,并对基于任务的工作流访问控制的授权方式进行改进。在任务级的访问控制时根据任务的状态,采用事件驱动机制进行授权。同时对于流程中多用户操作资源的任务在资源层级进行删选,对角色中不具有任务中资源操作权限的用户取消权限的授予。改进后的工作流访问控制授权方式能有效解决空间天气科学研究中任务的访问控制。
(3)深入学习了基于角色的访问控制模型,重点研究了现有的各种基于角色的访问控制模型。在对工作流管理系统的体系结构和工作流模型的仔细分析的基础上,将基于角色的访问控制融入了工作流系统,定义了流程语言和流程模型,设计了基于UML活动图的事件驱动的工作流引擎。最终按照MVC设计模式和模块化设计思想,设计了空间天气科学协作平台。
(4)在以上各方面工作的基础上,采用了J2EE开发技术,以Mysql作为数据库,以Tomcat作应用服务容器,最终实现了基于工作流的空间天气科学协作平台。本平台于2010年1月在中国科学院空间中心部署,实际应用于子午工程之中,目前运行稳定,用户满意度高,大大提高了空间天气观测研究的自动化处理水平和研究人员的工作效率。该平台在设计和实现过程中所使用的设计思想和实现技术对同类平台的开发具有很好地参考价值。