用于软件服务集成系统中的服务适配器及其操作方法

文档序号:7921300阅读:159来源:国知局

专利名称::用于软件服务集成系统中的服务适配器及其操作方法
技术领域
:本发明涉及一种用于软件服务集成系统中的服务适配器及其操作方法。
背景技术
:企业的业务流程会同时涉及到多个应用系统,例如,分别从不同公司购买的订单管理(OM,OrderManagement)系统和库存管理(M,InventoryManagement)系统等。企业通常希望这些系统能够协同,但接口、架构的不统一往往使得这些本应紧密集成的应用系统成为了一个个"信息孤岛"。于是,企业应用集成(EnterpriseA卯licationlntegration,EAI)技术应运而生。图1是传统的企业应用集成架构,其中采用了应用实例适配器和集成中介(Broker)的体系结构。在图1中,应用实例X通过应用实例X适配器连接到集成中介,应用实例Y通过应用实例Y适配器连接到集成中介。所述集成中介的主要功能是完成业务对象在不同应用中的数据映射、转换、完成数据集成逻辑,以及到达不同应用的路由等。应用实例X和应用实例Y通过所述集成中介整合在一起,从而实现企业应用集成。所述应用实例X、Y例如可以分别是订单管理和库存管理。随着互联网技术的发展和应用软件的成熟,开始兴起了一种完全创新的软件应用模式,即软件服务(SaaS)。SaaS是Software-as-a-Service(软件即服务)的简称,它是一种通过Internet提供软件的模式。软件服务提供商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向软件服务提供商定购所需的应用软件服务,按定购的服务多少和时间长短向软件服务提供商支付费用,并通过互联网获得软件服务提供商所提供的服务。用户不用再购买软件,而改用向软件服务提供商租用基于Web的软件来管理企业经营活动,且无需对软件进行维护。软件服务提供商会全权管理和维护软件。在SaaS的基础上,又发展出了组合软件服务(CompositeSoftwareServiceOffering),又称为软件服务集成,就是将两个或多个不同的软件服务组合在一起而构成一种新型的整合服务。例如,一个用户可以订阅一个中小企业组合软件服务,在这个组合软件服务中,组合了客户关系管理系统(CRM)、进销存系统和协作服务系统(即时通讯、网上会议、电子邮件等)。用户通过这个组合服务,就可以获得很多好处,例如1.在CRM和进销存系统中,都需要客户信息,由于进行了组合,使得客户信息能够在CRM和进销存系统中进行同步,用户不再需要在各自服务中同时维护客户信息。2.由于组合服务,使得用户可以方便地利用业务上下文。例如,用户在CRM系统中,可以方便地使用协作服务系统提供的功能。图2示出了现有的软件服务集成架构。从图2中可以看出,现有的软件服务集成架构采用了如图1所示的用于企业应用集成的适配器和集成中介体系结构。如图2所示,为了满足大量客户的需要,一个软件服务由多个应用实例来提供。例如,软件服务X由应用实例&,X2,...,Xn来提供,而软件服务Y由应用实例Y2,...Yn来提供。这些应用实例均通过各自的应用实例适配器连接到集成中介。然而,图2的软件服务集成架构存在下列问题1.集成中介的集成逻辑是基于固定的应用,例如确定种类的软件服务以及固定的应用实例数量而设计的。所以一旦改变应用实例的数量,集成中介的集成逻辑也需要相应地进行改变,即使是简单的逻辑改变,也会带来巨大的开发、测试和部署成本。2.集成中介的集成逻辑是与SOE(ServiceOperationalEnvironment,月艮务运营环境)信息紧密耦合的。例如,如图2所示,集成中介需要访问S0E中的服务运营库来得到客户在不同服务的应用实例部署信息,以便将消息发送给目标应用实例。这是因为在软件服务集成架构中,一个软件服务是由多个应用实例来提供的,而一个客户被部署在用于提供同一个软件服务的多个应用实例之一上。例如,客户A在服务X中被部署在应用实例&上,在服务Y中被部署在应用实例Yn上,这些部署信息被存储在服务运营库中。这样,当从例如服务X的应用实例&的应用实例适配器收到消息时,集成中介就需要访问SOE中的服务运营库来得到租户被部署在服务Y的应用实例Yn上,以便将消息发送给与应用实例Yn相应的应用实例适配器。所以,一旦SOE有所改变,集成中介的集成逻辑也可能需要相应地进行改变。同时,组合服务的集成中介中的集成逻辑不能方便地在不同的SOE中得到重用,从而带来巨大的测试和部署成本。
发明内容因此,为克服上述问题而提出了本发明。本发明的目的是,提供一种用于提供软件服务集成的服务适配器及其操作方法,通过在服务适配器中进行注册的方法对应用实例进行管理,使得在应用实例的数量发生改变时,很容易就完成系统的改变或者重新部署。由于是在服务适配器中处理与SOE相关的信息,集成中介中的集成逻辑与SOE无关,从而可以方便地在不同运营环境中得到重用。根据本发明的一个方面,提供了一种用于软件服务集成系统中的服务适配器,用于将多个应用实例适配器和集成中介相连,所述服务适配器包括应用实例适配器管理模块,用于在服务适配器库中注册与所述服务适配器相连的应用实例适配器;以及适配器消息处理器,用于从应用实例适配器接收消息,将消息中的服务专用租户ID替换为全局租户ID并将替换后的消息发送给集成中介。根据本发明的另一个方面,提供了一种用于软件服务集成系统中的服务适配器的操作方法,所述服务适配器用于将多个应用实例适配器和集成中介相连,该方法包括下列步骤注册应用实例适配器;以及接收应用实例适配器的消息,将应用实例适配器的消息中的服务专用租户ID替换为全局租户ID,并将替换后的消息发送给集成中介。根据本发明的再一个方面,提供了一种用于软件服务集成系统中的服务适配器,用于将多个应用实例适配器和集成中介相连,所述服务适配器包括应用实例适配器管理模块,用于在服务适配器库中注册与所述服务适配器相连的应用实例适配器;以及中介消息处理器,用于从集成中介接收消息,将消息中的全局租户ID替换为服务专用租户ID以定位应用实例,访问所述服务适配器库以查找与所述应用实例相关联的应用实例适配器并将消息发送给所述应用实例适配器。根据本发明的再一个方面,提供了一种用于软件服务集成系统中的服务适配器的操作方法,所述服务适配器用于将多个应用实例适配器和集成中介相连,该方法包括下列步骤注册应用实例适配器;以及接收集成中介的消息,将集成中介的消息中的全局租户ID替换为服务专用租户ID以定位应用实例,访问服务适配器库以查找与所述应用实例相关联的应用实例适配器并发送所述消息。由于本发明中在服务适配器中注册应用实例,使得本发明能够方便地改变与集成中介连接的应用实例,从而构建一个可灵活配置的软件服务集成架构。此外,由于与SOE有关的逻辑也在服务适配器中实现,因此只要重新设计服务适配器,就可以使集成中介容易地在其它服务运营环境中重新使用。下面将参照在附图中所表示的非限制性实施例来进一步说明本发明,其中图1示出了传统的企业应用集成架构。图2示出了现有的软件服务集成架构。图3示出了根据本发明的软件服务集成系统。图4示出了使用根据本发明的服务适配器构建的用于软件服务集成的服务中介系统的功能框图。图5示出了用于根据本发明的服务适配器的方法的流程图。图6示出了使用根据本发明的服务适配器构建的用于软件服务集成的服务中介系统的详细框图。图7示出了在图6所示的服务中介系统中,在多个源应用实例和目标应用实例之间提供软件服务集成的方法的流程图。具体实施例方式图3示出了根据本发明的软件服务集成系统。如图3所示,与现有的软件服务集成系统一样,根据本发明的软件服务集成系统也包括多个应用实例、与多个应用实例相关联的多个应用实例适配器。根据本发明,提供了服务适配器用于将多个应用实例适配器和集成中介相连,例如,服务适配器100将用于服务X的多个应用实例适配器^、^...Xn与集成中介相连,服务适配器200将用于服务Y的多个应用实例适配器YpY2...Yn与集成中介相连。一个服务适配器用于一种软件服务。图3中仅仅示出了两个服务适配器,本领域技术人员应当明白,服务适配器的数量不限于两个。当需要增加新的软件服务时,需要增加一个新的服务适配器将用于新的软件服务的多个应用实例适配器与集成中介相连。图4示出了使用根据本发明的服务适配器构建的用于软件服务集成的服务中介系统的功能框图。从图4中可以看出,根据本发明的服务适配器100和200分别包括消息处理器101和201、应用实例适配器管理模块114和214、以及服务适配器库112和212。其中,消息处理器101和201分别包括适配器消息处理器103和203、中介消息处理器105和205。图5示出了用于根据本发明的服务适配器的方法的流程图。下面结合图4和图5来描述根据本发明的服务适配器及其方法。为了简单起见,仅描述从服务适配器100到服务适配器200的单向消息流。本领域技术人员应当理解,服务适配器中的消息流可以是双向的,从服务适配器200到服务适配器100的反向消息流是相同的过程。首先,在步骤S1中,当新的应用实例连接到根据本发明的服务适配器时,与新的应用实例对应的应用实例适配器向服务适配器的应用实例适配器管理模块114和214发送信息,以便在服务适配器库112和212中进行注册。例如,在服务适配器库112中注册如下所示的应用实例适配器信息和业务对象信息应用实例适配器信息<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>注册过程包括注册应用实例、注册与应用实例对应的应用实例适配器ID、注册应用实例适配器所支持的业务对象的类型、注册业务对象结构中的租户ID字段。在面向对象编程中,业务对象就是表示业务领域实体的对象。例如,在一个订单管理系统中,可能具有订单、发票等业务对象。从上述表格可以看出,与服务适配器ioo相连的应用实例适配器有两个,它们的应用实例适配器ID分别为001、002,与这两个应用实例适配器相关联的应用实例分别为X1、X2,这两个应用实例适配器所支持的业务对象的类型分别为订单和发票,订单业务对象结构中的租户ID字段名称为ABC,发票业务对象中的租户ID字段名称为XYZ。在步骤S2,服务适配器100中的适配器消息处理器103从源应用实例适配器接收消息,将消息中的源服务专用租户ID替换为全局租户ID并将替换后的消息发送给集成中介。为了识别不同客户,每一个客户在每一个软件服务中均具有一个服务专用租户ID,这个服务专用租户ID—般是不同的,而为了在软件服务集成系统中唯一地识别所述客户,所述软件服务集成系统还具有一个全局租户ID,这些信息存放在服务运营库中。例如,在服务运营库中存储有租户ID映射信息如下租户ID映射信息<table>tableseeoriginaldocumentpage8</column></row><table>从该表可以看出,一个客户在服务X中的租户ID是1234,他在服务Y中的租户ID是2134,他在服务Z中的租户ID是3124,而这些服务专用租户ID均对应于一个全局租户ID1111。在步骤S3,服务适配器200中的中介消息处理器205从集成中介接收消息,将消息中的全局租户ID替换为目标服务专用租户ID以定位目标应用实例,访问所述服务适配器库212以查找与所述目标应用实例相关联的目标应用实例适配器并将消息发送给所述目标应用实例适配器。如上所述,从服务适配器200中的适配器消息处理器203到服务适配器100中的中介消息处理器105的反向过程是相同的,在此不再重复描述。图6示出了使用根据本发明的服务适配器构建的用于软件服务集成的服务中介系统的详细框图,用于在多个源应用实例和目标应用实例之间提供软件服务集成。所述服务中介系统包括分别连接在多个源应用实例适配器和集成中介之间的源服务适配器100、连接在所述集成中介和多个目标应用实例适配器之间的目标服务适配器200、以及集成中介。在图6中,为了简单起见,仅示出了服务适配器100作为源服务适配器以及服务适配器200作为目标服务适配器的单向消息流。本领域技术人员应当理解,服务适配器中的消息流可以是双向的,从目标服务适配器到源服务适配器的反向消息流是相同的过程。如图6所示,服务适配器100包括适配器消息处理模块102、租户ID映射模块104、中介消息代理模块106、租户部署查找模块108、中介消息处理模块110、服务适配器库112、应用实例适配器管理模块114、适配器消息代理模块116、消息验证模块118、以及业务对象处理器120。其中,适配器消息处理器103包括适配器消息处理模块102、业务对象处理器120、租户ID映射模块104和适配器消息代理模块116。服务适配器200包括适配器消息处理模块202、租户ID映射模块204、中介消息代理模块206、租户部署查找模块208、中介消息处理模块210、服务适配器库212、应用实例适配器管理模块214、适配器消息代理模块216、消息验证模块218、以及业务对象处理器220。其中,中介消息处理器205包括中介消息处理模块210、业务对象处理器220、租户ID映射模块204、租户部署查找模块208和中介消息代理模块206。图7示出了在图6所示的服务中介系统中,在多个源应用实例和目标应用实例之间提供软件服务集成的方法的流程图。下面结合图6和图7来描述根据本发明的服务中介系统的工作过程。在步骤Sl,服务适配器100和200的应用实例适配器管理模块114和214分别在各自的服务适配器库112和212中注册相连接的应用实例适配器,注册过程与图5的步骤Sl相同,在这里不再详细描述。在步骤S2中,应用实例适配器向服务适配器100发送消息。例如,应用实例XI的适配器向服务适配器IOO发送一个订单事件消息。例如,WebSphereMQ消息,该消息包括消息头、应用实例适配器ID、业务对象类型、对业务对象的操作(增加或删除业务对象)、业务对象内容(例如订单信息包括订单创建时间、订单内容、订单金额、客户名称等)等内容。在步骤S3,服务适配器100的适配器消息处理模块102接收到该消息,它将消息发送给消息验证模块118对消息进行验证。验证主要是为了保证消息的完整性和准确性,验证内容包括消息的完整性、应用实例适配器是否有效(包括查询服务适配器库112来验证应用实例适配器是否已经注册)、业务对象是否得到该服务适配器的支持等信息(包括查询服务适配器库112中存储的应用实例适配器信息来确定业务对象是否被支持)。然后,在步骤S4,适配器消息处理模块102将消息发送给业务对象处理器120以便将消息转换为业务对象。在这里,业务对象处理器120将消息进行解析,从消息中抽取业务对象的所有属性并整合成为业务对象。在步骤S5,租户ID映射模块104从业务对象处理器120接收业务对象,从中解析出客户在服务X中的专用租户ID,例如从订单业务对象的ABC字段中解析出专用租户1234。然后访问服务运营库中的上述租户ID映射信息以获得与专用租户ID1234相关联的全局租户ID。例如,从上述租户ID映射信息中可以看出,与专用租户ID1234相关联的全局租户ID是1111。因此,租户ID映射模块104用全局租户ID1111来替换业务对象中的专用租户ID1234并将业务对象返回给业务对象处理器120。在步骤S6,业务对象处理器120将业务对象转换为适配器消息并返回适配器消息处理模块102。业务对象处理器120将业务对象的各个属性进行拼装,并加上相应的应用适配器信息、业务对象类型、操作等信息,还原成适配器消息。适配器消息处理模块102将消息发送给适配器消息代理模块116。在步骤S7,适配器消息代理模块116将消息打包成与从所述应用实例适配器发送的消息相同的格式并转发给集成中介。在步骤S8,集成中介处理消息。在步骤S9,集成中介将消息发送给服务适配器200的中介消息处理模块210。在步骤SIO,中介消息处理模块210将消息发送给消息验证模块218进行验证,这里的验证过程与上述步骤S3的验证过程相同。验证成功以后,在步骤Sll,中介消息处理模块210将消息发送给业务对象处理器220以便将消息转换为业务对象。在步骤S12,租户ID映射模块204从业务对象处理器220接收业务对象,从中解析出全局租户ID1111。然后访问服务运营库中的租户ID映射信息以获得与全局租户IDllll相关联的客户在服务Y中的专用租户ID。例如,从上面示出的租户ID映射信息中可看出,与全局租户IDllll相关联的客户在服务Y中的专用租户ID是2134。租户ID映射模块204用专用租户ID2134来替换业务对象中的全局租户ID1111并将业务对象返回给业务对象处理器220。业务对象处理器220将业务对象转换为中介消息并返回中介消息处理模块210。中介消息处理器210将消息发送给中介消息代理模块206。在步骤S13,中介消息代理模块206将专用租户ID2134发送给租户部署查找模块208以便查找租户部署信息。租户部署查找模块208访问服务运营库中的应用实例部署信息以便定位提供服务Y的应用实例中哪个应用实例服务于该客户。例如,服务运营库中的应用实例部署信息如下应用实例部署信息<table>tableseeoriginaldocumentpage11</column></row><table>租户部署查找模块208根据专用租户ID2134从上述信息中定位目标应用实例是Yn。然后,租户部署查找模块208从服务适配器库212中查找注册过的应用实例适配器信息,以便找到与所述目标应用实例Yn相关联的目标应用实例适配器ID,并将目标应用实例适配器ID发送给中介消息代理模块206。例如,在服务适配器库212中注册有如下所示的应用实例适配器信息应用实例适配器信息<table>tableseeoriginaldocumentpage11</column></row><table>因此,租户部署查找模块208从上述应用实例适配器信息中找到与所述目标应用实例Yn相关联的目标应用实例适配器ID是003,并将目标应用实例适配器ID003发送给中介消息代理模块206。在步骤S14,中介消息代理模块206将消息发送给与所述目标应用实例Yn相关联的目标应用实例适配器。如上所述,从服务适配器200到服务适配器100的反向过程是相同的,其中服务适配器200中的适配器消息处理模块202、适配器消息代理模块216与服务适配器100中的适配器消息处理模块102、适配器消息代理模块116的功能相同,服务适配器100中的租户部署查找模块108、中介消息处理模块110、中介消息代理模块106与服务适配器200中的租户部署查找模块208、中介消息处理模块210、中介消息代理模块206的功能相同,在此不再重复描述。在图6中还通过服务Z适配器与服务Z连接。服务Z适配器300的功能和组成与服务适配器100和200相同。下面结合一个具体的例子来描述应用本发明来提供软件服务集成的一种应用场景。租户A在互联网上订阅了一种组合软件,该组合软件服务包含三种软件服务,分别是订单管理服务X、客户管理服务Z和财务管理服务Y。租户A在这三种服务中的租户ID分别是1234、3124、2134,同时租户A有一个全局的租户ID1111。由于租户数量众多,订单管理服务X、客户管理服务Z和财务管理服务Y都有很多的应用实例,对于每个服务,都有一个服务适配器(服务适配器100、300和200)和该服务的多个应用实例适配器进行连接,应用实例适配器在对应的服务适配器中进行注册和提供相关信息。当租户A在订单管理服务X中创建了一个新的订单业务对象Order时,组合服务要从客户管理服务Z中获取对应的客户信息(Customer),并且生成一个对应的发票(Invoice)的业务对象,发送给在财务管理服务Y。具体流程如下1.当租户A在订单管理服务X中的应用实例Xl上创建了一个订单业务对象时,通过应用实例X1上的适配器,将该消息发送到订单管理服务适配器IOO,订单管理服务适配器100对该消息进行一系列处理(包括如上所述的消息的验证,把消息转换成业务对象,并将其中的租户ID1234转换成该租户在全局的租户IDllll,然后重新将业务对象转换成消息),将转换好的消息发送给集成中介。2.集成中介接收到来自订单管理服务适配器100的消息以后,进行一系列的数据集成逻辑(数据的转换、映射),例如订单金额需要从美元兑换成人民币,这时集成逻辑需要调用一个公共的恥b服务来完成该转换。并与客户管理服务Z适配器300进行交互,以便从客户管理服务Z中获取对应的客户信息,形成一个发票的业务对象,然后将该业务对象包装成消息发送给财务管理服务适配器200。集成中介与服务Z适配器300的消息收发过程与上面描述的消息流的收发过程相同;3.财务管理服务适配器200接收到来自集成中介的消息以后,通过一系列的处理(包括消息转换成业务对象,并将其中的全局的租户ID1111转换成财务管理应用对应的租户ID2134,然后重新将业务对象转换成消息),同时该服务适配器200还需要去服务运行环境中获取租户A在财务服务中对应的应用实例Yn,然后将消息传送给财务管理服务中的应用实例Yn的适配器。4.财务管理应用实例Yn接收到消息以后,在系统中进行相关的业务逻辑处理。从以上描述可以看出,通过使用根据本发明的服务适配器,当改变应用实例时,仅需要在根据本发明的服务适配器中进行应用实例的注册,而不需要改变集成中介的集成逻辑。而且,由于是在根据本发明的服务适配器中处理与SOE相关的信息,从而使得集成中介不再需要处理与SOE有关的信息,集成中介的集成逻辑是与SOE无关的。集成中介的集成逻辑与SOE无关是通过以下两点来实现的1.在集成中介中处理的租户ID是全局租户ID,和具体的应用实例无关;2.与S0E相关的信息(例如各个应用的租户ID的对应关系、应用实例的部署信息等)是通过服务适配器来处理的。集成中介是利用现有的集成中介产品,诸如IBM公司的WebSphereInterchangeServer实现的,其中的与本发明的服务适配器相适应的集成逻辑的开发和实现对于本领域技术人员来说是公知的,在此不再详述。根据本发明,要增加或改变一个软件服务,只要增加或者改变一个服务适配器就可以,而集成中介仍然可以保持不变。尽管以上参照具体实施例描述了本发明,本领域技术人员应当理解,根据本发明的服务适配器可以用计算机软件、硬件或软硬件结合的方式来实现。在不脱离本申请权利要求书的精神和范围的情况下,可以进行各种修改和替换。例如,在本发明的实施例中,租户ID映射模块通过访问服务运营库中的租户ID映射信息来获取租户ID。但是,也可以将服务运营库中的租户ID映射信息定期备份在服务适配器的服务适配器库中,这样,租户ID映射模块就不需要访问服务运营库来获取租户ID。同样,在本发明的实施例中,租户部署查找模块访问服务运营库中的应用实例部署信息以便定位目标应用实例。但是,也可以将服务运营库中的应用实例部署信息定期备份在服务适配器的服务适配器库中,这样,租户部署查找模块也不需要访问服务运营库来定位目标应用实例。此外,适配器消息处理器和中介消息处理器既可以都包括租户ID映射模块和业务对象处理器,也可以共享同一个租户ID映射模块和业务对象处理器。在上述实施例中,服务适配器均被描述为包括进行双向通信的收发模块,在特定情况下,可以分别提供用于将多个源应用实例适配器和集成中介相连的源服务适配器和用于将多个目标应用实例适配器和集成中介相连的目标服务适配器,所述源服务适配器仅具有从源应用实例适配器到集成中介的单向发送功能,所述目标服务适配器仅具有从集成中介到目标应用实例适配器的单向接收功能。假设图6中的服务适配器100是源服务适配器,则它可以被配置为将不包括中介消息代理106、中介消息处理模块110以及租户部署查找模块108。假设图6中的服务适配器200是目标服务适配器,则它可以被配置为将不具有适配器消息代理216和适配器消息处理模块202。权利要求一种用于软件服务集成系统中的服务适配器,用于将多个应用实例适配器和集成中介相连,所述服务适配器包括应用实例适配器管理模块,用于在服务适配器库中注册与所述服务适配器相连的应用实例适配器;以及适配器消息处理器,用于从应用实例适配器接收消息,将消息中的服务专用租户ID替换为全局租户ID并将替换后的消息发送给集成中介。2.如权利要求1所述的服务适配器,其中,所述应用实例适配器管理模块在所述服务适配器库中注册所述应用实例的名称、与所述应用实例相关联的应用实例适配器的ID。3.如权利要求1所述的服务适配器,其中,所述适配器消息处理器包括适配器消息处理模块、业务对象处理器、租户ID映射模块和适配器消息代理,其中,所述适配器消息处理模块从应用实例适配器接收消息,所述业务对象处理器将消息转换为业务对象,所述租户ID映射模块从业务对象中解析服务专用租户ID,获取全局租户ID以替换所述服务专用租户ID,以及所述适配器消息代理将替换后的消息发送给集成中介。4.如权利要求3所述的服务适配器,其中,所述租户ID映射模块访问服务运营库中的租户ID映射信息,以便根据所述服务专用租户ID来获取全局租户ID。5.如权利要求1所述的服务适配器,还包括中介消息处理器,用于从集成中介接收消息,将消息中的全局租户ID替换为服务专用租户ID以定位应用实例,访问所述服务适配器库以查找与所述应用实例相关联的应用实例适配器并将消息发送给所述应用实例适配器。6.如权利要求5所述的服务适配器,其中,所述中介消息处理器包括中介消息处理模块、业务对象处理器、租户ID映射模块、租户部署查找模块和中介消息代理模块,其中,所述中介消息处理模块从集成中介接收消息,所述业务对象处理器将消息转换为业务对象,所述租户ID映射模块从业务对象中解析全局租户ID,获取服务专用租户ID以替换所述全局租户ID,所述租户部署查找模块根据所述服务专用租户ID来定位应用实例,并访问所述服务适配器库以查找与所述应用实例相关联的应用实例适配器,以及所述中介消息代理模块将消息发送给所述应用实例适配器。7.如权利要求6所述的服务适配器,其中,所述租户ID映射模块访问服务运营库中的租户ID映射信息,以便根据所述全局租户ID来获取服务专用租户ID。8.如权利要求7所述的服务适配器,其中,所述租户部署查找模块访问所述服务运营库中的应用实例部署信息,以便根据所述服务专用租户ID来定位应用实例。9.如权利要求3或6所述的服务适配器,还包括消息验证模块,在所述适配器消息处理模块从所述应用实例适配器接收消息以及所述中介消息处理模块从集成中介接收消息以后,首先将消息发送给所述消息验证模块对消息进行验证。10.—种用于软件服务集成系统中的服务适配器的操作方法,所述服务适配器用于将多个应用实例适配器和集成中介相连,该方法包括下列步骤注册应用实例适配器;以及接收应用实例适配器的消息,将应用实例适配器的消息中的服务专用租户ID替换为全局租户ID,并将替换后的消息发送给集成中介。11.如权利要求IO所述的操作方法,其中,注册应用实例适配器的步骤包括在所述服务适配器库中注册所述应用实例的名称、与所述应用实例相关联的应用实例适配器的ID。12.如权利要求11所述的操作方法,其中,将应用实例适配器的消息中的服务专用租户ID替换为全局租户ID的步骤进一步包括将消息转换为业务对象;从业务对象中解析服务专用租户ID;以及获取全局租户ID以替换所述服务专用租户ID。13.如权利要求12所述的操作方法,其中,获取全局租户ID的步骤进一步包括访问服务运营库中的租户ID映射信息,以便根据所述服务专用租户ID来获取全局租户ID。14.一种用于软件服务集成系统中的服务适配器,用于将多个应用实例适配器和集成中介相连,所述服务适配器包括应用实例适配器管理模块,用于在服务适配器库中注册与所述服务适配器相连的应用实例适配器;以及中介消息处理器,用于从集成中介接收消息,将消息中的全局租户ID替换为服务专用租户ID以定位应用实例,访问所述服务适配器库以查找与所述应用实例相关联的应用实例适配器并将消息发送给所述应用实例适配器。15.如权利要求14所述的服务适配器,其中,所述应用实例适配器管理模块在所述服务适配器库中注册所述应用实例的名称、与所述应用实例相关联的应用实例适配器的ID。16.如权利要求14所述的服务适配器,其中,所述中介消息处理器包括中介消息处理模块、业务对象处理器、租户ID映射模块、租户部署查找模块和中介消息代理模块,其中,所述中介消息处理模块从集成中介接收消息,所述业务对象处理器将消息转换为业务对象,所述租户ID映射模块从业务对象中解析全局租户ID,获取服务专用租户ID以替换所述全局租户ID,所述租户部署查找模块根据所述服务专用租户ID来定位应用实例,并访问所述服务适配器库以查找与所述应用实例相关联的应用实例适配器,以及所述中介消息代理模块将消息发送给所述应用实例适配器。17.如权利要求16所述的服务适配器,其中,所述租户ID映射模块访问服务运营库中的租户ID映射信息,以便根据所述全局租户ID来获取服务专用租户ID。18.如权利要求17所述的服务适配器,其中,所述租户部署查找模块访问所述服务运营库中的应用实例部署信息,以便根据所述服务专用租户ID来定位应用实例。19.如权利要求16所述的服务适配器,还包括消息验证模块,在所述中介消息处理模块从所述集成中介接收消息以后,首先将消息发送给所述消息验证模块对消息进行验证。20.—种用于软件服务集成系统中的服务适配器的操作方法,所述服务适配器用于将多个应用实例适配器和集成中介相连,该方法包括下列步骤注册应用实例适配器;以及接收集成中介的消息,将集成中介的消息中的全局租户ID替换为服务专用租户ID以定位应用实例,访问服务适配器库以查找与所述应用实例相关联的应用实例适配器并发送所述消息。21.如权利要求20所述的操作方法,其中,将集成中介的消息中的全局租户ID替换为服务专用租户ID以定位应用实例的步骤进一步包括将消息转换为业务对象;从业务对象中解析全局租户ID;获取服务专用租户ID以替换所述全局租户ID;以及根据所述服务专用租户ID来定位应用实例。22.如权利要求21所述的操作方法,其中,获取服务专用租户ID的步骤进一步包括访问服务运营库中的租户ID映射信息,以便根据所述全局租户ID来获取服务专用租户ID。23.如权利要求22所述的操作方法,其中,根据所述服务专用租户ID来定位应用实例的步骤进一步包括访问所述服务运营库中的应用实例部署信息,以便根据所述服务专用租户ID来定位应用实例。全文摘要公开了一种用于软件服务集成系统中的服务适配器及其操作方法。所述服务适配器包括应用实例适配器管理模块,在服务适配器库中注册与服务适配器相连的应用实例适配器;以及适配器消息处理器,从应用实例适配器接收消息并将消息发送给集成中介,或者中介消息处理器,用于从集成中介接收消息并将消息发送给应用实例适配器。所述操作方法包括注册应用实例适配器;以及接收应用实例适配器的消息并将消息发送给集成中介,或者接收集成中介的消息并发送所述消息。根据本发明,避免了由于动态的应用实例而带来的集成中介中的集成逻辑变更问题。集成中介的集成逻辑与服务运营环境无关,集成中介可被容易地在其它服务运营环境中重新使用。文档编号H04L29/08GK101729584SQ200810175148公开日2010年6月9日申请日期2008年10月30日优先权日2008年10月30日发明者冯晨华,徐景民,王远申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1