用于集成网络服务提供者的服务应用程序构架的制作方法

文档序号:7731707阅读:240来源:国知局
专利名称:用于集成网络服务提供者的服务应用程序构架的制作方法
技术领域
本发明涉及先进的智能网络领域,特别涉及用于集成网络服务提供者的服务应用程序构架。
背景技术
开放网络应用程序编程接口(API)的发展代表了与用于开放公用交换电话网络(PSTN)的构架的传统方法的重要背离。一种这样的开放网络API,先进的智能网络(AIN)API和构架,定义了一种呼叫模式,其允许创建在该交换环境之外的通信服务应用程序。通信服务应用程序是可以执行在两方或多方之间建立通信会话的增强服务的通信应用程序。示意的服务应用程序可以包括呼叫等待、主叫方标识、呼叫转移、语音激活拨号以及电话会议。
当AIN首先被引入时,根据服务应用程序创建处理,该AIN代表一种重要的发展。从交换发展而来的AIN分离的服务使得服务逻辑组件更加快速地发展,并且置于附着到数据库的专用网络部件中。反过来,被从所有服务逻辑解放出来的交换机可以对速度和效率而优化。但是,发展到AIN标准的典型服务应用程序由专门训练的程序员使用专用的服务创建环境来编写。
重要的是将来的通信网络的特征在于新的和发展的网络构架,其中分组交换、电路交换和无线网络被集成,以向用户提供一批创新的多媒体、多方应用程序。同样重要的是,通信应用程序发展的过程将会改变,并且将不仅仅是该通信网络或服务应用程序提供者的领域。实际上,为了快速地提供广泛、新型、有竞争力的应用程序,服务应用程序提供者将日益求助于应用程序开发者和软件销售商。因此,在通信领域中的应用程序的开发将变得更加类似于一般的软件和信息技术的情况,客户从日益增加的竞争、减小进入市场的时间以及新技术的快速发展中得到好处。
为了使得这种设想成为现实,由于新服务应用程序组件开发模式,AIN的原理已经被放弃。具体来说,人们已经认识到将来的集成网络必须向应用程序开发者提供一组标准的、开放的API,使得为了与一个销售商的系统相兼容而编写的应用程序可以在另一个销售商的系统中执行。从而,可以分期支付应用程序开发的成本,减小对于客户的最终成本。用于集成网络的Java API(JAIN)满足新服务应用程序组件开发模式的要求。当前,JAIN包括标准、开放、公布的用于下一代系统的Java API,包括集成网际协议(IP)或者异步传输模式(ATM)网络、PSTN和无线网络。该JAIN API包括在协议级的接口,用于例如媒体网关控制协议(MGCP)、会话启动协议(SIP)以及交互能力应用程序部分(TCAP)以及驻留在通信协议栈的较高层中的协议。
JAIN包括一组集成网络API,用于Java平台的以及把JAIN组件构建和集成到在PSTN、分组和无线网络上工作的服务或应用程序中的一个环境。该JAIN方法通过把基于服务的逻辑与基于网络的逻辑相分离而集成有线线路、无线和基于分组的网络。图1示出一种常规的JAIN应用。如图1中所示,一种常规的JAIN应用可以包括一个协议层102,其可以包括到IP、有线线路和无线信令协议的接口。尽管仅仅示出TCAP、JCC和H.323协议110,但是由JAIN规范所支持的协议不限于具体的协议,并且例如可以包括TCAP,ISUP,INAP,MAP,SIP,MGCP和H.323。另外,该JAIN应用可以包括到达例如JCC这样的一个连通性管理和呼叫控制协议的接口。
除了协议层102之外,该常规的JAIN应用还可以包括用于处理安全网络接入和其他外部服务120的应用层104。并且,该常规JAIN应用可以包括一个服务逻辑层106,其可以包括一个服务创建和载体等级服务逻辑执行环境(SLEE)108。服务组件112是核心JAIN组件,并且可以在SLEE 108中执行。更加具体来说,服务组件112可以实现电话和网络服务,并且可以根据一种标准组件模型而构造。服务组件组合的实例与SLEE 108相协调地执行。
在工作中,使用关于可以包含到SLEE 108的协议层102的信息,服务组件112可以与一个下层的协议层110交互作用,而不需要关于该协议层110的具体知识。更加重要的是,该SLEE 108可以通过提供用于事务处理、连续性、负载平衡、安全性以及对象和连接实例合并的便携支持而减轻服务组件112的常规使用寿命保证责任。按照这种方式,该服务组件112可以针对于提供电话和/或网络服务。特别地,SLEE 110可以直接通信连接到客户机组件,例如外部应用程序116、协议栈110和服务组件112。
例如,在SLEE 108中的服务逻辑层106处执行的服务组件112可以通过在SLEE 108中的协议适配器与在该协议层中的协议栈110进行通信。协议适配器一般可以包括类方法、回封装接口或事件处理程序。在许多情况中,一个下层协议栈110可以通过在SLEE 108中的一个事件表114直接与SLEE 108进行通信,该SLEE 108可以被配置为专用于处理对于该下层协议栈110特定的事件。从而,该SLEE 108可以识别这些特殊事件,并且在从下层协议栈110接收这种事件之后,该SLEE108可以把该事件传送到一个预定服务组件112。并且,服务组件112可以被独立编程为与例如关系数据库、目录服务等等这样的特定外部服务120交互作用。
尽管从表面上看JAIN规范具有优点,但是,JAIN规范的常规应用包括一些缺点,特别在它们应用于实时电话的情况中。首先,常规JAIN应用的SLEE包括一个Enterprise Javabean(EJB)方法,其包括不必要的系统杂务,例如使用寿命保证责任。但是,使用寿命保证责任在实时电话领域中不如在其他通信领域中那样重要。因此,EJB的使用可能对于满足实时操作的要求来说导入太长的等待时间。另外,为了减小协议栈的服务组件的复杂度,该SLEE需要下层协议栈的专业知识,例如从可以用于促进SLEE和下层协议栈之间的通信的相应事件表显然可以看出这一点。但是,在SLEE中包括专用的客户机组件信息可能对SLEE增加不必要的复杂度。从使用寿命保证责任的观点来看,这是成问题的。并且,在SLEE中包括客户机组件信息不必要地导致SLEE与特定的客户机组件相结合。最后,把SLEE与特定客户机组件相结合可能需要在计算上紧密相邻的应用层、协议层和服务逻辑层的定位。
与在SLEE中的一个服务组件进行通信对于外部应用程序来说也可能是成问题的。具体来说,一个外部应用程序必须编程地与在可以与外部应用程序进行通信的SLEE中的这些服务组件相结合。在外部应用程序在例如互联网这样的计算机通信网络上发布时,该问题可能是复合的。相应地,集成服务或通过包括万维网在内的互联网可用的其他功能的任何尝试必须使用一个分离、专用的系统来实现。
特别地,根据JAIN规范,一个无线服务应用程序的发展需要许多不同的通信接口和用于接入无线服务的知识。例如,当前存在有多种不同的通信协议,其支持使用无线网络。这些协议可以包括用于全球数字移动电话系统(GSM)、通用分组无线业务(GPRS)、增强的数据GSM环境(EDGE)、通用移动通信系统(UTMS)、无线应用协议(WAP)、移动接入协议(MAP)和i模式。
为了开发一种无线服务应用程序,一个开发者必须熟悉对应于被包含到被开发的无线服务应用程序的无线服务或功能的该特定无线协议接口。例如,WAP是用于使得无线设备通信标准化的一组通信协议的一种规范。因此,开发用于手持设备的无线服务的服务应用程序的人至少需要对WAP的一般了解,以成功地开发这种服务应用程序。
类似地,希望提供通过无线手持设备交互使用一个网址的应用程序服务的服务应用程序开发者可能需要熟悉GPRS,其能够提供比WAP更高的数据率。例如GPRS和WAP这样的解决方案可以促进各种设备和服务的协作能力,以及使得对专用解决方案的使用最少化。但是,为了开发各种无线服务应用程序,一个开发者必须熟悉无线协议和接口的分类。相应地,在使用不同无线通信协议和接口中具有必要经验的人数可能受到限制。
类似于在开发无线服务应用程序中所面对的困难,一种通信服务应用程序的开发还需要许多用于接入服务应用程序和功能的不同通信接口和协议的知识。例如,除了用于访问呼叫模型的服务组件之外,呼叫阻塞或呼叫转移这样的服务应用程序可能需要接入目录服务或者其他专用数据库,用于访问信息以实现该呼叫模型。但是,接入目录服务可能需要关于轻量目录接入协议(LDAP)的专门知识。通过比较,接入任何特定的数据库可能需要DB2、MQSeries或者其他专用数据库接入协议的知识。
一般来说,使用一种特殊的协议实现无线应用程序所需的知识可能如此高度专业化,使得在一个给定的机构中可能仅仅有一个人具有必要的经验。这种人员上的两难境地意味着每次开发用于一个特定无线格式的解决方案时,该解决方案不容易端接一个不同的无线格式或协议。另外,由于编程专业技能可能如此高度专业化,把一个服务应用程序端接另一个格式或协议,一般需要具有在目标格式或协议内的专业技能额外人员。
因此,电话服务应用程序开发的高度专业化的特性可能导致开发费用的增加和较长的设计周期。另外,所涉及的复杂度使得系统、特性和应用程序的回收利用和维护极其困难。例如,由于接入一个特定服务功能所需的协议和逻辑被包含在被开发的服务应用程序中,则对一个下层协议的任何改变可能需要对整个服务应用程序重新编程。总而言之,无线服务应用程序开发的高度专业化特性可能导致增加开发费用和更长的设计周期。另外,所涉及的复杂度使得系统、特性和应用程序的回收利用极其困难。因此,所需要的是用于集成网络服务提供者的一种更加灵活的服务应用程序构架。

发明内容
相应地,根据第一方面,本发明提供一种用于智能网络的应用程序执行环境,其中包括在服务逻辑层中的SLEE,该SLEE包括一个事件路由总线,用于在服务逻辑层中的服务组件以及协议层和应用层中的客户机组件之间路由事件;在协议层中的至少一个客户机组件,其中该至少一个客户机组件通过一个连接器/包装器接口(wrapper interface)与SLEE通信连接;以及在该SLEE中执行的至少一个电话服务组件,其中该电话组件可以被配置为通过在SLEE中的事件路由总线与在该协议层中的客户机组件和在该服务逻辑层中的其他服务组件进行通信。
最好,该应用程序执行环境进一步包括至少一个在SLEE中执行的普通服务组件。该普通服务组件可以被配置为与在SLEE中的其他服务组件进行通信。该普通服务组件还被配置为与在该应用层中的特定外部服务进行通信。
最好,该应用程序执行环境进一步包括在所述SLEE中执行的至少一个互联网使能服务组件(IESC),所述IESC具有用于通过所述事件处理程序与在所述SLEE中的其他服务组件之间发送和接收消息的配置,所述IESC具有到达所述SLEE之外的一个服务器方程序的通信链路。
最好,该连接器/包装器接口包括一个客户机组件包装器,该客户机组件包装器提供到该协议层中的一个客户机组件的抽象接口;以及与该SLEE相关的连接器,该连接器对应于该客户机组件包装器,其中该连接器被配置为通过由该客户机组件包装器所提供的抽象接口与该客户机组件进行通信。
最好,该应用程序执行环境进一步包括一个SLEE描述符,该SLEE描述符指定至少一个客户机组件,该SLEE可以被配置为通过一个连接器/包装器接口与该客户机组件进行通信。
最好,该应用程序执行环境进一步包括至少一个客户机组件描述符,每个客户机组件描述符对应于在该协议层中的一个特定客户机组件,该至少一个客户机组件描述符指定特定的事件,该事件被通过在SLEE中的事件路由总线通知该指定的客户机组件。
最好,该客户机组件是一个协议栈。另外,该客户机组件可以是一个呼叫控制组件、信令协议组件、连通性管理协议组件或者安全网络接入协议组件。
最好,该SLEE是一个JAIN兼容的SLEE。
最好,该SLEE进一步包括用于在SLEE中装载服务组件的类装载器,该SLEE登记每个装载的服务组件,以接收发送到特定的所登记服务组件的事件;每个路由总线把所述所接收的事件路由到在该SLEE中执行的所述特定的所登记服务组件。
最好,该SLEE进一步包括一个线程池(thread pool);以及用于分配由所述装载的服务组件所使用的线程的线程池管理器。
根据第二方面,本发明提供一种电话服务提供方法,其中首先在一个服务逻辑执行环境(SLEE)中的一个事件路由总线中,协议层事件被通过一个连接器/包装器接口从客户机组件接收,服务逻辑层事件被从在该SLEE中执行的服务组件接收,以及该特定协议层事件和服务逻辑层事件被转发到被登记接收该特定协议层和服务逻辑层事件的服务组件和客户机组件;以及其次在SLEE中执行的至少一个服务组件中,至少一个服务逻辑层事件被发送到事件路由总线,其中该事件路由总线可以把被发送的服务逻辑层事件转发到另一个被登记接收所发送的服务逻辑层事件的另一个服务组件。
最好,作为电话服务提供方法的一部分在至少一个服务组件中,建立与一个指定外部服务的通信链路;一个服务逻辑层事件被从另一个服务组件接收,所接收的事件请求外部服务;以及响应从另一个服务组件接收的服务逻辑层事件,所请求的外部服务被通过对由链接的指定外部服务所提供的一个功能的至少一个指定调用而提供。
根据第三方面,本发明提供一种机器可读存储器,其具有存储于其上的一个用于提供电话服务的计算机程序,所述计算机程序具有可由一个机器所执行的程序代码,用于使得该机器执行根据第二方面的方法。
根据第四方面,本发明提供一种先进的智能网络,其中包括服务逻辑执行环境(SLEE),所述SLEE包括一个事件处理程序,用于在客户机组件和服务器组件之间路由消息;至少一个服务组件被配置为通过所述事件处理程序与在所述SLEE中的其他服务组件之间发送和接收消息;以及在所述SLEE中执行的至少一个互联网使能服务组件(IESC),所述IESC被配置为通过所述事件处理程序与在所述SLEE中的其他服务组件之间发送和接收消息,所述IESC通信链接到所述SLEE外部的一个服务器侧的程序。
根据第五方面,本发明提供一种在智能网络模块中的服务逻辑执行环境(SLEE),所述SLEE包括类装载器,用于在SLEE中装载服务组件,该SLEE登记每装载的服务组件,以接收发送到特定的所登记服务组件的事件;以及一个事件路由总线,用于从一个协议层和其他服务组件接收事件,所述事件路由总线把所述接收的事件路由到在该SLEE中执行的所述特定的所登记服务组件。
根据第六方面,本发明提供一种用于智能网络的应用程序执行环境,其中包括具有至少一个客户机组件包装器的服务逻辑执行环境(SLEE),所述至少一个客户机组件包装器提供到一个指定客户机组件的抽象接口;以及与所述SLEE相关的至少一个连接器,所述至少一个连接器对应于至少一个客户机组件包装器,其中所述连接器被配置为通过由所述对应的至少一个客户机组件包装器所提供的抽象接口与该客户机组件进行通信。
根据第七方面,本发明提供一种先进的用于无线服务的智能网络,其中包括一个服务逻辑执行环境(SLEE);至少一个在所述SLEE中执行的服务应用程序;以及至少一个用于通信链接到所述服务应用程序的无线服务应用程序的普通服务组件,所述普通服务组件包括一个到所述SLEE外部的所述无线服务应用程序的接口。
根据第八方面,本发明提供一种用于呼叫模型的先进智能网络,其中包括一个服务逻辑执行环境(SLEE);在所述SLEE中执行的至少一个服务应用程序;以及至少一个链接到所述服务应用程序的普通服务组件,所述普通服务组件包括到所述SLEE外部的第二服务应用程序的接口。
根据第九方面,本发明提供一种用于智能网络的数据处理系统,其中包括包括一个服务逻辑执行环境(SLEE)的服务逻辑层;包括至少一个客户机组件的协议层,其中所述至少一个客户机组件通过一个连接器/包装器接口通信链接到所述SLEE,以及其中所述SLEE包括一个事件路由总线,用于在该服务逻辑层中的服务组件和在协议层和应用程序层中的客户机组件之间路由事件;以及至少一个在所述SLEE中执行的电话服务组件,所述电话组件配置为通过所述SLEE中的所述事件路由总线与该协议层中的客户机组件和在该服务逻辑层中的其他服务组件进行通信。
因此,本发明提供一种灵活的用于集成网络服务提供者的服务应用程序构架。本发明通过该服务组件提供更加直接的事件处理以及通过减小在该服务逻辑执行环境(SLEE)中包含的协议栈特定代码而解决现有技术中的缺陷。另外,本发明通过从SLEE中除去指定客户机组件信息并且把其替换为一个连接器/包装器通信接口而克服现有技术的缺陷。结果,该SLEE可以一般地通过该连接器/包装器接口发送和接收通信,而不管在下层客户机组件的具体实现方式。因此,根据本发明,可以减小SLEE的复杂度。另外,根据本发明配置的SLEE不需要直接附着到特定的客户机组件。
最好,本发明的构架包括普通服务组件,其可以被配置为与特定的外部服务进行通信,并且把一个普通接口提供到在SLEE中执行的其他服务组件。按照这种方式,例如电话服务组件这样的在SLEE中执行的服务组件一般可以请求例如来自该普通服务组件的数据库操作这样的外部服务。响应接收对于一个外部服务的一般请求,该普通服务组件可以调用对于一个相应指定外部服务特定的一个或多个功能,以把所请求的外部服务提供到该请求电话服务组件。从而,电话服务组件不需要包含发送到一个指定外部服务的特定代码。而是。仅仅该普通服务组件需要包含发送到该指定外部服务的特定代码。因此,可以减小该电话服务组件的复杂度。


下面将参照如附图中所示的优选实施例仅仅通过例子描述本发明,其中图1为根据现有技术中公知的常规JAIN实现方式而配置一个智能网络构架的示意图;图2为包含一个服务逻辑执行环境(SLEE)的智能网络构架的示意图;图3为用于在图2的SLEE中执行而配置的电话服务组件的详细示图;图4为用于在图2的SLEE中执行而配置的普通服务组件的详细示图;图5是配置为访问在图2的智能网络构架的应用层中的服务应用程序的普通服务组件的集合的方框图;以及图6为示出用于通过连接器/包装器接口建立一个客户机组件和图2的SLEE之间的通信链路的方法的流程图。
具体实施例方式
本发明是一种用于集成网络服务提供者的灵活服务应用程序构架。该构架可以类似于一种先进的智能网络构架(AIN),因为该构架可以具有一个协议层、服务逻辑层和应用层。根据本发明的结构,本发明的构架可以包括在该服务逻辑层中的一个服务逻辑执行环境(SLEE)。显著地,该SLEE可以是一个JAIN兼容的SLEE。该SLEE可以包括用于在该服务逻辑层中的服务组件和在该协议层和应用层中的客户机组件之间路由事件的事件路由总线。特别地,在该SLEE中执行的电话服务组件可以被配置为通过在SLEE中的事件路由总线与在该协议层中的客户机组件和在服务逻辑层中的其他服务组件进行通信。最后,客户机组件可以通过一个连接器/包装器接口通信连接到SLEE。
包含根据本发明的优选实施例而配置的SLEE通过提供可以促进服务组件之间的数据通信的一个事件路由总线,有助于解决该现有技术的缺陷。通过提供更多的直接事件通信,可以减少与JAIN规范的EJB方法相关的内在潜力。并且,与服务组件仅仅可以接收和处理通过SLEE从例如一个协议栈这样的客户机组件接收的事件的SLEE的常规实现方式不同,在本发明的一个优选实施例中,服务组件还接收和处理来自其他服务组件的事件。因此,可以创建服务组件的先进组合,以形成宏服务组件。
并且,服务组件可以被构造为包括一个特定协议层的指定知识。从而该特定协议层的指定知识可以被从该SLEE中除去,从而减小该SLEE的复杂度。结果,在本发明的一个优选实施例的SLEE中,新的协议层可以被添加到该智能网络,而不需要该SLEE的重新编码,因为服务组件可以被创建以,包括添加的协议栈的指定知识。一旦被动态地插入到该SLEE中,其他服务组件可以通过所插入的服务组件经该事件路由总线访问新的协议栈。与不可能进行服务组件之间的通信的现有智能网络不同,在本发明的一个优选实施例中,存在使得新协议栈的简化添加成为可能的服务组件之间的通信。
本发明的构架还可以包括用于把SLEE通信连接到在该协议层中的客户机组件的一个连接器/包装器接口。SLEE和在协议层中的客户机组件之间的连接器/包装器接口还可以通过到达一个指定客户机组件的普通接口提供一个可配置的连接,而不把该客户机组件附着到该SLEE,从而有助于解决现有技术的缺陷。
与SLEE被直接附着到与该SLEE通信的客户机组件的SLEE的常规实现方式不同,在本发明的一个优选实施例中,该SLEE和客户机组件不需要相互接近。而是,该SLEE和客户机组件可以在需要时通过一个网络而定位。通过这种方式,可以实现一个更加灵活的客户机组件和SLEE之间的连接,其可以在使用寿命维护过程中促进SLEE的维护和增强。另外,特定客户机组件的指定知识可以被从SLEE中除去,并且包含在到该客户机组件的接口中。结果,可以减小SLEE的复杂度。
最后,本发明的一个优选实施例包括用于向一个指定外部服务提供一个抽象接口的普通服务组件。更加具体来说,当每个普通服务组件可以保持得知指定外部服务的特定实现方式时,其他服务组件,特别是在该SLEE中执行的电话服务组件通常可以请求该普通服务组件的外部服务,而不知道一个相应指定外部服务的特定实现方式。按照这种方式,服务组件的复杂度可以被减小,并且该服务组件可以与外部服务的指定实现方式相脱离。
图2为根据本发明一个优选实施例配置的JAIN兼容智能网络的示意图。一个JAIN兼容网络被配置为包括一个协议层202、应用层205和服务逻辑层207。该应用层205可以容纳外部的第三方应用程序208一般的第三方应用程序208可以适合对例如虚拟专用网络(VPN)、内地服务和统一消息接发这样的服务的大众市场需求。外部的第三方应用程序208还可以包括短寿和适应性的应用程序,其可以使用例如数据库查找接口、可下载机制和Parlay API这样的本领域所公知的不信任应用程序空间部署技术(un-trusted application space deploymenttechnologies)而部署。最后,例如数据库服务、目录服务和无线服务这样的指定外部服务220可以被包含在该应用层205中。
该服务逻辑层207可以包括例如可以被配置为与JAIN规范相兼容的JSLEE服务器200的一个SLEE服务器。重要的是,该JSLEE服务器200可以包括一个事件路由总线218。该事件路由总线218可以在服务组件203、204、205之间发送和接收消息。具体来说,服务组件203、204、205可以被配置为把消息传送到该事件路由总线218,并且向JSLEE服务器200登记服务组件203、204、205可以,以从其他服务组件203、204、205接收如此发送的事件。按照这种方式,服务组件之间的通信成为可能。另外,服务组件203、204、205可以被配置为通过事件路由总线218从外部应用程序208接收事件。并且,从外部应用程序208接收并且发送到该事件路由总线218的这些事件可以路由到已经登记接收这种事件的其他服务组件203、204、205。
该服务组件203、204、205可以包括电话服务组件204、普通服务组件203和互联网服务组件205。图3为被配置用于图2的JSLEE服务器200中的一个电话服务组件204的示意图。如图3中所示,该电话服务组件204可以包括一个或多个服务实例302。服务实例302可以分别以具体例子说明可以在该JSLEE 200中执行的服务。更加重要的是,可以向该事件路由总线218登记每个服务实例302,以接收和发送事件到该协议层202,以及其他电话和普通服务组件203、204、205。
每个服务实例302可以通过隔离该服务实例实现方式的具体细节的服务包装器306而被访问。更加具体来说,该服务类的数据和方法部件可以被通过包含在该服务包装器306中的一个普通接口而被访问。还可以提供一个部署描述符310。该部署描述符310可以是一个文档,例如一个XML文档,其可以描述用于在该JSLEE服务器200中初始装载该服务组件302的实例的适当参数。特别地,到该服务包装器306的接口可以被通过例如作为一个XML文档的一部分而包含的服务接口308发布到外部对象。类似地,到达每个服务实例302的接口可以被包含作为一个前后关系接口304的一部分,例如其还可以被作为XML文档的一部分而发布。一旦被装载,服务实例302可以通过在JSLEE服务器200中的事件路由总线218进行通信。
为了避免在用于访问例如所有权和关系数据库服务以及目录服务这样的指定外部服务220的电话服务组件204中包含代码,普通服务组件203可以被包含在本发明的构架中。普通服务组件203可以对指定外部服务220提供一个抽象接口,并且可以特别响应来自其他服务组件203、204、205的普通请求,以与该指定外部服务220交互作用。特别地,普通服务组件203可以提供一个普通API,用于访问例如无线服务、目录服务、数据库服务或消息接发服务这样的服务应用程序。
实际上,一个普通服务组件203可以每个不同服务应用程序而构建。另外,一个普通服务组件203可以对由一个服务应用程序所使用的每个不同协议而构建。因此,如图2中所示,多个普通服务组件203可以被包含,每个服务组件对应于一个服务应用程序或协议。例如,一个不同的普通服务组件203可以对基于LDAP、DB2和MQ系列(MQSeries)的服务或功能而构建。类似地,一个不同的普通服务组件203可以被构建,用于访问例如利用用于全球数字移动电话系统(GSM)、通用分组无线业务(GPRS)、增强的数据GSM环境(EDGE)、通用移动通信系统(UTMS)、无线应用协议(WAP)、移动接入协议(MAP)和i模式的无线服务应用程序。因此,包含普通服务组件203可以免除其他服务组件,特别是电话服务组件204,包含一个用于与指定外部服务220进行通信的指定配置。
图4为被配置用于图2的JSLEE服务器200的普通服务组件203的示意图。如图4中所示,该普通服务组件203可以包括一个或多个普通服务实例402。类似于图3的电话服务实例302,图4的普通服务实例402分别举例说明可以在该JSLEE服务器200中执行的普通服务。更加重要的是,可以向该事件路由总线218登记每个普通服务实例402,以与该服务逻辑层207中的其他MQSeries之间接收和发送事件。与该电话服务组件204的情况相同,每个普通服务实例402可以通过隔离该服务实例实现方式的具体细节的普通服务包装器406而被访问。更加具体来说,该服务类的数据和方法部件可以通过包含在该普通服务包装器406中的一个普通接口而被访问。
还可以提供一个部署描述符410。该部署描述符410可以是一个文档,例如一个XML文档,其可以描述用于在该JSLEE服务器200中初始装载普通服务组件402的一个实例的适当参数。特别地,一个到该普通服务包装器406的接口可以被通过例如作为一个XML文档的一部分而包含的普通服务接口408发布到外部对象。类似地,到每个服务实例402的接口可以被包含作为一个前后关系接口404,其还可以被作为例如一个XML文档的一部分而被发布。一旦被装载,普通服务实例402可以通过在该JSLEE服务器200中的事件路由总线218进行通信。
图5为在本发明一个优选实施例的JAIN兼容智能网络中的普通服务组件502A、502B、502C、502D、502E和502F的示意排列的简化示意图。如图5中所示,每个普通服务组件502A、502B、502C、502D、502E和502F可以包括一个服务包装器506和一个或多个客户机服务实例502。可以向JSLEE服务器200登记该服务包装器506,以接收对应于一个服务应用程序530的一个特定种类的事件。相应地,该服务包装器506可以包括转换所接收的事件并且根据一个特定协议对该事件重新格式化所需的功能。重新格式化的事件可以被路由到一个特定无线服务应用程序。该服务包装器506可以举例说明用于处理一个特定事务或一个或多个事件的客户机服务实例502。该客户机服务实例502还可以举例说明与普通服务组件502A、502B、502C、502D、502E和502F之一的通信。
如图5中所示,示例的普通服务组件502A、502B、502C、502D、502E和502F可以包括但不限于WAP普通服务组件502A、EDGE普通服务组件502B、GPRS普通服务组件502C、LDAP普通服务组件502D、DB2普通服务组件502E以及MQ系列普通服务组件502F。可以向JSLEE服务器200登记例如作为WAP普通服务组件502A的一部分的服务包装器506,以接收与例如无线手持设备这样的无线设备相关的无线事件。如图5中所示,该服务包装器506已经举例说明三个客户机服务实例502,每个实例用于每个所接收的事件,或者包括与基于WAP的无线服务应用程序相关的事务的事件系列。另外,单个客户机服务实例502可以处理多个事务。因此,每个客户机服务实例502可以与基于WAP的服务应用程序530A交互作用。
类似地,该EDGE普通服务组件502B和MQ系列普通服务组件502F分别可以包括一个服务包装器以及分别用于与基于EDGE无线服务应用程序530B和MQ系列消息队列服务应用程序530F交互作用的一个或多个客户机服务实例。应当知道,一个普通服务组件可以根据需要对任何服务应用程序而构建,包括使用所有权接口和协议的所有权数据库和无线服务。
现在转到图2,与电话和普通服务组件203、204不同,该互联网使能服务组件205可以被预先配置为与例如服务小程序(servlet)或脚本这样的外部服务器侧的程序进行通信。服务器侧程序的例子包括但不限于普通网关接口(CGI)、Perl脚本、JavaTM服务器页面、VB脚本、有效服务器页面TM或者其他脚本技术。一旦一个外部应用程序232已经获得对互联网使能服务组件205的访问,则该互联网使能服务组件205可以被提供到接入在JSLEE服务器200中的事件路由总线218的外部应用程序232,服务组件203、204、205可以通过该JSLEE服务器200相互通信。
通过这种机制,在JSLEE服务器200中执行的服务组件203、204、205可以与互联网使能服务组件205进行通信。因此,由于该互联网使能服务组件205可以通信连接到与在例如互联网这样的一个计算机通信网络中的网络服务器230相关而执行的服务器方程序232,在该JSLEE服务器200内的其他服务组件203、204可以利用该互联网使能服务组件205来通过互联网发送和接收信息。另外,在JSLEE服务器200中的其他服务组件203、204可以由用户和管理员从互联网访问。
该互联网使能服务组件205可以被配置为通过根据超文本传输协议(HTTP)发送和接收请求和响应而与网络服务器230直接通信。类似地,该网络服务器230可以包括被配置为也根据HTTP与互联网使能服务组件205进行通信的服务器侧程序232。不必说,本发明该互联网使能服务组件205和相应服务器方程序通信的方式。而是,任何现有的通信技术可以包括例如明确的TCP/IP通信这样的普通面向连接的技术。
服务器方程序232和互联网使能服务组件205的组合使得服务和服务组件的各个方面要被通过互联网经过由互联网使能服务组件205所提供的普通应用程序编程接口(API)而访问。例如,用户可以访问和修改服务属性。服务属性可以包括任何用户可访问的一个访问的各个方面。类似地,服务管理员或上层用户可以访问、监视和在互联网上执行管理函数。管理函数可以包括但不限于为一个系统管理员或超级用户所保留并且不提供到一个用户的任何功能。特别地,该互联网使能服务组件205可以提供通过互联网而不需要外部服务或系统对用户和管理员的访问。
类似于在JSLEE服务器200中的其他服务组件203、204,每个互联网使能服务组件205还可以被配置为具有接收事件并且把事件传送到JSLEE服务器200的能力。按照这种方式,可以向该JSLEE服务器200登记其他服务组件203、204,以接收这种事件。这些服务组件203、204可以相应地把事件传送到该JSLEE服务器,该互联网使能服务组件205可以为该JSLEE服务器而被登记以进行接收。应当知道,该互联网使能服务组件205可以处理从JSLEE服务器200接收的事件,以及从网络服务器230接收通信。按照这种方式,该互联网使能服务组件205可以作为在该互联网和JSLEE服务器200之间的一个接口。
特别地,该JSLEE服务器200还可以包括几个寿命管理组件,其中包括一个线程池222、类装载器224、定时器226和使用计数器228。但是,该寿命管理组件不限于图2中所示的部件。而是,该寿命管理组件可以包括能够执行其他寿命管理保证责任例如负载平衡。在任何情况中,根据本发明的方案,各个服务组件没有执行寿命管理的开销,并且可以更加适合地用于电话应用中。
特别地,如图2中所示,该线程池222可以包括多个预先配置和装载的执行线程,其可以由一个线程池管理组件根据需要而分配,以请求在JSLEE服务器200中执行的服务组件203、204、205,该线程池管理组件可以解除分配该所分配的线程,并且可以该解除分配的线程返回到该线程池222,用于由其他组件所使用,请求在该JSLEE服务器中执行的服务组件203、204、205。
该类装载器224可以由JSLEE服务器200所使用,以适当地装载用于在该JSLEE服务器200中执行的服务组件203、204、205。特别地,该类装载器224可以识别与要被装载的每个服务组件203、204、205相关的配置和装载参数。从而,该类装载器224可以使用所识别配置和装载参数执行该服务组件203、204、205。最后,该类装载器224可以用向该事件路由总线218登记该服务组件203、204、205,使得事件可以被在该JSLEE服务器200中执行的服务组件203、204、205之间发送。
最后,该协议层202可以包括一个或多个协议层206,其可以被配置为与在该JSLEE服务器200中执行的服务组件204交互作用。特别地,尽管图2仅仅示出三个协议栈206,但是本发明不限于协议栈206的数目或类型。而是,JSLEE服务器200可以与任何协议栈交互作用,例如根据JAIN规范配置的那些协议栈。
在操作中,该JSLEE服务器200可以与协议层202中的协议栈206之间发送和接收事件。更加具体来说,该事件可以在包含于JSLEE服务器200中的事件路由总线218中发送和接收。电话服务组件204和普通服务组件204可以登记为用于在该事件路由总线218中接收的特定事件的接听者。向JSLEE服务器200登记的服务组件203、204、205可以接收传送到该服务组件203、204、205中的特定一个的服务组件事件。更加具体来说,该JSLEE服务器200的事件路由总线218可以把所接收的事件路由到已经向JSLEE服务器200登记的服务组件203、204、205,以接收这种事件。
根据本发明的一个优选实施例,该JSLEE服务器200可以被配置为与在该JAIN兼容智能网络中的客户机组件进行通信。客户机组件可以不但包括协议栈206,而且还包括其他服务组件203、204、205、指定外部服务220以及外部应用程序208。重要地,该JSLEE服务器200还可以被配置,而没有每个客户机组件的实现方式的特定知识。为了实现该功能,该JSLEE服务器200可以包括能够与包装器216进行通信的连接器210,从而形成一个连接器/包装器接口。该包装器216可以向该连接器210提供一个用于例如协议栈206这样的指定客户机组件的抽象接口。每个连接器210反过来可以被配置为通过与由相应包装器216所提供的抽象接口与例如协议栈206这样的相应客户机组件进行通信。
因此,通常,该JSLEE服务器200可以一般地通过连接器/包装器接口发送和接收事件,而与在例如协议栈206这样的下层客户机组件的实现方式的具体细节无关。相反地,仅仅该包装器216需要下层协议栈206的实现方式的具体细节的特定知识。在本发明的一个方面中,一个JSLEE描述符214可以被包括,其能够指定各个包装器216,相应的连接器210可以被配置为与该包装器进行通信。
特别地,该JSLEE服务器200在开始时可以读取该JSLEE描述符216,以得知每个指定的包装器216的标识。从而,该JSLEE服务器200可以配置与指定的包装器216进行通信的连接器210。类似地,客户机组件描述符212可以被提供给每个连接器210。该客户机组件描述符212可以指定特定事件,可以由JSLEE服务器200的事件路由总线218通知该事件给例如协议栈206这样的相关客户机组件。
图6为示出把一个SLEE通信连接到在集成网络的应用程序执行环境中的客户机组件的方法的流程图。该方法可以在装载SLEE的方框602开始。在方框604中,一个SLEE描述符可以被装载。如果在判断方框606中,指定一个客户机组件,在方框608中,一个连接器实例可以被创建和配置为与相关于该指定客户机组件的包装器进行通信。在方框610中,与配置的连接器相关的预定描述符可以被装载,并且在方框612中,可以向该SLEE中的一个事件处理程序登记该指定客户机组件,以接收在该预定描述符中列出的那些事件。
从而,在判断方框614中,如果附加客户机组件被在SLEE描述符中列出,则附加连接器实例可以被根据方框608至612而创建和配置。最后,一旦所有连接器实例已经被创建和配置,则该SLEE可以在步骤616开始,并且事件可以被通过连接器/包装器接口路由到登记的客户机组件,而与每个客户机组件的下层实现方式无关。从而,该SLEE可以通过客户机组件包装器通信连接到客户机组件,而不要求该SLEE具有每个客户机组件的特定知识。
本发明可以用硬件、软件、或者硬件和软件的组合来实现。根据本发明的电话服务提供方法可以在一个计算机系统中以集中的方式来实现,或者以分布的方式来实现,其中不同部件被在几个互连的计算机系统上展开。任何计算机系统或适用于执行在此描述的方法的其他装置是适用的。硬件和软件的典型组合可以是一个具有计算机程序的通用计算机系统,其中当该程序被装载和执行时,控制该计算机系统执行在此所述的方法。
本发明还可以体现在一个计算机程序产品,其包括能够实现在此所述的方法的所有特征,并且当装载在一个计算机系统中时,能够执行这些方法。在本文中计算机程序装置或计算机程序意味着用任何语言、代码或标记表达的一组指令,使得具有信息处理能力的一个系统直接执行特定功能,或者在如下两种情况之后执行该特定功能a)转换为另一种语言、代码或标识;b)以不同材料形式再现。
权利要求
1.一种用于智能网络的应用程序执行环境,其中包括在服务逻辑层中的服务逻辑执行环境(SLEE),所述SLEE包括一个事件路由总线,用于在服务逻辑层中的服务组件以及协议层和应用层中的客户机组件之间路由事件;在协议层中的至少一个客户机组件,其中所述至少一个客户机组件通过一个连接器/包装器接口与所述SLEE通信连接;以及在所述SLEE中执行的至少一个电话服务组件,其中所述电话组件被配置为通过在所述SLEE中的所述事件路由总线与在所述协议层中的客户机组件和在该服务逻辑层中的其他服务组件进行通信。
2.根据权利要求1所述的应用程序执行环境,其中进一步包括至少一个在所述SLEE中执行的普通服务组件,其中所述普通服务组件被配置为与在所述SLEE中的其他服务组件和在该应用层中的特定外部服务进行通信。
3.根据权利要求1或2所述的应用程序执行环境,其中进一步包括在所述SLEE中执行的至少一个互联网使能服务组件(IESC),所述IESC具有用于通过所述事件处理程序与在所述SLEE中的其他服务组件之间发送和接收消息的配置,所述IESC具有到达所述SLEE之外的一个服务器方程序的通信链路。
4.根据上述任何一项权利要求所述的应用程序执行环境,其中所述连接器/包装器接口包括一个客户机组件包装器,所述客户机组件包装器提供到该协议层中的一个客户机组件的抽象接口;以及与所述SLEE相关的连接器,所述连接器对应于所述客户机组件包装器,其中所述连接器被配置为通过由所述客户机组件包装器所提供的所述抽象接口与所述客户机组件进行通信。
5.根据上述任何一项权利要求所述的应用程序执行环境,其中进一步包括一个SLEE描述符,所述SLEE描述符指定至少一个客户机组件,该SLEE可以被配置为通过一个连接器/包装器接口与该客户机组件进行通信。
6.根据上述任何一项权利要求所述的应用程序执行环境,其中进一步包括至少一个客户机组件描述符,每个客户机组件描述符对应于在该协议层中的一个特定客户机组件,所述至少一个客户机组件描述符指定特定的事件,该事件被通过在所述SLEE中的所述事件路由总线通知该指定客户机组件。
7.根据上述任何一项权利要求所述的应用程序执行环境,其中所述客户机组件是一个协议栈。
8.根据权利要求1至6中的任何一项所述的应用程序执行环境,其中所述客户机组件是选自呼叫控制组件、信令协议组件、连通性管理协议组件或者安全网络接入协议组件之一。
9.根据上述任何一项权利要求所述的应用程序执行环境,其中所述SLEE是一个JAIN兼容的SLEE。
10.根据上述任何一项权利要求所述的应用程序执行环境,其中所述SLEE进一步包括用于在SLEE中装载服务组件的类装载器,该SLEE登记每个装载的服务组件,以接收发送到特定的所登记服务组件的事件;所述路由总线把所述所接收的事件路由到在该SLEE中执行的所述特定的所登记服务组件。
11.根据上述任何一项权利要求所述的应用程序执行环境,其中所述SLEE进一步包括一个线程池;以及用于分配由所述装载的服务组件所使用的线程的线程池管理器。
12.一种电话服务提供方法,其中包括如下步骤在一个服务逻辑执行环境(SLEE)中的一个事件路由总线中,通过一个连接器/包装器接口从客户机组件接收协议层事件,从在所述SLEE中执行的服务组件接收服务逻辑层事件,以及把所述特定协议层事件和所述服务逻辑层事件转发到被登记接收所述特定协议层和服务逻辑层事件的服务组件和客户机组件;以及在所述SLEE中执行的至少一个服务组件中,把至少一个服务逻辑层事件发送到事件路由总线,其中所述事件路由总线可以把所述被发送的服务逻辑层事件转发到另一个被登记接收所述被发送的服务逻辑层事件的另一个服务组件。
13.根据权利要求12的电话服务提供方法,其中进一步包括如下步骤在至少一个所述服务组件中,建立与一个指定外部服务的通信链路;以及从另一个服务组件接收一个服务逻辑层事件,所述被接收的事件请求外部服务;以及响应从所述另一个服务组件接收所述服务逻辑层事件,把所请求的外部服务通过对由链接的指定外部服务所提供的一个功能的至少一个指定调用而提供。
14.一种机器可读存储器,其具有存储于其上的一个用于提供电话服务的计算机程序,所述计算机程序具有可由一个机器所执行的程序代码,用于使得该机器执行权利要求12或13所述的步骤。
全文摘要
一种用于智能网络的应用程序执行环境。该应用程序执行环境包括在服务逻辑层中的服务逻辑执行环境(SLEE)。特别地,该SLEE可以是一个JAIN兼容的SLEE。该SLEE可以包括一个事件路由总线,用于在服务逻辑层中的服务组件以及协议层和应用层中的客户机组件之间路由事件。该应用程序执行环境还可以包括在协议层中的至少一个客户机组件,其中所述至少一个客户机组件通过一个连接器/包装器接口与所述SLEE通信连接。最后,该应用程序执行环境可以包括在所述SLEE中执行的至少一个电话服务组件,其中所述电话组件可以被配置为通过在所述SLEE中的所述事件路由总线与在所述协议层中的客户机组件和在该服务逻辑层中的其他服务组件进行通信。
文档编号H04Q7/38GK1537392SQ02810557
公开日2004年10月13日 申请日期2002年5月14日 优先权日2001年5月24日
发明者托马斯·克莱米尔, 托马斯 克莱米尔, 凯尔纳, 塞缪尔·凯尔纳, 特 安东尼 洛泽斯基, 齐格蒙特·安东尼·洛泽斯基, 穆尔, 维克托·穆尔, 沙乔, 高尔·沙乔, 沃特曼, 皮尼纳·沃特曼, 格伦·沃尔特斯, 沃尔特斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1