论文部分内容阅读
随着工作流技术广泛应用于生物信息学实验,其整合分析工具完成复杂生物计算的能力越来越受到人们关注。生物信息工作流通过一种模块化的流程表达方式形象地描述计算分析的过程,通过工作流引擎的调度自动完成数据分析,从而显著提高实验的效率。生物信息工作流系统的服务组合主要包括基于Web服务组合和面向应用程序整合两种组合方式。前者是利用Web Service技术使分布于网络上的各种Web服务按照上下文语义和一定规则进行组合;后者则是通过JDM(Java Data Mining)工具把各种应用程序和算法封装成标准组件,统一的组件接口简化了工作流的组装和执行。本文研究的生物信息工作流平台可支持上述两种服务组合方式,采用Spring框架的IoC/AOP(控制反转/面向切面)技术较好地解决了Web服务和JDM组件的松耦合组合问题,系统的可扩展性和易维护性得到了提高。生物信息工作流是由两个或更多的服务组件对象通过相互合作来实现业务逻辑,这使得每个对象与其合作对象互相引用,并且将导致代码高度耦合而难以维护和扩展。我们采用Spring框架下的控制反转(IoC)模式解决这个问题,控制反转要求把耦合关系从代码中分离出来,在XML文件中完成配置,通过容器在需要的时候根据XML文件形成依赖关系。在利用计算服务组件构建工作流时,通过修改XML文档实现对象的热插拔,从而解决了硬编码问题。生物信息工作流系统中还存在如日志文件,线程管理,SOAP报文组装以及生物数据加载等边缘逻辑问题.。在我们的系统中,通过面向切面编程(AOP)把它们封装成切面对象,当生物信息工作流系统需要调用边缘逻辑时发出通知,Spring框架收到通知后通过横切关注点把切面对象织入工作流系统。作为辅助功能的边缘逻辑相对于主逻辑模块是透明的,使工作流系统更专注于计算分析核心业务逻辑。面向服务架构(SOA)策略以服务为中心应用,服务接口的定义方式是中立的,具体实现不需要强制绑定服务,系统的松耦合通过中立性的接口得到保障。基于SOA的体系架构通过封装的标准化和松耦合的编排性等机制实现服务组合的灵活性。我们的生物信息工作流平台是基于SOA构建的,采用Web Service和JDM技术完成服务组件的标准化,而松耦合的编排性是主要通过IoC/AOP技术实现。因此,基于SOA架构实现的生物信息工作流系统能够最大限度地灵活整合数据和计算资源。本文创新点:第一,在Spring框架下利用IoC/AOP实现生物信息工作流平台,控制反转(IoC)降低了各模块之间的耦合,提高了系统的可扩展性;并采用面向切面(AOP)较好解决了工作流中的边缘逻辑问题。第二,利用生物信息工作流平台整合部署在Web Services中数据、计算资源以及JDM封装的本地数据分析程序,使得生命科学工作者无需专业的编程技术也可以高效完成生物计算分析。第三,构建了一个面向生物学Web Services资源管理的客户端,在动态解析Web Services的基础上实现SOAP报文的自动组装,克服了动态创建Web服务定义中复杂数据类型对象的瓶颈。