CN105827677A - 一种第三方程序与主程序的交互方法 - Google Patents
一种第三方程序与主程序的交互方法 Download PDFInfo
- Publication number
- CN105827677A CN105827677A CN201510005694.2A CN201510005694A CN105827677A CN 105827677 A CN105827677 A CN 105827677A CN 201510005694 A CN201510005694 A CN 201510005694A CN 105827677 A CN105827677 A CN 105827677A
- Authority
- CN
- China
- Prior art keywords
- program
- party
- web
- interface
- website
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种第三方程序与主程序的交互方法,包括:将基于主程序提供的第三方接口制作的WEB程序网站的接口与所述主程序的第三方接口对接;第三方程序和所述WEB程序网站之间通过HTTP传送协议或HTTPs传送协议实现数据交互。采用本发明,开发简单,并可节省针对每个第三方程序开发和测试第三方接口的时间。
Description
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种第三方程序与主程序的交互方法。
背景技术
图1示出了目前传统的第三方程序与主程序之间的交互方式。参考图1,传统的第三方程序与主程序之间的交互或对接是通过接口的请求加应答的方式来完成,或者主程序提供接口库给第三方程序调用。不管是哪种,都是第三方程序通过接口发出请求给到主程序,主程序收到请求后会给出相应的应答将信息返回给第三方程序,所有信息通过接口来转达。
现有这种方式存在的问题包括:
1.要求在第三方程序端做一轮开发和测试,开发时间、测试时间和上线时间都比较长;
2.主程序需要配合测试,测试过程中错误数据可能导致主程序的数据损坏或***崩溃,从而影响正常使用;
3.主程序接口或接口库开放给第三方公司或程序后,很容易导致技术公开,从而黑客可以很容易地拿来制作合法的攻击程序;
4.每一个第三方程序都要集成开发,需要在对于主程序需要有一个长期的维护团队,费用开销非常大;
5.如果主程序接口或功能发生了改变,所有第三方程序都要升级、开发、测试等,非常麻烦;
6.主程序这边有各类不同方式的接口,因此对于第三方程序端可能要求配备不同的开发工程师。
发明内容
针对上述技术问题,本发明提供了一种各第三方程序可通过网络请求应答的网络模式通信与主程序交互的方法,
本发明实施例提供的一种第三方程序与主程序的交互方法,包括:
将基于主程序提供的第三方接口制作的WEB程序网站的接口与所述主程序的第三方接口对接;
第三方程序和所述WEB程序网站之间通过HTTP传送协议或HTTPs传送协议实现数据交互。
在可选实施例中,所述方法还包括:将所述WEB程序网站嵌入在所述主程序内;或者,将所述WEB程序网站嵌入在所述第三方程序内。
在可选实施例中,所述主程序的第三方接口与所述WEB程序网站的接口采用Corba协议、SOAP协议、JSON协议或者JDBC协议对接。
在可选实施例中,所述第三方程序包括第三方服务器端程序或者第三方客户端程序。
在可选实施例中,第三方程序和所述WEB程序网站之间通过HTTP传送协议或HTTPs传送协议实现数据交互,包括:第三方程序向所述WEB程序网站发送HTTP或HTTPS协议格式的WEB请求;所述WEB程序网站子***将所述WEB请求转换成可通过接口或接口库调用的请求并传送给主程序后,接收所述主程序返回的应答;以及,所述WEB程序网站将所返回的应答转换成HTTP或HTTPS协议格式的WEB应答并返回给所述第三方程序。
在可选实施例中,所述方法还包括:将所述WEB程序网站嵌入到所述主程序或所述第三方程序后,提供可供用户输入信息的网页界面。
本发明实施例的交互方法中,各第三方程序可利用同一个WEB程序网站通过WEB请求应答的方式实现与主程序的交互,由于HTML规范规定了标准的互联网接口,因此开发简单,并可节省针对每个第三方程序开发和测试第三方接口的时间。对主程序而言,也不需要再考虑第三方程序的接口兼容的技术实现。升级维护也简单,仅需修改主程序和WEB程序本身即可,无须升级任何第三方程序。
附图说明
图1示出了目前传统的第三方程序与主程序之间的交互方式。
图2示出了根据本发明实施例的第三方程序与主程序的交互方法流程图。
图3示出了根据本发明实施例的第三方程序与主程序交互的架构示意图。
图4是根据本发明实施例的WEB程序网站内嵌到第三方程序中展示的WEB网页示例。
图5是根据本发明实施例的第三方程序与主程序进行交互的例子。
具体实施方式
下面结合附图对本发明实施方式作进一步的说明。
WEB新标准HTML5于2014年10月底正式发布定稿。在这之前几乎主流的操作***Windows、Linux、Android、iOS(苹果手机操作***)、MACOS(苹果PC操作***)都已经将HTML5做成了事实规范,各操作***和开发工具都可以简单将WEB网页嵌入到应用程序中。HTML5规范的发布,使得WEB嵌入到各应用程序最关键的兼容性问题也可逐步得到解决。此外,不管是在HTML5之前还是之后,基于HTTP/HTTPs的网络请求方式在各个操作***上都是最基本实现的功能。
基于此,本发明实施例提出了一种新的第三方程序与主程序的交互方法。首先,定义好主程序的功能,将要提供给第三方程序的功能抽象出来,开发出各个功能的第三方接口。例如,第三方接口可以是客户服务登记接口,受理、派单状态查询接口,客户服务评论接口,收费标准接口和故障查询接口等。对于传统的交互方法,这些第三方接口除了要在主程序端实现外,每个第三方程序端也要实现。而本发明实施例中,基于主程序的第三方接口,以WEB网页的方式制成一个WEB程序小网站,其中一个WEB网页可对应一个第三方接口。然后,将该WEB程序网站的接口与主程序的第三方接口对接,从而可实现WEB程序网站和主程序之间的数据交互。
可将该WEB程序网站嵌入到主程序或第三方程序内,通过在主程序或第三方程序内嵌WEB程序网站,可使得主程序的对外的所有第三方接口以HTTP/HTTPs请求的方式来提供给第三方使用。这样可以解决第三方程序要实现的各类接口的兼容性;对主程序来说,只需考虑主程序接口和WEB网站子***的接口对接问题,并不需要再考虑第三方程序的兼容实现。
图2示出了根据本发明实施例的第三方程序与主程序的交互方法流程图。如图2所示,该交互方法包括:
S201,将基于主程序提供的第三方接口制作的WEB程序网站的接口与所述主程序的第三方接口对接;
S202,第三方程序和WEB程序网站之间通过HTTP传送协议或HTTPs传送协议实现数据交互。
图3示出了根据本发明实施例的第三方程序与主程序交互的架构示意图。如图3所示,主程序10通过接口或接口库调用的请求和应答与WEB程序网站子***20进行数据交互。在图3中,第三方程序31,32,…,3n中的每个内都嵌有WEB程序网站20,这样使用第三方程序的用户可通过WEB程序网站显示的网页了解到第三方程序与主程序的交互情况,无需额外的开发和测试。第三方程序可通过发送HTTP/HTTPs网络请求与WEB程序网站以及接受WEB程序网站返回的应答实现数据交互。图4是根据本发明实施例的WEB程序网站内嵌到第三方程序中展示的WEB网页示例。
图5是根据本发明实施例的第三方程序与主程序进行交互的例子。如图5所示,主程序的模块1采用JAVA语言开发并且模块1与编程得到的WEB小网站采用Corba协议对接;模块2采用JAVA语言开发并且模块2与WEB小网站采用SOAP协议对接;模块3采用C语言开发并且模块3与WEB小网站采用JSON协议对接;模块4为数据库模块,其与WEB小网站采用JDBC协议对接。
第三方程序1、2和3与WEB小网站之间可采用标准的HTTP/HTTPs请求应答的方式进行通信。下面给出几个第三方程序向WEB程序网站发送网络请求的例子。
//消息推送服务调用
例子1、配置有第三方程序1的服务器发送点播消息:
http://www.xxxx.com/BSSWeb/PushMessage?function=unicast&sub_syste
m_id=kelong&user_id=cmf&push_message_type=Android&message_title=test
&push_message=testsss
其中,www.xxxx.com表示WEB程序网站的网址;PushMessage?function表示该请求消息的类型;sub_system_id表示配置有第三方程序1的服务器子***的名称kelo;user_id表示用户标识;push_message_type表示该服务器所用的操作***;message_title表示消息标题;push_message表示要推送的消息内容。
例子2、配置有第三方程序2的服务器发送广播消息:
http://www.xxxx.com/BSSWeb/PushMessage?function=boardcast& sub_system_id=kelong&message_title=中文标题&push_message=中文测试
其中,www.xxxx.com表示WEB程序网站的网址;pushMessage?function表示该请求消息的类型;sub_system_id表示配置有第三方程序2的服务器子***的名称hisen;push_message_type表示该服务器所用的操作***;message_title表示消息标题;push_message表示要推送的消息内容。
//Android或IOS端调用
例子3、配置有第三方程序3的客户端,用户登录后,执行注册
http://www.xxxx.com/BSSWeb/PushMessage?function=regedit&
sub_system_id=kelo&user_id=cmf&push_message_type=Android&push_id=8
64677361817925628&channel_id=4402885655153513713
其中,www.xxxx.com表示WEB程序网站的网址;PushMessage?function表示该请求消息的类型;sub_system_id表示配置有第三方程序3的客户端子***的名称kelo;user_id表示用户标识,如果为all,等同于发广播消息;push_message_type表示该客户端所用的操作***;push_id表示自动生成的用户识别号userid;channel_id表示服务器识别的信道号。
例子4、配置有第三方程序3的客户端,用户退出登录,取消这个关联。
http://www.xxxx.com/BSSWeb/PushMessage?function=logout&
sub_system_id=kelo&user_id=cmf&push_message_type=Android
其中,www.xxxx.com表示WEB程序网站的网址;PushMessage?function表示该请求消息的类型;sub_system_id表示配置有第三方程序3的客户端子***的名称kelo;user_id表示用户标识;push_message_type表示该客户端所用的操作***。
这种通过将同一个WEB程序网站嵌入主程序或各第三方程序来实现主程序与第三方程序交互的方法,无需针对每一个第三方程序都开发第三方接口,开发工作大大降低。而且,第三方程序与WEB程序网站之间以WEB请求应答的网络模式通讯,无协议转换要求,开发测试简单。此外,由于与第三方程序对接的功能接口可直接在主程序端或第三方程序端以WEB网页的方式显示出来,因而测试也方便。第三方用户或外界任何人并不知道WEB程序网站与主程序之间对接的实现方式,因此如果遇到恶意攻击,也只攻击到WEB小网站,并不会影响主程序的正常运行。升级维护也简单,仅需修改主程序和WEB程序本身即可,无须升级任何第三方程序。
尽管本发明允许许多不同形式的实施例,但说明书和附图仅详细描述了本发明的几个可能的实施例。需要理解的是,本公开应该视为对本发明原理的例示,并不是要将本发明限制为在所示例的实施例的范围内。在不脱离本发明的精神的情况下,本领域技术人员会想到许多变形,本发明的保护范围应当由所附权利要求书的内容确定。
Claims (6)
1.一种第三方程序与主程序的交互方法,包括:
将基于主程序提供的第三方接口制作的WEB程序网站的接口与所述主程序的第三方接口对接;
第三方程序和所述WEB程序网站之间通过HTTP传送协议或HTTPs传送协议实现数据交互。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述WEB程序网站嵌入在所述主程序内;或者,
将所述WEB程序网站嵌入在所述第三方程序内。
3.根据权利要求2所述的方法,其特征在于,所述主程序的第三方接口与所述WEB程序网站的接口采用Corba协议、SOAP协议、JSON协议或者JDBC协议对接。
4.根据权利要求1所述的方法,其特征在于,所述第三方程序包括第三方服务器端程序或者第三方客户端程序。
5.根据权利要求1所述的方法,其特征在于,第三方程序和所述WEB程序网站之间通过HTTP传送协议或HTTPs传送协议实现数据交互,包括:
第三方程序向所述WEB程序网站发送HTTP或HTTPS协议格式的WEB请求;
所述WEB程序网站将所述WEB请求转换成可通过接口或接口库调用的请求并传送给主程序后,接收所述主程序返回的应答;
所述WEB程序网站将所返回的应答转换成HTTP或HTTPS协议格式的WEB应答并发送给所述第三方程序。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述WEB程序网站嵌入到所述主程序或所述第三方程序后,提供可供用户输入信息的网页界面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510005694.2A CN105827677A (zh) | 2015-01-04 | 2015-01-04 | 一种第三方程序与主程序的交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510005694.2A CN105827677A (zh) | 2015-01-04 | 2015-01-04 | 一种第三方程序与主程序的交互方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105827677A true CN105827677A (zh) | 2016-08-03 |
Family
ID=56513865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510005694.2A Pending CN105827677A (zh) | 2015-01-04 | 2015-01-04 | 一种第三方程序与主程序的交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105827677A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314201A (zh) * | 2018-12-11 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 一种应用数据处理方法、***及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744594A (zh) * | 2004-08-30 | 2006-03-08 | 北京航空航天大学 | Web服务传输协议适配器及其生成方法 |
CN101576843A (zh) * | 2008-05-07 | 2009-11-11 | 阿里巴巴集团控股有限公司 | 一种测试应用程序接口的方法和装置 |
CN102662766A (zh) * | 2012-03-23 | 2012-09-12 | 北京邮电大学 | 基于Web Element机制的微博与社交网络信息同步***与方法 |
US20130139050A1 (en) * | 2011-11-30 | 2013-05-30 | International Business Machines Corporation | Method and system for reusing html content |
-
2015
- 2015-01-04 CN CN201510005694.2A patent/CN105827677A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744594A (zh) * | 2004-08-30 | 2006-03-08 | 北京航空航天大学 | Web服务传输协议适配器及其生成方法 |
CN101576843A (zh) * | 2008-05-07 | 2009-11-11 | 阿里巴巴集团控股有限公司 | 一种测试应用程序接口的方法和装置 |
US20130139050A1 (en) * | 2011-11-30 | 2013-05-30 | International Business Machines Corporation | Method and system for reusing html content |
CN102662766A (zh) * | 2012-03-23 | 2012-09-12 | 北京邮电大学 | 基于Web Element机制的微博与社交网络信息同步***与方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314201A (zh) * | 2018-12-11 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 一种应用数据处理方法、***及相关设备 |
CN111314201B (zh) * | 2018-12-11 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 一种应用数据处理方法、***及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776313B (zh) | 一种模拟服务的方法、装置及集中管理平台 | |
KR101488268B1 (ko) | 푸시 메시지 서비스 방법 및 시스템 | |
CN107967143B (zh) | 获取客户端应用程序源代码的更新指示信息的方法、装置和*** | |
US8892667B2 (en) | Systems and methods for sending and receiving communications | |
CN101697139B (zh) | 一种远程过程调用方法、装置和注册库 | |
US9201767B1 (en) | System and method for implementing a testing framework | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
CN102594914B (zh) | 一种基于云平台的远程调试方法 | |
CN104821954A (zh) | 一种跨平台远程过程调用方法 | |
CN108881228A (zh) | 云端注册激活方法、装置、设备和存储介质 | |
CN104536890A (zh) | 测试***、方法和装置 | |
CN104092792A (zh) | 基于域名解析请求来实现流量优化的方法及***、客户端 | |
US10152400B2 (en) | Method and system for dynamically unblocking customers in critical workflows by pushing community contributed solutions just-in-time when an error is encountered | |
CN106445509A (zh) | 一种sdk批量快速接入工具 | |
US11294740B2 (en) | Event to serverless function workflow instance mapping mechanism | |
CN103023708A (zh) | 通信协议接口的测试方法及*** | |
CN106330483A (zh) | 信息获取方法、客户端设备和服务端设备 | |
CN102811230B (zh) | 一种基于应用集成的资源调用方法和*** | |
US8832252B2 (en) | Extensible integration between service platforms | |
CN112015384A (zh) | 一种接口映射方法和装置 | |
CN104836831B (zh) | 一种用于物联网的物体服务方法 | |
CN105188059A (zh) | 一种基于Portal服务器异常的认证方法及无线接入点 | |
CN105827677A (zh) | 一种第三方程序与主程序的交互方法 | |
CN105187391B (zh) | App及其登录网络接入点方法、服务器及*** | |
US11803786B2 (en) | Enterprise integration platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160803 |