本申请要求于2005年9月20日提交的EPO申请第05425657.3号和2005年9月20日提交的意大利申请第MI2005A001742号的优先权。在此引用这两个申请的全部内容作为参考。
具体实施方式
图中所示的组件,如下文中更详细说明的那样相互操作。然而,在进行详细说明之前,应注意的是下文中的所有讨论,不管描述的具体实施方式如何,实质上都是示例性的,而不是限制性的。例如,尽管实施方式的所选择的方面、特征或组件被描述为存储在存储器中,但是与第三方接入网关及其底层组件一致的系统和方法的所有或部分可存储在以下介质上,分布在以下介质上,或从以下介质读取:其它机器可读介质,例如辅助存储设备,诸如硬盘、软盘和CD-ROM;从网络接收的信号;或者当前已知的或今后开发的其它形式的ROM或RAM。
此外,尽管将描述第三方接入网关体系结构的特定组件,但是与第三方接入网关体系结构一致的方法、系统和商品可包括额外的或不同的组件。例如,处理器可被实现为微处理器、微控制器、专用集成电路(ASIC)、离散逻辑元件、或其它类型的电路或逻辑元件的组合。类似地,存储器可以是DRAM、SRAM、闪存或任何其它类型的存储器。标记、数据、数据库、表和其它数据结构可被分开存储和管理,可被合并到单个存储器或数据库中,可被分布,或可以许多不同的方式逻辑地和物理地组织。程序可以是单个程序的部分、独立程序,或分布在数个存储器和处理器上。系统可以硬件、软件、或硬件和软件的组合实现在一个处理系统中,或者分布在多个处理系统中。
图1表示与第三方102相互作用的电信体系结构100的一部分。第三方102可在形式上和实现方式上广泛地变化。例如,第三方102可包括:诸如蜂窝电话、个人数字助理、网络(例如,因特网)通信设备的用户设备104;诸如由其它服务提供商实现的电信服务应用的应用106,诸如短消息服务(SMS)接发应用、会话启动协议(SIP)系统以及因产品和服务而向客户收费的记帐应用;以及其它设备、程序、或实体108。
电信体系结构100实现支持电信产品和服务的功能。另外,如下文中将详细说明的那样,电信体系结构100将所选择的功能暴露给第三方102。换句话说,第三方102可与电信体系结构100通信,以使用已经在体系结构100中的功能。换句话说,第三方102不需要消耗在本地复制电信体系结构100已经提供的功能所需的资源。
产品和服务以及它们的暴露的底层功能,可在不同的实施方式之间有所不同。例如,电信体系结构100可暴露SMS接发服务(递送并对SMS消息收费)、多媒体消息系统(MMS)接发服务(递送并对MMS消息收费)和SIP服务(建立SIP呼叫并对呼叫收费)。作为额外的实例,电信体系结构100可暴露计费服务(请求对帐户收费)、因特网协议电视(IPTV)服务(请求电视节目的递送)、用户状态服务(请求当前用户状态,诸如‘在线’、‘离线’、‘忙’、或‘离开’)和用户认证服务(例如,请求验证移动用户是否存在和移动用户是否具有购买诸如IPTV服务的期望服务的凭证)。其它功能可另外提供或者作为可选方案提供。此外,电信体系结构100还可通过第三方接入网关110提供对通信网络服务(例如,因特网浏览服务)的接入。
电信体系结构100保护对暴露服务的接入。为此,体系结构100提供第三方接入网关110。第三方接入网关110作为用于第三方102到暴露服务的单个接触点。
如图1所示,第三方接入网关110从第三方102接收服务请求112。作为响应,第三方接入网关110验证服务请求由已认证和授权的第三方发起。在网络通信服务请求的情况下(作为一个实例),第三方接入网关110处理授权的服务请求,并将该服务请求中继给服务提供商114。在暴露服务请求的情况下,诸如SMS、MMS和SIP服务请求的情况下,第三方接入网关100可处理授权的服务请求,并将其中继给服务代理116。
服务代理116执行服务请求。这样做时,服务代理116可与业务支持系统(BSS)和运营支持系统(OSS)118通信,其中体系结构100实现业务支持系统和运营支持系统,以创建、配置、管理和维护电信产品和服务。在执行服务请求中,服务代理116可额外地或可选地与可将服务相关数据递送或返回到服务代理116的网络层120进行通信。来自服务提供商114和服务代理116的响应被返回到第三方接入网关110,用于递送到始发的第三方请求者。
第三方接入网关110由此在第三方102和电信体系结构100中实现的暴露功能之间提供安全层。第三方接入网关110允许第三方通过使用在另一电信体系结构中已经实现的功能来开发、配置、递送和管理大范围的产品和服务。同时,第三方接入网关110允许电信体系结构100以安全、标准化和受控的方式向第三方102暴露核心功能。
图2表示第三方接入网关110的更详细的示图。第三方接入网关110与用户设备104、服务提供商114和请求应用106通信。第三方网关110还与服务代理116通信。图2表示服务代理116接受对几种暴露服务的服务请求:SMS服务202、MMS服务204、计费服务206、SIP服务208和用户认证服务210。
任选地,用户设备104、服务提供商114和请求应用106可通过中介来与第三方接入网关110通信。作为一个实例,中介可包括网络服务器,诸如网络服务器212和网络服务器213。中介可在第三方接入网关110与用户设备104、服务提供商114和请求应用106之间实现加密的或安全的通信链路。例如,中介(或第三方网关110自身)可实现安全套接协议(诸如HTTPS协议),并伴随有SSL证书和证书标识符,其中SSL证书提供认证,证书标识符传送私人密钥和公共密钥的公共密钥密码对的公共密钥组件。网络服务器212和213以及网关110然后可使用存储在特征描述数据库228中的客户证书和授权信息来对第三方102进行授权。
第三方接入网关110通过几个接口进行通信。这些接口包括用户通信接口216和服务代理通信接口218。这些接口还包括服务提供商通信接口220和应用接口222。
接口216-222可以许多方式实现。作为一个实例,接口216-222可以是由IP地址、端口号以及具有支持物理层(例如,一个或多个网络接口卡)的通信协议定义的网络套接字。接口216-222可使用进程间通信、消息接发或信令,利用HTTP、简单对象接入协议(SOAP)、Java数据库连接性(JDBC)或其它通信协议,通过物理层进行通信。消息可以任何期望的形式,诸如可扩展标记语言(XML),而被编码在网络分组(例如,TCP/IP分组)中。此外,可建立防火墙以阻挡来自未知主机的请求。
第三方接入网关110包括两个处理服务请求的消息处理器。服务请求处理器224接收并处理通信网络接入请求,诸如因特网浏览请求、网络服务器信息请求、或其它网络接入请求。功能处理器226接收并处理暴露服务使用请求,诸如SMS服务请求或计费服务请求。
概括通信网络接入请求的处理,服务请求处理器224接收请求,提取用户设备标识符(例如,MSISDN标识符),并在特征描述数据库228中搜索可与任何给定的用户设备相对应的验证信息(例如,匹配的有效MSISDN记录)。当定位到验证信息时,服务请求处理器224通过服务提供商通信接口216来将请求映射到服务提供商114。服务提供商114以被请求的数据来作出响应。而服务请求处理器224通过用户通信接口216将数据返回到请求者。
概括暴露服务请求的处理,功能处理器226接收请求,任选地,该请求包括由证书权威发布的数字证书。功能处理器226基于数字证书认证请求者。功能处理器226还可提取证书标识符(例如,公共密钥或对象唯一标识符),并在特征描述数据库228中搜索匹配证书标识符的请求者应用。功能处理器226还可确定匹配的请求者应用是否对一个或多个服务具有有效状态(或者指示应用被授权请求服务的其它状态)。
当授权的请求者应用对于请求的服务是已认证且已授权时,功能处理器226包装请求以用于下游处理(downstream processing),并将经包装的请求发送到服务代理116。服务代理116向功能处理器226提供确认,并为授权的请求者应用启动对暴露服务的请求的执行。因此,作为实例,授权的请求者应用可发送SMS消息或MMS消息并对SMS消息或MMS消息收费,建立SIP连接,对客户帐户提出收费,或使用体系结构100中暴露的任何其它服务。
服务请求处理器224和功能处理器226授权服务使用请求。为此,服务请求处理器224和功能处理器226查询特征描述数据库228。如在下文中将更详细描述的那样,特征描述数据库228保持用于服务请求者的授权信息。接入管理模块230可作为接口将特征描述数据库228和服务请求处理器224连接到功能处理器226(或者第三方接入网关110中的任何其它程序或实体)。例如,接入管理模块230可实现包括数据库搜索引擎的数据库服务器232。为此,接入管理模块230和特征描述数据库228可构建在Oracle(TM)、Microsoft(TM)SQL、或者其它第三方数据库服务器平台上。
第三方接入网关110还包括报告模块234。该报告模块234从服务请求处理器224和功能处理器226获得服务请求处理记录。报告模块234(例如,通过与实现服务请求处理器224和/或功能处理器226的系统的FTP连接)获得服务日志文件236并处理日志文件236,以更新特征描述数据库228中的日志表,如下文中更详细描述的那样。
图3表示服务请求处理器224的额外的细节。服务请求处理器224可以包括处理器302和存储器304的通用处理体系结构实现。存储器304存储提供服务请求处理器功能的程序和数据,如下文中说明的那样。
处理器302可专用于服务请求处理器功能。例如,服务请求处理器224可以是第三方网关110的整体体系结构内的独立处理系统。在其它实现方案中,处理器可由附加的程序共享并从而执行第三方网关110中的附加功能。作为实例,处理器302还可执行功能处理器226的功能和/或通过接口216-222启动消息的接收和传送。
存储器304包括网络接入请求处理程序306。处理程序306处理例如通过用户通信接口216接收的通信网络接入请求308。图3表示通信网络接入请求308是包括统一资源定位符(URL)312和MSISDN 314的超文本传输协议(HTTP)请求310的实例。
处理程序306授权网络接入请求308。在一个实现方案中,处理程序306从请求308提取MSISDN 314。处理程序306向接入管理模块230发布请求以基于MSISDN搜索特征描述数据库228。接入管理模块230将搜索结果返回到处理程序306,处理程序306然后确定对于MSISDN是否存在授权记录。
对于来自已授权的用户设备的网络接入请求,服务请求处理器224确定目标网络服务器来处理请求。为此,网络接入请求处理程序306可建立并应用网络服务器映射316。网络服务器映射316可将可用的网络服务器(例如,由名称、IP地址和/或端口号标识的)关联到MSISDN和/或关联到统一资源定位符(URL)或HTTP请求中的其它数据的部分。服务请求处理器224由此确定哪个服务提供商114将处理网络接入请求308。
被选择的服务提供商114以被请求的数据来响应接入请求308。图3表示服务提供商114以HTTP响应数据318来响应HTTP请求308的实例。响应数据318可包括HTML、图像、声音和/或电影数据、或者响应HTTP请求308的任何其它数据。服务请求处理器224将HTTP响应数据318返回到已授权的请求者。
服务请求处理器224还可创建日志文件320。该日志文件320可包括用于每个服务请求的任何期望的服务跟踪信息。记录的信息可包括已授权的用户信息、MSISDN、服务请求日期和时间、URL数据、数据传输量、响应服务提供商的标识符、误码、交易标识符和其它信息。服务请求处理器224可将日志文件320提供到报告模块234,用于分析和填充(populate)特征描述数据库228中的日志表。
图4表示功能处理器226的额外细节。功能处理器226可以包括处理器402和存储器404的通用处理体系结构实现。存储器404存储提供功能处理器功能的程序和数据,如下文中说明的那样。网络服务器436(例如,Apache Axis网络服务器)可提供基于客户证书的第三方认证和通过SSL的安全通信信道。
功能处理器226可以是第三方网关110的整体体系结构内的独立的处理系统。在其它实现方案中,处理器402可由附加的程序共享并执行第三方网关110中的附加功能。作为实例,处理器402还可执行服务请求处理器224的功能和/或通过接口216-222启动消息的接收和传送。
存储器404包括暴露的服务请求处理程序406。处理程序406处理例如通过应用接口222接收的暴露的服务请求408。图4中显示的服务请求408包括证书标识符410(例如,公共密钥或对象唯一标识符),该证书标识符410可出现在服务请求408中包括的数字证书中。处理程序406可通过首先解码数字证书以及验证证书权威对证书的发布,来认证暴露的服务请求408。处理程序406然后可使用经验证的公共密钥来认证服务请求408(例如,通过比较解密的消息散列值与计算的消息散列值)。可选地,功能处理器226可使用网络服务器426来认证。
在一个实现方案中,处理程序406从请求408中提取证书标识符410。处理程序406向接入管理模块230发布请求,以基于证书标识符410来搜索特征描述数据库228。接入管理模块230将搜索结果返回到处理程序406。而处理程序406确定是否存在与证书标识符410相对应的已授权的公司应用,并且其是否被链接到与被请求的服务相对应的有效的(或者是授权的)已安装服务。
对于来自己认证和授权的应用的暴露的服务请求,功能处理器226确定哪个暴露的服务已经被请求。可在服务请求408中指定服务类型,或者可基于它们被发送到的第三方网关110内的特定端点来鉴别服务请求。取决于被请求的暴露服务的类型,每个服务请求408可在形式和内容上有所变化。
第三方网关110可定义用于暴露服务的网络服务描述语言(WSDL)描述符,并将其公布给第三方102。WSDL描述符可指定服务的位置(例如,在第三方接入网关110中建立的端点的网络地址)和服务所暴露的功能。WSDL描述符还可定义每个暴露的服务、可执行的操作和所涉及的消息。因此,第三方102接收公布的描述符,并理解向哪里通信服务请求,服务请求应该遵循的形式和内容,以及可预期的响应的形式和内容。
功能处理器226提供作为服务代理116与请求应用106之间的中介的暴露服务接口412。暴露服务接口412可将接收到的服务请求消息408从第三方网关110期望的形式(例如,用于WSDL描述符中指定的输入消息的形式)译成服务代理116对于这样的请求所期望的形式。换句话说,包装器是由WSDL定义所应用的以形成用于暴露服务的输入消息的映射。因此,暴露服务接口412使服务代理116与暴露的服务请求消息的潜在的广泛变化的形式和内容隔离,并有效地将请求应用连接到暴露的服务。
为此,暴露服务接口412可包括为服务代理116准备标准化的(即,经包装的)暴露服务请求424的包装器逻辑。包装器逻辑可代表这样的处理程序,该处理程序分析WSDL定义,以将接收到的消息形式和内容译成匹配WSDL定义中指定的消息定义。将在下文中描述服务代理116期望的消息格式的实例。
可为任何暴露的服务提供包装器逻辑。图4表示SMS包装器414、MMS包装器416和状态查询包装器418。图4还表示移动用户认证包装器420、用户认证包装器422、SIP包装器432和计费包装器434。
在一个实现方案中,暴露服务接口412可使用Java远程方法调用(RMI)。RMI提供这样一种机制,通过这种机制可定义Java对象,并可它们的方法被远程调用。为此,服务代理116可作为对象服务器,以创建处理暴露的服务请求的对象。可注册这些对象,以便功能处理器226可获得对象的引用,并远程地调用这些对象。然而第三方网关110可采用其它消息通信和远程程序调用技术来将经包装的服务请求消息发送到服务代理116,并从服务代理116接收经包装的服务请求响应。
功能处理器226从服务代理116获得对暴露的服务请求的服务请求响应416。功能处理器226将请求响应426提供给请求应用。另外,功能处理器226可对每个暴露的服务请求响应提供标准化的响应格式。为此,图4中显示的包装器可根据WSDL定义中定义的输出消息,来生成经包装的暴露服务请求响应428。
功能处理器226还可创建日志文件430。该日志文件430可包括任何期望的暴露服务跟踪信息,诸如授权的用户信息、证书标识符、服务请求日期和时间、做出的请求的数量、做出的请求的类型、误码、交易标识符和其它信息。功能处理器226可将日志文件430提供到报告模块234,用于分析和填充特征描述数据库228中的日志表。
图5表示特征描述数据库228中的数据模型的示例实现方案。特征描述数据库228包括公司表502,该公司表存储表征可以使用体系结构100提供的一种或多种暴露服务的公司的信息。公司标识符字段504提供主键,以唯一标识公司表502中的每个记录。公司表502在下面的表1中更详细地示出。
表1-公司 |
属性名 |
属性描述 |
类型 |
COMPANY_ID |
公司的唯一标识符 |
整型 |
MASTERPARTYID |
公司的文字数字的描述符 |
字符串 |
COMPANY_NAME |
公司名 |
字符串 |
VAT_CODE |
公司Vat码 |
字符串 |
FISCAL_CODE |
公司税控码(fiscal code) |
字符串 |
STATUS_ID |
公司状态(例如,激活的,停用的)的标识符 |
整型 |
CREATIONDATE |
创建日期 |
日期 |
LASTMODIFIEDDATE |
最后修改日期 |
日期 |
终端用户表506存储与使用网络通信服务和暴露的服务的MSISDN(通常与特定个体相关联)有关的信息。终端用户表506建立终端用户、他们的公司和他们的MSISDN之间的关系。主键终端用户标识符字段508唯一标识终端用户表506中的每个记录。终端用户表506在下文图2中更详细地示出。
表2-终端用户 |
属性名 |
属性描述 |
类型 |
ENDUSER_ID |
终端用户的唯一标识符 |
整型 |
MSISDN_ID |
用户MSISDN的标识符 |
整型 |
SERVICE_PARTY_ID |
终端用户的文字数字描述符 |
字符串 |
COMPANY_ID |
公司的标识符 |
整型 |
STATUS_ID |
终端用户状态(例如,有效的、 |
整型 |
|
停用的)的标识符 |
|
CREATIONDATE |
创建日期 |
日期 |
LASTMODIFIEDDATE |
最后修改日期 |
日期 |
MSISDN表510提供设备标识符表,该设备标识符表在MSISDN字段512中建立认可的MSISDN。MSISDN可与诸如用于移动电话的GSM SIM卡的用户设备相关联。终端用户表506然后可使用MSISDN标识符字段将终端用户关联到MSISDN。MSDISN表510中的状态字段提供用户设备状态。在MSISDN标识符字段514中设置有主键,以唯一标识MSISDN表510中的每个记录。MSISDN表510在下面的表3中更详细示出。
表3-MSISDN |
属性名 |
属性描述 |
类型 |
MSISDN_ID |
MSISDN的唯一标识符 |
整型 |
SMISDN |
MSISDN值 |
字符串 |
STATUS_ID |
MSISDN状态(例如,有效的、停用的)的标识符 |
整型 |
CREATIONDATE |
创建日期 |
日期 |
LASTMODIFIEDDATE |
最后修改日期 |
日期 |
状态表520为终端用户、公司、MSISDN、或其它实体建立可能的状态。主键状态标识符字段522唯一标识状态表520中的每个记录。状态表520在下面的表4中更详细示出。
状态的实例包括有效、停用、暂停和空闲。因此,第三方网关110可将状态设置成许多不同级别中的一个。例如,状态可反映公司、公司应用、用户、或特定MSISDN的状态。当对服务请求进行授权时,第三方网关110可在对请求进行授权之前检查状态处于任何期望的级别。例如,第三方网关110可确保MSISDN和终端用户都保持有效。可选地或附加地,网关110可确保相关联的公司也保持有效。
属性名 |
属性描述 |
类型 |
STATUS_ID |
状态的唯一标识符 |
整型 |
STATUS_NAME |
状态名-有效-停用-暂停-空闲 |
字符串 |
STATUS_DESCRIPTION |
状态的描述 |
字符串 |
CREATIONDATE |
创建日期 |
日期 |
LASTMODIFIEDDATE |
最后修改日期 |
日期 |
终端用户交叉应用表516建立终端用户和他们预订的业务应用之间的关系。终端用户标识符和应用标识符字段提供将终端用户链接到公司应用的主键/外键字段518。终端用户交叉应用表516在下面的图5中更详细地示出。
表5-终端用户交叉应用 |
属性名 |
属性描述 |
类型 |
ENDUSER_ID |
终端用户的唯一标识符 |
整型 |
APPLICATION_ID |
应用的唯一标识符 |
整型 |
CREATIONDATE |
创建日期 |
日期 |
LASTMODIFIEDDATE |
最后修改日期 |
日期 |
公司应用表524建立可提交暴露的服务请求的公司内的应用的特征。这些特征可包括名称、描述、URL、存储在证书标识符字段526中的证书标识符和其它特征。作为一个实例,例如,公司应用表可指定在第三方服务提供商运行的SMS前端应用的特征。SMS前端可代表与该SMS前端相关联的公司的客户而将SMS请求提交到第三方网关110。
主键应用标识符字段528唯一地标识公司应用表524中的每个记录。另外,状态标识符提供每个公司应用记录的状态信息。公司应用表524在下面的表6中更详细地示出。
表6-公司应用 |
属性名 |
属性描述 |
类型 |
APPLICATION_ID |
应用的唯一标识符 |
整型 |
APPLICATION_NAME |
应用名 |
字符串 |
APPLICATION_DESCRIPTION |
应用的描述 |
字符串 |
URL |
应用的主页URL |
字符串 |
COMPANY_ID |
公司的标识符 |
整型 |
MSITE_URL_CATALOGUE |
应用目录的URL |
字符串 |
CERTIFICATE_ID |
应用证书的标识符 |
整型 |
PROXY_HOST |
代理服务器的IP |
字符串 |
PROXY_PORT |
代理服务器的端口 |
字符串 |
STATUS_ID |
应用状态(例如,有效的、停用的)的标识符 |
整型 |
CREATIONDATE |
创建日期 |
日期 |
LASTMODIFIEDDATE |
最后修改日期 |
日期 |
已安装服务表530建立公司已预订的暴露服务的记录。因此,已安装服务标识公司应用可请求哪些暴露的服务。已安装服务标识符字段532起主键的作用以唯一标识已安装服务表530中的每个记录。已安装服务表530在下面的表7中更详细地示出。
表7-已安装服务 |
属性名 |
属性描述 |
类型 |
INSTALLEDSERVICE_ID |
已安装服务的唯一标识符 |
整型 |
APPLICATION_ID |
应用的标识符 |
整型 |
SERVICE_ID |
已预订服务的标识符 |
整型 |
STATUS_ID |
已安装服务状态(例如,有效的、停用的)的标识符 |
整型 |
CREATIONDATE |
创建日期 |
日期 |
ENDDATE |
服务结束日期 |
日期 |
LASTMODIFIEDDATE |
最后更改日期 |
日期 |
已安装属性表534建立与特定公司相关联的服务的特征。已安装属性标识符字段536起主键的作用,以唯一标识已安装属性表534中的每个记录。下文中的表8更详细地示出了已安装属性表534。
表8-已安装属性 |
属性名 |
属性描述 |
类型 |
INSTALLEDATTRIBUTE_ID |
已安装属性的唯一标识符 |
整型 |
ATTRIBUTE_ID |
属性的标识符 |
整型 |
ATTRIBUTE_VALUE |
属性名 |
整型 |
INSTALLEDSERVICE_ID |
已安装服务的标识符 |
|
STATUS_ID |
已安装属性状态(例如,有效的、停用的)的标识符 |
整型 |
CREATIONDATE |
创建日期 |
日期 |
LASTMODIFIEDDATE |
最后修改日期 |
日期 |
服务属性表538存储通过第三方接入网关110可用的暴露服务的属性的名称、描述和默认值。服务属性的实例包括:
经常性计费:每月支付以使用服务的费用(例如,接入发送SMS或发送MMS暴露服务的每月费用)。
阈值:每月可发送的SMS或MMS消息的数量。
额外配额:当超过阈值时每条SMS或MMS消息的费用。
可将默认值输出到已安装属性表中。然后可为特定公司应用适当地修改已安装属性表中的值。
属性标识符字段540起主键的作用,以唯一标识服务属性表538中的每个记录。下文中的表9更详细地示出了服务属性表534。
表9-服务属性 |
属性名 |
属性描述 |
类型 |
ATTRIBUTE_ID |
属性的唯一标识符 |
整型 |
SERVICE_ID |
服务的标识符 |
字符串 |
ATTRIBUTE_NAME |
属性名 |
字符串 |
ATTRIBUTE_DEFAULT_VALUE |
属性默认值 |
字符串 |
ATTRIBUTE_DESCRIPTION |
属性的描述 |
字符串 |
STATUS_ID |
服务属性状态(例如,有效的、停用的)的标识符 |
整型 |
CREATIONDATE |
创建日期 |
日期 |
LASTMODIFIEDDATE |
最后修改日期 |
日期 |
服务目录表542存储与通过第三方接入网关110可得到的暴露服务相关联的名称、描述、状态和其它信息。每个业务应用114或服务提供商106可预订服务目录表542中定义的一个或多个服务。服务目录表542可建立提供暴露的SMS、MMS、计费或其它类型的暴露服务的名称、描述、标识符和状态的记录。服务标识符字段544起主键的作用,以唯一标识服务目录表542中的每个记录。下文中的图10示出了服务目录表542。
表10-服务目录 |
属性名 |
属性描述 |
类型 |
SERVICE_ID |
服务的唯一标识符 |
整型 |
SERVICE_NAME |
服务名 |
字符串 |
SERVICE_DESCRIPTION |
服务的描述 |
字符串 |
STATUS_ID |
服务目录状态(例如,有效的、停用的)的标识符 |
整型 |
CREATIONDATE |
创建日期 |
日期 |
LASTMODIFIEDDATE |
最后修改日期 |
日期 |
作为实例,特征描述数据库228可定义暴露的SMS服务。为此,服务目录可建立Service_Name被设置为“发送SMS”的新记录。然后服务属性表可将Attributes_Name设置成“阈值”,并将Attribute_Default_Value设置成“100”(即,每月100条SMS消息)。任选地,可将Attribute_Description设置成描述阈值的文本串。服务属性表还可用$1,000的Attribute_Default_Value(即,接入暴露服务每月花费$1,000)来定义经常性计费属性。相关联的Attribute_Description可提供描述经常性计费的文本串。
第三方公司可与电信服务提供商协商,以便可以使用暴露的SMS消息服务。接入的条款和条件将取决于协商,并由特征描述数据库228中的数据模型支持。特征描述数据库228将为公司建立公司记录,并建立链接到公司的公司应用记录。已安装服务表然后可为指定在服务目录中定义的“发送SMS”服务的公司应用,建立已安装服务记录。可在已安装属性表中为公司特别设置服务属性表中提供的默认值。例如,已安装属性表可将阈值定义成每月10,000条SMS消息,并将经常性计费定义成每月$5,000。
公司应用和已安装服务的组合建立用于公司应用的客户组成(client portfolio)。公司应用提交第三方网关110参照客户组成而授权的服务请求。在特征描述数据库228中建立的数据模型支持客户组成的灵活定义、修改和删除。
图5显示出特征描述数据库228实现支持不同类型的服务请求的特别有效的建立和授权的数据模型。公司表502作为将多种类型的服务请求者关联回到相关公司的根表。从公司表502,数据模型建立用于网络通信请求者和暴露服务请求者的独立分支。每种类型的请求者与公司相关联。例如,一个公司可包括请求网络通信服务(例如,因特网浏览服务)的员工,并在同时公司还可建立提交对暴露SMS服务的请求的应用(例如,SMS前端)。
数据模型允许第三方网关110基于不同的标准来对每种类型的请求者进行授权。因此可独立地选择标准并使其适合请求者类型。同时,数据模型的分支结构允许每种类型的请求者在相同的数据模型中共存,建立与单个公司的关系,以及支持对每种类型的请求者的唯一授权控制。
公司表通过使用公司表502(表2)中的唯一公司标识符来定义可接入第三方网关110的一个或多个公司。通过提供终端用户表506中的唯一终端用户标识符508和回到使用公司标识符字段的特定公司的关系,来建立终端用户分支554。类似地,通过提供建立公司应用的唯一应用标识符528以及回到使用公司标识符字段的特定公司的关系,来建立公司应用分支556。因此,终端用户和请求应用被链接回到可包括两种类型请求者的公司。
此外,数据模型中的每个分支提供用于为每种类型的请求者建立不同授权标准的机制。在终端用户分支中,例如,MSISDN提供这样的数据字段,在该数据字段上对网络通信接入请求(例如,为正在浏览因特网的移动电话用户和PDA用户)进行授权。因此,终端用户分支建立MSISDN表510,该MSISDN表510通过终端用户表506(表2)中的MSISDN标识符字段来将终端用户关联到MSISDN。
数据模型还提供用于终端用户的多个授权选项。为此,数据模型建立定义状态(例如,有效的、停用的、暂停的、空闲的)的状态表520。第三方网关110可从状态确定请求是否应被授权。终端用户表506中定义的每个终端用户和MSISDN表510中定义的每个MSISDN可指定状态。
例如,服务请求处理器224可通过在服务请求伴有MSISDN表510中建立的MSISDN时考虑授权终端用户的网络通信请求,来管理授权策略。取决于策略,服务请求处理器224还可检查以确保MSISDN具有授权状态(例如,有效的)。附加地或可选地,取决于策略,服务请求处理器224可检查以确保终端用户被链接到具有授权状态的MSISDN。数据模型由此提供了一种用于建立终端用户的授权控制的有效且灵活的机制。此外,终端用户的授权控制独立于公司应用的授权控制。
数据模型中的应用分支建立用于公司应用的不同授权机制。具体地,应用分支建立基于证书标识符的授权。为此,应用表524中定义的每个公司应用包括证书标识符字段526。该证书标识符字段526存储预分配的标识符(例如,公共密钥),该预分配的标识符可对照通过数字证书的认证而从数字证书(例如,公共密钥或对象唯一标识符)获得的标识符来检查。
证书标识符在认证期间被获得。在数据库228中的公司应用记录中包括证书标识符,有效地将证书标识符的使用扩展到授权,而无需请求额外的授权标识符。因此,功能处理器228不仅支持非常安全的认证技术,还使用从用于公司应用的有效和安全的授权的认证获得的结果。增强的公司应用的授权提供了强有力的保护,以免受第三方对有价值的电信服务的未授权接入。
此外,数据模型提供了灵活的服务定义和属性定义结构。具体地,数据模型可使用已安装服务表530(表7)中的应用标识符,来将一个或多个已安装服务关联到每个公司应用。这样,公司应用被授权请求的暴露服务被建立并链接到公司应用。服务目录表542然后可使用服务描述字段来提供每个已安装服务的详细描述。
类似地,已安装属性表534可通过由已安装服务标识符字段(表8)提供的链接来定义已安装服务的特定属性。服务属性表538然后可使用属性描述字段来提供每个属性的详细描述。已安装属性的默认值可从服务属性表538提供。
公司应用分支中的每个表524、530、534、538和542可包括状态标识符字段。由此在公司应用被授权使用任何给定的暴露服务时,数据模型提供了在建立时的大量附加的策略管理灵活度。例如,在认证和恢复证书标识符之后,功能处理器228可建立这样的授权策略,其在匹配证书标识符的有效公司应用在公司应用表524中被找到时,确定授权公司应用使用被请求的服务。附加地,策略可要求公司应用被链接到匹配请求的暴露服务的有效已安装服务。此外,取决于授权策略,功能处理器228可要求已安装服务被链接到有效的已安装属性、服务属性、或服务目录记录。取决于实施的策略,数据模型可通过修改表524、530、534、538和542中的一个或多个表中的状态字段,来灵活地允许或拒绝对暴露服务的接入。
因此,数据模型基于在对终端用户、公司应用或其它服务请求者进行授权时检查的状态字段和授权标识符(例如,MSISDN标识符和证书标识符),来支持灵活的策略管理。策略可在考虑对请求进行授权之前,在数据模型中的每个分支内的一个或多个级别(例如,公司级别、终端用户级别、MSISDN级别、或公司应用级别)处,为数据模型中的一个或多个记录指定状态标准。策略可对每个公司应用和终端用户有所不同。
如上所述,报告模块234可分析日志文件236并响应性地填充特征描述数据库228中的日志表。第一日志表546可存储为通信网络接入请求(例如,HTTP请求)记录的信息(例如,每日记录的信息)。对象标识符字段538提供日志表546中的每行的唯一标识符。表11示出了第一日志表546的示例实现方案。
表11-日志表 |
属性名 |
属性描述 |
类型 |
OBJECT_ID |
表格行的唯一标识符 |
整型 |
DATETIME |
事件的日期 |
字符串 |
MSISDN |
MSISDN |
字符串 |
SERVICE_PARTY_ID |
服务方ID |
字符串 |
TRANSACTION_ID |
事件交易ID |
字符串 |
MODULE_IDENTIFIER |
第三方接入网关模块标识符 |
字符串 |
ACTION |
日志已被取得的点 |
字符串 |
EIAPSED_TIME |
每个操作中经过的时间 |
整型 |
APPLICATION_NAME |
应用名 |
字符串 |
COMPANY_NAME |
公司名 |
字符串 |
APPLICATION_URL |
主应用URL |
字符串 |
REQUESTED_URL |
请求的URL |
字符串 |
ERROR_CODE |
误码 |
字符串 |
第二日志表550可存储为暴露的服务请求(例如,SMS计费请求)记录的信息(例如,每日记录的信息)。对象标识符字段552提供日志表550中的每行的唯一标识符。表12示出了第二日志表546的示例实现方案。
表12-公司 |
属性名 |
属性描述 |
类型 |
OBJECT_ID |
表格行的唯一标识符 |
整型 |
DATETIME |
事件的日期 |
字符串 |
TRANSACTION_ID |
事件交易ID |
字符串 |
MODULE_IDENTIFIER |
第三方接入网关模块标识符 |
字符串 |
APPLICATION_NAME |
应用名 |
字符串 |
COMPANY_NAME |
公司名 |
字符串 |
BRICK_NAME |
应用到请求的包装器名 |
字符串 |
ACTION |
日志已被取得的点 |
字符串 |
MSISDN_QUANTITY |
发送的MSISDN的数量 |
字符串 |
ERROR_CODE |
误码 |
字符串 |
TRANSACTION_RESULT |
交易结果 |
字符串 |
MESSAGE_VOLUME_KB |
传输的数据量 |
整型 |
ARTICLE_ID |
支付交易的商品ID |
字符串 |
ASSET_CREATION_DATE |
被请求资产(asset)的创建日期 |
日期 |
ARTICLE_PRICE |
商品价格 |
字符串 |
CURRENCY |
商品流通(article currency) |
字符串 |
ARTICLE_PRICE_BAND |
商品价格带 |
字符串 |
INVOICE_TEXT |
发票文本 |
字符串 |
ASSET_QUANTITY |
被请求资产的数量 |
整型 |
图6表示用于处理通信网络接入请求的消息流程图600。作为概述,服务请求处理器224接收接入请求、对请求者授权、并将请求发送给网络服务器。网络服务器将接入请求结果返回到服务请求处理器224,而服务请求处理器224将结果返回到请求方。
图6表示服务方(例如,终端用户或用户设备)发送HTTP服务请求(操作602),该HTTP服务请求可包括MSISDN、服务方标识符、URL、或其它网络接入信息。服务请求处理器224从HTTP请求提取MSISDN(操作604)。服务请求处理器224基于MSISDN启动数据库搜索。如果MSISDN被找到并且是有效的,则对请求进行授权。
服务请求处理器224还可搜索特征描述数据库228,以确定是否存在服务方的记录(操作606)。特征描述数据库228返回搜索结果(操作608)。如果服务方目前不存在(操作610),则服务请求处理器224将服务方添加到特征描述数据库228中,并使服务方与有效的MSISDN相关联(操作612)。
服务请求处理器224还可确定存在服务方,并且提取的MSISDN是用于服务方的新MSISDN(操作614)。在这种情况下,服务请求处理器224可将服务方的旧MSISDN的状态更新成无效(操作616)。另外,服务请求处理器224在特征描述数据库228中更新服务方的MSISDN(操作618)以反映新MSISDN。服务请求处理器224由此准确地维持与MSISDN相关联的服务方。
此外,服务请求处理器224将请求发送到以被请求的数据做出响应的网络服务器。为此,服务请求处理器224可基于MSISDN将请求通过路由发送到网络服务器。例如,服务请求处理器224可实现这样的查找表,其建立MSISDN与被分配以处理它们的请求的网络服务器之间的对应关系。
因此,在一个实现方案中,服务请求处理器224基于请求中的URL和分配的网络服务器来构建新的URL(操作620)。换句话说,新URL从映射到MSISDN的服务器,指定对初始URL中的内容的请求。服务请求处理器224将HTTP请求发送给所选择的网络服务器(操作622),并接收响应数据(操作624)。响应数据被传送到始发的服务方(操作626)。
图7和8表示用于处理暴露的服务请求的消息流程图700和800。作为概述,功能处理器226接收服务请求,对请求者进行认证,并验证请求者被授权接入暴露服务。来自己认证和授权的请求者的暴露服务请求被包装并递送到服务代理116。
如图7中所示,功能处理器226从外部公司应用106接收MMS/SMS服务请求(操作702)。还可从服务提供商114接收服务请求。功能处理器226从请求中提取证书标识符(操作704)。功能处理器226在特征描述数据库228中搜索公司应用表524中匹配的证书标识符(操作706),并且特征描述数据库228返回搜索结果(操作708)。匹配的证书标识符可对请求公司应用进行授权,或者可以是被做出以对公司应用进行授权的一个检查(操作710)。在完成授权之前可执行附加的检查,诸如检查公司应用和/或相关联公司的状态。
功能处理器226将映射应用到服务请求(操作712)。功能处理器226然后将RMI请求发送到服务代理116(操作714)。服务代理116返回对RMI请求的请求响应(操作716)。该响应可以是服务代理116已经接收到请求的确认。功能处理器226将请求响应返回到应用106的(操作718)。
如图8中所示,功能处理器226从服务提供商114接收计费、SIP、或用户授权请求(操作802),并提取证书标识符(操作804)。公司应用还可提交这样的服务请求。功能处理器226在特征描述数据库228中搜索应用表524中匹配的证书标识符(操作806),并且特征描述数据库228返回搜索结果(操作808)。功能处理器226确定已认证的应用是否被授权(操作810)。
更具体地,匹配的证书标识符可对应用进行授权,或提供对公司应用授权中的第一步骤。功能处理器226还可在特征描述数据库228中搜索与请求公司应用相关联的服务。如果在特征描述数据库228中发现与请求应用相关联的有效服务,则功能处理器226可对服务请求进行授权。功能处理器226可基于请求公司应用、相关联公司的状态,或特征描述数据库228中的其它记录,来实现其它授权策略。
对于提交已授权服务请求的已认证应用,功能处理器226包装用于提交的服务请求。功能处理器226然后可执行远程方法调用,以将请求发布给服务代理116。功能处理器226由此经由RMI将经包装的请求发送给服务代理116(操作814)。功能处理器226从服务代理116接收响应(操作816)。响应可以是确认、错误消息、或服务代理116提供的其它响应。功能处理器将请求响应返回到应用106(操作818)。
图9示出了用于暴露的SMS服务的服务请求900的实例。应用可将SMS服务请求提交到体系结构100,以请求体系结构100发送SMS消息,并代表应用对SMS消息收费。服务请求900包括交易标识符字段902、消息类型字段904和SMS版本字段906,其中交易标识符字段902可提供服务请求的唯一标识符;消息类型字段904可指定请求是SMS请求;并且SMS版本字段906指定请求遵循的是哪个版本的SMS。服务请求900还包括定址信息,诸如to地址字段910、CC地址字段912和BCC地址字段914。服务码字段916提供提交SMS服务请求的服务提供商的标识符。
在服务请求900中也呈现递送定时信息。具体地,请求900包括请求时刻字段918、期满时刻字段920和最早递送时刻字段922。请求900也使用优先级字段924来指定消息优先级,在主题字段926中指定消息的主题,在被收费方字段928中指定因消息递送而被收费的一方。SMS消息的内容呈现在内容字段930中。
如上所述,暴露服务接口412可将请求包装成用于服务代理116的标准形式。图10示出了经包装的SMS消息1000的实例。SMS包装器414将交易标识符字段902映射到交易标识符字段1002,添加可指定消息类型(例如,用于SMS消息的“SMSDELIVERY”)的处理标签字段1004;并将消息类型字段904映射到服务类型字段1006,同时丢弃SMS版本字段906。类似地,SMS包装器414将定址字段910-914映射到To地址字段1010、CC地址字段1012和BCC地址字段1014,并且还将服务码字段916映射到服务标识符字段1016。
在经包装的请求1000中也呈现递送定时信息。具体地,SMS包装器414将请求字段918的时间映射到开始日期字段1018,将期满时刻字段920映射到结束日期字段1020,并丢弃最早递送时刻字段922。SMS包装器414还将优先级字段924映射到优先级字段1022,将主题字段926映射到主题字段1024,并将被收费方字段928映射到帐户标识符字段1026。SMS消息的内容从内容字段930被映射到消息体字段1028。
表13示出了具有从图9中显示的请求消息得到的字段值的经包装的XML SMS请求消息的示例实现方案。经包装的消息添加标签字段(对于SMS消息设置为“SMSDELIVERY”)。
表13 |
<?xml version=″1.0″encoding=″ISO-8859-1″?><TSOheader TSOID=″12345″TSOlabel=″SMSDELIVERY″/><TSOattributes><attribute name=″SERVICE_TYPE″value=″SMS″/><attribute name=″SENDERADDRESS″value=″M-Site″/><attribute name=″SERVICEID″value=″55555″/><attribute name=″STARTDATE″value=″05/05/2004″/><attribute name=″ENDDATE″value=″10/05/2004″/><attribute name=″PRIORITY″value=″High″/><attribute name=″SUBJECT″value=″Message″/><attribute name=″ACCOUNTID″value=″77777″/><attribute name=″MES SAGE_BODY″value=″This is the SMSmessage.″/><attribute name=″charGE_FLAG″value=″1″/><list name=″TO_ADDRESSEE″value=″3″> |
<attribute name=″1″value=″+39xxxx″/><attribute name=″2″value=″+39xxxx″/><attribute name=″3″value=″+39xxxx″/></list><list name=″CC_ADDRESSEE″value=″4″><attribute name=″1″value=″+39xxxx″/><attribute name=″2″value=″+39xxxx″/><attribute name=″3″value=″+39xxxx″/><attribute name=″4″value=″+39xxxx″/></list><list name=″BCC_ADDRESSEE″value=″3″><attribute name=″1″value=″+39xxxx″/><attribute name=″2″value=″+39xxxx″/><attribute name=″3″value=″+39xxxx″/></list></TSOattributes></TSO_DATA> |
图11示出了从服务代理116返回的暴露服务响应1100的实例。响应1100提供请求的确认,并包括交易标识符字段1102、交易标签字段1104和请求状态字段1106。响应1100还提供误码字段1108和将错误条件传送到请求应用的错误描述字段1110。
表14表示传达图11中显示的数据字段的XML消息的实例。
表14 |
<?xml version=″1.0″encoding=″ISO-8859-1″?><TSOheader TSOID=″12345″TSOlabel=″SMSDELIVERY″/><TSOresult><statusCode>0</statusCode><errorCode></errorCode><errorDescription></errorDescription></TSOresult></TSO_DATA> |
功能处理器226还可包装服务代理响应,用于将其递送到请求应用。换句话说,返回到请求应用的响应消息的形式和内容可与从服务代理116发送的响应消息的形式和内容不同。图12表示经包装的SMS响应1200的实例。
SMS包装器414将信息从响应1100映射到经包装的响应1200,该经包装的响应1200包括交易标识符字段1202、状态字段1204、误码字段1206和错误描述字段1208。经包装的响应1200还添加消息类型字段1210(例如,设置为“<SMS>”或由请求应用期望的其它值),以及将可适用的SMS版本报告给请求应用的SMS版本字段1221。可丢弃交易标签字段1104。
图13表示从MMS暴露服务请求1302到经包装的MMS服务请求1304的映射。可将TSOLABLE设置成“MMSDelivery”或任何其它标识符。应用可发布MMS服务请求,以将多媒体内容递送到任何指定的接收者。图14表示从MMS暴露服务响应1402到经包装的MMS服务响应1404的映射。
图15表示从SIP暴露服务请求1502到经包装的SIP服务请求1504的映射。可将TSOLABEL设置成“SIPCall”或任何其它标识符。请求应用可启动SIP请求,以建立SIP请求1502中指定的发送者和接收者之间的通信通道。图16表示从SIP暴露服务响应1602到经包装的SIP服务响应1604的映射。可丢弃TSOLABEL字段。
图17表示从状态暴露服务请求1702到经包装的状态服务请求1704的映射。可将TSOLABEL设置成“GetUserStatus”或任何其它标识符。请求应用可发布状态请求,以检查状态请求1702中列出的一个或多个用户的状态。状态请求1702还可包括提供商标识符,以请求关于特定服务提供商的状态。图18表示从状态响应1802到经包装的状态服务响应1804的映射。
图19表示从认证暴露服务请求1902到经包装的认证服务请求1904的映射。可将TSOLABEL设置成“认证”或任何其它标识符。请求应用可发布认证请求1902,以便请求关于特定服务和提供商的MSISDN的认证。图20表示从状态暴露服务响应2002到经包装的状态服务响应2004的映射。响应可包括大范围的状态信息,诸如服务状态(例如,“ok”、或“断开”)、客户类型(例如,“商用”或“住宅用”)、用于客户服务计划的鉴定信息、SIM模块、无线设备类型、发送或接收MMS、UMTS、或GPRS消息的能力、接入信道(例如,“移动”或“陆地线路”),或者可用于MSISDN的任何其它状态信息。
图21表示从计费暴露服务请求2102到经包装的计费服务请求2104的映射。可将TSOLABEL设置成“计费”或任何其它标识符。请求应用可启动计费请求,以请求给这样的通信会话记帐,该通信会话在两个端点之间(例如,发送者URI和接收者URI之间)具有指定的开始和结束日期,并由计费请求2102中指定的服务提供商处理。图22表示从计费暴露服务响应2202到经包装的计费服务响应2204的映射。可在响应中丢弃TSOLABEL字段。
表15表示用于暴露服务的WSDL定义的实例。具体地,表15表示WSDL计费服务描述符的实例,该WSDL计费服务描述符可定义输入和输出消息以及用于暴露服务的消息格式。计费服务描述符定义<port>(“ChargeAdapterFrontEnd”),通过该<port>发送作为输入和输出消息定义的计费服务请求和响应。此外,计费服务描述符定义用于输入和输出消息(分别是“submitReqRequest”和“submitReqResponse”)的消息形式和内容。还定义了SOAP捆绑,作为计费暴露服务请求(经由“location”区分符)被发送到的位置。
可以类似的方式为每个暴露服务建立WSDL定义。取决于网关110的实现方案和暴露服务,WSDL定义可广泛地变化。
表15 |
<?xml version=″1.0″encoding=″UTF-8″?><wsdl:definitions targetNamespace=″http://[address]″xmlns=″http://schemas.xmlsoap.org/wsdl/″xmlns:apachesoap=″http://xml.apache.org/xml-soap″xmlns:impl=″http://[address]″xmlns:intf=″http://[address]″xmlns:soapenc=″http://schemas.xmlsoap.org/soap/encoding/″xmlns:tns2=″http://[address]″xmlns:tns3=″http://[address]″xmlns:wsdl=″http://schemas.xmlsoap.org/wsdl/″xmlns:wsdlsoap=″http://schemas.xmlsoap.org/wsdl/soap/″xmlns:xsd=″http://www.w3.org/2001/XMLSchema″><wsdl:types><schema targetNamespace=″http://[address]″xmlns=″http://www.w3.org/2001/XMLSchema″><import namespace=″http://schemas.xmlsoap.org/soap/encoding/″/><complexType name=″WrappedRequest″><sequence><element name=″certId″nillable=″true″type=″xsd:int″/> |
<element name=″transactionId″nillable=″true″type=″xsd:string″/></sequence></complexType><complexType name=″Status″><sequence><element name=″details″nillable=″true″type=″xsd:string″/><element name=″statusCode″type=″xsd:int″/><element name=″statusText″nillable=″true″type=″xsd:string″/></sequence></complexType><complexType name=″WrappedResponse″><sequence><element name=″status″nillable=″true″type=″tns3:Status″/><element name=″transactionId″nillable=″true″type=″xsd:string″/></sequence></complexType></schema><schema targetNamespace=″http://[address]″xmlns=″http://www.w3.org/2001/XMLSchema″><import namespace=″http://schemas.xmlsoap.org/soap/encoding/″/><complexType name=″ChargeWrappedRequest″><complexContent><extension base=″tns3:WrappedRequest″><sequence><element name=″accountID″nillable=″true″type=″xsd:string″/><element name=″endDate″nillable=″true″type=″xsd:dateTime″/><element name=″serviceID″nillable=″true″type=″xsd:string″/><element name=″startDate″nillable=″true″type=″xsd:dateTime″/></sequence></extension></complexContent></complexType><complexType name=″ChargeWrappedResponse″><complexContent><extension base=″tns3:WrappedResponse″><sequence/></extension></complexContent></complexType></schema></wsdl:types><wsdl:message name=″submitReqRequest″> |
<wsdl:part name=″chargeWrappedRequest″type=″tns2:ChargeWrappedRequest″/></wsdl:message><wsdl:message name=″submitReqResponse″><wsdl:part name=″submitReqReturn″type=″tns2:ChargeWrappedResponse″/></wsdl:message><wsdl:portType name=″ChargeAdapterFrontEnd″><wsdl:operation name=″submitReq″parameterOrder=″chargeWrappedRequest″><wsdl:input message=″intf:submitReqRequest″name=″submitReqRequest″/><wsdl:output message=″intf:submitReqResponse″name=″submitReqResponse″/></wsdl:operation></wsdl:portType><wsdl:binding name=″ChargeAdapterFrontEndSoapBinding″type=″intf:ChargeAdapterFrontEnd″><wsdlsoap:binding style=″rpc″transport=″http://schemas.xmlsoap.org/soap/http″/><wsdl:operation name=″submitReq″><wsdlsoap:operation soapAction=″″/><wsdl:input name=″submitReqRequest″><wsdlsoap:bodyencodingStyle=″http://schemas.xmlsoap.org/soap/encoding/″namespace=″http://[address]″use=″encoded″/></wsdl:input><wsdl:output name=″submitReqResponse″><wsdlsoap:bodyencodingStyle=″http://schemas.xmlsoap.org/soap/encoding/″namespace=″http://[address]″use=″encoded″/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name=″ChargeAdapterFrontEndService″><wsdl:port binding=″intf:ChargeAdapterFrontEndSoapBinding″name=″ChargeAdapterFrontEnd″><wsdlsoap:addresslocation=″http://localhost:8080/serverfinto/services/SdcCharge″/></wsdl:port></wsdl:service></wsdl:definitions> |
第三方网关110提供对电信服务提供商提供的暴露服务的安全、有效的接入。第三方网关110通过使用安全认证期间获得的证书标识符来增强第三方授权。在数据库228中的公司应用记录中包括证书标识符,有效地将证书标识符的使用扩展到授权,而不需要单独的或独立的用于公司应用的授权标识符。增强的公司应用的授权提供了强有力的保护,以免受未授权第三方对有价值的电信的接入。
此外,MSISDN字段和证书标识符字段支持用于不同类型的服务请求者的独立的授权标准。接合数据模型中的多级别状态字段,数据模型支持用于服务请求处理器224的灵活策略管理。策略可在考虑对请求进行授权之前在数据模型中的每个分支内的一个或多个级别(例如,公司级别、终端用户级别、或公司应用级别)处,为数据模型中的记录指定状态标准。
概述用于允许多种不同类型的服务请求者的安全接入的技术,第三方网关110从第一类型服务请求者(例如,公司应用)接收暴露服务请求。第三方网关110也从第二类型服务请求者(例如,移动电话设备)接收网络通信服务请求。第三方网关对暴露服务请求进行认证,并从认证暴露服务请求中获得安全授权标识符(例如,公共密钥)。
特征描述数据库228基于安全授权标识符,从特征描述数据库228中定义的数据模型的服务请求者分支提供搜索结果。第三方网关110确定搜索结果中代表的公司应用。对公司应用的授权基于第一搜索结果中的一个或多个状态标识符(例如,公司应用标识符)来进行。
关于第二类型服务请求者,第三方网关110从网络通信服务请求中提取设备标识符。特征描述数据库228还基于设备标识符,从不同服务请求者分支提供搜索结果。基于第二搜索结果中的一个或多个用户设备状态标识符来确定并授权第二搜索结果中代表的用户设备。
尽管已经描述了本发明的多个实施例,但是对于本领域的普通技术人员来说将显而易见的是,在本发明的范围内可能会有许多其它的实施例和实现方案。因此,本发明除所附权利要求和它们的等价物外,不受其它限制。