CN101819551A - 记录企业信息系统的服务交互数据的方法和系统 - Google Patents

记录企业信息系统的服务交互数据的方法和系统 Download PDF

Info

Publication number
CN101819551A
CN101819551A CN200910126109A CN200910126109A CN101819551A CN 101819551 A CN101819551 A CN 101819551A CN 200910126109 A CN200910126109 A CN 200910126109A CN 200910126109 A CN200910126109 A CN 200910126109A CN 101819551 A CN101819551 A CN 101819551A
Authority
CN
China
Prior art keywords
information system
enterprise information
java
file
stake
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910126109A
Other languages
English (en)
Other versions
CN101819551B (zh
Inventor
金千里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN 200910126109 priority Critical patent/CN101819551B/zh
Publication of CN101819551A publication Critical patent/CN101819551A/zh
Application granted granted Critical
Publication of CN101819551B publication Critical patent/CN101819551B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了一种记录基于Java的企业信息系统的服务交互数据的方法和系统。该方法包括以下步骤。接收一服务请求。记录所述服务请求中到所述企业信息系统的应用程序接口信息,以便形成服务请求记录。响应于所述服务请求,调用所述企业信息系统本地Java桩文件的模拟应用程序接口,其中企业信息系统本地Java桩文件的所述模拟应用程序接口调用所述企业信息系统本地Java桩文件的应用程序接口。接收来自所述企业信息系统本地Java桩文件的应用程序接口的服务响应。形成服务响应记录,并将所述服务响应记录与所述服务请求记录相联系。以及,发送所述服务响应中的应用程序接口信息。

Description

记录企业信息系统的服务交互数据的方法和系统
技术领域
本发明涉及软件的开发和测试,尤其涉及为了软件的开发和测试而在基于服务架构的系统中进行服务记录的方法和系统。
背景技术
随着计算机技术的发展,企业对企业(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所示,在面向服务(SOA)的商业整合项目中,经常需要使用连接单元,通过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等等。连接单元可以是Web Service,JavaMessage Service,JCA适配器等等。模拟器可以用于模拟基于Java的企业信息系统,例如SAP R3系统,BAPI接口,CUSTOMER业务组件的相关操作;或Siebel,v7.8系统,Business Object接口,Account业务组件的相关操作。这样,在以后的项目开发和测试中,企业信息系统模拟器就可以用来替代并模拟真实的企业信息系统的行为,从而加快项目的进程并节省资源。在项目的维护中,当用户发现整合系统的问题时,也可以使用企业信息系统记录系统创建特定的企业信息系统模拟器并发送给技术支持部门。技术支持部门使用模拟器就可以非常快速高效的重现这个问题。
根据本发明实施例的企业信息系统记录系统与模拟器方法,并不模拟整个复杂的企业信息系统,而是记录和模拟连接单元与企业信息系统之间的一系列的特定交互,即请求与响应。企业信息系统模拟器不依赖于特定的整合服务器,所以可以保存在模拟器库中,被其他的整合项目重复使用。
本发明还提供了一种存储介质或信号载体,其中包括用于执行根据本发明的方法的指令。
附图中的流程图和框图,图示了按照本发明实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属技术领域的技术人员知道,本发明可以体现为系统、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。
可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言——诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
以上结合优选法方案对本发明进行了详细的描述,但是可以理解,以上实施例仅用于说明而非限定本发明。本领域的技术人员可以对本发明的所示方案进行修改而不脱离本发明的范围和精神。

Claims (20)

1.一种记录基于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反射机制来调用所述需要调用的类的方法。
CN 200910126109 2009-02-27 2009-02-27 记录企业信息系统的服务交互数据的方法和系统 Expired - Fee Related CN101819551B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910126109 CN101819551B (zh) 2009-02-27 2009-02-27 记录企业信息系统的服务交互数据的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910126109 CN101819551B (zh) 2009-02-27 2009-02-27 记录企业信息系统的服务交互数据的方法和系统

Publications (2)

Publication Number Publication Date
CN101819551A true CN101819551A (zh) 2010-09-01
CN101819551B CN101819551B (zh) 2013-01-02

Family

ID=42654663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910126109 Expired - Fee Related CN101819551B (zh) 2009-02-27 2009-02-27 记录企业信息系统的服务交互数据的方法和系统

Country Status (1)

Country Link
CN (1) CN101819551B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404350A (zh) * 2010-09-07 2012-04-04 捷达世软件(深圳)有限公司 流程整合服务器及利用其实现系统整合的方法
CN103218295A (zh) * 2013-04-17 2013-07-24 广东电网公司电力科学研究院 Esb消息处理能力的测试方法和系统
CN103577570A (zh) * 2013-10-31 2014-02-12 北京奇虎科技有限公司 一种数据处理中的数据记录方法和系统
CN104580095A (zh) * 2013-10-22 2015-04-29 华为软件技术有限公司 一种获取api资源的方法及装置
CN104699612A (zh) * 2015-03-25 2015-06-10 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和系统
CN105005518A (zh) * 2015-08-24 2015-10-28 上海天旦网络科技发展有限公司 自动聚合冗余系统交易数据的系统及其处理器和方法
CN108418725A (zh) * 2018-01-16 2018-08-17 海尔优家智能科技(北京)有限公司 一种用于网络监控的方法、设备及计算机可读存储介质
CN109902010A (zh) * 2019-02-27 2019-06-18 苏州浪潮智能科技有限公司 一种kvm架构下api测试的方法及系统
CN113485686A (zh) * 2021-07-22 2021-10-08 苏州万戈软件科技有限公司 信息系统程序的生成方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1674551A (zh) * 2004-09-29 2005-09-28 上海宝信软件股份有限公司 网络互连时各终端的数据通信方法
US20060047496A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Method, system and program product for recording and replaying target service interaction data
KR100661856B1 (ko) * 2005-12-20 2006-12-28 성균관대학교산학협력단 에이전트 기반의 서비스 디스커버리 시스템과 서비스디스커버리 방법 및 이를 기록한 기록매체
CN101120323A (zh) * 2005-02-18 2008-02-06 S2技术有限公司 用于测试设备的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060047496A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Method, system and program product for recording and replaying target service interaction data
CN1674551A (zh) * 2004-09-29 2005-09-28 上海宝信软件股份有限公司 网络互连时各终端的数据通信方法
CN101120323A (zh) * 2005-02-18 2008-02-06 S2技术有限公司 用于测试设备的系统和方法
KR100661856B1 (ko) * 2005-12-20 2006-12-28 성균관대학교산학협력단 에이전트 기반의 서비스 디스커버리 시스템과 서비스디스커버리 방법 및 이를 기록한 기록매체

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404350A (zh) * 2010-09-07 2012-04-04 捷达世软件(深圳)有限公司 流程整合服务器及利用其实现系统整合的方法
CN103218295A (zh) * 2013-04-17 2013-07-24 广东电网公司电力科学研究院 Esb消息处理能力的测试方法和系统
CN103218295B (zh) * 2013-04-17 2016-02-24 广东电网公司电力科学研究院 Esb消息处理能力的测试方法和系统
CN104580095A (zh) * 2013-10-22 2015-04-29 华为软件技术有限公司 一种获取api资源的方法及装置
CN103577570A (zh) * 2013-10-31 2014-02-12 北京奇虎科技有限公司 一种数据处理中的数据记录方法和系统
CN103577570B (zh) * 2013-10-31 2017-04-19 北京奇虎科技有限公司 一种数据处理中的数据记录方法和系统
CN104699612A (zh) * 2015-03-25 2015-06-10 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和系统
CN104699612B (zh) * 2015-03-25 2019-05-31 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和系统
CN105005518A (zh) * 2015-08-24 2015-10-28 上海天旦网络科技发展有限公司 自动聚合冗余系统交易数据的系统及其处理器和方法
CN105005518B (zh) * 2015-08-24 2018-12-04 上海天旦网络科技发展有限公司 自动聚合冗余系统交易数据的系统及其处理器和方法
CN108418725A (zh) * 2018-01-16 2018-08-17 海尔优家智能科技(北京)有限公司 一种用于网络监控的方法、设备及计算机可读存储介质
CN109902010A (zh) * 2019-02-27 2019-06-18 苏州浪潮智能科技有限公司 一种kvm架构下api测试的方法及系统
CN113485686A (zh) * 2021-07-22 2021-10-08 苏州万戈软件科技有限公司 信息系统程序的生成方法、装置、电子设备及存储介质
CN113485686B (zh) * 2021-07-22 2023-10-20 苏州万戈软件科技有限公司 信息系统程序的生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN101819551B (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
CN101819551B (zh) 记录企业信息系统的服务交互数据的方法和系统
US11699201B2 (en) System and method for blockchain-based network transitioned by a legal contract
US9396046B2 (en) Graph based data model for API ecosystem insights
Bozkurt et al. Testing web services: A survey
US10846644B2 (en) Cognitive process learning
AU2018360802B2 (en) System and method for a blockchain-based network transitioned by a legal contract
CN108845940A (zh) 一种企业级信息系统自动化功能测试方法和系统
Mumtaz et al. A systematic mapping study on architectural smells detection
Cerny Aspect-oriented challenges in system integration with microservices, SOA and IoT
Nayrolles et al. Improving SOA antipatterns detection in Service Based Systems by mining execution traces
Haselwanter et al. Wsmx: A semantic service oriented middleware for b2b integration
Curty et al. Design of blockchain-based applications using model-driven engineering and low-code/no-code platforms: a structured literature review
Ali et al. Towards requirement change management for global software development using case base reasoning
Di Francescomarino et al. Cluster‐based modularization of processes recovered from web applications
Colombo et al. Industrial experiences with runtime verification of financial transaction systems: lessons learnt and standing challenges
Ntentos et al. Detector-based component model abstraction for microservice-based systems
Bartolini et al. Data flow-based validation of web services compositions: Perspectives and examples
von Detten et al. Reengineering component-based software systems with archimetrix
US10606569B2 (en) Declarative configuration elements
Mguni et al. An Assessment of Maintainability of an Aspect‐Oriented System
Losavio et al. Unified process for domain analysis integrating quality, aspects and goals
Zhang et al. A correlation context‐aware approach for composite service selection
Iacob et al. Quantitative analysis of service-oriented architectures
CN111338935B (zh) 用于联调的方法和系统
CN114398152A (zh) 接口仿真服务调用方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130102

Termination date: 20210227