发明内容
针对上述问题,本发明的目的在于提供一种基于SIB的电信业务开发方法,使用该方法可以增加电信系统业务开发中的可维护性和可扩充性,以及提高业务的开发效率
为达到上述目的,本发明采用的技术方案是:
(1)设计、实现SIB模板,即:设计业务独立模块SIB的参数和端口,将其按照一定格式进行描述,形成SIB属性描述文件;在实现SIB功能时,定义传递参数和端口的语法,以完成SIB功能模板文件;
(2)用SIB搭建业务,即:首先定义业务所需的数据库和变量;其次通过SIB类列表选择不同的SIB类创建SIB对象,并将SIB对象布局在编辑窗口,然后从SIB属性描述文件中读取参数为SIB对象参数赋值;第三确定SIB端口连线,通过解析SIB属性描述文件系统生成端口菜单,用户根据业务需要连接成不同的分支,上述定义或编辑后的数据库、变量及业务流图分别作为数据库信息、变量信息和SIB对象信息按照自定义的格式储存为业务文件;
(3)将业务文件转化成数据库文件和业务代码文件,即:首先根据业务文件的格式读取全部信息,将数据库信息翻译成满足数据库定义语法的数据库文件;再将业务流图信息通过对模板语法解析、翻译形成一个标准的业务代码文件;在上述翻译过程中,对错误的数据库定义、错误的SIB对象参数赋值、错误的出口连接、业务流图的不完善连线要给出错误提示,然后判断出现的错误是模板定义错误还是业务编辑错误,如果是模板定义错误返回上述步骤(1)继续操作,否则返回上述步骤(2)继续操作;
(4)将数据库文件和业务代码文件编译成可执行文件,即:首先要对数据库文件进行编译;其次对业务代码文件编译,在上述编译过程中,对错误的语法、语义要给出错误提示;然后判断上述编译是否存在编译错误,如果存在编译错误返回上述步骤(2)继续操作,否则继续以下步骤的操作;
(5)进行业务执行跟踪,即:进行SIB参数值、业务变量值跟踪和业务执行的动态跟踪;在执行完步骤(5)后,如果存在跟踪错误,返回上述步骤(2)。
由于本发明将业务独立模块SIB的参数和端口,将其按照一定格式进行描述,形成SIB属性描述文件;并在实现SIB功能时,通过定义传递参数和端口的语法来描述SIB功能,形成SIB功能模板文件,因此,采用上述SIB开发电信业务,可以根据业务开发的需要对SIB模板进行修改和扩充,而不必对业务开发产品进行任何修改,提高了系统的可维护性和可扩充性,简化业务开发过程;同时,由于本发明的业务调试功能可进行业务执行跟踪,用户能方便地查看业务执行流程和SIB对象的属性值,这样,可容易地找到SIB参数定义错误或业务流程设计错误,从而提高了业务开发的效率。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
本发明提供的基于SIB的电信业务开发方法包括SIB模板定义、业务编辑、业务翻译、业务编译和业务调试五大部分。其中,所述SIB模板定义包括SIB参数描述和SIB功能实现描述;所述业务编辑包括业务流程编辑和业务所需数据库编辑;所述业务翻译包括业务文件翻译和错误报告生成;所述业务编译包括语法、语意错误报告生成和业务代码文件、数据库编译;所述业务调试包括单步跟踪、SIB对象参数值和业务变量值跟踪。上述本发明各个部分的具体实施参考图1。
在步骤1,设计、实现SIB模板,即:设计业务独立模块SIB的参数和端口,将其按照一定格式进行描述,形成SIB属性描述文件;在实现SIB功能时,通过定义传递参数和端口的语法来描述SIB功能,以完成SIB功能模板文件;
在进行SIB参数和端口描述时,可以采用长名、短名定义的方式,其中包括每个SIB的参数、端口、名称等基本信息的描述,在描述中定义成统一格式,有助于对参数描述文件的读写来进行业务文件的翻译和参数解析等工作。
下面是一个简单SIB的参数和端口描述例子:
SIB名称=赋值
SIB描述=对变量进行赋值
SIB图片=图片路径及名称
SIB端口=输入端口
SIB端口=成功出口
SIB端口=错误出口
SIB参数=参数短名,参数初值,参数长名。
在实现SIB的功能时,采用模板文件的形式,用符合编译语法要求的格式进行SIB功能的描述,其中定义一些通用语法来解决SIB对象的参数值传入和SIB对象端口的分支问题。对于复杂的SIB则进行过程定义并在模板文件中提供过程调用的语法描述、调用及声明方法。对于不同的业务实现语言要满足不同语法要求来描述SIB的功能。每生成一个新的对象就调用一次过程。下面是一个简单SIB的实现描述,其中给出名称、参数定义、变量定义、过程定义及内容定义。
[名称]赋值
[变量]
[过程]
[内容]
<标号>
赋值语句
比较结果是否成功赋值
是:转入成功出口
否:转让错误出口
由于SIB参数描述和功能实现都采用模板文件和自定义语法,只要依照规定的格式用户就能自己添加新的SIB,增加了系统的可扩充性。
有了完善的SIB定义,下一步就可进行业务编辑的实现。
在步骤2,用SIB搭建业务,即:首先定义业务所需的数据库和变量;其次通过SIB类列表选择不同的SIB类创建SIB对象,并将SIB对象布局在编辑窗口,然后从SIB属性描述文件中读取参数为SIB对象参数赋值;第三确定SIB端口连线,通过解析SIB属性描述文件系统生成端口菜单,用户根据业务需要连接成不同的分支,上述定义或编辑后的数据库、变量及业务流图分别作为数据库信息、变量信息和SIB对象信息格式储存为业务文件;数据库编辑221,提供方便的界面编辑,按给定格式存储成文件,然利用翻译器翻译成符合数据库编译器的标准文件。
在本步骤具体实现时,可以将编辑界面划分为SIB类面板、编辑区等部分,通过拖拉SIB类在编辑区创建SIB对象。实际中,编辑区可以设计成网格形式,SIB对象放在格中,SIB间的连线放在网格上,对于选中的两个SIB对象,系统进行自动布线,并保证连线的不重叠。对SIB参数的编辑可以采用动态的属性窗口,针对不同的SIB,通过解析参数结构层次和端口定义自动生成参数编辑窗口和端口菜单。上述实现的关键是在参数的描述方式上采用了长名、短名的定义和解析,如果SIB参数描述只有一层结构,生成的窗口也就简单,如果长名描述中有多于两层的结构,解析属性后会生成树状结构窗口。因此当用户修改了SIB参数描述后就不用重新修改SIB参数编辑窗口,系统会自动适应模板文件的变化。
有了灵活的SIB模板描述和动态的参数编辑对话窗口的技术支持,就可方便地实现SIB集的扩充并可满足业务开发对INAP集的修改、扩充的需要。用户根据不断发展的业务需要和功能需求可自由的定义新的SIB,使得业务的编写和实现更为快捷。例如通过定义新SIB可满足消息集的添加。
在步骤3,将业务文件转化成数据库文件和业务代码文件,即:首先根据业务文件的格式读取全部信息,将数据库信息翻译成满足数据库定义语法的数据库文件;再将业务流图信息通过对模板语法解析、翻译形成一个标准的业务代码文件;在上述翻译过程中,对错误的数据库定义、错误的SIB对象参数赋值、错误的出口、业务流图的不完善连线要给出错误提示,然后判断出现的错误是模板定义错误还是业务编辑错误,如果是模板定义错误返回上述步骤1继续操作,否则返回上述步骤2继续操作;
实际中,上述翻译过程可以采用语法定义,语法解析,语法错误报告三个措施来实现,SIB流图到业务文件的翻译及数据库定义到数据库定义文件的翻译都是通过对模板文件语法的理解对参数进行赋值,然后将整个功能模块搭建的业务翻译成标准的代码文件。翻译时在读取SIB模板文件时每遇到一个语法,象参数值传递语法、端口分支翻译语法等,就从SIB对象属性数据中取得相应的值或变量,将未知的语法解析成编译器可识别的并且具有逻辑性的程序代码。针对无法解析的语法或对象中不存在的值或参数等错误将提供翻译错误报告,用窗口的形式显示以方便错误定位,用户只需在错误行上点击一下,编辑业务的窗口将自动把焦点移动到产生错误的SIB对象上。错误描述中给出错误的出处、错误的类型和错误的原因,同时在业务编辑环境里还提供查找SIB对象功能,只需输入对象ID或对象名称即可定位。
在步骤4,将数据库文件和业务代码文件编译成可执行文件,即:首先要对数据库文件进行编译;其次对业务代码文件编译。
上述业务数据库编译,是将数据库定义文件编译成标准数据库,并可以进行测试数据配置。这要求在业务代码文件编译之前进行,因为业务流程编译要使用数据库信息。
上述业务代码文件编译主要是给出经过翻译后的业务代码文件的语法、语意错误,没有错误则生成一个可执行文件。
在上述编译过程中,对错误的语法、语义要给出错误提示;然后判断上述编译是否存在编译错误,如果存在编译错误返回上述步骤2继续操作,否则继续以下步骤的操作。
在步骤5,进行业务执行跟踪,即:进行SIB参数值、业务变量值跟踪和业务执行的动态跟踪。
本步骤在具体实施时,可以从业务执行过程中取得每一个变量,每一个SIB的一组参数值,并根据用户的需要显示在观测窗口,并在业务图形文件中动态指示业务的运行位置。
为了更好地实施本步骤,实际中首先使业务调试器提供一个友好的图形用户界面和方便、快捷的操作方法。业务调试器主要包括三部分:断点管理、观察变量管理以及调试过程管理。断点管理是在单个或者多个SIB上添加、删除断点标志,实现时可以先改变界面上SIB对象的显示状态,然后在断点链表中记录被设断点SIB对象的ID(标识);观察变量管理可以选择一个、或者多个变量以观测其值的变化,变量的列表信息来自于SIB业务文件,通过读取业务文件的变量链表填充观察变量列表框,对于被选择的变量在链表中的变量对象上设置标志,以便值的对应显示;调试过程管理是控制业务逻辑上单步执行或者业务运行到下一个断点的进程,在此过程中观察业务数据、消息流的传递以及各个SIB的执行情况,以分析业务的正确性和适应性。
为了实现单步调试需在SIB的功能模板中加入调试代码来完成消息传输端口连接、端口监听及消息传输,在每次运行一个SIB对象时,首先通过查询断点链表判断是否设置断点,如果没设置,直接运行SIB,如果设置了断点就要执行消息通道的连接,并在SIB功能代码执行后将当前的参数值、变量值通过通道传出到调试过程管理部分,再结合用户对观察窗口的设置输出特定的变量值,这样在观察窗口可以查看参数值的变化过程和所监视的变量值的变化。同时在业务流图上修改当前运行的SIB对象的状态,用户可跟踪SIB对象的动态执行过程。
根据单步调试结果用户可以跟踪SIB运行过程,如果所测试的流程正确则就完成了一个业务的开发,如果流程有不对的地方则返回到第2步进行修改。
总之,上述采用模板方式来实现SIB的属性描述和功能描述以及依据SIB模板进行电信业务开发的方法已由本发明详细说明,因此,建立在SIB模板概念基础上的任何电信业务的开发方法都应在本发明的保护范围之内。