一种在线服务提供方法、装置及信息系统的制作方法

文档序号:6425705阅读:170来源:国知局
专利名称:一种在线服务提供方法、装置及信息系统的制作方法
技术领域
本发明属于计算机领域,尤其涉及一种在线服务提供方法、装置及信息系统。
背景技术
模型驱动架构(Model Driv en Architecture,MDA)产生式系统能够根据目标系统特征设计出模型,再由该模型产生该目标系统运行时所使用的本地代码,该本地代码是对应于本地环境的可运行的代码。传统的目标系统对外提供在线服务(web service)时,在设计、开发该目标系统时,由该目标系统对应的模型产生一个本地代码,以及产生一个对外接口代码,并将该对外接口代码发布为web service。其中,该对外接口代码是对外部开放的接口代码,主要屏蔽目标系统内部业务的参数,并发布为web service给外部系统调用。由于与目标系统对应的模型可能发生变化,因此传统的目标系统对外提供在线服务(web service)时,当与目标系统对应的模型发生变化后,如果没有及时重新生成一个新的对外接口代码,则发布的webservice仍为原有的对外接口代码,使得变化后的模型与发布的web service不一致,从而导致现有的目标系统提供的在线服务质量差,准确性低,稳定性差等问题,同时由于当每次与目标系统对应的模型发生变化时,均需要重新生成一个新的对外接口代码,从而加大了维护难度以及维护成本。

发明内容
本发明实施例提供了一种在线服务提供方法,旨在解决模型发生改变,而改变后的模型在没有重新产生与改变后的模型对应的对外接口代码时,所导致的改变后的模型与使用原对外接口代码发布得到的web service不一致,使现有的目标系统提供的在线服务质量差,准确性低,稳定性差,从而加大维护难度以及维护成本的问题。本发明实施例是这样实现的,一种在线服务提供方法,所述方法包括下述步骤接收用户通过在线服务引擎发送的调用元数据方法的请求报文,所述请求报文的XML参数包括元数据的名称、元数据方法的名称;根据该请求报文确定用户需要调用的元数据方法,并将请求报文中的XML参数转换为元数据方法的参数对象;将该参数对象转换为响应报文,以使用户根据该响应报文调用元数据方法。本发明实施例的另一目的在于提供一种在线服务提供装置,所述装置包括请求报文接收单元,用于接收用户通过在线服务引擎发送的调用元数据方法的请求报文,所述请求报文的XML参数包括元数据的名称、元数据方法的名称;元数据方法确定单元,用于根据该请求报文确定用户需要调用的元数据方法,并将请求报文中的XML参数转换为元数据方法的参数对象;元数据方法调用单元,用于将该参数对象转换为响应报文,以使用户根据该响应报文调用元数据方法。
本发明实施例的另一目的在于提供一种信息系统,所述信息系统包含上述在线服务提供装置。本发明实施例中,在目标系统的运行期选择需要发布的元数据,并对选择发布的元数据的元信息进行转换,再将转换后的元信息发布至在线服务引擎,以使该在线服务引擎提供在线服务。若虚拟代理服务接收到用户通过在线服务引擎发送的调用元数据方法的请求报文,则将该请求报文的XML参数转换为元数据方法的参数对象,以使用户根据转换后的对象调用元数据方法。由于采用了虚拟代理服务,用户可以直接调用与元数据对应的元数据方法,因此每个元数据都不需要产生一个对外接口代码,即使元数据抽象表示的模型突然改变也能够保证该模型与发布的web service的一致性,减少了维护模型与发布的web service不一致的难度,使目标系统提供的在线服务质量、准确性以及稳定性有了很大的提高,从而减少了维护成本。并且,采用虚拟代理服务器后,可以在目标系统的运行期动
态发布web wervice,使web service的发布更为灵活。


图I是本发明第一实施例提供的在线服务提供方法的流程;图2是本发明第二实施例提供的在线服务提供装置的结构。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例中,虚拟代理服务接收用户发送的调用元数据方法的请求报文后,解析该请求报文,并根据解析结果首先确定用户需要调用的元数据方法所属的元数据,再从该元数据中确定用户调用的元数据方法,最后将报文中的XML参数转换为该元数据方法的参数对象,将该参数对象转换为响应报文,以使用户根据该响应报文调用该元数据方法。本发明实施例提供了一种在线服务提供方法、装置及信息系统。所述方法包括接收用户通过在线服务引擎发送的调用元数据方法的请求报文,所述请求报文的XML参数包括元数据的名称、元数据方法的名称;根据所述请求报文确定用户需要调用的元数据方法,并将请求报文中的XML参数转换为元数据方法的参数对象;将所述参数对象转换为响应报文,以使用户根据所述响应报文调用元数据方法。所述装置包括请求报文接收单元,用于接收用户通过在线服务引擎发送的调用元数据方法的请求报文,所述请求报文的XML参数包括元数据的名称、元数据方法的名称;元数据方法确定单元,用于根据所述请求报文确定用户需要调用的元数据方法,并将请求报文中的XML参数转换为元数据方法的参数对象;元数据方法调用单元,用于将所述参数对象转换为响应报文,以使用户根据所述响应报文调用元数据方法。所述系统包括上述在线服务提供装置的信息系统。本发明实施例中,在目标系统的运行期选择需要发布的元数据,并对选择发布的元数据的元信息进行转换,再将转换后的元信息发布至在线服务引擎,以使该在线服务引擎提供在线服务。若虚拟代理服务接收到用户通过在线服务引擎发送的调用元数据的请求报文,则根据该请求报文对相应的元信息对象进行对象转换,以使用户根据转换后的对象调用元数据。由于采用了虚拟代理服务,用户可以直接调用与元数据对应的元数据方法,因此每个元数据都不需要产生一个对外接口代码,即使元数据抽象表示的模型突然改变也能够保证该模型与发布的web service的一致性,减少了维护模型与发布的web service不一致的难度,使目标系统提供的在线服务质量、准确性以及稳定性有了很大的提高,从而减少了维护成本。并且,采用虚拟代理服务器后,可以在目标系统的运行期动态发布webwervice,使web service的发布更为灵活。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一:图I示出了本发明第一实施例提供的在线服务提供方法流程。在本发明实施例中,MDA产生式系统根据目标系统的特征设计出与该目标系统对应的模型,该模型产生一个 本地代码,并在运行期产生一个虚拟的web service服务,不再产生对外接口代码。其中,在本实施例中,该本地代码为元数据方法。在步骤Sll中,接收用户通过在线服务引擎发送的调用元数据方法的请求报文,该请求报文中的XML参数包括元数据的名称、元数据方法的名称。在本实施例中,用户在web service引擎提供的信息中选择某个元数据对应的元数据方法,其中,元数据主要用于抽象表示业务模型的数据结构和业务方法,该Webservice引擎为提供Web service服务的标准Web service引擎。在用户选中了某个元数据方法后,该web service引擎再向虚拟代理服务发送调用元数据方法的请求的简单对象访问协议(Simple Object Access Protocol, SOAP)报文,在该请求的SOAP报文的XML参数中包括了用户选中的元数据的名称以及在该元数据下的元数据方法的名称等。例如,webservice引擎提供的信息包括元数据的名称以及与元数据对应的元数据方法的名称等,用户根据webservice引擎提供的元数据名称选中一个元数据,由于一个元数据可能对应多个元数据方法,因此用户再根据web service引擎提供的元数据方法的名称,在选中的元数据中选择该元数据对应的一个元数据方法。在用户选择了元数据以及元数据的方法后,webservice引擎再向虚拟代理服务发送调用选中的元数据方法的请求的SOAP报文,该虚拟代理服务接收该SOAP报文。作为本发明的另一个实施例,在接收用户通过在线服务引擎发送的调用元数据方法的请求报文的步骤之前还包括下述步骤选择发布的元数据;对选择发布的元数据的元信息进行转换,并将转换后的元信息发布至在线服务引擎,以使该在线服务引擎提供在线服务。在本发明实施例中,在目标系统的运行期,选择需要发布的元数据,比如目标系统中含有A、B、C、D这4个元数据,但只需要调用A和B这两个元数据的元数据方法来提供在线服务,因此,只选择A和B这两个元数据作为发布的元数据。在选择了需要发布的元数据之后,再将选择发布的元数据的元信息进行转换,需要转换的元信息包括元数据的基本类型、语义以及元数据接口等信息。
其中,将元数据的元信息进行转换的步骤具体为转换元数据的基本类型将元数据的数据类型映射到国际标准XML结构定义(XML Schemas Definition, XSD)的数据类型,将元数据的数据结构转换为XSD。例如将元数据中String转换为XSD的String,将元数据的通用唯一识别码(Universally UniqueIdentifier, UUID)转换为XSD的String等。其中,XSD用来描述了 XML文档的结构,它支持条件可扩展、支持数据类型,且用XML书写。该XSD可以指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的;转换元数据的语义将元数据的方法参数对应的具体对象的语义进行转换或将返回值中的抽象类对象对应的具体对象的语义进行转换。转换元数据的语义时要具体化元信息的抽象情况,将元信息的抽象情况转换为实际对应的类。例如,假设元数据的名称为Voucher,该Voucher含有一个save方法,则元数据Voucher和该元数据Voucher的子类 KdVoucher都有共同的save方法,且Voucher和该Voucher的子类KdVoucher的save参数都是Voucher,但在实际的应用层,该Voucher与具体对象Voucher对应,该KdVoucher与具体对象KdVoucher对应,因此在转换元数据的语义时,是将save参数对应的具体对象Voucher或者KdVoucher的语义进行转换。转换元数据接口将元数据接口转换为Web服务描述语言(Web ServicesDescription Language, WSDL)。该WSDL是一个国际标准,用来描述Web服务和说明如何与Web服务通信的XML语言,将元数据接口转换为WSDL接口能够为用户提供符合国际标准的接口说明。 在本实施例中,将元数据的数据结构转换为XSD,并转换元数据的语义以及将元数据接口转换为WSDL。通过复杂的元信息转换之后,再将转换后的元信息发送给web service引擎,以使该web service引擎将接收的转换后的元信息发布出来,供用户根据该webservice引擎发布的信息选择需要调用的元数据方法。在步骤S12中,根据该请求报文确定用户需要调用的元数据方法,并将请求报文中的XML参数转换为元数据方法的参数对象。请求的SOAP报文的XML参数包含了用户所选择的元数据的名称,该元数据对应的一个元数据方法的名称以及其他参数信息。将请求报文中的XML参数,或者说将有效的XML部分转换为元数据方法的参数对象。虚拟代理服务接收并解析请求的SOAP报文,并根据解析结果判断用户需要调用哪个元数据的元数据方法。通过该SOAP报文包含的元数据名称能够确定用户需要调用哪个元数据,再根据元数据方法的名称在该元数据中确定用户需要调用的元数据方法。在确定了调用的元数据方法后,将XML的参数转换为元数据方法的参数对象,如将XML对象转换为JAVA对象,或者将JAVA对象转换为XML对象。在步骤S13中,将所述参数对象转换为响应报文,以使用户根据所述响应报文调用元数据方法。进一步地,在虚拟代理服务调用了元数据方法后,将返回的对象再转换为SOAP报文,作为响应web service引擎发送的请求SOAP报文的响应SOAP报文,以使用户能够实现调用其选择的元数据方法,在本发明实施例中,该元数据方法也可以理解为目标系统运行时所使用的本地代码。在本发明第一实施例中,在目标系统的运行期选择需要发布的元数据,并对选择发布的元数据的元信息进行转换,再将转换后的元信息发布至在线服务引擎,以使该在线服务引擎提供在线服务。若虚拟代理服务接收到用户通过在线服务引擎发送的调用元数据方法的请求报文,则将该请求报文的XML参数转换为元数据方法的参数对象,以使用户根据转换后的对象调用元数据方法。由于采用了虚拟代理服务,用户可以直接调用与元数据对应的元数据方法,因此每个元数据都不需要产生一个对外接口代码,即使元数据抽象表示的模型突然改变也能够保证该模型与发布的web service的一致性,减少了维护模型与发布的web service不一致的难度,使目标系统提供的在线服务质量、准确性以及稳定性有了很大的提高,从而减少了维护成本。并且,采用虚拟代理服务器后,可以在目标系统的运行期动态发布web wervice,使web service的发布更为灵活。实施例二 :图2示出了本发明第二实施例提供的在线服务提供装置结构,为了便于说明,仅不出了与本发明实施例相关的部分。该在线服务提供装置可以用于通过有线或者无线网络连接服务器的各种信息处 理终端,例如移动电话、口袋计算机(Pocket Personal Computer,PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(Personal Digital Assistant, PDA)等,可以是运行于这些终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些终端中或者运行于这些终端的应用系统中,其中请求报文接收单元21,用于接收用户通过在线服务引擎发送的调用元数据方法的请求报文,该请求报文的XML参数包括元数据的名称、元数据方法的名称。在本实施例中,用户在web service引擎提供的元信息中选择某个元数据对应的元数据方法,并发送调用选择的元数据方法请求给web service引擎,其中,元数据主要用于抽象表示业务模型的数据结构和业务方法。该web service引擎再向虚拟代理服务发送调用元数据方法的请求报文,如请求的SOAP报文,该请求的SOAP报文的XML参数包含了用户所选择的元数据的名称,该元数据对应的一个元数据方法的名称等信息。元数据方法确定单元22,用于根据该请求报文确定用户需要调用的元数据方法,并将请求报文中的XML参数转换为元数据方法的参数对象。在本实施例中,将有效的XML部分转换为元数据方法的参数对象,如将XML对象转换为JAVA对象,或者将JAVA对象转换为XML对象。作为本发明的另一个实施例,该元数据方法确定单元22包括请求报文解析模块221、元数据确定模块222、元数据方法确定模块223以及参数转换模块224。请求报文解析模块221,用于解析该请求报文。元数据确定模块222,用于根据该请求报文包含的元数据名称确定用户调用的元数据方法所属的元数据。元数据方法确定模块223,用于根据该请求报文包含的元数据方法名称,在该元数据中确定用户调用的元数据方法。参数转换模块224,用于将请求报文中的XML参数转换为元数据方法的参数对象。如将XML对象转换为JAVA对象,或者将JAVA对象转换为XML对象。元数据方法调用单元23,用于将该参数对象转换为响应报文,以使用户根据该响应报文调用元数据方法。
在本发明实施例中,虚拟代理服务调用了元数据方法之后,将返回的对象再转换为SOAP报文,作为响应web service引擎发送的请求SOAP报文的响应SOAP报文,以使用户能够实现调用其选择的元数据方法,在本发明实施例中,该元数据方法也可以理解为本地代码。作为本发明的另一个实施例,该在线服务提供装置还包括元数据选择单元24,用于选择发布的元数据。在本发明实施例中,在目标系统的运行期,选择需要发布的元数据,选中的元数据的信息将通过web service发布出来。 元数据信息发布单元25,用于对选择发布的元数据的元信息进行转换,并将转换后的元信息发布至在线服务引擎,以使该在线服务引擎提供在线服务。作为本发明的另一个实施例,该元数据信息发布单元25包括元数据类型转换模块251、元数据语义转换模块252、元数据信息发布模块253。元数据类型转换模块251,用于对元数据的基本类型进行转换。如将元数据的数据类型映射到国际标准XML结构定义(XML Schemas Definition,XSD)的数据类型,例如将元数据中String转换为XSD的String,将元数据的通用唯一识别码(Universally UniqueIdentifier, UUID)转换为 XSD 的 String 等。元数据语义转换模块252,用于对元数据的语义进行转换。如将元数据的方法参数或返回值中的抽象类对象,转换为对应元数据的具体对象。例如元数据Voucher和元数据Voucher的子类KdVoucher都有共同的save方法,元数据的方法参数都是Voucher,但在实际的应用层,该Voucher与具体对象Voucher对应,该KdVoucher与具体对象KdVoucher对应。转换元数据的语义时要具体化这种元信息抽象情况,将其转换为实际对应的类。元数据信息发布模块253,用于将转换后的元信息发布至在线服务引擎,以使该在线服务引擎提供在线服务。作为本发明的另一实施例,该元数据信息发布单元25还包括一个元数据接口转换模块254,用于将元数据接口转换为WSDL。在本发明第二实施例中,元数据信息发布单元25将元数据选择单元24选择的元数据的元信息发布在web service上,元数据方法确定单元22根据请求报文接收单元21接收的请求报文确定用户需要调用的元数据方法之后,元数据方法调用单元23再对相应的参数对象转换为响应报文,以使用户根据该响应报文调用元数据方法。由于采用了虚拟代理服务,因此每个元数据都不需要产生一个对外接口代码,减少了维护模型与发布的webservice不一致的难度,从而减少了维护成本。并且,采用虚拟代理服务器后,可以在目标系统的运行期动态发布web wervice,使web service的发布更为灵活。本发明实施例中,在目标系统的运行期选择需要发布的元数据,并对选择发布的元数据的元信息进行转换,再将转换后的元信息发布至在线服务引擎,以使该在线服务引擎提供在线服务。若虚拟代理服务接收到用户通过在线服务引擎发送的调用元数据方法的请求报文,则将该请求报文的XML参数转换为元数据方法的参数对象,以使用户根据转换后的对象调用元数据方法。由于采用了虚拟代理服务,用户可以直接调用与元数据对应的元数据方法,因此每个元数据都不需要产生一个对外接口代码,即使元数据抽象表示的模型突然改变也能够保证该模型与发布的web service的一致性,减少了维护模型与发布的web service不一致的难度,使目标系统提供的在线服务质量、准确性以及稳定性有了很大的提高,从而减少了维护成本。并且,采用虚拟代理服务器后,可以在目标系统的运行期动态发布web wervice,使web service的发布更为灵活。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精
神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种在线服务提供方法,其特征在于,所述方法包括下述步骤 接收用户通过在线服务引擎发送的调用元数据方法的请求报文,所述请求报文的XML参数包括元数据的名称、元数据方法的名称; 根据所述请求报文确定用户需要调用的元数据方法,并将请求报文中的XML参数转换为元数据方法的参数对象; 将所述参数对象转换为响应报文,以使用户根据所述响应报文调用元数据方法。
2.如权利要求I所述的方法,其特征在于,在所述接收用户通过在线服务引擎发送的调用元数据方法的请求报文的步骤之前还包括下述步骤 选择发布的元数据; 对选择发布的元数据的元信息进行转换,并将转换后的元信息发布至在线服务引擎,以使所述在线服务引擎提供在线服务。
3.如权利要求2所述的方法,其特征在于,所述对选择发布的元数据的元信息进行转换,并将转换后的元信息发布至在线服务引擎,以使所述在线服务引擎提供在线服务的步骤具体为 对元数据的基本类型进行转换; 对元数据的语义进行转换; 将转换后的元信息发布至在线服务引擎,以使所述在线服务引擎提供在线服务。
4.如权利要求I所述的方法,其特征在于,所述根据所述请求报文确定用户需要调用的元数据方法,并将请求报文中的XML参数转换为元数据方法的参数对象的步骤具体为 解析所述请求报文; 根据所述请求报文包含的元数据名称确定用户调用的元数据方法所属的元数据; 根据所述请求报文包含的元数据方法名称,在所述元数据中确定用户调用的元数据方法; 将请求报文中的XML参数转换为元数据方法的参数对象。
5.一种在线服务提供装置,其特征在于,所述装置包括 请求报文接收单元,用于接收用户通过在线服务引擎发送的调用元数据方法的请求报文,所述请求报文的XML参数包括元数据的名称、元数据方法的名称; 元数据方法确定单元,用于根据所述请求报文确定用户需要调用的元数据方法,并将请求报文中的XML参数转换为元数据方法的参数对象; 元数据方法调用单元,用于将所述参数对象转换为响应报文,以使用户根据所述响应报文调用元数据方法。
6.如权利要求5所述的装置,其特征在于,所述装置还包括 元数据选择单元,用于选择发布的元数据; 元数据信息发布单元,用于对选择发布的元数据的元信息进行转换,并将转换后的元信息发布至在线服务引擎,以使所述在线服务引擎提供在线服务。
7.如权利要求6所述的装置,其特征在于,所述元数据信息发布单元包括 元数据类型转换模块,用于对元数据的基本类型进行转换; 元数据语义转换模块,用于对元数据的语义进行转换; 元数据信息发布模块,用于将转换后的元信息发布至在线服务引擎,以使所述在线服务引擎提供在线服务。
8.如权利要求5所述的装置,其特征在于,所述元数据方法确定单元包括 请求报文解析模块,用于解析所述请求报文; 元数据确定模块,用于根据所述请求报文包含的元数据名称确定用户调用的元数据方法所属的元数据; 元数据方法确定模块,用于根据所述请求报文包含的元数据方法名称,在所述元数据中确定用户调用的元数据方法; 参数转换模块,用于将请求报文中的XML参数转换为元数据方法的参数对象。
9.一种信息系统,其特征在于,所述信息系统包含权利要求5至8任一项权利要求所述的在线服务提供装置。
全文摘要
本发明适用于计算机领域,提供了一种在线服务提供方法、装置及系统,所述方法包括下述步骤接收用户通过在线服务引擎发送的调用元数据方法的请求报文,所述请求报文的XML参数包括元数据的名称、元数据方法的名称;根据所述请求报文确定用户需要调用的元数据方法,并将请求报文中的XML参数转换为元数据方法的参数对象;将所述参数对象转换为响应报文,以使用户根据所述响应报文调用元数据方法。本发明实施例采用了虚拟代理服务,因此每个元数据都不需要产生一个对外接口代码,减少了维护模型与发布的web service不一致的难度,从而减少了维护成本。
文档编号G06F17/30GK102821116SQ20111015196
公开日2012年12月12日 申请日期2011年6月8日 优先权日2011年6月8日
发明者李健愉, 潘国林, 王涿, 朱卡 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1