XML语言描述的业务逻辑映射到应用语言的方法技术

技术编号:2919464 阅读:242 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种XML语言描述的业务逻辑映射到应用语言的方法,涉及解析文本格式描述语言生成能被计算机执行的机器语言代码的技术,为解决XML语言描述的复杂业务逻辑映射到应用语言时,使得代码的处理速度快、占用的空间少的问题而发明专利技术。本发明专利技术XML语言描述的业务逻辑映射到应用语言的方法包括步骤:根据业务逻辑的XML语言描述中的所有标签,以及这些标签的公共部分,编写框架代码;根据业务逻辑的XML语言描述中的各个标签,编写对应的标签代码生成实现类;包括所述框架代码的代码解析器,加载所述标签代码生成实现类,生成业务处理类代码。本发明专利技术适用于业务逻辑的XML语言描述的解析处理。

【技术实现步骤摘要】

本专利技术涉及解析文本格式描述语言生成能被计算机执行的机器语言代码的技术,尤其涉及用XML语言描述的业务逻辑映射到应用语言的方法
技术介绍
在使用计算机处理各种业务逻辑时,往往需要进行建模分析,然后根据模型生成业务模型描述。由于XML语言的纯文本、强大的标签描述特性,使它在涉及网络应用领域越来越得到广泛的应用。使用XML语言描述的业务逻辑可以更容易地在应用服务器上部署。目前使用XML语言处理复杂逻辑按照处理的方式,有两种类型一是传统的硬编码方式。也就是说,只使用XML语言描述业务逻辑的数据,由真正的业务处理代码解析这些数据,完成业务逻辑。这种方式只是把数据存放成XML语言格式,如果业务逻辑有什么变化,通常只能修改业务处理代码,一般情形下需要重新编译大量的代码,编译后的代码需要重新部署,灵活性差。而且随着业务逻辑的复杂化,则业务处理代码也越来越复杂、越来越庞大,代码的可维护性变差。二是XML到应用语言的映射。由于XML是SGML的简化,因此它也属于元语言,可以由使用者自行定义,进而产生出完全符合使用者需求的应用语言。而且应用语言更能够处理各种更为复杂的逻辑。通过XML描述的复杂处理逻辑,可以通过XML解析器生成对应的应用语言。而且这种解析、编译、处理的过程可以做成一体,如同是对XML语言解释执行,也可以分开,只部署解析后的应用语言或编译后的目标语言,提高处理的速度,带来很大的灵活性。但是当前流行的这种处理方式的工具只是在考虑XML到面向对象语言的映射时,将XML中的各个标签都当作一个对象来进行处理,虽然灵活性高,但是加剧了空间和时间上的复杂度,对于业务逻辑比较复杂的系统,其解析和处理的时间都急剧上升。所以,必须寻找一种方法,能够在灵活性上进行折衷,优化解析和处理的时间,才会在进行复杂逻辑的处理应用中有实用价值。
技术实现思路
本专利技术所要解决的技术问题是提供一种XML语言描述的业务逻辑映射到应用语言的方法,使代码的处理速度快、占用的空间少,降低解析的空间和时间上的复杂度。为解决上述技术问题,本专利技术所采用的技术方案使用XML语言描述的业务逻辑映射到应用语言的方法,包括步骤(1)根据业务逻辑的XML语言描述中的所有标签,以及这些标签的公共部分,编写框架代码;(2)根据业务逻辑的XML语言描述中的各个标签,编写对应的标签代码生成实现类;(3)包括所述框架代码的代码解析器,加载所述标签代码生成实现类,生成业务处理类代码。其中,所述步骤(2)中编写的标签代码生成实现类继承自公共的父类。所述步骤(3)具体为(31)包括所述框架代码的代码解析器,加载各个标签对应的代码生成实现类;(32)所述代码解析器根据各个标签对应的代码生成实现类,生成各个标签所描述的代码;(32)将生成的各标签所描述的代码组合起来,生成业务处理类代码。与现有技术相比,使用本专利技术所述的技术方案,改进了对XML语言的表示的业务逻辑的解析方式,解析和处理的时间短,每个XML文件只生成一个代码文件,即一个面向对象的类,在实例化时,一个XML文件对应一个对象,使代码的处理速度快、占用的空间少;由于编译器中提供了框架代码,可以对生成的代码中公共逻辑进行优化,而且不同的标签只会对应出不同的方法或代码段,提高了从XML文件解析成代码文件的速度;对于新定义的标签,一般只需要编写此类标签的代码生成实现类就可以了,不必更改代码的主框架,维护比较简单。使利用XML语言处理复杂逻辑更有实际可操作性。附图说明图1构建业务逻辑流程图。图2生成业务处理类代码流程图。图3动态部署业务逻辑流程图。图4关联关系总体结构图。具体实施例方式下面结合附图,对本专利技术作进一步的详细说明。本专利技术提供了一种XML映射到应用语言时不是简单的将标签转换成类,而是标签转换成类方法和代码的方法,从而改进了对XML语言的表示的业务逻辑的解析方式,减少了生成代码的数量,使利用XML语言处理复杂逻辑更有实际可操作性。同时提供了部署和维护业务逻辑的方法。使用XML语言描述的业务逻辑映射到应用语言的方法,包括如下步骤第一步、根据业务逻辑的XML语言描述中的所有标签,以及这些标签的公共部分,编写框架代码。如图1所示,使用XML语言处理业务逻辑的第一步为业务逻辑建模。通过分析具体应用的逻辑,整理出应用的处理模型,分析XML语言中可能出现的标签(Tag),以及需要对外提供的接口。然后根据这个模型编写出对象的XML语言描述,再将所有出现的标签整理出来,结合他们的公共部分编写出需要的框架代码。第二步、根据业务逻辑的XML语言描述中的各个标签,编写对应的标签代码生成实现类。根据各个标签编写对应的代码生成实现类。这些实现类要求继承自公共的父类,从而可以通过父类的定义获取生成代码需要的上下文。第三步、包括所述框架代码的代码解析器,加载所述标签代码生成实现类,生成业务处理类代码。由代码解析器加载标签代码实现类生成代码。在代码解析器中已经包括了在第一步生成的必须的框架代码,在解析不同的标签时,会自动使用各个标签对应的代码生成实现类,生成此标签描述的代码。然后将这些代码组合起来,生成业务处理类代码,见图2。为了使通过本方案生成的面向对象的代码能够在业务处理过程中起作用,需要有一个部署过程,也就是重复利用上述第三步,将解析XML文件生成的源代码编译成目标代码部署到业务处理程序中。对于不同的面向对象语言这步会有区别。如果是C++,则一般会直接将第三步生成的源代码和业务逻辑实现的其他源代码一起编译,生成DLL供应用服务器调用;如果是JAVA,则除了采取和C++类似的静态部署外,还可以支持动态部署,即在第三步生成的源代码后,直接使用JAVA编译器编译成CLASS文件,由业务逻辑实现直接使用,见图3。如果业务逻辑发生了变化,就需要对标签的扩展。所有的标签可以分为两类方法级标签和代码级标签。方法级标签在产生代码时,会生成接口方法的调用,并且负责内部资源的组织,所以有相当多的代码集成在框架代码内,对这类标签的增删需要相应的修改框架代码,而且这类标签之间一般不允许嵌套;对于代码级标签,在生成代码时,主要是内部方法调用或代码片段,这些标签里面的内容甚至可以是目标代码,对此类标签的增删不需要修改框架代码。代码级标签之间允许嵌套,方法级标签允许包含代码级标签。下面以电信网络管理领域的CMIS操作的关联策略为例,对技术方案的实施作进一步的详细描述。1、业务逻辑框架电信管理网络TMN(Telecommunications Management Network)是ITU-T提出来的关于电信设备管理的解决方案,规范性地描述了一个电信管理网的层次结构、功能结构、逻辑结构。TMN的管理端(Manager)通过CMIS操作代理端(Agent)。TMN的Agent是一些实际网络资源抽象成的被管对象(Managed Object,MO)。被管对象是通过GDMO进行描述的。在这些被管对象之间通常存在比较复杂的逻辑关系,当操作某个MO时,需要判断是否满足先决条件,根据操作类型的不同触发别的MO的某些操作,甚至在操作完成后判断数据一致性条件是否满足,通常把这些关系统称为关联策略。利用本专利技术构建的关联关系处理框架结构,见图4。关联处理的核心是解析XML配置文件,调用方输入操本文档来自技高网
...

【技术保护点】
一种使用XML语言描述的业务逻辑映射到应用语言的方法,其特征在于,包括步骤:(1)根据业务逻辑的XML语言描述中的所有标签,以及这些标签的公共部分,编写框架代码;(2)根据业务逻辑的XML语言描述中的各个标签,编写对应的标签 代码生成实现类;(3)包括所述框架代码的代码解析器,加载所述标签代码生成实现类,生成业务处理类代码。

【技术特征摘要】

【专利技术属性】
技术研发人员:寿玉星张强袁瑞宏姜磊
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1