基于SOA的数据访问方法和装置制造方法及图纸

技术编号:6994891 阅读:260 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于SOA的数据访问方法和装置。该方法包括:接收业务服务的调用指令,调用指令中包括:SQL?ID和查询参数;获取SQL?ID对应的XML配置文件,根据XML配置文件解析SQL原始语句;根据SQL原始语句和查询参数,构造完整SQL语句;根据完整SQL语句,在数据库中进行查询,获取查询结果。本方法可以作为SOA架构系统中的数据访问层,完成各类数据库查询操作。特别适合BPEL流程中的复杂与动态查询,弥补厂商提供的DB?Adapter查询方式的不足,具有简单,方便,灵活等特点。

【技术实现步骤摘要】

本专利技术涉及管理信息系统
,具体涉及一种基于SOA的数据访问方法和装置
技术介绍
SOA (Service-Oriented Architecture,面向服务的体系结构)通过建立一种统一 的架构,使得软件开发人员能快速开发、集成和重用应用。更为重要的是,基于这种软件框 架,系统能在业务发生变化之后,动态响应新的需求,快速重新装配各种软件构件和服务。 今天基于SOA的集成方法正推动着市场的发展,BEA、IBM、MicrOSOft、0racle等主流厂商已 转向S0A。随着SOA概念的不断成熟以及各大IT巨头逐渐在SOA的具体细节上不断达成 共识,于是成立了一个SOA的标准化组织OSOA(http://www. osoa. org/)专门负责制定各 大SOA厂商共同遵循的SOA规范,约定SOA的具体实现的细节。OSOA规范核心概念主要是 SCA(ServiceComponent Architecture,服务构建架构)和 SDO (Service Data Obiect,服务 数据对象)。SCA规范包括了 Assemble Model和Client Model两部分。前者约定了如何将异 种组件(Java类,BPEL Jeb Service)组装并发布成SOA服务,是SCA最大的特点和核心的 概念;后者则约定了如何在异种语言环境中调用SOA服务。SDO规范则负责解决如何在异种服务间交换数据。它定义了一套中立的数据结构, 目前有Java和C++的具体语言规范,Java规范解决了 JavaBean和SDO的映射,C++规范解 决了 C++类、结构体和SDO的映射。DAS(Data Access krvice,数据访问服务)提供了一个简单的针对关系数据库的 SDO接口,虽然DAS不属于SDO规范,但它是SOA架构中不可或缺的一部分,如果没有DAS的 支持,SDO只是一个数据传输对象模型,就不能从根本上企业级应用中的数据问题,包括数 据的查询、数据的持久性处理等。各厂商SOA产品都提供访问各类异构数据库的DB Adapter组件(适配器组 件),但是DB Adapter组件本身具有一定的局限性,只适合静态SQLGtructured Query Language,结构化查询语言),不能灵活应对SQL的变动,对于某些特别复杂的业务SQL语句 可能需要动态构造,此种情况下使用DB Adapter往往无法满足要求。在实现本专利技术过程中,专利技术人发现现有技术基于SOA的数据访问方式中存在如下 问题不能灵活应对SQL的变动,使用DB Adapter无法满足SQL语句动态构造的要求。
技术实现思路
本专利技术的目的是解决现有技术基于SOA的数据访问方式不能灵活应对SQL的变 动,使用DB Adapter无法满足SQL语句动态构造的要求的问题,提出一种基于SOA的数据 访问方法和装置,以提供了一套动态查询,数据转换和传输的方案。为实现上述目的,根据本专利技术的一个方面,提供了一种基于SOA的数据访问方法, 包括接收业务服务的调用指令,调用指令中包括SQL ID和查询参数;获取SQL ID对应的 XML配置文件,根据XML配置文件解析SQL原始语句;根据SQL原始语句和查询参数,构造 完整SQL语句;根据完整SQL语句,在数据库中进行查询,获取查询结果。本技术方案中,接收业务服务的调用指令的步骤之前还包括分配SQLID给各查 询服务对应的SQL原始语句,将各原始SQL语句写为XML配置文件。本技术方案中,接收业务服务的调用指令的步骤之前还包括对XML配置文件进 行更新。本技术方案中,根据完整SQL语句,在数据库中进行查询,获取查询结果的步骤之 后还包括将查询结果封装为Web service格式输出。本技术方案中,在XML配置文件中,查询参数使用ftparaml替代。本技术方案中,构造完整SQL语句的步骤中还包括根据查询参数为空,自动添加 过滤条件。为实现上述目的,根据本专利技术的另一个方面,提供了一种基于SOA的数据访问装 置,包括接收模块,用于接收业务服务的调用指令,调用指令中包括SQL ID和查询参数; 解析模块,用于获取SQL ID对应的XML配置文件,根据XML配置文件解析SQL原始语句,拼 装模块,用于根据SQL原始语句和查询参数,构造完整SQL语句;查询模块,用于根据完整 SQL语句,在数据库中进行查询,获取查询结果。本技术方案中,基于SOA的数据访问装置还可以包括预处理模块,用于分配SQL ID给各查询服务对应的SQL原始语句,将各原始SQL语句写为XML配置文件。本专利技术各实施例的基于SOA的数据访问方法和装置,适合BPEL流程中的复杂与动 态查询,弥补厂商提供的DB Adapter查询方式的不足。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明 书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实 施例共同用于解释本专利技术,并不构成对本专利技术的限制。在附图中;图1为本专利技术实施例一基于SOA的数据访问方法的流程图;图2为本专利技术实施例二基于SOA的数据访问方法系统结构的关系图;图3为本专利技术实施例三基于SOA的数据访问方法的流程图;图4为本专利技术实施例四基于SOA的数据访问装置的示意图。结合附图在其上标记 以下附图标记502-接收模块;504-解析模块;506-拼装模块;508-查询模块;510-预处理模块;512-输出模块;514-更新模块。具体实施例方式以下结合附图对本专利技术的实施例进行说明,应当理解,此处所描述的实施例仅用 于说明和解释本专利技术,并不用于限定本专利技术。实施例一图1为本专利技术实施例一基于SOA的数据访问方法的流程图。如图1所示,本实施 例包括步骤S102 接收业务服务的调用指令,调用指令中包括SQL ID和查询参数;步骤S 104:获取SQL ID对应的XML配置文件,根据XML配置文件解析SQL原始 语句;步骤S106 根据SQL原始语句和查询参数,构造完整SQL语句;步骤S108 根据完整SQL语句,在数据库中进行查询,获取查询结果。本实施例中,步骤S102之前还可以包括分配SQL ID给各查询服务对应的SQL原 始语句,将各原始SQL语句写为XML配置文件。SQL ID是代表SQL语句的唯一标识,系统根 据SQL ID来寻找相应的SQL语句。本实施例基于SOA的DAS数据访问服务实现方法,该方法可以作为SOA架构系统 中的数据访问层,完成各类数据库查询操作。特别适合BPEL流程中的复杂与动态查询,弥 补厂商提供的DB Adapter查询方式的不足,具有简单,方便,灵活等特点。实施例二图2为本专利技术实施例二基于SOA的数据访问方法系统结构的关系图。如图2所示, 本实施例首先编写XML配置文件,XML配置文件保存了查询所需要的原始SQL语句信息,包 括相关过滤条件信息;其次部署DAS服务,DAS服务内部程序分为四个主要部分,包括配置 文件监控程序,XML文件解析程序,动态S本文档来自技高网
...

【技术保护点】
1.一种基于SOA的数据访问方法,其特征在于,包括:接收业务服务的调用指令,所述调用指令中包括:SQL ID和查询参数;获取所述SQL ID对应的XML配置文件,根据所述XML配置文件解析SQL原始语句;根据所述SQL原始语句和查询参数,构造完整SQL语句;根据所述完整SQL语句,在数据库中进行查询,获取查询结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:高翔张滨李越新张笑楠王学建
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1