远程定制模块及包含所述模块的系统的制作方法

文档序号:6476470阅读:188来源:国知局
专利名称:远程定制模块及包含所述模块的系统的制作方法
技术领域
本发明涉及远禾呈定制才莫块(remote customisation module )及包含所述 模块的系统。更特别地,但是不排他地,本发明涉及用于业务引擎的远程 定制模块及包含所述模块的业务系统。甚至更特别地,但是不排他地,本 发明涉及用于旅行预订引擎的远程定制模块及包含所述模块的旅行预订 系统。
背景技术
一个由服务提供商为客户提供的业务引擎,例如,由Amadeus S.A.S.
为各航空公司提供的旅行预订引擎,其包括用于接收用户服务请求并检查 该服务的可用性及价格的应用软件。
业务引擎包括一套大的业务规则。例如,就一个航班预订引擎来说, 其规则可能包括提供的餐食的类型、预订的是标准舱还是商务舱,以及航 班的起点和终点。服务提供商的每一个客户既需要针对服务提供商所提供 的服务的特定规则,又需要与所有客户相关联的标准规则。例如,就各航 空公司来说,对于每一个客户可能使用不同的燃油附加费计算方法,或者 每个航空公司可有其自己的频飞航空积分里程管理规则。
目前,对由服务提供商持有和运营的业务引擎的定制包含对该业务引 擎的核心代码的更改。
这会带来与之相关的许多问题。比如说,新版本代码的发行数量受到 了严格控制。这是因为新版本代码的每一次发行都会把代码错误的可能性 引入到运行版本的代码中。这种编码错误可能导致代码运行时的故障。这 是不希望出现的,因为客户公司给服务提供商施加了严格的服务质量标准。此外,为满足单个客户的要求而对代码所做的轻微改动可能导致业务 引擎的代码对服务提供商的所有客户失效。
而且,为满足某个客户的要求而对核心代码进行定制可能是非常耗时 的。这可能导致使客户所期望的定制进入市场时出现延迟。对于每一个特 定用户来说,这就限制了业务引擎的功能。
业务引擎的定制可以发生在业务引擎的任何一层上。网站的建设可以
委托给一个定制服务,例如网络设计服务(WDS)。在应用层,可以添加
对接收到的数据或由业务引擎生成的数据进行处理的操作,或者扩展对接 收到的数据或由业务引擎生成的数据进行处理的已有的操作。在业务层,
可以安装与所-清求的附加功能相对应的企业级JavaBean (EJB)。或者,可 以通过定制已存在的数据格式并执行定制的命令来扩展已存在的EJB。在 才妄入层(access layer ), 可以添力口定制连才妄器(custom connector ), 或者4是 供到新的第三方供应商的接入。
所有的这些方案都存在相同的内在问题,那就是他们需要核心代码的 完全的重新整合以使这些代码变成可运行的。此外,在4姿入层添加新的第 三方供应商会带来可能的安全风险,除非所述第三方的数据库的内容能够 被验证。
对第三方供应商数据库的使用将要求传输与某个在正在网络上传输 的请求相关联的所有数据。这需要在网络上传输相当数量的数据。

发明内容
根据本发明的第一方面,提供一种用于逻辑引擎的远程定制模块,所 述远程定制模块设置成在远离所述逻辑引擎的服务器上运行,所述远程定 制模块包括通信接口,其设置成与所述逻辑引擎和运行在服务器上的应 用程序(application)进行通信;逻辑单元,其设置成通过所述通信接口从 所述逻辑引擎上的插件(plug)接收进入的对数据的请求,并且所述逻辑 单元被进一步设置成询问所述应用程序,以提取满足所述请求所需要的数 据,其中所述逻辑单元设置成处理所提取的所述数据以产生响应数据并传
6递所述响应数据给所述逻辑引擎。
这种模块不需要对引擎的重新编程,以便对终端用户实现所述引擎的
明显功能的改变。因此,本发明允许在发行业务引擎中,将预约(bespoke)
功能有效地并入业务引擎中,导致快速、有效及可靠地提供预约功能。
当上述改变在作为应用程序的主机的远程服务器上实现时,对属于另 一方的服务器的访问就不需要了。与包含第三方供应商的数据库的布置相 比,本发明提高了数据安全性。
进一步的,由于该模块远离业务引擎,如果在该模块的编码中存在错 误,则业务引擎还将继续起作用。同现有技术的布置相比,本发明提高了 业务系统的鲁棒性。
这样的远程系统仅要求在所述引擎和所述模块之间传送与请求相关 联的少量数据,以便提供该引擎的客户所要求的预约服务。
所述定制模块包括应用程序编程接口 (API)。典型的API包括web 服务和Tuxedo (来自BAE)。 API被编码在用于网站或已存在的web服务的 编码中。所述API包括数据结构,所述数据结构包含与MJ'J相对应的数据 项(dataentry),并在执行的时候使得产生所述响应数据。这些规则管理对 应用程序的询问并其也管理响应数据的计算。API可借助于面向过程的描 述(POD )数据来描述。所述POD数据可包括可扩展标记语言(XML )。 所述POD数据可包括Web服务描述语言(WSDL)。
该模块包括设置成插入网站或已存在的web服务中的插件。
所述逻辑引擎可包括业务逻辑引擎。所述业务逻辑引擎可包括预订引 擎。所述预订引擎可包括旅行预订引擎。
根据本发明的第二个方面,提供一种包含逻辑引擎和客户服务器的业 务系统,所述逻辑引擎和客户服务器设置成通过网络进行通信,所述逻辑 引擎包含与业务逻辑相对应的数据结构,以及所述服务器作为根据本发明 的第一方面所述的远程定制模块的主机,其中所述远程定制模块设置成响 应于从位于逻辑引擎上的插件4妄收的询问数据,向所述逻辑引擎提供从存 储在客户服务器上的数据得到响应数据。逻辑引擎可以定义错误条件,比如超时。逻辑引擎可设置成如果满足 所述错误条件则或者返回缺省模式。如果该错误条件是超时,且逻辑引擎 可设置成如果满足超时条件则向用户返回超时响应。
根据本发明的第三个方面,提供一种软件,该软件在处理器上运行时 使得处理器如本发明的第 一方面的远程定制模块起作用。
根据本发明的第四个方面,提供了一种方法,所述方法通过提供根据 本发明的第 一方面的远程定制引擎来增加逻辑引擎的功能,其中远程定制 引擎设置成返回相应于参数的响应数据,所述参数是满足在逻辑引擎接收 的用户请求所需要的,其中所述逻辑引擎不被编程为提供相应于参数数据 的数据。


现在,将仅通过实例并参照附图来描述本发明的实施方式,其中,
图1是预订系统的实施方式的原理图,该系统包括根据本发明的一个
方面的远程定制模块;且
图2是业务系统的实施方式的层次结构原理图,该系统包括根据本发 明的 一个方面的远程定制模块。
具体实施例方式
现在参考图1和图2,预订系统100包括通过网络106链接的预订引 擎102和客户服务器104。典型的,网络106为国际互联网络或专用网络。 通常地,客户服务器104是旅行预订服务器,比如说航空公司预订服务器 或宾馆预订服务器。
预订引擎102包括后端预订业务逻辑模块108、数据适配器114a和插 件114b。适配器114a为每一个客户服务器104把业务逻辑模块108发送 的参数数据映射成预约格式,使得服务器104能被成功询问。插件114b 与客户服务器104连接,并执行询问客户服务器104以及实现与定制模块
8115相关联的预约业务逻辑的功能。
典型的,业务逻辑模块108包括业务逻辑软件,该业务逻辑软件控制 对从远程终端112接收的用户生成的请求的回复的产生。
通信模块110提供预订引擎102、远程终端112和客户服务器104之 间通过网络106的连通性。
客户服务器104包括远程定制模块115.远程定制模块115在WSDL 中被定义为对包含面向程序的信息的消息进行操作的端点。这些操作被抽 象地描述,并与网络协议和消息格式绑定来定义端点。相关的具体端点被 组合成抽象端点(服务)。WSDL是可扩展的,以允许描述端点和他们的 消息,而与用什么消息格式或网络协议来进行通信无关。典型的协议和消 息格式包括SOAP 1.1, HTTP GET/POST,和MIME。接入远程定制才莫块115 的配置由业务逻辑模块108内的配置模块120和中央业务数据库122来实 现。
在使用中,通信模块110通过负载平衡装置118,以一种本领域技术 人员熟知的方式接收与用户查询相关联的数据,并将该查询传递给业务逻 辑模块118。
业务逻辑才莫块108对用户产生的查询进4亍处理以^r查例如4元班上座位 的可得到性。然而,与客户服务器104相关联的客户所要求的信息可能超 过业务逻辑模块108内包含的业务逻辑所管理的信息。这由业务逻辑模块 108来进行标记。业务逻辑模块108于是调用数据适配器114a和插件114b 来询问客户服务器104。比如,就航空公司预订来说,可能要求燃油附加 费的计算方法,但是业务逻辑模块108并未提供该方法。
业务逻辑模块108把用户请求单元分配给预订引擎连接器124或远程 定制模块115中的一个,这取决于业务逻辑模块108是否能处理该用户请 求单元。如果用户查询单元能够被预订引擎102处理,则它将通过预订引 擎连接器124被传递到预订引擎逻辑模块126。来自预订引擎逻辑模块126 的响应数据通过预订引擎连接器被传递回业务逻辑模块108,以响应于他 们的用户查询而包含将要被输出给用户的应答数据。当预订引擎102与各种客户服务器104进行通信时,配置模块120调用来自数据库122的位置(site )参数,该位置参数相应于被要求以满足请求的任何一个服务器104。典型的,该位置参数是统一资源定位符(URL)的格式,相应于能够满足请求的Web服务,这通常是客户的服务器。
比如,以燃油附加费来说,数据适配器114a对适当的客户服务器104将数据格式为正确的数据格式。比如说,(联邦德国)汉莎航空公司(Lufthansa)可能要求与法国航空公司(Air France )或Iberia航空公司不同的数据格式。插件114b确定总的数据结构中的哪个数据子集是计算附加燃油费所需要的。这种总体数据结构可采用"旅行计划(Trip Plan)"的格式,该格式包括航班的起点和终点、航班的出发时间和飞行时间、宾馆预订和特殊要求。以燃油附加费来说,插件114b把航班的起点和终点做为询问数据传递给远程定制模块115。
典型的,此时插件114b或者预订引擎连接器124在询问数据内设置响应超时参数。询问数据通过通信模块110从业务逻辑模块108传递到客户服务器104。
询问数据包含计算业务逻辑108所不能提供的信息所需要的参数值。响应于客户服务器询问程序的调用,这些参数值被从业务逻辑模块108取回。
远程定制模块115于是将与操作客户服务器104的客户相关联的预约业务逻辑应用于插件114b发送的参数,以返回附加燃油费的值。
客户服务器104通过网络106和通信模块IIO返回响应数据给业务逻辑模块108。就燃油附加费来说,响应数据将与货币值相对应。然而,应该知道响应数据可包括相应于完成用户查询所需要的字段或信息的任何数值或字符串。比如说,响应数据可包括乘客是否要求选择素食的指示。
业务逻辑;溪块108已经定义响应超时参IH如果响应数据在超时时间段到期之前还没有在业务逻辑模块108接收到,则该请求可能是超时的。如果以上情况发生,则业务逻辑模块108要么返回缺省模式,在该缺省模式中在没有附加信息的情况下对用户请求的处理继续进行,或者返回超时消息,该超时消息由通信模块110通过网络106路由到用户终端。
业务逻辑模块108将响应数据并入将被发送给用户的回复数据中。用户通过网络106在终端112处的显示器上接收该回复数据。
用户请求及其响应的传递可以保存在预订引擎100中,并且如果期望,可以被检查或重放以便发现错误。此外,定制模块可以通过执行虛拟交易来进行测试,而不损害核心业务逻辑的完整性。
对与某项事务(比如说"旅行计划")相关的总体数据集中不同数据子集的使用,允许使用普通的适配器插件对114a、 114b的单个实例访问生成来自不同的客户服务器的许多响应数据,或访问来自单个客户服务器的响应数据的多样的实例。
应该知道,尽管描述的时候参照的是超时参数,但是在事先定义的错误条件中任何一个或其组合发生时,业务逻辑模块都可以返回缺省模式。
应该知道,对插件式web服务模块的使用允许在另外的服务器中重复使用先前生成的模块,以提供相同或相似的附加功能。这种重复使用可要求对小的web服务插件程序(plug-in)进行有限的重新编码,并且因此相比对业务逻辑模块的业务逻辑进行重新编码更加简单、快捷,并且不易引入编程错误。
应该知道,尽管描述的时候参照的是旅行数据,包括但不限于航班预订、旅店预订和旅行保险,但是本发明适用于任何业务系统,其中的附加功能借助于远程web服务插件被有效地添加到业务引擎中。
尽管已对本发明各种实施方式进行了描述,但是对本领域技术人员而言明显的是,只要确定本公开,可以进行各种更改、变换、改进和变动而且不脱离本发明的范围。
权利要求
1.一种用于逻辑引擎的远程定制模块,其运行于远离所述逻辑引擎的服务器上,所述远程定制模块包括通信接口,其设置成与所述逻辑引擎和运行在所述服务器上的应用程序进行通信;逻辑单元,其设置成通过所述通信接口从所述逻辑引擎接收进入的对数据的请求,所述逻辑单元还进一步设置成询问所述应用程序以提取满足所述请求的所要求的数据,其中所述逻辑单元设置成处理所提取的所述数据,以产生响应数据并将所述响应数据传递给所述逻辑引擎。
2. 如^又利要求1所述的模块,其包括应用程序编程4妄口。
3. 如权利要求2所述的模块,其中所述应用程序编程接口净皮编码在 用于网站的编码中。
4. 如权利要求2所述的模块,其中所述应用程序编程接口^皮编码在 已经存在的web服务中。
5. 如权利要求2所述的模块,其中所述应用程序编程接口包括数据 结构,所述^t据结构包括与^L则相对应的数据项,所述^t据项在一皮^L行时 产生所述响应数据。
6. 如权利要求5所述的模块,其中所述规则管理对所述应用程序的 询问以及所述响应数据的计算。
7. 如权利要求2所述的模块,其中所述应用程序编程接口借助于面 向过程的描述(POD)数据来进行描述。
8. 如权利要求7所述的模块,其中所述面向过程的描述数据包括可 扩展标记语言(XML)。
9. 如权利要求7所述的模块,其中所述面向过程的描述数据包括网 络服务描述语言(WSDL)。
10. 如权利要求3所述的模块,其中所述模块设置成接收来自位于所 述逻辑引擎的插件的询问。
11. 如权利要求1所述的模块,其中所述逻辑引擎包括业务逻辑引擎。
12. 如权利要求11所述的模块,其中所述业务逻辑引擎包括预订引擎。
13. 如权利要求12所述的模块,其中所述预订引擎包括旅行预订引擎。
14. 一种业务系统,所述业务系统包括逻辑引擎和客户服务器,所述 逻辑引擎和所述客户服务器设置成通过网络进行通信,所述逻辑引擎包括与业务逻辑相对应的数据结构,并且所述服务器作为如权利要求1所述的 远程定制模块的主机,其中所述远程定制模块设置成响应于从位于所述逻 辑引擎的插件接收的询问数据,而向所述逻辑引擎提供从存储在所述客户 服务器上的数据得到的响应数据。
15. 如权利要求14所述的系统,其中,所述逻辑引擎包括适配器, 所述适配器设置成将询问数据格式化成与作为所述远程定制模块的主机 的所述服务器相兼容的格式。
16. 如权利要求14所述的系统,其中所述逻辑引擎包括业务逻辑引擎。
17. 如权利要求16所述的系统,其中所述业务逻辑引擎包括预订引擎。
18. 如权利要求17所述的系统,其中所述预订引擎包括旅行预订引擎。
19. 如权利要求14所述的系统,其中,所述逻辑引擎定义错误条件。
20. 如权利要求19所述的系统,其中所述逻辑引擎被设置成在所述 错误条件发生时返回缺省模式。
21. 如权利要求19所述的系统,其中所述逻辑引擎设置成当所述错 误条件为^皮超过的超时时间段时,向用户返回超时响应。
22. 软件,所述软件在处理器上执行时使得所述处理器如权利要求1 所述的远程定制模块起作用。
23. 软件,所述软件在处理器上执行时使得所述处理器如权利要求15所述的插件起作用。
24. —种方法,所述方法通过提供如权利要求1所述的远程定制引擎 来增加逻辑引擎的功能,其中所述远程定制引擎设置成返回相应于参数的 响应数据,所述参数是满足在所述逻辑引擎接收的用户请求所需要的,其 中所述逻辑引擎不被编程为提供相应于参数数据的数据。
全文摘要
一种用于逻辑引擎的远程定制模块,其运行在远离所述逻辑引擎的服务器上,所述远程定制模块包括通信接口,其设置成与所述逻辑引擎和运行在所述服务器上的应用程序进行通信。所述模块还包括逻辑单元,所述逻辑单元设置成通过通信接口从所述逻辑引擎接收进入的对数据的请求。所述逻辑单元设置成询问所述应用程序,以提取满足所述请求所需要的数据。所述逻辑单元还设置成处理所提取的所述数据,以产生响应数据并传递所述响应数据给所述逻辑引擎。
文档编号G06F9/46GK101636718SQ200880005850
公开日2010年1月27日 申请日期2008年1月17日 优先权日2007年2月22日
发明者塞尔文·马森, 大卫·诺布莱特, 马克·佩里瑟, 马克·堪博拉 申请人:阿玛得斯两合公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1