专利名称:Tuxedo前后台数据交换类及其数据交换方法
技术领域:
本发明涉及一种数据交换类及其数据交换方法,尤其涉及一种TUXEDO(BEA公司大型中间件软件产品)中间件与客户端及服务端的数据交换类及其数据交换方法。
背景技术:
TUXEDO传统的数据交换API(应用接口函数)函数功能单一,应用编程实现非常复杂。
发明内容
本发明所要解决的技术问题是提供一种TUXEDO数据交换类及其数据交换方法,其在前后台间以类的方式组织数据、以类的方式通过TUXEDO中间件交换数据,通过该类的接口函数,编程人员可以方便地进行前后台的数据传输,而无须了解TUXEDO内部复杂、不易操作的数据交换机制。
为了解决上述技术问题,本发明采用了下述技术方案本发明提供一种TUXEDO前后台数据交换类,包括前后台数据缓冲类及前后台数据传输类,所述的前后台数据缓冲类由系统信息缓冲块、数据分发配置信息缓冲块、应用数据缓冲块三部分组成所述的应用数据缓冲块由三部分信息组成第一部分是单个块的控制区,包括块号、块名、块内数据的行数和列数;
第二部分是块的信息区,记录标志各列数据的列中文名和英文名。
第二部分是块的数据区,实际存放包含数据的二维数组。
所述的系统信息缓冲块记录系统控制信息;所述的数据分发配置信息缓冲块负责同数据分发配置中心交换信息,记录要调用的服务名、调用链路上的函数信息等信息;所述的前后台数据传输类包括写入接口和读取接口;所述的写入接口将开发人员需要的系统信息缓冲块、应用数据缓冲块中的信息按照一定的格式压入TUXEDO的数据传输区域,在压入前前后台数据传输类会根据数据量自动计算出TUXEDO的数据传输区域所需大小,同时自动地将格式转换成所需的格式;所述的读取接口将TUXEDO的数据传输区域的内容解析到前后台数据缓冲类中,根据TUXEDO数据传输区域的内容构造应用数据缓冲块内容。
本发明还提供一种TUXEDO前后台数据交换类的数据交换方法,其包括如下步骤前台程序通过前后台数据缓冲类将需传送至后台的数据缓存起来,并使用前后台数据传输类将其解析成TUXEDO的FML32数据格式,由TUXEDO传送至服务端,再以相反的形式将数据解析、提取到后台的数据缓冲类中,由服务端程序使用。
本发明采用先进的C++类设计思想,直接以类的方式组织和交换数据,大大提高了工作效率。TUXEDO前后台数据交换类包括标准化的EIBuffer信息组织方式和EITranslate信息转换组件。它完全屏蔽了底层交换细节,解放了开发人员,使开发人员精力集中于业务数据的组织,而不用关心具体的交换机制,实现了数据交换的模块化。
图1是本发明的前后台数据缓冲类的组成示意图。
图2是应用数据缓冲块的组成示意图。
图3是应用数据缓冲块的一个具体运作示意图。
图4是前后台数据传输类的数据传输示意图。
具体实施例方式
本发明的TUXEDO前后台数据交换类包括标准化的EIBuffer(前后台数据缓冲类)信息组织方式和EITranslate(前后台数据传输类)信息转换组件。
1.EIBuffer(前后台数据缓冲类)类EIBuffer封装了系统间交换数据的格式,提供了程序间交换数据的一种机制、一种语言、一种标准,是系统运作的基础。
EIBuffer是系统程序间交换数据的标准形式,包括前台和后台交换数据,后台程序间交换数据。如图1所示它由sysBlock(系统信息缓冲块)、edBlock(数据分发配置信息缓冲块)、iBlocks(应用数据缓冲块)三部分组成。
如图2所示所述的应用数据缓冲块(iBlock)由三部分信息组成第一部分是单个块的控制区,包括块号(块在iBlocks中所处的序号),块名(用来识别此块的名称),块内数据的行数和列数。
第二部分是块的信息区,记录标志各列数据的列中文名和英文名。
第二部分是块的数据区,实际存放包含数据的二维数组。
iBlock实现上采用动态内存分配方式EIBuffer类生成初始,iBlock中分配了指定大小的数据缓冲空间,随着开发人员不断向iBlock中追加数据,当原先分配的空间大小无法满足数据的存储时,iBlock会自动再申请一块指定大小的新的数据缓冲区,如此往复,直至数据完全存储完毕。
iBlock操作上实现完全的按名存取,开发人员不需要关心数据在iBlock中的具体存放位置,只需要指定要操作的列名信息,iBlock会自动地对应到相应列的物理存放位置。如图3所示,调用EIBuffer类的SetColVal(1,“order_no”,I900012345)接口函数,该类会自动计算出指定行中“order_no”列所占据的存储位置,将数据存储在该位置。
EIBuffer信息组织方式和EITranslate信息转换组件iBlocks由iBlock组成。开发人员可以根据业务需要组织多个iBlock,目前版本支持动态使用多达64个iBlock。iBlocks使用上提供按块号和块名两种存取方式。
sysBlock记录系统控制信息,包括标志位(供开发人员记录运行结果的标志)、运行信息,SQLCODE代码、当前使用的用户名、使用机器的地址、机器的名称等一系列信息。
edBlock负责同数据分发配置中心交换信息,记录要调用的服务名、调用链路上的函数信息等信息。
2.EITranslate(前后台数据传输类)信息转化组件EITranslate目前提供基于TUXEDO的FML32(TUXEDO提供的底层前后端数据传输方式)传递方式。
EITransalate包括写入TUXEDO的接口和从TUXEDO中读取的接口。
写入接口将开发人员需要的sysBlock,iBlocks中的信息按照TUXEDO的FML32格式压入TUXEDO的BUFFER(数据传输区域)。在压入前EITranslate会根据数据量自动计算出TUXEDO的BUFFER所需大小,同时自动地将格式转换成FML32所需的格式。
读取接口将TUXEDO的FML32 BUFFER的内容解析到EIBuffer中,根据TUXEDO BUFFER的内容构造iBlocks内容。
如图4所示,前台程序ProgramA通过EIBuffer类将需传送至后台的数据缓存起来,并使用EITranslate类将其解析成TUXEDO的FML32数据格式,由TUXEDO传送至服务端,再以相反的形式将数据解析、提取到后台的EIBuffer类中,由服务端程序ProgramB使用。该过程是自动的,透明的。
权利要求
1.一种TUXEDO前后台数据交换类,其特征在于,包括前后台数据缓冲类及前后台数据传输类,所述的前后台数据缓冲类由系统信息缓冲块、数据分发配置信息缓冲块、应用数据缓冲块三部分组成所述的应用数据缓冲块由三部分信息组成第一部分是单个块的控制区,包括块号、块名、块内数据的行数和列数;第二部分是块的信息区,记录标志各列数据的列中文名和英文名。第二部分是块的数据区,实际存放包含数据的二维数组。所述的系统信息缓冲块记录系统控制信息;所述的数据分发配置信息缓冲块负责同数据分发配置中心交换信息,记录要调用的服务名、调用链路上的函数信息等信息;所述的前后台数据传输类包括写入接口和读取接口;所述的写入接口将开发人员需要的系统信息缓冲块、应用数据缓冲块中的信息按照一定的格式压入TUXEDO的数据传输区域,在压入前前后台数据传输类会根据数据量自动计算出TUXEDO的数据传输区域所需大小,同时自动地将格式转换成所需的格式;所述的读取接口将TUXEDO的数据传输区域的内容解析到前后台数据缓冲类中,根据TUXEDO数据传输区域的内容构造应用数据缓冲块内容。
2.根据权利要求1所述的TUXEDO前后台数据交换类,其特征在于,所述的应用数据缓冲块采用动态内存分配方式。
3.根据权利要求2所述的TUXEDO前后台数据交换类,其特征在于,所述的动态内存分配方式为前后台数据缓冲类生成初始,应用数据缓冲块中分配了指定大小的数据缓冲空间,随着开发人员不断向应用数据缓冲块中追加数据,当原先分配的空间大小无法满足数据的存储时,应用数据缓冲块会自动再申请一块指定大小的新的数据缓冲区,如此往复,直至数据完全存储完毕。
4.根据权利要求1所述的TUXEDO前后台数据交换类,其特征在于,所述的应用数据缓冲块的数据存取采用按名存取。
5.根据权利要求1所述的TUXEDO前后台数据交换类,其特征在于,所述的应用数据缓冲块可以按需要组织多个。
6.根据权利要求1所述的TUXEDO前后台数据交换类,其特征在于,所述的系统控制信息包括标志位、运行信息、SQLCODE代码、当前使用的用户名、使用机器的地址、机器的名称等一系列信息。
7.根据权利要求1所述的TUXEDO前后台数据交换类,其特征在于,所述的格式为FML32。
8.一种TUXEDO前后台数据交换类的数据交换方法,其特征在于,包括如下步骤前台程序通过前后台数据缓冲类将需传送至后台的数据缓存起来,并使用前后台数据传输类将其解析成TUXEDO的FML32数据格式,由TUXEDO传送至服务端,再以相反的形式将数据解析、提取到后台的数据缓冲类中,由服务端程序使用。
全文摘要
本发明提供一种TUXEDO数据交换类及其数据交换方法,其数据交换方法,其包括如下步骤前台程序通过前后台数据缓冲类将需传送至后台的数据缓存起来,并使用前后台数据传输类将其解析成TUXEDO的FML32数据格式,由TUXEDO传送至服务端,再以相反的形式将数据解析、提取到后台的数据缓冲类中,由服务端程序使用。该方法在前后台间以类的方式组织数据、以类的方式通过TUXEDO中间件交换数据,通过该类的接口函数,编程人员可以方便地进行前后台的数据传输,而无须了解TUXEDO内部复杂、不易操作的数据交换机制。
文档编号H04L29/06GK1674578SQ200410066869
公开日2005年9月28日 申请日期2004年9月29日 优先权日2004年9月29日
发明者胡兵, 陈晓东 申请人:上海宝信软件股份有限公司