CN102281311B - 一种基于开放应用编程接口实现网络业务的方法、***及装置 - Google Patents
一种基于开放应用编程接口实现网络业务的方法、***及装置 Download PDFInfo
- Publication number
- CN102281311B CN102281311B CN201010200821.1A CN201010200821A CN102281311B CN 102281311 B CN102281311 B CN 102281311B CN 201010200821 A CN201010200821 A CN 201010200821A CN 102281311 B CN102281311 B CN 102281311B
- Authority
- CN
- China
- Prior art keywords
- service
- isp
- server
- call
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000011161 development Methods 0.000 claims abstract description 57
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 60
- 230000008569 process Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 21
- 230000001960 triggered effect Effects 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 21
- 235000014510 cooky Nutrition 0.000 description 18
- 101150045440 ISP1 gene Proteins 0.000 description 16
- 101100353471 Mus musculus Prss28 gene Proteins 0.000 description 16
- 101100509103 Schizosaccharomyces pombe (strain 972 / ATCC 24843) ish1 gene Proteins 0.000 description 16
- 238000012795 verification Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 101000610620 Homo sapiens Putative serine protease 29 Proteins 0.000 description 8
- 102100040345 Putative serine protease 29 Human genes 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种基于开放应用编程接口实现网络业务的方法、***及装置,用于解决基于现有技术实现网络业务时,业务数据安全性低以及业务可控性差的问题。主要技术方案包括:接收第三方开发服务器根据用户的业务请求发送的对Open API的调用请求;确定调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器,并将调用请求发送到确定的ISP服务器;接收ISP服务器根据调用请求返回的服务页面,并将服务页面发送到第三方开发服务器,由第三方开发服务器对该服务页面进行处理后发送给用户,该处理为将该服务页面封装在业务请求对应的页面中。根据该技术方案,提高了数据的安全性以及对业务的可控性。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及一种基于开放应用编程接口实现网络业务的方法、***及装置。
背景技术
Open API(Open-Application Programming Interface,开放应用编程接口)是SaaS(Software as a Service,软件即服务)模式下常见的一种应用接口,ISP(Internet Service Provider,互联网服务提供商)将其可提供的网站服务分别封装成一系列的API,开放给第三方开发者,例如,ISV(Independent SoftwareVendor,独立软件供应商),ISV可通过其ISV服务器使用相应的业务,该方式称为开放网站的API,所开放的API称为Open API。
ISP对外提供Open API后,吸引了更多ISV基于ISV提供的Open API开发更多的应用,从而使得ISV能够获得更多的流量与市场份额,并且,对于ISV而言,ISV服务器也不需要庞大的硬件与技术投资就可以轻松快捷的使用符合其要求的业务,从而减少了投资成本。因此,Open API作为互联网在线服务的发展基础,已经成为越来越多互联网企业发展服务的选择,在网络业务中具有很大的发展空间。
基于Open API的应用前景,各大国内外网站的ISP都推出了自己的OpenAPI网站(即基于Open API实现网络业务的网站)。目前普遍使用的Open API为基于REST接口形式的Open API,称之为REST API。基于REST API实现网络业务时,通过Internet(因特网)采用HTTP GET的方式向业务实现服务器发送REST服务,业务实现服务器采用POST的方式响应REST服务,其中,业务实现服务器以XML、Jason等结构化数据作为返回结果响应REST服务。
上述基于REST API实现网络业务的方案存在很多方面的不足,首先,以结构化数据形式作为返回结果,ISV获取数据比较容易,而一般业务实现服务器提供的业务数据都不希望被用户以外的第三方即ISV获得,因此,基于上述方式实现的网络业务,对于业务实现服务器而言,数据安全性低;并且,目前大部分网络业务都包含复杂业务逻辑的操作,通常需要用户和服务端之间进行多次交互操作,而以上实现网络业务的方法中,一个REST API只能实现用户和服务端之间的单次交互,例如查询、更新数据等。因此,对于复杂网络业务,ISV需要构建多个REST API才能实现一个完整的流程,这使得ISV需要解析多个API调用间的业务逻辑,非常难于使用,而且不同的ISV解析能力存在偏差,使得业务一致性很难得到保证,从而对于业务实现服务器而言,业务的可控性差。
综上所述,基于现有API实现的网络业务,无法保证业务数据的安全性,并且业务可控性差。
发明内容
有鉴于此,本申请实施例提供一种基于开放应用编程接口实现网络业务的方法、***及装置,用于解决基于现有技术实现网络业务时,业务数据安全性低以及业务可控性差的问题。
本申请实施例通过如下技术方案实现:
根据本申请实施例的一个方面,提供了一种基于开放应用编程接口实现网络业务的方法,包括:
接收第三方开发服务器根据用户的业务请求发送的对开放应用编程接口Open API的调用请求;
确定所述调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器,并将所述调用请求发送到确定的所述ISP服务器;
接收所述ISP服务器根据所述调用请求返回的服务页面,并
将所述服务页面发送到所述第三方开发服务器,由所述第三方开发服务器对所述服务页面进行处理后发送给所述用户,所述处理为将所述服务页面封装在所述业务请求对应的页面中。
根据本申请实施例的另一个方面,还提供了一种基于开放应用编程接口实现网络业务的装置,包括:
第一接收单元,用于接收第三方开发服务器根据用户的业务请求发送的对开放应用编程接口Open API的调用请求;
第一ISP调用单元,用于确定所述第一接收单元接收的调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器,并将所述调用请求发送到所述ISP确定单元确定的所述ISP服务器;
第一调用结果反馈单元,用于接收所述ISP服务器根据所述第一ISP调用单元发送的调用请求返回的服务页面,并将所述服务页面发送到所述第三方开发服务器,由所述第三方开发服务器对所述服务页面进行处理后发送给所述用户,所述处理为将所述服务页面封装在所述业务请求对应的页面中。
根据本申请实施例的另一个方面,还提供了一种基于开放应用编程接口实现网络业务的***,包括:
第三方开发服务器、业务实现服务器以及ISP服务器;其中,
第三方开发服务器,用于根据用户的业务请求向业务实现服务器发送对开放应用编程接口Open API的调用请求;以及,接收所述业务实现服务器返回的服务页面,并将所述服务页面封装在所述业务请求对应的页面中发送给所述用户;
业务实现服务器,用于根据所述第三方开发服务器发送的调用请求,确定所述调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器,并将所述调用请求发送到确定的所述ISP服务器;以及,接收所述ISP服务器返回的服务页面,并将所述服务页面发送给所述第三方服务器;
ISP服务器,用于根据所述业务实现服务器发送的调用请求返回相应的服务页面给所述业务实现服务器。
通过本申请实施例提供的上述至少一个技术方案,在实现网络业务时,首先接收第三方开发服务器根据用户的业务请求发送的对Open API的调用请求,确定该调用请求中请求调用的Open API对应的ISP服务器,并将该调用请求发送到确定的ISP;进而接收该ISP根据调用请求返回的服务页面,并将该服务页面发送至第三方开发服务器,由该第三方开发服务器对服务页面进行处理后发送给用户,其中的处理为将服务页面封装在业务请求对应的页面中,根据该技术方案,一方面,通过服务页面的形式将服务数据返回给第三方开发服务器,与现有技术中直接将服务数据以结构化数据形式返回给第三方开发服务器相比,提高了数据的安全性;另一方面,第三方服务器无需具备对业务逻辑分析的功能,所有业务的控制都通过介于第三方服务器以及各ISP之间的服务器实现,从而提高了对业务的可控性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中:
图1为本申请实施例提供的基于Open API实现网络业务的方法流程图一;
图2为本申请实施例提供的将调用请求发送到ISP服务器的流程图;
图3为本申请实施例提供的触发的下一Open API的调用流程图一;
图4为本申请实施例提供的触发的下一Open API的调用流程图二;
图5为本申请实施例提供的实现网络业务涉及的***交互示意图;
图6为本申请实施例提供的基于Open API实现网络业务的流程图二;
图7为本申请实施例提供的采用鉴权组件实现鉴权的流程图;
图8为本申请实施例提供的基于Open API实现网络业务的***示意图;
图9为本申请实施例提供的基于Open API实现网络业务的装置示意图一;
图10为本申请实施例提供的第一ISP调用单元结构示意图一;
图11为本申请实施例提供的基于Open API实现网络业务的装置示意图二;
图12为本申请实施例提供的基于Open API实现网络业务的装置示意图三;
图13为本申请实施例提供的第二ISP调用单元以及第二调用结果反馈单元的结构示意图;
图14为本申请实施例提供的基于Open API实现网络业务的装置示意图四;
图15为本申请实施例提供的鉴权单元的结构示意图;
图16为本申请实施例提供的第一ISP调用单元结构示意图二。
具体实施方式
为了给出提高业务数据安全性以及提高业务可控性的实现方案,本申请实施例提供了一种基于开放应用编程接口实现网络业务的方法、***及装置,该技术方案可以应用于网络业务的实现过程,既可以实现为一种方法,也可以实现为一种装置。以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
根据本申请实施例,首先提供了一种基于开放应用编程接口实现网络业务的方法,如图1所示,该方法主要包括如下步骤:
步骤101、业务实现服务器接收第三方开发服务器根据用户的业务请求发送的对Open API的调用请求。
步骤102、业务实现服务器确定接收的调用请求中请求调用的Open API对应的ISP,并将该调用请求发送到确定的ISP服务器;
步骤103、业务实现服务器接收ISP服务器根据调用请求返回的服务页面。
步骤104、业务实现服务器将该服务页面发送到第三方开发服务器,由该第三方开发服务器对服务页面进行处理后发送给用户。
该步骤104中,第三方开发服务器对服务页面进行的处理具体为:将该服务页面封装在业务请求对应的页面中。
通过上述流程实现网络业务的方法,可以应用于多种网络环境下,其中的业务实现服务器可以为设置在相应网络环境下的用于对该网络环境下实现的业务进行控制和管理的服务器;其中的第三方开发服务器可以为独立软件供应商ISV服务器。
本申请实施例中,若调用请求中请求调用的Open API为多个,则在将调用请求发送到确定的ISP服务器之前,即在执行上述步骤102之前,还进一步执行如下步骤:
确定多个Open API之间的调用关系。
该多个Open API之间的调用关系用于表征该多个Open API是否存在调用顺序,根据本申请实施例,一个调用请求可以同时调用多个Open API,该多个Open API可以包括存在调用顺序的Open API,也可以包括独立的Open API,该独立的Open API与其他Open API不存在调用顺序。
相应地,在确定多个Open API之间的调用关系后,图1所示流程的步骤102中,将调用请求发送到确定的ISP服务器,具体如图2所示,包括如下步骤:
步骤201、根据多个Open API之间的调用关系确定多个Open API之间是否存在调用顺序,若是,执行步骤202,若否,执行步骤203。
步骤202、将调用请求发送到存在调用关系的多个Open API中调用顺序为第一位的Open API对应的ISP服务器,然后转至图1中的步骤103。
步骤203、将调用请求发送到多个Open API分别对应的ISP服务器,然后转至图1中的步骤103。
本申请实施例中,在调用请求中请求调用的Open API为多个并且该多个Open API之间存在调用顺序时,需要根据业务逻辑进行多次调用,直到调用顺序为最后一位的Open API被调用。在根据调用顺序进行第一次调用后,在将服务页面发送到第三方开发服务器之前,即在执行图1所示流程中的步骤104之前,还可以进一步执行如下步骤:
将多个Open API之间的调用顺序封装在服务页面中。
通过上述步骤的执行,将Open API之间的调用顺序封装在返回给用户的服务页面中,用户可以触发下一Open API的调用流程,具体处理过程如图3所示,包括如下步骤:
步骤301、业务实现服务器接收用户根据服务页面中封装的调用顺序触发的对当前调用的第一Open API之后的第二Open API的调用请求。
步骤302、将该调用请求发送到与第二Open API对应的ISP服务器。
步骤303、接收第二Open API对应的ISP服务器根据该调用请求返回的服务页面。
步骤304、将该服务页面发送到第三方开发服务器,由第三方开发服务器对该服务页面进行处理后发送给用户。
根据图3所示流程,业务实现服务器根据用户触发的下一Open API的调用请求,实现对该调用请求的调用过程。根据本申请优选实施例,在用户触发下一Open API的调用流程后,还可以支持不同Open API对应的ISP服务器之间的互调用,例如,对于涉及多个ISP服务器交互的复杂业务,在调用第一Open API对应的ISP服务器提供的业务后,还需要进一步调用第二Open API对应的ISP服务器提供的业务,但该第二Open API对应的ISP服务器可能只支持特定ISP服务器的访问,该特定ISP服务器一般为首次被调用的Open API对应的ISP服务器,在该情况下,就需要通过第一Open API对应的ISP服务器调用该第二Open API对应的ISP服务器,从而实现对第二Open API对应的ISP服务器提供的业务的获取,具体地,业务实现服务器根据用户触发的下一Open API的调用请求,实现对该调用请求的调用过程,还可以如图4所示,包括如下步骤:
步骤401、业务实现服务器接收用户根据服务页面中封装的调用顺序触发的对当前调用的第一Open API之后的第二Open API的调用请求。
步骤402、根据多个Open API之间的调用关系确定调用第二Open API是否需要通过第一Open API,若是,执行步骤403步骤404,若否,执行步骤405~步骤406。
该步骤402中,即第一Open API和第二Open API之间存在互调用关系,第二Open API的调用需要通过第一Open API来完成。
步骤403、通过第一Open API对应的ISP服务器将该调用请求转发至第二Open API对应的ISP服务器。
步骤404、接收第一Open API对应的ISP服务器返回的处理后的服务页面,至此跳转至步骤407。
该步骤404中,该处理具体为:第一Open API对应的ISP服务器接收第二Open API对应的ISP服务器返回的服务页面,并将接收的该服务页面封装在自身的服务页面中进行返回。
步骤405、将该调用请求发送到与第二Open API对应的ISP服务器。
步骤406、接收第二Open API对应的ISP服务器根据该调用请求返回的服务页面,至此跳转至步骤407。
步骤407、将该服务页面发送到第三方开发服务器,由第三方开发服务器对该服务页面进行处理后发送给用户。
本申请实施例中,将ISP返回的服务页面封装在业务请求对应的页面中,具体包括:
将该服务页面通过嵌入页面Iframe形式嵌入业务请求对应的页面中。
其中,以Iframe形式嵌入的页面为Iframe元素,可以理解为页面中浮动的框架(FRAME)。frames集合提供对Iframe内容的访问权限,即在具体应用中,可以使用frames集合读写Iframe内包含的元素。
Iframe也即Inner Frame(嵌入页面),是一种在已有的Web页面中嵌入另一个Web页面的技术,被嵌入的Web页面显示在要嵌入页面的Web页面中的指定的框架位置,但对于用户而言,不能感觉出当前展示的页面是来自于两个不同的Web页面,因此,本申请实施例利用Iframe的该特性,实现了ISP服务的Web开放,保证了安全性,同时也保证了用户体验。
本申请优选实施例中,为了增加业务实现的安全性以及可控性,在确定调用请求中请求调用的对应的互联网服务提供商ISP之前,即在执行图1所示流程的步骤102之前,还可以进一步包括如下步骤:
对发送业务请求的用户进行鉴权,并在鉴权通过后执行步骤102。
具体地,对发送业务请求的用户进行鉴权,可以通过多种方式,例如,向用户返回登录界面,该用户若为注册用户,则通过登录界面提示用户提交注册时的账号以及密码信息,若该用户非注册用户,可通过登录界面提示用户先进行注册,在注册信息验证通过后允许其登录。
实际的业务实现过程中,一般涉及多次用户与网络侧服务器的交互,为了保证用户登录的有效性,本申请实施例在用户成功登录的基础上,进一步验证该用户每次发送业务请求时更新的与该业务请求对应的用户登录标识是否有效,若有效,则对该用户鉴权通过,否则拒绝该用户的业务请求。其中,用户登录标识在该用户本次成功登录后创建。在具体业务实现过程中,可以通过如下方式实现用户登录标识的创建及更新:
实际应用中,业务请求一般基于浏览器发送,在业务实现服务器验证用户本次登录成功之后,向浏览器写入本次登录过程中产生的用户登录标识Cookie和写入该Cookie的时间信息,用户再次访问时(如调用Open API),在验证Cookie是否有效的时候,除了验证用户ID的存在,还需要验证再次访问的时间和上述写入的时间之间的间隔是否在设定时间间隔内,即每次调用Open API时,业务实现服务器都会验证Cookie并在验证通过后刷新该Cookie。若用户在长时间不调用Open API,则在下次调用时需要重新登录,以增加业务的安全性。
本申请实施例中,若确定的调用请求中请求调用的Open API对应的ISP服务器为多个,将调用请求发送到确定的ISP服务器,具体包括:
将该调用请求发送到确定的多个ISP中的任意一个ISP服务器。
具体地,将该调用请求发送到确定的多个ISP中的任意一个ISP服务器,可以通过随机路由算法实现,即通过随机路由算法将调用请求随机发送到多个ISP服务器中的一台。同时对ISP服务器做心跳检测,根据ISP的状态对随机列表进行动态更新。例如,若检测到某ISP出现异常,则从随机列表中删除该ISP,下次不会将调用请求随机发送到该服务器;若检测到该ISP恢复正常工作,则从随机列表中增加该ISP,下次可能将调用请求随机发送到该服务器。
具体地,可以通过HTTP软负载从多个ISP服务器中确定出用于提供业务的ISP。
HTTP软负载基于一个中间件ConfigServer(即业务实现服务器)来实现,各ISP服务器向ConfigServer注册HTTP服务,ConfigServer的客户端根据ConfigServer中的注册地址,随机连接ISP服务器,并发送HTTP请求。每个ISP服务通过一个ServerSide对象,将自己的地址信息发布到ConfigServer,每个客户端(ClientSide)通过一个ClientSide对象向ConfigServer订阅自己需要的服务,ConfigServer会将所有可用服务的最新列表实时推送给ClientSide,ClientSide通过某种路由算法(也可以随机)选择一个服务地址进行调用。具体地,发送到ConfigServer的地址列表可以通过字符串String表示。
本申请实施例中,ISP服务器返回的服务页面可以优选地包括如下两种形式:
方式一、ISP服务器返回一服务页面,ISV将ISP返回的服务页面嵌入自身提供的服务页面,最后返回给用户的结果页面以ISP APP(Application,即开发者开发的应用软件)对应的域名显示,即将ISP APP的域名嵌入结果页面返回给用户,用户能看到的域名为ISP APP的域名。
方式二、ISP服务器根据获得的页头页尾链接,渲染好服务页面返回给业务实现服务器,最后返回给用户的结果页面以业务实现服务器对应的域名显示。其中,ISP服务器根据获得的页头页尾链接是ISV的APP通过调用API时传入的参数信息,渲染服务页面即将获得的参数信息生成为一个完整的页面。
根据本申请实施例,能够满足不同的业务需要,例如,有些业务要求显示给用户时必须以业务实现服务器域名显示,才能正常进行后续流程,比如退款操作中需要用户输入密码,为了防止安全漏洞和后续纠纷,输入密码框必须显示在业务实现服务器的域名对应的页面下,用户在确定域名显示无误后,才执行输入密码操作,以防止密码被第三方窃取。
为了更好地理解本申请实施例提供的技术方案,下面以业务实现服务器控制业务实现的具体实例对本申请的实施例进行说明。
如图5所示,为该实施例中实现网络业务涉及的***交互示意图,主要涉及的实体包括第三方开发服务器ISV、业务实现服务器、多个ISP(为表述方便,图中画出了3个ISP)以及鉴权组件。其中:
ISV发起的调用请求中可以包括页面API调用(即调用存在调用关系的多个Open API)以及Rest API调用(即调用与其他Open API不存在调用顺序的Open API);
业务实现服务器负责业务实现的安全和流量控制,如图5所示,业务实现服务器作为ISV和ISP之间的一个连接器,负责将ISV调用Open API的请求转发到相应ISP。一个API流程,包含多个与ISP交互的操作步骤,其中,既可以含有页面交互的操作,也可以含有普通REST API操作。同样,一个ISP在处理流程页面API时,还可以调用其它的ISP提供的服务,将其它ISP提供的页面以Iframee形式嵌入到自身提供的页面中,再返回给业务实现服务器,由业务实现服务器转发给ISV;
鉴权组件负责实现各种鉴权过程,例如,业务实现服务器对于ISV的鉴权,ISP对应业务实现服务器的鉴权等。
如图6所示,为基于Open API实现业务的一个具体实施例,其中,该业务流程需要调用三次Open API,并且ISP1响应的第二步操作中,需要调用ISP2的服务,具体包括如下步骤:
步骤601、用户向ISV发起业务请求。
该步骤中,用户发起的业务请求可以包括出价请求、申请退款等请求。用户需要登录之后,才可以发起该业务请求。
步骤602、ISV通过APP发起对Open API的调用请求。
该步骤中,调用请求中包含调用API需要的参数及对这些参数做的签名信息。
步骤603、业务实现服务器收到请求后验证用户登录信息以及Cookie,若验证通过,继续后续流程,否则拦截用户请求(该过程未在图中标出)。
步骤604、业务实现服务器验证ISV访问权限,其中包括通过验证该ISV是否有调用该API的权限及流量控制,若验证通过,继续后续流程,否则拒绝调用请求(该过程未在图中标出)。
步骤605、业务实现服务器通过解析调用请求,确定支持该Open API的ISP1,将调用请求转发到ISP1服务器。
步骤606、ISP1服务器收到调用请求后,验证业务实现服务器签名,如果签名验证成功,则继续后续流程,否则返回错误信息(该过程未在图中标出)。
步骤607、ISP1服务器返回服务页面到业务实现服务器。
步骤608、业务实现服务器封装ISP1服务器返回的服务页面,再返回给ISVAPP。
步骤609、ISV APP将返回的服务页面封装到自身提供的应用页面中,展示给用户。
步骤610、用户点击返回的服务页面,发起该流程的第二步骤,该请求直接被发送到业务实现服务器。
步骤611、业务实现服务器收到该请求后,对用户进行鉴权,鉴权通过后继续后续流程,否则返回错误信息给用户(该过程未在图中标出)。
步骤612、业务实现服务器通过解析调用请求,将该请求转发给ISP1服务器。
步骤613、ISP1服务器收到请求后,验证业务实现服务器签名,如果签名验证成功,则继续后续流程,否则返回错误信息(该过程未在图中标出)。
步骤614、ISP1服务器通过解析该请求,确定需要调用ISP2提供的服务,向ISP2服务器发起调用ISP2的请求。
步骤615、ISP2服务器通过鉴权组件验证用户身份,鉴权组件验证用户cookie,验证通过,则将验证结果返回ISP2服务器,并进行后续流程;否则跳转到用户登录页面,要求用户重新登录(该过程未在图中标出)。
步骤616、ISP2服务器响应该服务请求,向ISP1服务器返回服务页面。
步骤617、ISP1服务器将ISP2服务器返回的服务页面组装到自身提供的页面中返回给业务实现服务器。
步骤618、业务实现服务器将ISP1服务器返回的服务页面封装转发给ISVAPP。
步骤619、ISV APP将返回页面组装到自身提供的服务页面中展示给用户。
步骤620、用户点击返回的服务页面,发起该流程的第三步骤,该请求直接被发送到业务实现服务器。
步骤621、业务实现服务器收到该请求后,对用户进行鉴权,鉴权通过后继续后续流程,否则返回错误信息给用户(该过程未在图中标出)。
步骤622、业务实现服务器通过解析调用请求,将该请求转发给ISP1服务器。
步骤623、ISP1服务器收到请求后,验证业务实现服务器签名,如果签名验证成功,则继续后续流程,否则返回错误信息(该过程未在图中标出)。
步骤624、ISP1服务器将自身提供的服务页面返回给ISV APP。
步骤625、ISV APP根据ISP1服务器返回的结果信息,组装结果页面展示给客户。
上述流程中,业务实现服务器起连接中转和控制监管作用,外部ISV发起请求到业务实现服务器,业务实现服务器收到请求后验证该ISV是否有权限访问该页面,如果有权限则发送请求到ISP,接受ISP签名验证,解析ISP返回的数据,并返回给外部ISV。具体地,业务实现服务器和ISP之间可以采用HTTP方式进行调用,即ISP提供HTTP服务,业务实现服务器通过HTTP客户端访问ISP页面,即业务实现服务器通过HTTP客户端访问ISP的页面,ISP将页面内容直接输出给业务实现服务器。实际应用中,业务实现服务器接收到OpenAPI调用请求之后,会做以下判断:
浏览器中的Cookie是否有效;
Sign参数是否合法;其中的Sign参数用于验证ISV用户传入的数据,该参数在ISV调用API前根据ISV与业务实现服务器约定算法生成,并在调用API时传入;
Appkey参数是否合法,且是否具备当前页面API的访问权限;访问每个API的应用都有一个唯一标识及密钥,称之为Appkey参数(包括Appkey和APP Secret),分别用来对每个应用做身份认证及安全控制,该参数在ISV调用API时传入;
Session参数和Cookie中的用户是否对应;ISV开发的应用在获取业务实现服务器提供的信息时,如果该信息为用户的私有信息,需要用户登录后才能获取,该Session参数(即Session key)是用户登录后获取,用来表明该数据经过用户授权可以获取,该信息在用户登录时产生,调用API时传入;
Timestamp参数和当前时间间隔是否在30分钟以内;其中的Timestamp参数用于控制ISV应用访问API的次数,由业务实现服务器生成,并写入用户浏览器Cookie,用户通过页面访问API时,读取cookie获取;
Session参数对应的用户是否具备访问对应appkey的权限;
如果上述规则任何一条不满足,则确定对用户鉴权不通过。
进一步地,上述流程中,鉴权组件提供了统一的登录验证功能,实际应用中,该鉴权组件可以以独立服务器的形式存在,即采用与业务实现服务器的域名、ISP的域名不同的域名。在业务实现服务器的域中写入Cookie,在其它ISP鉴权时只要验证业务实现服务器的域中的Cookie是否存在,为了使其它域能访问该业务实现服务器域中的Cookie,访问时可以使用P3P header实现。
采用鉴权组件实现鉴权的具体处理流程如图7所示,包括如下步骤:
步骤701、用户向ISV发送登录请求。
步骤702、ISV通过APP将该登录请求转发到业务实现服务器,同时将自身鉴权参数传给业务实现服务器。
步骤703、业务实现服务器收到请求后,发送登录请求到鉴权组件。
步骤704、鉴权组件收到业务实现服务器的登录请求后,跳转到用户登录页面,用户输入用户名和密码,验证成功,执行后续步骤,否则跳回登录页面(该过程未在图中标出)。
步骤705、鉴权组件向业务实现服务器发起写Cookie请求。
步骤706、业务实现服务器收到请求后,根据请求参数做安全验证,验证通过后,写入cookie。
步骤707、业务实现服务器将写入成功响应返回鉴权组件。
上述基于Open API实现网络业务的方法还可以实现为一种***,如图8所示,为本申请实施例提供的基于开放应用编程接口实现网络业务的***对应的网络拓扑图,其中包括:
第三方开发服务器801、业务实现服务器802以及ISP服务器803(实际应用中,ISP服务器为多个,图8为了简化起见,仅示出了2个)。
业务实现服务器802用户对网络业务进行整体调度以及控制,具体地,各服务器分别完成如下功能:
第三方开发服务器801,用于根据用户的业务请求向业务实现服务器802发送对开放应用编程接口Open API的调用请求;以及,接收业务实现服务器802返回的服务页面,并将该服务页面封装在业务请求对应的页面中发送给用户;
业务实现服务器802,用于根据第三方开发服务器801发送的调用请求,确定该调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器803,并将该调用请求发送到确定的ISP服务器803;以及,接收ISP服务器返回的服务页面,并将该服务页面发送给第三方服务器801;
ISP服务器803,用于根据业务实现服务器802发送的调用请求返回相应的服务页面给业务实现服务器802。
上述基于Open API实现网络业务的方法还可以实现为一种装置,如图9所示,与上述方法流程对应,本申请实施例还提供了一种基于开放应用编程接口实现网络业务的装置,该装置包括:
第一接收单元901、第一ISP调用单元902以及第一调用结果反馈单元903;
其中:
第一接收单元901,用于接收第三方开发服务器根据用户的业务请求发送的对开放应用编程接口Open API的调用请求;
第一ISP调用单元902,用于确定第一接收单元901接收的调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器,并将所述调用请求发送到所述ISP确定单元确定的所述ISP服务器;
第一调用结果反馈单元903,用于接收ISP服务器根据第一ISP调用单元902发送的调用请求返回的服务页面,并将所述服务页面发送到第三方开发服务器,由第三方开发服务器对所述服务页面进行处理后发送给所述用户,所述处理为将所述服务页面封装在所述业务请求对应的页面中。
如图10所示,本申请优选实施例中,图9所示的第一ISP调用单元902还可以具体包括:调用关系确定模块902A、第一调用执行模块902B以及第二调用执行模块902C;其中:
调用关系确定模块902A,用于在第一接收单元901接收的调用请求中请求调用的Open API为多个,确定该多个Open API之间的调用关系;
第一调用执行模块902B,用于在根据调用关系确定模块902A确定的调用关系确定所述多个Open API之间存在调用顺序时,将所述调用请求发送到所述多个Open API中调用顺序处于第一位的Open API对应的ISP服务器;
第二调用执行模块902C,用于在根据调用关系确定模块902A确定的调用关系确定所述多个Open API之间不存在调用顺序时,将所述调用请求发送到所述多个Open API分别对应的ISP服务器。
如图11所示,本申请优选实施例中,图9所示的装置,还可以进一步包括:
调用关系封装单元904,用于在根据调用关系确定所述多个Open API之间存在调用顺序时,将所述多个Open API之间的调用顺序封装在所述服务页面中,并将封装处理后的服务页面提供给所述第一调用结果反馈单元903。
如图12所示,本申请优选实施例中,图9所示的装置还可以进一步包括:
第二接收单元905、第二ISP调用单元906以及第二调用结果反馈单元907;
其中:
第二接收单元905,用于接收所述用户根据第一调用结果反馈单元903返回的服务页面中封装的所述调用顺序触发的对当前调用的第一Open API之后的第二Open API的调用请求;
第二ISP调用单元906,用于将第二接收单元905调用请求发送到与所述第二Open API对应的ISP服务器;
第二调用结果反馈单元907,用于接收所述第二Open API对应的ISP服务器根据第二ISP调用单元906发送的调用请求返回的服务页面,并将所述服务页面发送到第三方开发服务器,由第三方开发服务器对所述服务页面进行处理后发送给所述用户。
如图13所示,本申请优选实施例中,图12所示装置包括的第二ISP调用单元906,具体包括:
调用关系解析模块906A,用于在将第二接收单元905接收的调用请求发送到与所述第二Open API对应的ISP服务器之前,根据所述多个Open API之间的调用关系确定所述第二Open API是否需要通过所述第一Open API调用所述第二Open API;
调用请求发送模块906B,用于在调用关系解析模块906A的确定结果为是时,通过所述第一Open API对应的ISP服务器将所述调用请求转发至所述第二Open API对应的ISP服务器;
相应地,该实施例中,图12所示装置包括的第二调用结果反馈单元907,具体包括:
接收模块907A,用于接收所述第一Open API对应的ISP服务器返回的处理后的服务页面,其中,所述服务页面时所述第一Open API对应的ISP服务器接收所述第二Open API对应的ISP服务器返回的服务页面,并将接收的该服务页面封装在自身提供的服务页面中返回的;
反馈模块907B,用于将接收模块907A接收的服务页面发送到所述第三方开发服务器,由所述第三方开发服务器对所述服务页面进行处理后发送给所述用户。
如图14所示,本申请优选实施例中,图9所示的装置还可以进一步包括:
鉴权单元908,用于对发送所述业务请求的用户鉴权,并在确定对所述用户鉴权通过后,指示第一ISP调用单元902确定所述调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器。
如图15所示,本申请优选实施例中,图14所示装置包括的鉴权单元908可以进一步包括:
鉴权模块908A,用于在确定所述用户满足设定条件时确定对所述用户鉴权通过:其中,所述设定条件包括:
在所述用户成功登录时,创建用户登录标识;并
确定在所述用户每次发送业务请求时更新的所述用户的用户登录标识为有效;
指示模块908B,用于在鉴权模块908A鉴权通过后,指示第一ISP调用单元902确定所述调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器。
如图16所示,本申请优选实施例中,图9所示装置包括的第一ISP调用单元902,还可以进一步包括:
ISP服务器确定模块902D,用于确定所述调用请求中请求调用的Open API对应的ISP个数;
ISP服务器选择模块902E,用于当所述ISP服务器确定模块902D确定的ISP为多个时,采用随机路由算法在确定的所述多个ISP中定位一个ISP服务器,并将所述调用请求发送到定位到的ISP服务器。
本申请的实施例所提供的基于开放应用编程接口实现网络业务的装置所实现功能的具体方式或/和手段在上述方式实施例中的相应处理步骤中已详细说明,在此不再赘述。
本申请实施例提供的基于开放应用编程接口实现网络业务的装置,可以作为单独的装置存在。在实际应用中,考虑到网络结构的简化,可以将该装置实现的功能集成在业务实现服务器中,例如,在业务实现服务器中增加该装置为实现上述功能对应的单元。并且本申请的实施例所提供的基于开放应用编程接口实现网络业务的装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要该装置具有上述功能,都应该在本申请的保护范围之内。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
通过本申请实施例提供的上述至少一个技术方案,在实现网络业务时,首先接收第三方开发服务器根据用户的业务请求发送的对Open API的调用请求,确定该调用请求中请求调用的Open API对应的ISP,并将该调用请求发送到确定的ISP;进而接收该ISP根据调用请求返回的服务页面,并将该服务页面发送到第三方开发服务器,由该第三方开发服务器对服务页面进行处理后发送给用户,其中的处理为将服务页面封装在业务请求对应的页面中,根据该技术方案,一方面,通过服务页面的形式将服务数据返回给第三方开发服务器,与现有技术中直接将服务数据以结构化数据形式返回给第三方开发服务器相比,提高了数据的安全性;另一方面,第三方服务器无需具备对业务逻辑分析的功能,所有业务的控制都通过介于第三方服务器以及各ISP之间的服务器实现,从而提高了对业务的可控性。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种基于开放应用编程接口实现网络业务的方法,其特征在于,包括:
接收第三方开发服务器根据用户的业务请求发送的对开放应用编程接口Open API的调用请求;
确定所述调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器,若所述调用请求中请求调用的Open API为多个,则确定所述多个OpenAPI之间的调用关系,并在根据所述调用关系确定所述多个Open API之间存在调用顺序时,将所述调用请求发送到所述多个Open API中调用顺序处于第一位的Open API对应的ISP服务器;若根据所述调用关系确定所述多个OpenAPI之间不存在调用顺序,则将所述调用请求发送到所述多个Open API分别对应的ISP服务器;
接收所述ISP服务器根据所述调用请求返回的服务页面,并将所述服务页面发送到所述第三方开发服务器,由所述第三方开发服务器对所述服务页面进行处理后发送给所述用户,所述处理为将所述服务页面封装在所述业务请求对应的页面中。
2.如权利要求1所述的方法,其特征在于,若根据所述调用关系确定所述多个Open API之间存在调用顺序,则在将所述服务页面发送到所述第三方开发服务器之前,还包括:
将所述多个Open API之间的调用顺序封装在所述服务页面中。
3.如权利要求2所述的方法,其特征在于,还包括:
接收所述用户根据所述服务页面中封装的所述调用顺序触发的对当前调用的第一Open API之后的第二Open API的调用请求,并将所述调用请求发送到与所述第二Open API对应的ISP服务器;以及
接收所述第二Open API对应的ISP服务器根据所述调用请求返回的服务页面,并将所述服务页面发送到所述第三方开发服务器,由所述第三方开发服务器对所述服务页面进行处理后发送给所述用户。
4.如权利要求3所述的方法,其特征在于,在将所述调用请求发送到与所述第二Open API对应的ISP服务器之前,还包括:
根据所述多个Open API之间的调用关系确定所述第二Open API需要通过所述第一Open API调用;
将所述调用请求发送到与所述第二Open API对应的ISP服务器,以及接收所述第二Open API对应的ISP服务器根据所述调用请求返回的服务页面,具体包括:
通过所述第一Open API对应的ISP服务器将所述调用请求转发至所述第二Open API对应的ISP服务器;
接收所述第一Open API对应的ISP服务器返回的处理后的服务页面,其中,所述服务页面是所述第一Open API对应的ISP服务器接收所述第二OpenAPI对应的ISP服务器返回的服务页面,并将接收的该服务页面封装在自身提供的服务页面中返回的。
5.如权利要求1所述的方法,其特征在于,将所述服务页面封装在所述业务请求对应的页面中,具体包括:
将所述服务页面通过嵌入页面Iframe形式嵌入到所述业务请求对应的页面中。
6.如权利要求1所述的方法,其特征在于,在确定所述调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器之前,还包括:
对发送所述业务请求的用户鉴权通过。
7.如权利要求6所述的方法,其特征在于,对发送所述业务请求的用户鉴权通过,包括:
在所述用户成功登录时,创建用户登录标识;并
确定在所述用户每次发送业务请求时更新的所述用户的用户登录标识为有效。
8.如权利要求1所述的方法,其特征在于,若确定的所述调用请求中请求调用的Open API对应的ISP服务器为多个,将所述调用请求发送到确定的所述ISP服务器,具体包括:
采用随机路由算法在确定的多个ISP服务器中定位一个ISP服务器;
将所述调用请求发送到定位到的ISP服务器。
9.一种基于开放应用编程接口实现网络业务的装置,其特征在于,包括第一接收单元、第一ISP调用单元和第一调用结果反馈单元,其中:
第一接收单元,用于接收第三方开发服务器根据用户的业务请求发送的对开放应用编程接口Open API的调用请求;
第一ISP调用单元,用于确定所述第一接收单元接收的调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器,并将所述调用请求发送到ISP确定单元确定的所述ISP服务器,具体包括:
调用关系确定模块,用于在所述第一接收单元接收的调用请求中请求调用的Open API为多个时,确定所述多个Open API之间的调用关系;
第一调用执行模块,用于在根据所述调用关系确定模块确定的调用关系确定所述多个Open API之间存在调用顺序时,将所述调用请求发送到所述多个Open API中调用顺序处于第一位的Open API对应的ISP服务器;
第二调用执行模块,用于在根据所述调用关系确定模块确定的调用关系确定所述多个Open API之间不存在调用顺序时,将所述调用请求发送到所述多个Open API分别对应的ISP服务器;
第一调用结果反馈单元,用于接收所述ISP服务器根据所述第一ISP调用单元发送的调用请求返回的服务页面,并将所述服务页面发送到所述第三方开发服务器,由所述第三方开发服务器对所述服务页面进行处理后发送给所述用户,所述处理为将所述服务页面封装在所述业务请求对应的页面中。
10.如权利要求9所述的装置,其特征在于,还包括:
调用关系封装单元,用于在根据所述调用关系确定所述多个Open API之间存在调用顺序时,将所述多个Open API之间的调用顺序封装在所述服务页面中,并将封装处理后的服务页面提供给所述第一调用结果反馈单元。
11.如权利要求10所述的装置,其特征在于,还包括:
第二接收单元,用于接收所述用户根据所述第一调用结果反馈单元返回的服务页面中封装的所述调用顺序触发的对当前调用的第一Open API之后的第二Open API的调用请求;
第二ISP调用单元,用于将所述第二接收单元接收的调用请求发送到与所述第二Open API对应的ISP服务器;
第二调用结果反馈单元,用于接收所述第二Open API对应的ISP服务器根据所述第二ISP调用单元发送的调用请求返回的服务页面,并将所述服务页面发送到所述第三方开发服务器,由所述第三方开发服务器对所述服务页面进行处理后发送给所述用户。
12.如权利要求11所述的装置,其特征在于,所述第二ISP调用单元,具体包括:
调用关系解析模块,用于在将所述第二接收单元接收的调用请求发送到与所述第二Open API对应的ISP服务器之前,根据所述多个Open API之间的调用关系确定所述第二Open API是否需要通过所述第一Open API调用;
调用请求发送模块,用于在所述调用关系解析模块的确定结果为是时,通过所述第一Open API对应的ISP服务器将所述调用请求转发至所述第二OpenAPI对应的ISP服务器;
所述第二调用结果反馈单元,具体包括:
接收模块,用于接收所述第一Open API对应的ISP服务器返回的处理后的服务页面,其中,所述服务页面是所述第一Open API对应的ISP服务器接收所述第二Open API对应的ISP服务器返回的服务页面,并将接收的该服务页面封装在自身提供的服务页面中返回的;
反馈模块,用于将所述接收模块接收的服务页面发送到所述第三方开发服务器,由所述第三方开发服务器对所述服务页面进行处理后发送给所述用户。
13.如权利要求9所述的装置,其特征在于,还包括:
鉴权单元,用于对发送所述业务请求的用户鉴权,并在确定对所述用户鉴权通过后,指示所述第一ISP调用单元确定所述调用请求中请求调用的OpenAPI对应的互联网服务提供商ISP服务器。
14.如权利要求13所述的装置,其特征在于,所述鉴权单元,具体包括:
鉴权模块,用于在确定所述用户满足设定条件时确定对所述用户鉴权通过,其中,所述设定条件包括:
在所述用户成功登录时,创建用户登录标识;并
确定在所述用户每次发送业务请求时更新的所述用户的用户登录标识为有效;
指示模块,用于在所述鉴权模块鉴权通过后,指示所述第一ISP调用单元确定所述调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器。
15.如权利要求9所述的装置,其特征在于,所述第一ISP调用单元,具体包括:
ISP服务器确定模块,用于确定所述调用请求中请求调用的Open API对应的ISP服务器个数;
ISP服务器选择模块,用于当所述ISP服务器确定模块确定的ISP服务器为多个时,采用随机路由算法在确定的多个ISP服务器中定位一个ISP服务器,并将所述调用请求发送到定位到的ISP服务器。
16.一种基于开放应用编程接口实现网络业务的***,其特征在于,包括:
第三方开发服务器、业务实现服务器以及ISP服务器;其中,
第三方开发服务器,用于根据用户的业务请求向业务实现服务器发送对开放应用编程接口Open API的调用请求;以及,接收所述业务实现服务器返回的服务页面,并将所述服务页面封装在所述业务请求对应的页面中发送给所述用户;
业务实现服务器,用于根据所述第三方开发服务器发送的调用请求,确定所述调用请求中请求调用的Open API对应的互联网服务提供商ISP服务器,若所述调用请求中请求调用的Open API为多个,则确定所述多个Open API之间的调用关系,并在根据所述调用关系确定所述多个Open API之间存在调用顺序时,将所述调用请求发送到所述多个Open API中调用顺序处于第一位的Open API对应的ISP服务器;若根据所述调用关系确定所述多个Open API之间不存在调用顺序,则将所述调用请求发送到所述多个Open API分别对应的ISP服务器;以及,接收所述ISP服务器返回的服务页面,并将所述服务页面发送给所述第三方服务器;
ISP服务器,用于根据所述业务实现服务器发送的调用请求返回相应的服务页面给所述业务实现服务器。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010200821.1A CN102281311B (zh) | 2010-06-10 | 2010-06-10 | 一种基于开放应用编程接口实现网络业务的方法、***及装置 |
JP2013514186A JP5881687B2 (ja) | 2010-06-10 | 2011-05-17 | オープン・アプリケーション・プログラミング・インターフェースに基づくオンライン・ビジネス法、システム、並びに、装置 |
US13/257,225 US9146786B2 (en) | 2010-06-10 | 2011-05-17 | Online business method, system and apparatus based on open application programming interface |
EP11792846.5A EP2580673B1 (en) | 2010-06-10 | 2011-05-17 | Online business method, system and apparatus based on open application programming interface |
PCT/US2011/036813 WO2011156090A1 (en) | 2010-06-10 | 2011-05-17 | Online business method, system and apparatus based on open application programming interface |
HK12103818A HK1163397A1 (zh) | 2010-06-10 | 2012-04-18 | 種基於開放應用編程接口實現網絡業務的方法、系統及裝置 |
US14/819,307 US9699257B2 (en) | 2010-06-10 | 2015-08-05 | Online business method, system and apparatus based on open application programming interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010200821.1A CN102281311B (zh) | 2010-06-10 | 2010-06-10 | 一种基于开放应用编程接口实现网络业务的方法、***及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102281311A CN102281311A (zh) | 2011-12-14 |
CN102281311B true CN102281311B (zh) | 2014-06-04 |
Family
ID=45098372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010200821.1A Active CN102281311B (zh) | 2010-06-10 | 2010-06-10 | 一种基于开放应用编程接口实现网络业务的方法、***及装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9146786B2 (zh) |
EP (1) | EP2580673B1 (zh) |
JP (1) | JP5881687B2 (zh) |
CN (1) | CN102281311B (zh) |
HK (1) | HK1163397A1 (zh) |
WO (1) | WO2011156090A1 (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8639778B2 (en) * | 2011-02-01 | 2014-01-28 | Ebay Inc. | Commerce applications: data handshake between an on-line service and a third-party partner |
CN103177028B (zh) * | 2011-12-23 | 2017-08-01 | 腾讯科技(深圳)有限公司 | 一种信息交互的方法和*** |
US8799988B2 (en) * | 2012-01-25 | 2014-08-05 | Microsoft Corporation | Document communication runtime interfaces |
CN103248610B (zh) * | 2012-02-06 | 2016-04-27 | 阿里巴巴集团控股有限公司 | 一种提供网络服务的方法和*** |
CN102609264A (zh) * | 2012-02-14 | 2012-07-25 | 深圳市同洲视讯传媒有限公司 | 一种调用应用程序编程接口生成调用代码的方法及装置 |
CN103685192A (zh) * | 2012-09-18 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 一种对第三方应用发起的调用进行限制的方法及装置 |
US9736222B1 (en) * | 2013-04-28 | 2017-08-15 | Amdocs Software Systems Limited | System, method, and computer program for automatically exposing application programming interfaces (APIS) associated with an application server to one or more client devices |
CN103533053B (zh) * | 2013-10-15 | 2016-08-17 | 中国联合网络通信集团有限公司 | 一种开放应用程序编程接口的审批方法、服务器及*** |
CN103856557B (zh) * | 2014-01-15 | 2016-10-12 | 北京奇虎科技有限公司 | 一种基于第三方平台的业务对象的处理方法和*** |
CN103873558B (zh) * | 2014-01-15 | 2016-10-12 | 北京奇虎科技有限公司 | 一种基于第三方平台的业务对象的处理方法和*** |
CN104168133B (zh) * | 2014-07-11 | 2017-07-18 | 广州联智信息科技有限公司 | 一种动态配置api访问量的方法和网关及*** |
CN104217331A (zh) * | 2014-09-01 | 2014-12-17 | 上海瀚银信息技术有限公司 | 一种客户端前置及移动支付*** |
CN105577602B (zh) * | 2014-10-08 | 2018-12-28 | 阿里巴巴集团控股有限公司 | 基于开放的应用程序编程接口的数据推送方法和装置 |
CN104519070B (zh) * | 2014-12-31 | 2018-03-13 | 北京奇安信科技有限公司 | 网站权限漏洞检测方法和*** |
TWI614710B (zh) * | 2015-08-20 | 2018-02-11 | 三竹資訊股份有限公司 | 行動股票開放平台裝置與方法及其電腦程式產品 |
CN106897153B (zh) * | 2015-12-18 | 2021-07-30 | 阿里巴巴集团控股有限公司 | 调用应用编程接口的方法和*** |
CN105635151B (zh) * | 2015-12-31 | 2018-12-28 | 深圳中兴网信科技有限公司 | 开放平台接入方法和开放平台接入*** |
CN110166246B (zh) * | 2016-03-30 | 2022-07-08 | 创新先进技术有限公司 | 基于生物特征的身份注册、认证的方法和装置 |
CN105704154B (zh) * | 2016-04-01 | 2019-11-05 | 金蝶软件(中国)有限公司 | 一种基于RESTful的服务处理方法、装置及*** |
CN109040152B (zh) * | 2017-06-08 | 2022-05-31 | 创新先进技术有限公司 | 一种基于服务编排的服务请求和提供方法、装置以及电子设备 |
CN107369051B (zh) * | 2017-08-02 | 2021-10-01 | 拉卡拉汇积天下技术服务(北京)有限公司 | 线上业务请求的处理和发送方法及设备、业务处理方法及*** |
CN107528830B (zh) * | 2017-08-03 | 2020-04-10 | 携程旅游信息技术(上海)有限公司 | 账号登陆方法、***及存储介质 |
CN107682314A (zh) * | 2017-08-30 | 2018-02-09 | 北京明朝万达科技股份有限公司 | 一种apt攻击的检测方法和装置 |
CN109510846B (zh) * | 2017-09-14 | 2020-11-03 | 北京金山云网络技术有限公司 | Api调用***、方法、装置、电子设备及存储介质 |
CN108881406A (zh) * | 2018-05-30 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种基于模块化数据中心的物联网云监控*** |
US10599486B1 (en) * | 2018-09-21 | 2020-03-24 | Citrix Systems, Inc. | Systems and methods for intercepting and enhancing SaaS application calls via embedded browser |
CN109542918A (zh) * | 2018-10-19 | 2019-03-29 | 平安普惠企业管理有限公司 | 保证数据一致性的方法、***、计算机设备及存储介质 |
CN112311838B (zh) * | 2019-08-02 | 2022-07-05 | 腾讯科技(深圳)有限公司 | 业务异步交互方法及装置 |
CN111124924B (zh) * | 2019-12-25 | 2023-05-12 | 五八同城信息技术有限公司 | Api部署方法、装置、电子设备及存储介质 |
CN111212142A (zh) * | 2020-01-03 | 2020-05-29 | 北京辰森世纪科技股份有限公司 | 一种业务处理方法、集成开放对接平台及计算机存储介质 |
CN111611093A (zh) * | 2020-05-21 | 2020-09-01 | 中国建设银行股份有限公司 | 银行服务***、银行服务提供方法、设备及存储介质 |
CN113760554A (zh) * | 2021-09-18 | 2021-12-07 | 中国银行股份有限公司 | 一种批量转联机业务处理方法及装置 |
WO2023073652A1 (en) * | 2021-10-29 | 2023-05-04 | Jio Platforms Limited | System and method for application programming interface management |
CN114363417A (zh) * | 2021-12-13 | 2022-04-15 | 南京莱斯信息技术股份有限公司 | 一种***间服务接口并发调用的优化设计方法 |
CN114513548B (zh) * | 2022-01-27 | 2024-05-10 | 中信百信银行股份有限公司 | 定向调用信息处理方法及装置 |
WO2023173324A1 (en) * | 2022-03-16 | 2023-09-21 | Nvidia Corporation | Application programming interface to select storage |
KR102642735B1 (ko) * | 2022-12-27 | 2024-03-05 | 쿠팡 주식회사 | Api 호출에 관한 정보를 제공하는 장치, 방법 및 기록매체 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562621A (zh) * | 2009-05-25 | 2009-10-21 | 阿里巴巴集团控股有限公司 | 一种用户授权的方法、***和装置 |
CN101616136A (zh) * | 2008-06-26 | 2009-12-30 | 阿里巴巴集团控股有限公司 | 一种提供互联网服务的方法及服务集成平台*** |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7305469B2 (en) * | 2001-12-18 | 2007-12-04 | Ebay Inc. | Prioritization of third party access to an online commerce site |
JP2003256223A (ja) * | 2002-03-06 | 2003-09-10 | Ntt Docomo Inc | オープンapiシステムにおけるサービス制御方法および装置 |
US7599986B2 (en) * | 2002-03-26 | 2009-10-06 | Alcatel-Lucent Usa Inc. | Method of handling overlapping notification requests in networks with open application programming interfaces |
US7523174B2 (en) | 2002-10-15 | 2009-04-21 | International Business Machines Corporation | Dynamic portal assembly |
US20040088349A1 (en) * | 2002-10-30 | 2004-05-06 | Andre Beck | Method and apparatus for providing anonymity to end-users in web transactions |
JP2004164313A (ja) * | 2002-11-13 | 2004-06-10 | Fujitsu Ltd | サービス連携装置 |
CN1577251B (zh) | 2003-07-28 | 2012-07-18 | 国际商业机器公司 | 小服务器程序的远程协作方法和*** |
US7426737B2 (en) * | 2004-01-26 | 2008-09-16 | Lucent Technologies Inc. | Method and apparatus for operating an open API network having a proxy |
US7797198B1 (en) | 2004-01-27 | 2010-09-14 | Amazon Technologies, Inc. | Providing an invocable composite network service based on multiple other invocable constituent network services |
US8700729B2 (en) * | 2005-01-21 | 2014-04-15 | Robin Dua | Method and apparatus for managing credentials through a wireless network |
US7734515B1 (en) * | 2005-08-17 | 2010-06-08 | Amazon Technologies, Inc. | Generating new invocable composite network services based on multiple other invocable constituent network services |
US8291387B2 (en) | 2005-11-22 | 2012-10-16 | International Business Machines Corporation | Method and system for testing a software application interfacing with multiple external software applications in a simulated test environment |
CN100535900C (zh) * | 2005-12-06 | 2009-09-02 | 国际商业机器公司 | 用于提供异步门户页的方法和*** |
US20070165615A1 (en) | 2005-12-08 | 2007-07-19 | Shin Young M | Apparatus and method for notifying communication network event in application server capable of supporting open API based on Web services |
US20070208823A1 (en) * | 2006-02-17 | 2007-09-06 | Marvin Shannon | System and Method for Making a Data Silo to Distribute Electronic Data |
JP2008210191A (ja) * | 2007-02-27 | 2008-09-11 | Nippon Telegr & Teleph Corp <Ntt> | 情報機能提供装置、サービス提供方法及びサービス提供プログラム |
US20090320050A1 (en) * | 2007-08-17 | 2009-12-24 | Sms.Ac | Mobile Network Community Platform Desktop API |
US8200742B2 (en) * | 2008-02-13 | 2012-06-12 | Robert Kocyan | Apparatus, system, and method for facilitating data flow between a first application programming interface and a second application programming interface |
EP2274713A4 (en) * | 2008-03-11 | 2012-06-20 | Hongguag Bi | ADVERTISEMENT MATCHING SYSTEM AND CORRESPONDING METHOD |
US9143540B2 (en) | 2008-04-24 | 2015-09-22 | Oracle International Corporation | System and method for providing service correlation in a service access gateway environment |
US8209706B2 (en) * | 2008-06-27 | 2012-06-26 | Microsoft Corporation | Inter-frame messaging between different domains |
US20110093801A1 (en) * | 2008-06-30 | 2011-04-21 | Kazuya Koyama | Application extension system, extension method, extension program |
US8261296B2 (en) | 2008-07-09 | 2012-09-04 | International Business Machines Corporation | Invocation channel |
US9639331B2 (en) | 2008-07-09 | 2017-05-02 | International Business Machines Corporation | Service interface creation and modification for object-oriented services |
US9471406B2 (en) | 2008-07-09 | 2016-10-18 | International Business Machines Corporation | Remote product invocation framework |
US8805930B2 (en) | 2009-02-24 | 2014-08-12 | Red Hat, Inc. | Managing application programming interfaces in a collaboration space |
US8498302B2 (en) | 2009-06-29 | 2013-07-30 | Oracle International Corporation | System and method for exposing third party call functions of the intelligent network application part (INAP) as a web service interface |
-
2010
- 2010-06-10 CN CN201010200821.1A patent/CN102281311B/zh active Active
-
2011
- 2011-05-17 US US13/257,225 patent/US9146786B2/en active Active
- 2011-05-17 EP EP11792846.5A patent/EP2580673B1/en active Active
- 2011-05-17 WO PCT/US2011/036813 patent/WO2011156090A1/en active Application Filing
- 2011-05-17 JP JP2013514186A patent/JP5881687B2/ja active Active
-
2012
- 2012-04-18 HK HK12103818A patent/HK1163397A1/zh unknown
-
2015
- 2015-08-05 US US14/819,307 patent/US9699257B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616136A (zh) * | 2008-06-26 | 2009-12-30 | 阿里巴巴集团控股有限公司 | 一种提供互联网服务的方法及服务集成平台*** |
CN101562621A (zh) * | 2009-05-25 | 2009-10-21 | 阿里巴巴集团控股有限公司 | 一种用户授权的方法、***和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2580673A4 (en) | 2014-05-07 |
WO2011156090A1 (en) | 2011-12-15 |
US20150341451A1 (en) | 2015-11-26 |
US9146786B2 (en) | 2015-09-29 |
CN102281311A (zh) | 2011-12-14 |
US9699257B2 (en) | 2017-07-04 |
US20130074151A1 (en) | 2013-03-21 |
JP5881687B2 (ja) | 2016-03-09 |
HK1163397A1 (zh) | 2012-09-07 |
EP2580673A1 (en) | 2013-04-17 |
JP2013531295A (ja) | 2013-08-01 |
EP2580673B1 (en) | 2019-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102281311B (zh) | 一种基于开放应用编程接口实现网络业务的方法、***及装置 | |
US11281457B2 (en) | Deployment of infrastructure in pipelines | |
US10574790B2 (en) | Scripting web services | |
EP2807814B1 (en) | Document communication runtime interfaces | |
US7748609B2 (en) | System and method for browser based access to smart cards | |
US8056125B2 (en) | Recording medium storing control program and communication system | |
US11785096B2 (en) | Systems and methods for monitoring cross-domain applications in web environments | |
US9173050B2 (en) | Application store system and development method using the application store system | |
CN112491778A (zh) | 认证方法、装置、***及介质 | |
CN110069909A (zh) | 一种免密登录第三方***的方法及装置 | |
CN113656783A (zh) | 应用服务的处理方法、装置、电子设备及存储介质 | |
WO2019237950A1 (zh) | 安全验证方法和装置 | |
TWI476621B (zh) | Method, system and device for realizing network service based on open application programming interface | |
CN112836186A (zh) | 一种页面控制方法及装置 | |
US20230291726A1 (en) | System and method for providing multi factor authorization to rdp services through a zero trust cloud environment | |
CN108650230A (zh) | 一种防止按钮自动点击的方法及*** | |
TW201030637A (en) | A method providing internet service and service integration platform system | |
CN111181907B (zh) | 一种宿主端插件的登录方法、装置和设备及存储介质 | |
CN105991599B (zh) | Jsonp请求方法及装置 | |
WO2012071037A2 (en) | Scripting web services | |
CN117955679A (zh) | 账号登录方法及相关设备 | |
CN117768526A (zh) | 用户管理方法、终端设备及计算机可读存储介质 | |
Carstoiu et al. | Web4Desktop, a Framework for Improving the Usability of Web Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1163397 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1163397 Country of ref document: HK |