CN102571731B - 一种面向对象的ajax框架模型系统及其处理方法 - Google Patents
一种面向对象的ajax框架模型系统及其处理方法 Download PDFInfo
- Publication number
- CN102571731B CN102571731B CN201010622679.XA CN201010622679A CN102571731B CN 102571731 B CN102571731 B CN 102571731B CN 201010622679 A CN201010622679 A CN 201010622679A CN 102571731 B CN102571731 B CN 102571731B
- Authority
- CN
- China
- Prior art keywords
- module
- processing module
- processing
- output
- 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.)
- Expired - Fee Related
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 140
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000005516 engineering process Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种程序设计框架模型系统,是一种面向对象的AJAX框架模型系统及其处理方法,包括客户端和服务器端,服务器端包括接收模块、分发模块、处理模块、输出模块和错误处理模块,接收模块的输出接分发模块的输入及错误处理模块的第一输入,分发模块的输出接处理模块模块的输入及错误处理模块的第二输入,处理模块的输出接输出模块的第一输入及错误处理模块的第三输入,错误处理模块的输出接所述输出模块的第二输入。本发明通过使用面向对象的方式,采用一个统一的AJAX服务器接收端,来接收、响应、分发、处理客户端发出的AJAX请求,使客户端javascript代码及服务器端的代码更易写、易用、易维护。
Description
技术领域
本发明属于计算机领域,涉及一种程序设计框架模型系统,具体的说是一种面向对象的AJAX框架模型系统及其处理方法。
背景技术
Asynchronous JavaScript and XML(AJAX)异步JavaScript和XML,是指一种创建交互式网页应用的网页开发技术,该技术在1998年前后得到了应用。允许客户端脚本发送HTTP请求(XMLHTTP)的第一个组件由Outlook Web Access小组写成,该组件原属于微软Exchange Server,并且迅速地成为了Internet Explorer 4.0的一部分。部分观察家认为,Outlook Web Access是第一个应用了AJAX技术的成功的商业应用程序,并成为包括Oddpost的网络邮件产品在内的许多产品的领头羊。但是,2005年初,许多事件使得AJAX被大众所接受,Google在它著名的交互应用程序中使用了异步通讯,如Google讨论组、Google地图、Google搜索建议、Gmail等。AJAX以提高系统性能,优化用户界面。
在当前的网络应用中,AJAX技术被广泛应用,如Google的地图、讨论组等。原始的AJAX框架模型系统是基于WEB请求面向过程的模式,每个AJAX请求都独立对应到自己指定的服务器端地址(URI),对于大中型的企业开发应用来说,原始的AJAX框架是面向过程而不是面向对象的,大多有着代码编写量大、处理逻辑零散不易维护的特点。
发明内容
本发明所要解决的技术问题是:针对以上现有技术存在的缺点,提出一种面向对象的AJAX框架模型系统,使客户端javascript代码及服务器端的代码更易写、易用、易维护。
本发明解决以上技术问题的技术方案是:
一种面向对象的AJAX框架模型系统,包括:客户端和服务器端,客户端和服务器端之间通过网络通讯,服务器端包括接收模块、分发模块、处理模块、输出模块和错误处理模块,接收模块的输出接分发模块的输入及错误处理模块的第一输入,分发模块的输出接处理模块模块的输入及错误处理模块的第二输入,处理模块的输出接输出模块的第一输入及错误处理模块的第三输入,错误处理模块的输出接所述输出模块的第二输入;
客户端用以使用AJAX将所有的请求都指向相同的服务器地址,然后将请求的目标、方法和参数信息以固定的方式组织好,发送给服务器,之后等待服务器的响应,处理服务器的返回结果;
接收模块设有一个公开的URI,用以负责接受所有的客户端请求,将这些请求信息交给分发模块处理,接收到无法解释的请求,则转向错误处理模块;
分发模块用以负责将请求信息中的请求目标对象信息解出,并交给指定的处理模块单元来处理,通过读取一个处理模块信息的列表,从请求中获得要求的处理模块标识信息,与列表中的信息进行比对,如果找到指定的处理模块,则将请求交给指定的处理模块进行处理,否则转向错误处理模块;
处理模块用以负责对请求信息进行具体的逻辑处理,并给出返回值。处理过程中如果出现错误,将转到错误处理模块,如无错误则直接转到输出模块输出结果;
输出模块用以将结果返回给请求者;
错误处理模块用以捕获其它模块的错误,将错误信息交给输出模块返回给请求者。
面向对象的AJAX框架模型系统的处理方法,按以下步骤进行:
(1)客户端使用AJAX技术将所有的请求都指向相同的服务器地址,然后将请求的目标、方法、参数信息以固定的方式组织好,发送给服务器,之后等待服务器的响应,处理服务器的返回结果;
(2)接收模块负责接受所有的客户端请求,将这些请求信息交给分发模块处理,并尝试解析出请求中的数据部分,但并不判断数据的合法性,如果接收到无法解释的请求,则转向错误处理模块;
(3)分发模块将请求信息中的请求目标对象信息解出,并交给指定的处理模块单元来处理,通过读取一个处理模块信息的列表,从请求中获得要求的处理模块标识信息,与列表中的信息进行比对,如果找到指定的处理模块,则将请求交给指定的处理模块进行处理,否则转向错误处理模块;
(4)处理模块对请求信息进行具体的逻辑处理,并给出返回值,处理过程中如果出现错误,将转到错误处理模块,如无错误则直接转到输出模块输出结果;
(5)输出模块负责将结果返回给请求者;
(6)错误处理捕获其它模块的错误,将错误信息交给输出模块返回给请求者。
本发明进一步限定的技术方案是:
前述的面向对象的AJAX框架模型系统,所有的客户端请求都指向相同的URI,即javascript代码中所有XMLHttpRequest对象的open方法的第二个参数都为一个固定值。
前述的面向对象的AJAX框架模型系统,处理模块内包含一个或多个独立的具体业务处理单元(子模块),并且支持以动态注册的方式来扩充处理单元。具体的业务处理单元可以包括但不仅限于用户业务处理单元、权限业务处理单元、报表业务处理单元、日志业务处理单元等;这些具体的业务处理单元将自身提供的处理方法采用文件或内存的方式进行注册,处理模块就可以直接通过检索注册信息来调用具体的业务处理单元。
本发明的优点是:本发明通过使用面向对象的方式,采用一个统一的AJAX服务器接收端,来接收、响应、分发、处理客户端发出的AJAX请求,将原来基于流程的WEB面向过程的模型进行优化,使客户端javascript代码及服务器端的代码更易写、易用、易维护。在本发明的框架下,服务器端设置一个负责统一处理客户端请求的控制层,使得服务器端业务处理代码能够在遵循统一标准的情况下,以模块化的方式进行开发,大幅提升开发效率。
附图说明
图1是本发明的模块连接图。
具体实施方式
实施例一
本实施例是一种面向对象的AJAX框架模型系统,模块连接如图1所示,包括:
客户端部分:
使用AJAX技术,使用面向对象的编程方式,将所有的请求都指向相同的服务器地址,然后将请求的目标、方法、参数信息以固定的方式组织好,发送给服务器,之后等待服务器的响应,处理服务器的返回结果。
服务器端部分:
接收:
该模块拥有一个公开的URI,负责接受所有的客户端(浏览器)请求,将这些请求信息交给分发模块处理。
该模块会尝试解析出请求中的数据部分,但并不判断数据的合法性,如果接收到无法解释的请求,则转向错误处理模块。
分发:
该模块负责将请求信息中的请求目标对象信息解出,并交给指定的处理模块单元来处理。
该模块通过读取一个处理模块信息的列表,从请求中获得要求的处理模块标识信息,与列表中的信息进行比对,如果找到指定的处理模块,则将请求交给指定的处理模块进行处理,否则转向错误处理模块。
处理模块信息列表可以来自于数据库、外部文件、或者代码内部维护的一份处理模块的注册信息。新的处理模块可以通过注册方式进行扩充,拥有良好的扩展性。
处理:
该模块为服务器端内部模块,其中可以包含多个处理单元(子模块),负责对请求信息进行具体的逻辑处理,并给出返回值。处理过程中如果出现错误,将转到错误处理模块,如无错误则直接转到输出模块输出结果。
该模块可以理解为原AJAX框架中的各个零散的服务器响应页面的集合,通过注册自身的方式来维护,可以方便的扩展。当采用面向对象的方式后,原来页面上的流程化代码需要重新改写为面向对象方式,以基于类的方式来重写。
输出:
负责将结果返回给请求者。
错误处理:
负责捕获其它模块的错误,将错误信息交给输出模块返回给请求者。
该模块可以是项目提供的通用错误处理模块,也可以是一个独立的专用的错误处理模块。
所有的客户端请求都指向相同的URI,即javascript代码中所有XMLHttpRequest对象的open方法的第二个参数都为一个固定值。客户端javascript中,将所有XMLHttpRequest对象的open方法的第二个参数写为固定值。如某一请求的代码表述为:
var oXMLHTTP1=new XMLHttpRequest();
oXMLHTTP1.open(“POST”,
“http://www.datcent.com/service/ajaxserver.php”,true);
oXMLHTTP1.send();
另一请求的代码表述为:
var oXMLHTTP2=new XMLHttpRequest();
oXMLHTTP2.open(“GET”,
“http://www.datcent.com/service/ajaxserver.php”,true);
oXMLHTTP2.send();
处理模块内包含一个或多个独立的具体业务处理单元(子模块),并且支持以动态注册的方式来扩充处理单元。具体的业务处理单元可以包括但不仅限于用户业务处理单元、权限业务处理单元、报表业务处理单元、日志业务处理单元等;这些具体的业务处理单元将自身提供的处理方法采用文件或内存的方式进行注册,处理模块就可以直接通过检索注册信息来调用具体的业务处理单元。处理模块包含一个或多个独立的业务处理单元,这些业务处理单元之间相对独立,通过注册自身的方式来扩展,新加入的业务处理单元只需要将自己的接口信息注册给处理模块知晓,就能够被处理模块调用。
面向对象的AJAX框架模型系统的处理方法,按以下步骤进行:
(1)客户端使用AJAX技术将所有的请求都指向相同的服务器地址,然后将请求的目标、方法、参数信息以固定的方式组织好,发送给服务器,之后等待服务器的响应,处理服务器的返回结果;
(2)接收模块负责接受所有的客户端请求,将这些请求信息交给分发模块处理,并尝试解析出请求中的数据部分,但并不判断数据的合法性,如果接收到无法解释的请求,则转向错误处理模块;
(3)分发模块将请求信息中的请求目标对象信息解出,并交给指定的处理模块单元来处理,通过读取一个处理模块信息的列表,从请求中获得要求的处理模块标识信息,与列表中的信息进行比对,如果找到指定的处理模块,则将请求交给指定的处理模块进行处理,否则转向错误处理模块;
(4)处理模块对请求信息进行具体的逻辑处理,并给出返回值,处理过程中如果出现错误,将转到错误处理模块,如无错误则直接转到输出模块输出结果;
(5)输出模块负责将结果返回给请求者;
(6)错误处理捕获其它模块的错误,将错误信息交给输出模块返回给请求者。
本发明还可以有其它实施方式,凡采用同等替换或等效变换形成的技术方案,均落在本发明要求保护的范围之内。
Claims (3)
1.一种面向对象的AJAX框架模型系统,其特征在于:包括:客户端和服务器端,客户端和服务器端之间通过网络通讯,所述服务器端包括接收模块、分发模块、处理模块、输出模块和错误处理模块,所述接收模块的输出接分发模块的输入及错误处理模块的第一输入,所述分发模块的输出接处理模块模块的输入及错误处理模块的第二输入,所述处理模块的输出接输出模块的第一输入及错误处理模块的第三输入,所述错误处理模块的输出接所述输出模块的第二输入;
所述客户端用以使用AJAX将所有的请求都指向相同的服务器地址,然后将请求的目标、方法和参数信息以固定的方式组织好,发送给服务器,之后等待服务器的响应,处理服务器的返回结果;
所述接收模块设有一个公开的URI,用以负责接受所有的客户端请求,将这些请求信息交给分发模块处理,接收到无法解释的请求,则转向错误处理模块;
所述分发模块用以负责将请求信息中的请求目标对象信息解出,并交给指定的处理模块单元来处理,通过读取一个处理模块信息的注册列表,从请求中获得要求的处理模块标识信息,与列表中的信息进行比对,如果找到指定的处理模块,则将请求交给指定的处理模块进行处理,否则转向错误处理模块;
所述处理模块用以负责对请求信息进行具体的逻辑处理,并给出返回值,处理过程中如果出现错误,将转到错误处理模块,如无错误则直接转到输出模块输出结果;
所述输出模块用以将结果返回给请求者;
所述错误处理模块用以捕获其它模块的错误,将错误信息交给输出模块返回给请求者;
所述客户端用以使用AJAX将所有的请求都指向相同的服务器地址为所有的客户端请求都指向相同的URI,即javascript代码中所XMLHttpRequest对象的open方法的第二个参数都为一个固定值。
2.如权利要求1所述的面向对象的AJAX框架模型系统,其特征在于:处理模块内包含一个或多个独立的具体业务处理单元,并且支持以动态注册的方式来扩充处理单元。
3.如权利要求1-2中任一权利要求所述面向对象的AJAX框架模型系统的处理方法,其特征在于:按以下步骤进行:
(1)客户端使用AJAX技术将所有的请求都指向相同的服务器地址,然后将请求的目标、方法、参数信息以固定的方式组织好,发送给服务器,之后等待服务器的响应,处理服务器的返回结果;所述客户端用以使用AJAX将所有的请求都指向相同的服务器地址为所有的客户端请求都指向相同的URI,即javascript代码中所有XMLHttpRequest对象的open方法的第二个参数都为一个固定值;
(2)接收模块负责接受所有的客户端请求,将这些请求信息交给分发模块处理,并尝试解析出请求中的数据部分,但并不判断数据的合法性,如果接收到无法解释的请求,则转向错误处理模块;
(3)分发模块将请求信息中的请求目标对象信息解出,并交给指定的处理模块单元来处理,通过读取一个处理模块信息的列表,从请求中获得要求的处理模块标识信息,与列表中的信息进行比对,如果找到指定的处理模块,则将请求交给指定的处理模块进行处理,否则转向错误处理模块;
(4)处理模块对请求信息进行具体的逻辑处理,并给出返回值,处理过程中如果出现错误,将转到错误处理模块,如无错误则直接转到输出模块输出结果;
(5)输出模块负责将结果返回给请求者;
(6)错误处理捕获其它模块的错误,将错误信息交给输出模块返回给请求者。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010622679.XA CN102571731B (zh) | 2010-12-31 | 2010-12-31 | 一种面向对象的ajax框架模型系统及其处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010622679.XA CN102571731B (zh) | 2010-12-31 | 2010-12-31 | 一种面向对象的ajax框架模型系统及其处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102571731A CN102571731A (zh) | 2012-07-11 |
CN102571731B true CN102571731B (zh) | 2014-10-22 |
Family
ID=46416219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010622679.XA Expired - Fee Related CN102571731B (zh) | 2010-12-31 | 2010-12-31 | 一种面向对象的ajax框架模型系统及其处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102571731B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293688B (zh) * | 2015-06-26 | 2019-09-06 | 阿里巴巴集团控股有限公司 | 一种网页请求的处理方法、装置和系统 |
CN105607913B (zh) * | 2015-12-25 | 2019-05-28 | 百度在线网络技术(北京)有限公司 | 互联应用的操作处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101603A (zh) * | 2006-07-07 | 2008-01-09 | 国际商业机器公司 | 配置针对合作网页的命令的方法与系统 |
CN101154157A (zh) * | 2006-09-29 | 2008-04-02 | 国际商业机器公司 | 为JavaScript应用提供全球化功能的系统和方法 |
CN101257409A (zh) * | 2008-04-15 | 2008-09-03 | 北京航空航天大学 | 一种基于Web services的显微镜操作平台 |
CN101694618A (zh) * | 2009-09-01 | 2010-04-14 | 卡斯柯信号有限公司 | 适用于ajax框架的模型层与视图层数据自动映射方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7861213B2 (en) * | 2006-09-05 | 2010-12-28 | Oracle International Corporation | Mechanism for developing AJax applications using java swing framework and method for using the same |
US8910112B2 (en) * | 2008-07-30 | 2014-12-09 | Sap Ag | Extended enterprise connector framework using direct web remoting (DWR) |
-
2010
- 2010-12-31 CN CN201010622679.XA patent/CN102571731B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101101603A (zh) * | 2006-07-07 | 2008-01-09 | 国际商业机器公司 | 配置针对合作网页的命令的方法与系统 |
CN101154157A (zh) * | 2006-09-29 | 2008-04-02 | 国际商业机器公司 | 为JavaScript应用提供全球化功能的系统和方法 |
CN101257409A (zh) * | 2008-04-15 | 2008-09-03 | 北京航空航天大学 | 一种基于Web services的显微镜操作平台 |
CN101694618A (zh) * | 2009-09-01 | 2010-04-14 | 卡斯柯信号有限公司 | 适用于ajax框架的模型层与视图层数据自动映射方法 |
Non-Patent Citations (2)
Title |
---|
《Ajax/REST架构的研究与开发框架的实现》;李文生;《中国优秀硕士学位论文全文数据库 信息科技辑 》;20081115(第 11 期);全文 * |
李文生.《Ajax/REST架构的研究与开发框架的实现》.《中国优秀硕士学位论文全文数据库 信息科技辑 》.2008,(第 11 期), |
Also Published As
Publication number | Publication date |
---|---|
CN102571731A (zh) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9774550B2 (en) | Message sending and forwarding method, apparatus, and system | |
US20170371508A1 (en) | Menu management method, server, and system | |
CN111639279B (zh) | 图形码生成方法、目标页面加载方法和装置 | |
CN104156843A (zh) | 一种物流配送管理系统及其方法 | |
US20190104038A1 (en) | Determining an event history for an event processed by a plurality of communicating servers via a central event data log | |
WO2020088104A1 (zh) | 一种通过文件获取对网页进行区块链存证的方法及装置 | |
CN110457288B (zh) | 数据模型构建方法、装置、设备及计算机可读存储介质 | |
CN104104717A (zh) | 投放渠道数据统计方法及装置 | |
CN105354025A (zh) | 基于移动应用的业务模型配置系统和方法 | |
CN102542367A (zh) | 基于领域模型的云计算网络工作流处理方法、装置和系统 | |
CN102663009A (zh) | 一种支持企业用户数据私有化的web服务集成方法 | |
CN104423982B (zh) | 请求的处理方法和处理设备 | |
CN103559194B (zh) | 一种搜索方法、服务器、系统 | |
CN104965690B (zh) | 数据处理方法及装置 | |
CN103544607A (zh) | 一种利用社交网络实现网络交易的信息处理系统和方法 | |
CN103596066A (zh) | 一种数据处理方法及装置 | |
CN108646965B (zh) | 业务线的处理方法、终端设备及介质 | |
CN103488655A (zh) | 复合模型数据处理方法及系统 | |
CN102456004B (zh) | 一种页面数据查询控制方法及系统 | |
CN102932471A (zh) | 浏览器登录服务器及其实现浏览器登录的方法和系统 | |
Li et al. | Model-based services convergence and multi-clouds integration | |
CN102571731B (zh) | 一种面向对象的ajax框架模型系统及其处理方法 | |
CN110020243A (zh) | 物联网数据的查询方法、装置、物联网服务器和存储介质 | |
CN109710223A (zh) | 基于分布式kv存储系统的api网关热插拔系统 | |
CN109785073A (zh) | 共享图书的借阅方法和系统、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141022 Termination date: 20201231 |