专利名称:记录企业信息系统的服务交互数据的方法和系统的利记博彩app
技术领域:
本发明涉及软件的开发和测试,尤其涉及为了软件的开发和测试而在基于服务架 构的系统中进行服务记录的方法和系统。
背景技术:
随着计算机技术的发展,企业对企业(B2B)的应用和企业信息化应用成为了计算 机技术的重要应用。图1示出了已有技术中的B2B企业服务系统的方框图。该图示出了已 有技术中使用企业信息系统(Enterprise Information System)的典型的运营环境。其 中,服务程序(如信用卡申请流程的业务程序)运行在整合服务器(IntegrationServer) 10 上。整合服务器10接收来自一网点用户业务(例如,一银行营业网点)的一服务请求(例 如,为申请人A提出的申请信用卡的请求)。响应于该服务请求,整合服务器10上的信用卡 申请流程,通过连接器向企业信息系统40发出获取信息请求,要求获取特定申请人的帐户 信息。该获取信息请求可以包括企业信息系统40的IP地址,端口号,数据库名称,表的名 称,记录索引号等等。整合服务器10将处理后的获取信息请求发送给连接单元(connectivity component) 20。连接单元20将该获取信息请求转换成企业信息系统40可以接受的格式, 并以企业信息系统40可以接受的协议,发送转换后的请求给企业信息系统40。企业信息系 统10处理该转换后的请求,将相应的响应(如客户帐户信息)返回给连接单元20。连接 单元20将该响应(如客户帐户信息)转换成整合服务器10可以识别的格式,发送给整合 服务器10。整合服务器10将该响应中的信息(如帐户信息)传递给运行在其上的业务流 程。如图1所示,在面向服务(S0A)的商业整合项目中,经常需要使用连接单元,通过 Web Service, JMS, JCA等协议,与企业信息系统交互(EIS)。企业信息系统包括各种ERP系 统,CRM系统,数据库等等。在项目的设计,开发和测试阶段,需要频繁的使用企业信息系统。 但是,商业用户的企业信息系统是核心业务的运行环境(如银行的数据库等),在投入运营 后,通常不可以作为开发项目的环境。在这种情况下,已有的解决方案包括(1)配置一个新的类型的企业信息系统(如图1中所示的模拟企业信息系统35), 作为开发使用。但由于企业信息系统的复杂性,配置和维护通常需要花费大量的人力物力。(2)使用整合服务器的连接模拟器。这种方法是实质是,使用连接模拟器来模拟整 个连接组件和企业信息系统。在项目的实际应用中,有很大的风险,因为在开发阶段无法判 定连接单元和企业信息系统的交互是否正常。另外,在项目和系统的维护阶段,当用户发现业务流程出问题的时候,通常的方案 是将详细日志文件传给技术支持部门。在某些情况下,技术支持部门仅仅依靠日志,不能准 确地分析发生的问题,而需要在实验室环境中重现。在这种情况下,如果企业信息系统非常 复杂(例如包括大量的业务数据和复杂的业务流程),重现用户的问题就会变得异常困难。
发明内容
鉴于已有技术的不足,本发明提供了一种记录基于Java的企业信息系统的服务 交互数据的方法,包括接收一服务请求,所述服务请求的目的地址为所述企业信息系统的 地址;记录所述服务请求中到所述企业信息系统的应用程序接口信息,以便形成服务请求 记录;响应于所述服务请求,调用所述企业信息系统本地Java桩文件的模拟应用程序接 口,其中企业信息系统本地Java桩文件的所述模拟应用程序接口调用所述企业信息系统 本地Java桩文件的应用程序接口 ;接收来自所述企业信息系统本地Java桩文件的应用程 序接口的服务响应;记录所述服务响应中来自所述企业信息系统的应用程序接口信息,以 便形成服务响应记录,并将所述服务响应记录与所述服务请求记录相联系;以及发送所述 服务响应中的应用程序接口信息。本发明还提供了一种生成企业信息系统访问记录系统的方法,包括获取连接单 元用来连接企业信息系统的基于Java的连接器文件,所述连接器文件包括用于调用企业 信息系统本地Java桩文件的连接器应用程序接口 ;获取所述企业信息系统的本地Java桩 文件;分析用来连接企业信息系统的连接器文件和所述企业信息系统的本地Java桩文件 之间的调用关系;根据所述调用关系,生成企业信息系统本地Java桩文件的模拟应用程序 接口 ;以及插入用于保存记录系统的输入输出的代码。本发明还提供了一种记录基于Java的企业信息系统的服务交互数据的系统,包 括服务请求接收装置,用于接收一服务请求,所述服务请求的目的地址为所述企业信息 系统的地址;服务请求记录装置,用于记录所述服务请求中到所述企业信息系统的应用程 序接口信息,以便形成服务请求记录;模拟应用程序接口调用装置,其响应于所述服务请 求,调用所述企业信息系统本地Java桩文件的模拟应用程序接口,其中企业信息系统本地 Java桩文件的所述模拟应用程序接口调用所述企业信息系统本地Java桩文件的应用程序 接口 ;服务响应接收装置,用于接收来自所述企业信息系统本地Java桩文件的应用程序接 口的服务响应;服务响应记录装置,用于记录所述服务响应中来自所述企业信息系统的应 用程序接口信息,以便形成服务响应记录,并将所述服务响应记录与所述服务请求记录相 联系;以及服务响应发送装置,用于发送所述服务响应中的应用程序接口信息。本发明还提供了一种生成系统,用于生成企业信息系统访问记录系统,所述生成 系统包括连接器文件获取装置,用于获取连接单元用来连接企业信息系统的基于Java的 连接器文件,所述连接器文件包括用于调用企业信息系统本地Java桩文件的连接器应用 程序接口 ;桩文件获取装置,用于获取所述企业信息系统的本地Java桩文件;分析装置,用 于分析用来连接企业信息系统的连接器文件和所述企业信息系统的本地Java桩文件之间 的调用关系;模拟应用程序接口生成装置,用于根据所述调用关系,生成企业信息系统本地 Java桩文件的模拟应用程序接口 ;以及输入输出代码插入装置,用于插入保存访问记录的 输入输出代码。根据本发明的实施例的企业信息系统记录系统与模拟方法,记录和模拟连接单元 与企业信息系统之间的一系列的特定交互,即请求与响应。适用于针对运营环境中的软件 进行开发、测试或纠错等等。
图1示出了已有技术中的B2B企业服务系统的方框图。图2示出了根据本发明一实施例的服务系统的流程图。图3示出了根据本发明另一实施例的记录系统的流程图。图4示出了根据本发明另一实施例的用于生成记录系统的流程图。图5示出了根据本发明一实施例的记录系统方框图。图6示出了根据本发明一实施例的记录系统的生成系统的方框图。
具体实施例方式以下参照按照本发明实施例的方法、装置描述本发明。其中,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计 算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器, 从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生 实现流程图和/或框图中的方框中规定的功能/操作的装置(means)。也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置 以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包 括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means) 的制造品。还可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计 算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而 在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定 的功能/操作的过程。图2示出了根据本发明一实施例的服务系统的流程图。其中,服务系统包括 整合服务器(Integration Server,简称 IS) 110、连接单元(Connectivity Component, 简称CC) 120、记录系统(RecordingSystem,简称RS) 130和企业信息系统(Enterprise Information System,简称EIS) 140。其中,该企业信息系统是基于Java的,即提供了基于 Java的本地桩文件(即调用接口 )。该连接单元的连接器文件也是基于Java的,即连接单 元的连接器文件也提供了基于Java的本地桩文件(即调用接口)。在Java运行时环境中,对于任意一个类,可以知道这个类有哪些属性和方法。对 于任意一个对象,可以调用它的方法。Java语言的反射机制(reflection mechanism)提供 了这种动态获取类的信息,以及动态调用对象的方法的功能。Java语言的反射机制主要提 供了以下功能在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象; 在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法; 以及生成动态代理等等。运行在整合服务器110上的信用卡申请流程,要求获取特定用户的帐户信息。该 特定用户的帐户信息一般存储在企业信息系统140中。因此,整合服务器110将通过连接 单元120调用企业信息系统140。在步骤S210,整合服务器110将要求获取特定用户的帐 户信息的请求发送给连接单元120,该请求可以包括EIS服务器地址、认证信息、需要查询 的用户帐户号和用户名等。
连接单元120获得该请求之后,在步骤S220,将其转换成企业信息系统140可以 接受的格式,并以企业信息系统140可以接受的协议,发送转换后的请求给企业信息系统 140。根据本发明的该实施例,连接单元120并不需要了解记录系统130的存在,亦即,连接 单元120不需要由于记录系统130的加入而进行调整。连接单元120以通常工作的方式, 将转换后的请求发送给企业信息系统140。记录系统130连接在连接单元120和企业信息系统140之间,用于记录基于Java 企业信息系统的服务交互数据。在上述步骤S220,记录系统接收来自连接单元120的服 务请求,所述服务请求的目的地址为所述企业信息系统的地址。在步骤S230,记录系统130 得到转换后的请求的信息后,将请求信息完整的保存在记录库(图中未示出)里面;并将相 应的请求转发给企业信息系统140。在步骤S240,企业信息系统140处理该相应的请求,将相应的客户帐户信息返回 给连接单元。根据本发明的该实施例,企业信息系统140也并不需要了解记录系统130的 存在,亦即,企业信息系统140不需要由于记录系统130的加入而进行调整。企业信息系统 140仍采用通常的工作方式接收相应的请求,进行处理后,以连接单元为接收方发送响应。 该响应包括客户帐户的需要返回的信息,例如帐户名称、申请人性别、申请人年龄、开户日 期、当前存款数额、当前贷款情况和/或信用等级等等。记录系统130连接在连接单元120和企业信息系统140之间,因此,将收到企业信 息系统140发给连接单元120的响应。在步骤S250,记录系统130接收企业信息系统140 的响应,将响应信息(包括返回的客户帐户信息)完整的保存在记录库(图中未示出)里 面,并和前述请求信息联系起来;然后,记录系统130将企业信息系统140的返回数据转发 给连接单元。在步骤S260,连接单元120将客户帐户信息转换成整合服务器110可以识别的格 式,发送给整合服务器110。整合服务器110将该帐户信息传递给运行在其上的业务流程。图3示出了根据本发明另一实施例的记录系统的流程图。在步骤S310,接收一服 务请求,所述服务请求的目的地址可以为所述企业信息系统的地址。该服务请求可以是如 上文所述来自于基于Java的连接单元的服务请求。在步骤S320,记录所述服务请求中到所 述企业信息系统的应用程序接口(Application Programming Interface,简称API)信息, 以便形成服务请求记录。在步骤S330,响应于所述服务请求,调用所述企业信息系统本地Java桩文件的模 拟应用程序接口,其中企业信息系统本地Java桩文件的所述模拟应用程序接口调用所述 企业信息系统本地Java桩文件的应用程序接口。其中,该企业信息系统是基于Java的。其 中,可以根据所述连接单元的应用程序接口和所述企业信息系统的本地桩文件的应用程序 接口之间的调用关系,响应于所述服务请求而调用企业信息系统本地Java桩文件的模拟 应用程序接口。所述企业信息系统本地Java桩文件的所述模拟应用程序接口,通过Java 反射机制来调用所述企业信息系统本地Java桩文件的应用程序接口。其中,可以分析用来连接企业信息系统的连接单元的连接器文件和所述企业信息 系统的本地Java桩文件之间的调用关系,以便自动生成企业信息系统本地Java桩文件的 模拟应用程序接口。这种情况下可以利用Java反射机制,使得所述企业信息系统本地Java 桩文件的所述模拟应用程序接口,调用所述企业信息系统本地Java桩文件的应用程序接口。其中,所述企业信息系统本地Java桩文件的所述模拟应用程序接口的类名、方法名、参数可以与所述企业信息系统本地Java桩文件的应用程序接口的类名、方法名、参数相同。其中,所述企业信息系统本地Java桩文件的应用程序接口用于调用企业信息系 统的服务或功能模块。所述企业信息系统本地Java桩文件的模拟应用程序接口通过调用 所述企业信息系统本地Java桩文件的应用程序接口,来调用所述企业信息系统的的服务 或功能模块。在步骤S340,接收来自所述企业信息系统本地Java桩文件的应用程序接口的服 务响应。所述服务响应的源地址可以标识为所述企业信息系统的地址。在步骤S350,记录所述服务响应中来自所述企业信息系统的应用程序接口信息, 以便形成服务响应记录,并将所述服务响应记录与所述服务请求记录相联系。在步骤S360,发送所述服务响应中的应用程序接口信息。其中,所述服务请求可 以来自一连接单元,并且可以将所述服务响应中的应用程序接口信息作为企业信息系统本 地Java桩文件的模拟应用程序接口的服务响应信息发送给所述连接单元。本领域的技术 人员可以理解,上述步骤310至350可以构成完整的记录基于Java的企业信息系统的服务 交互数据的方法。步骤360本身并非记录方法所必需。在步骤350之后的发送过程,在实 际实施中完全可以采用不同的多种处理方法。例如,对响应进行适当的处理后再进行发送。根据本发明上述实施例的方法,尤其适用于在运营环境中记录企业信息系统的服 务交互数据。其中,保存记录系统输入输出的代码,可以用于接收来自连接单元的服务请 求,并记录所述服务请求中的应用程序接口信息,以便形成服务请求记录。保存记录系统输 入输出的代码,还可以用于记录所述服务响应中的应用程序接口信息,以便形成服务响应 记录,并将所述服务响应记录与所述服务请求记录相联系。图4示出了根据本发明另一实施例的用于生成企业信息系统访问记录系统的流 程图。在步骤S410,获取连接单元用来连接企业信息系统的基于Java的连接器文件,所述 连接器文件包括用于调用企业信息系统本地Java桩文件的连接器应用程序接口。其中,该 企业信息系统是基于Java的。在步骤S420,获取企业信息系统的本地Java桩文件。企业信息系统的本地Java 桩文件,用于定义调用企业信息系统的服务的方式、交互的数据类型等,通常是jar包形式 的一组java程序。在步骤S430,分析用来连接企业信息系统的连接器程序文件和企业信息系统的本 地Java桩文件之间的调用关系。例如,连接器程序文件调用了哪些企业信息系统本地Java 桩文件的应用程序接口,以及如何调用的这些应用程序接口。在步骤S440,根据所述调用关系,生成企业信息系统本地Java桩文件的模拟应用 程序接口。可以通过生成类名、方法名、参数完全一样的模拟应用程序接口,来模拟被连接 器文件调用的企业信息系统本地Java桩文件的应用程序接口。但是,模拟应用程序接口功 能的程序算法实现与被模拟的应用程序接口不一样。换言之,模拟应用程序接口包括应用 程序接口的调用关系,但是不包括功能的程序算法实现。该模拟应用程序接口功能的程序 算法实现,将通过调用企业信息系统本地桩文件的应用程序接口来完成。其中,可以分析用来连接企业信息系统的连接单元的连接器文件和所述企业信息 系统的本地Java桩文件之间的调用关系,以便自动生成企业信息系统本地Java桩文件的模拟应用程序接口。该自动生成是指对于需要生成访问记录的企业信息系统,可以根据分析来自动生成上述模拟应用程序接口,以便自动生成企业信息系统的访问记录系统。这种 情况下可以利用Java反射机制,使得所述企业信息系统本地Java桩文件的所述模拟应用 程序接口,调用所述企业信息系统本地Java桩文件的应用程序接口。其中,在模拟应用程序接口的实现中,通过本领域熟知的Java反射机制来调用企 业信息系统本地Java桩文件应用程序接口,可以进一步包括通过Java Class Loader (如 当前通用的Java类装载器)来导入企业信息系统的本地Java桩文件;通过Java反射机制 来找到需要调用的类,并且实例化所述需要调用的类;通过Java反射机制来找到需要调用 的类的方法;以及通过Java反射机制来调用所述需要调用的类的方法。例如,对于检索帐户的例子中,在模拟应用程序接口的实现中,调用真实的企业信 息系统本地Java桩文件应用程序接口。可以通过Java Class Loader来导入企业信息系 统,如帐户数据库的本地Java桩文件。通过Java反射机制来找到需要调用的类,如检索帐 户信息相关的类,并且实例化这个类。通过Java反射机制来找到需要调用的类的方法,如 检索帐户信息需要的调用的方法名。然后,通过Java反射机制来调用这个方法,如检索帐 户信息的方法。在程序的运行状态中,Java反射机制可以通过一组API,取得任何一个已知名称 的类的内部信息,包括类的所有属性和方法等。其中,可以通过Java Class Loader来导入企业信息系统的本地Java桩文件通常 是一组Java类,以及企业信息系统调用者连接器文件的Java程序。通过Java反射机制来 分析所述连接器文件的Java程序,来找到需要调用的企业信息系统的本地Java桩文件的 类,并且实例化所述需要调用的这个类。然后,通过Java反射机制分析调用者与被调用者, 从而确定两者通过哪个Java类来交互,然后实例化这个用来交互的Java类。并且,通过 Java反射机制来调用所述需要调用的类的方法。对Java方法的操作过程,和Java类很类 似。可以通过Java反射机制来分析企业信息系统调用者的Java程序,来找到需要调用的 企业信息系统的本地Java桩文件的类的方法,并且调用这个方法。根据本发明的进一步实施例,在模拟应用程序接口的实现中,可以调用企业信息 系统本地桩文件的应用程序接口。并且,可以把企业信息系统本地Java桩文件的应用程序 接口的返回作为模拟应用程序接口的返回。在步骤S450,插入用于保存记录系统的输入输出的代码,并生成完整的记录系统。 在模拟应用程序接口的实现中,调用企业信息系统本地桩文件应用程序接口。因此,可以把 企业信息系统本地桩文件应用程序接口返回的服务响应信息数据,作为模拟应用程序接口 的返回数据。保存记录系统输入输出的代码,可以用于接收来自连接单元的服务请求,并记 录所述服务请求中的应用程序接口信息,以便形成服务请求记录。保存记录系统输入输出 的代码,还可以用于记录所述服务响应中的应用程序接口信息,以便形成服务响应记录,并 将所述服务响应记录与所述服务请求记录相联系。本领域的技术人员可以理解,上述生成的企业信息系统访问记录系统,也可以实 现为记录系统程序。相应地,上述方法可以实现为生成企业信息系统访问记录系统程序的 方法。图5示出了根据本发明一实施例的记录系统方框图。其中示出了一种记录基于Java的企业信息系统的服务交互数据的系统500。该系统500包括以下多个装置。服务 请求接收装置510,用于接收一服务请求,所述服务请求的目的地址为所述企业信息系统的 地址。服务请求记录装置520,用于记录所述服务请求中到所述企业信息系统的应用程序 接口信息,以便形成服务请求记录。模拟应用程序接口调用装置530,其响应于所述服务请 求,调用所述企业信息系统本地Java桩文件的模拟应用程序接口,其中企业信息系统本地 Java桩文件的所述模拟应用程序接口调用所述企业信息系统本地Java桩文件的应用程序 接口。服务响应接收装置540,用于接收来自所述企业信息系统本地Java桩文件的应用程 序接口的服务响应。服务响应记录装置550,用于记录所述服务响应中来自所述企业信息系 统的应用程序接口信息,以便形成服务响应记录,并将所述服务响应记录与所述服务请求 记录相联系。服务响应发送装置560,用于发送所述服务响应中的应用程序接口信息。其中,所述服务请求可以来自一基于Java的连接单元,并且服务响应发送装置 560可以进一步配置为,将所述服务响应中的应用程序接口信息作为企业信息系统本地 Java桩文件的模拟应用程序接口的服务响应信息发送给所述连接单元。其中,模拟应用程序接口调用装置530可以进一步配置为,根据所述连接单元的 应用程序接口和所述企业信息系统的本地桩文件的应用程序接口之间的调用关系,响应于 所述服务请求而调用企业信息系统本地Java桩文件的模拟应用程序接口;其中,所述企业 信息系统本地Java桩文件的所述模拟应用程序接口,通过Java反射机制来调用所述企业 信息系统本地Java桩文件的应用程序接口。其中,所述企业信息系统本地Java桩文件的所述模拟应用程序接口的类名、方法 名、参数可以与所述企业信息系统本地Java桩文件的应用程序接口的类名、方法名、参数 相同。其中,所述企业信息系统本地Java桩文件的应用程序接口可以用于调用企业信 息系统的服务或功能模块;所述企业信息系统本地Java桩文件的模拟应用程序接口可以 通过调用所述企业信息系统本地Java桩文件的应用程序接口,来调用所述企业信息系统 的的服务或功能模块。图6示出了根据本发明一实施例的记录系统的生成系统的方框图。其中示出了一 种生成系统600,用于生成企业信息系统访问记录系统。该系统600包括以下多个装置。连 接器文件获取装置610,用于获取连接单元用来连接企业信息系统的基于Java的连接器文 件,所述连接器文件包括用于调用企业信息系统本地Java桩文件的连接器应用程序接口 ; 桩文件获取装置620,用于获取所述企业信息系统的本地Java桩文件。分析装置630,用于 分析用来连接企业信息系统的连接器文件和所述企业信息系统的本地Java桩文件之间的 调用关系。模拟应用程序接口生成装置640,用于根据所述调用关系,生成企业信息系统本 地Java桩文件的模拟应用程序接口。以及,输入输出代码插入装置650,用于插入保存访问 记录的输入输出代码。其中,模拟应用程序接口生成装置640可以进一步配置为,使用与企业信息系统 本地Java桩文件的应用程序接口相同的类名、方法名和参数,来自动生成的企业信息系统 本地Java桩文件的模拟应用程序接口。其中,模拟应用程序接口生成装置还可以进一步配置为,在所述模拟应用程序接 口的实现中,通过Java反射机制来调用企业信息系统本地Java桩文件的应用程序接口 ;并且把企业信息系统本地Java桩文件的应用程序接口的返回作为模拟应用程序接口的返回。其中,在模拟应用程序接口的实现中,通过Java反射机制来调用企业信息系统本 地Java桩文件应用程序接口,可以进一步包括通过Java Class Loader来导入企业信息 系统的本地Java桩文件;通过Java反射机制来找到需要调用的类,并且实例化所述需要调 用的类;通过Java反射机制来找到需要调用的类的方法;以及通过Java反射机制来调用 所述需要调用的类的方法。
根据本发明的一实施例,根据企业信息系统的服务交互数据的记录可以生成,可 以生成企业信息系统模拟器。企业信息系统记录系统与模拟器的方法可以在面向服务的整合项目的开发,测试 和维护中使用。根据本发明的一实施例对与企业信息系统相关的模拟方法进行了改进。下 文描述了使用的基本流程。第一步,使用一种生成系统,用于生成企业信息系统访问记录系统。例如,可以生 成特定的企业信息系统记录系统程序。生成企业信息系统访问记录系统的生成系统,可以 是基于Java的工具,它针对连接单元和企业信息系统本地Java桩文件作静态分析。举例 来说,如果使用一JCA SAP资源适配器作为连接单元,连接到作为企业信息系统的一SAP R3 系统。可以使用该连接单元的本地Java桩文件和SAP R3系统本地Java桩文件作为输入, 使用生成企业信息系统访问记录系统程序的方法,生成特定的SAP R3系统的记录系统。第二步,使用生成的SAP R3系统的记录系统,利用记录基于Java的企业信息系统 的服务交互数据的方法,记录SAP R3系统的服务交互数据。记录系统在运行时,截获连接 单元与企业信息系统本地包之间的API请求,并转发请求到真实的企业信息系统,转发响 应到相应的连接单元。在这个过程中,记录系统将记录所有的输入输出信息。在请求完成 后,记录系统基于保存下来的信息,生成特定的模拟器。这个模拟器可以模拟所记录下来的 企业信息系统对于特定请求的响应。例如,收到已知的一请求,使用记录下来的特定响应进 行回应。第三步,第二步生成的模拟器,可以在项目的开发和维护阶段使用。它能真实地模 拟企业信息系统对于特定请求的响应。比如模拟SAP R3系统,响应对帐户业务数据的检索。例如,一个企业打算基于企业服务总线来实现一个帐户管理系统。这个管理系统 中,需要一个创建帐户的业务流程,需要和SAP S3系统交互。但由于SAP S3系统是企业的 核心系统,所以在项目开发过程中,不能长时间的连接这个系统,仅仅能够利用系统维护的 一个小时时间内做一些工作。遇到这种情况,已有技术通常的解决方法是搭建一个新的类 似的SAP S3系统作为开发使用,但需要花费大量的人力物力。在这种情况下,根据本发明 一实施例的方案是使用企业信息系统记录系统与模拟器。根据上述的三个步骤,可以利用 一个小时的系统维护时间,创建SAP R3系统的模拟器。这个模拟器完全的模拟了 SAP S3 系统在创建帐户过程中的行为。在项目开发过程中,可以使用这个模拟器去整合整个业务 流程,而不需要真正的连接SAPR3系统。以后,当项目上线运行以后,如果管理员发现,在一些特殊情况下,创建帐户的业 务流程出现了一些问题不能正常完成。管理员先把日志文件传给技术支持部门。技术支持 部门分析了日志,发现这个问题比较复杂,需要重现一下去定位错误的来源。在这个情况 下,技术支持部门发现重现这个问题非常困难,因为用户的SAP R3系统相当复杂。
在这种情况下,根据本发明一实施例的企业信息系统记录系统与模拟器方案,可 以发挥很大的作用。技术支持部门可以把“SAP R3系统记录系统”发送给管理员,并要求管 理员使用记录系统,重新运行一下这个业务流程。当流程结束以后,记录系统会记录SAP R3 系统的服务交互数据。根据服务交互数据,可以生成SAP R3系统的模拟器。这个模拟器记 录了在这个错误业务流程中,SAP R3系统的所有行为。当管理员将这个模拟器传给技术支 持部门后,技术支持部门就可以确切的重现这个问题,从而节省了大量的时间。根据本发明的一实施例,整合服务器可以是WebSphere ProcessServer, WebSphere Enterprise Service Bus、 WebSphere Message Broker、 WebSphere Application Server 等等。连接单7Π可以是 Web Service, JavaMessage Service, JCA 配器等等。模拟器可以用于模拟基于Java的企业信息系统,例如SAP R3系统,BAPI接口, CUSTOMER 业务组件的相关操作;或 Siebel,v7. 8 系统,Business Ob ject 接口,Account 业 务组件的相关操作。这样,在以后的项目开发和测试中,企业信息系统模拟器就可以用来替 代并模拟真实的企业信息系统的行为,从而加快项目的进程并节省资源。在项目的维护中, 当用户发现整合系统的问题时,也可以使用企业信息系统记录系统创建特定的企业信息系 统模拟器并发送给技术支持部门。技术支持部门使用模拟器就可以非常快速高效的重现这 个问题。根据本发明实施例的企业信息系统记录系统与模拟器方法,并不模拟整个复杂的企业信息系统,而是记录和模拟连接单元与企业信息系统之间的一系列的特定交互,即请 求与响应。企业信息系统模拟器不依赖于特定的整合服务器,所以可以保存在模拟器库中, 被其他的整合项目重复使用。本发明还提供了一种存储介质或信号载体,其中包括用于执行根据本发明的方法的指令。附图中的流程图和框图,图示了按照本发明实施例的系统、方法和计算机程序产 品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一 个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于 实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注 的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可 以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意 的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执 行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令 的组合来实现。所属技术领域的技术人员知道,本发明可以体现为系统、方法或计算机程序产品。 因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻 留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的 组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的 计算机程序产品的形式,该介质中包含计算机可用的程序码。可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可 用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线 的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器 (RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁 盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器 件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适 的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后 以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语 境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令 执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机 可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的 数据信号。计算机可用的程序码可以用任何适当的介质传输,包括——但不限于——无线、 电线、光缆、RF等等。用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk, C++之类,还包括常规的过程式程序设计语言——诸如” C”程序设计语言或类似的程序设计 语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独 立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算 机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域 网(LAN)或广域网(WAN)——连接到用户的计算机,或者,可以(例如利用因特网服务提供 商来通过因特网)连接到外部计算机。以上结合优选法方案对本发明进行了详细的描述,但是可以理解,以上实施例仅 用于说明而非限定本发明。本领域的技术人员可以对本发明的所示方案进行修改而不脱离 本发明的范围和精神。
权利要求
一种记录基于Java的企业信息系统的服务交互数据的方法,包括接收一服务请求,所述服务请求的目的地址为所述企业信息系统的地址;记录所述服务请求中到所述企业信息系统的应用程序接口信息,以便形成服务请求记录;响应于所述服务请求,调用所述企业信息系统本地Java桩文件的模拟应用程序接口,其中企业信息系统本地Java桩文件的所述模拟应用程序接口调用所述企业信息系统本地Java桩文件的应用程序接口;以及接收来自所述企业信息系统本地Java桩文件的应用程序接口的服务响应;记录所述服务响应中来自所述企业信息系统的应用程序接口信息,以便形成服务响应记录,并将所述服务响应记录与所述服务请求记录相联系。
2.根据权利要求1所述的方法,其中进一步包括发送所述服务响应中的应用程序接口 信息;其中,所述服务请求来自一基于Java的连接单元,所述方法进一步包括将所述服务 响应中的应用程序接口信息作为企业信息系统本地Java桩文件的模拟应用程序接口的服 务响应信息发送给所述连接单元。
3.根据权利要求2所述的方法,其中,根据所述连接单元的应用程序接口和所述企业 信息系统的本地桩文件的应用程序接口之间的调用关系,响应于所述服务请求而调用企业 信息系统本地Java桩文件的模拟应用程序接口。
4.根据权利要求2所述的方法,其中进一步包括分析用来连接所述企业信息系统的 连接单元的连接器文件和所述企业信息系统的本地Java桩文件之间的调用关系,以便自 动生成所述企业信息系统本地Java桩文件的模拟应用程序接口 ;其中,利用Java反射机 制,使得所述企业信息系统本地Java桩文件的所述模拟应用程序接口,调用所述企业信息 系统本地Java桩文件的应用程序接口。
5.根据权利要求1至4中任一项所述的方法,其中,所述企业信息系统本地Java桩文 件的所述模拟应用程序接口的类名、方法名、参数与所述企业信息系统本地Java桩文件的 应用程序接口的类名、方法名、参数相同。
6.根据权利要求1至4中任一项所述的方法,其中,所述企业信息系统本地Java桩 文件的应用程序接口用于调用企业信息系统的服务或功能模块;所述企业信息系统本地 Java桩文件的模拟应用程序接口通过调用所述企业信息系统本地Java桩文件的应用程序 接口,来调用所述企业信息系统的服务或功能模块。
7.一种生成企业信息系统访问记录系统的方法,包括获取连接单元用来连接企业信息系统的基于Java的连接器文件,所述连接器文件包 括用于调用企业信息系统本地Java桩文件的连接器应用程序接口 ;获取所述企业信息系统的本地Java桩文件;分析用来连接企业信息系统的连接器文件和所述企业信息系统的本地Java桩文件之 间的调用关系;根据所述调用关系,生成企业信息系统本地Java桩文件的模拟应用程序接口 ;以及插入用于保存记录系统的输入输出的代码。
8.根据权利要求7所述的方法,其中,使用与企业信息系统本地Java桩文件的应用程 序接口相同的类名、方法名和参数,来自动生成的企业信息系统本地Java桩文件的模拟应用程序接口。
9.根据权利要求7所述的方法,其中,在所述模拟应用程序接口的实现中,调用企业信 息系统本地桩文件的应用程序接口 ;把企业信息系统本地Java桩文件的应用程序接口的 返回作为模拟应用程序接口的返回。
10.根据权利要求7或8所述的方法,其中,在模拟应用程序接口的实现中,通过Java 反射机制来调用企业信息系统本地Java桩文件应用程序接口。
11.根据权利要求10所述的方法,其中,在模拟应用程序接口的实现中,通过Java反射 机制来调用企业信息系统本地Java桩文件应用程序接口,进一步包括通过Java Class Loader来导入企业信息系统的本地Java桩文件;通过Java反射机制来找到需要调用的类,并且实例化所述需要调用的类;通过Java反射机制来找到需要调用的类的方法;以及通过Java反射机制来调用所述需要调用的类的方法。
12.—种记录基于Java的企业信息系统的服务交互数据的系统,包括服务请求接收装置,用于接收一服务请求,所述服务请求的目的地址为所述企业信息 系统的地址;服务请求记录装置,用于记录所述服务请求中到所述企业信息系统的应用程序接口信 息,以便形成服务请求记录;模拟应用程序接口调用装置,其响应于所述服务请求,调用所述企业信息系统本地 Java桩文件的模拟应用程序接口,其中企业信息系统本地Java桩文件的所述模拟应用程 序接口调用所述企业信息系统本地Java桩文件的应用程序接口 ;服务响应接收装置,用于接收来自所述企业信息系统本地Java桩文件的应用程序接 口的服务响应;服务响应记录装置,用于记录所述服务响应中来自所述企业信息系统的应用程序接口 信息,以便形成服务响应记录,并将所述服务响应记录与所述服务请求记录相联系;以及服务响应发送装置,用于发送所述服务响应中的应用程序接口信息。
13.根据权利要求12所述的系统,其中,所述服务请求来自一基于Java的连接单元,并 且服务响应发送装置进一步配置为,将所述服务响应中的应用程序接口信息作为企业信息 系统本地Java桩文件的模拟应用程序接口的服务响应信息发送给所述连接单元。
14.根据权利要求13所述的系统,其中,模拟应用程序接口调用装置进一步配置为,根 据所述连接单元的应用程序接口和所述企业信息系统的本地桩文件的应用程序接口之间 的调用关系,响应于所述服务请求而调用企业信息系统本地Java桩文件的模拟应用程序 接口;其中,所述企业信息系统本地Java桩文件的所述模拟应用程序接口,通过Java反射 机制来调用所述企业信息系统本地Java桩文件的应用程序接口。
15.根据权利要求12至14中任一项所述的系统,其中,所述企业信息系统本地Java桩 文件的所述模拟应用程序接口的类名、方法名、参数与所述企业信息系统本地Java桩文件 的应用程序接口的类名、方法名、参数相同。
16.根据权利要求12至14中任一项所述的系统,其中,所述企业信息系统本地Java 桩文件的应用程序接口用于调用企业信息系统的服务或功能模块;所述企业信息系统本地 Java桩文件的模拟应用程序接口通过调用所述企业信息系统本地Java桩文件的应用程序接口,来调用所述企业信息系统的服务或功能模块。
17.一种生成系统,用于生成企业信息系统访问记录系统,包括连接器文件获取装置,用于获取连接单元用来连接企业信息系统的基于Java的连接 器文件,所述连接器文件包括用于调用企业信息系统本地Java桩文件的连接器应用程序 接口 ;桩文件获取装置,用于获取所述企业信息系统的本地Java桩文件;分析装置,用于分析用来连接企业信息系统的连接器文件和所述企业信息系统的本地 Java桩文件之间的调用关系;模拟应用程序接口生成装置,用于根据所述调用关系,生成企业信息系统本地Java桩 文件的模拟应用程序接口 ;以及输入输出代码插入装置,用于插入保存访问记录的输入输出代码。
18.根据权利要求17所述的生成系统,其中,模拟应用程序接口生成装置进一步配置 为,使用与企业信息系统本地Java桩文件的应用程序接口相同的类名、方法名和参数,来 自动生成的企业信息系统本地Java桩文件的模拟应用程序接口。
19.根据权利要求17或18所述的生成系统,其中,模拟应用程序接口生成装置进一步 配置为,在所述模拟应用程序接口的实现中,通过Java反射机制来调用企业信息系统本地 Java桩文件的应用程序接口 ;并且把企业信息系统本地Java桩文件的应用程序接口的返 回作为模拟应用程序接口的返回。
20.根据权利要求19所述的生成系统,其中,在模拟应用程序接口的实现中,通过Java 反射机制来调用企业信息系统本地Java桩文件应用程序接口,进一步包括通过Java Class Loader来导入企业信息系统的本地Java桩文件;通过Java反射机制来找到需要调用的类,并且实例化所述需要调用的类;通过Java反射机制来找到需要调用的类的方法;以及通过Java反射机制来调用所述需要调用的类的方法。
全文摘要
本发明提供了一种记录基于Java的企业信息系统的服务交互数据的方法和系统。该方法包括以下步骤。接收一服务请求。记录所述服务请求中到所述企业信息系统的应用程序接口信息,以便形成服务请求记录。响应于所述服务请求,调用所述企业信息系统本地Java桩文件的模拟应用程序接口,其中企业信息系统本地Java桩文件的所述模拟应用程序接口调用所述企业信息系统本地Java桩文件的应用程序接口。接收来自所述企业信息系统本地Java桩文件的应用程序接口的服务响应。形成服务响应记录,并将所述服务响应记录与所述服务请求记录相联系。以及,发送所述服务响应中的应用程序接口信息。
文档编号G06F11/36GK101819551SQ200910126109
公开日2010年9月1日 申请日期2009年2月27日 优先权日2009年2月27日
发明者金千里 申请人:国际商业机器公司