CN104317591A - 一种基于OSGi的web界面框架系统及web业务处理方法 - Google Patents

一种基于OSGi的web界面框架系统及web业务处理方法 Download PDF

Info

Publication number
CN104317591A
CN104317591A CN201410570661.8A CN201410570661A CN104317591A CN 104317591 A CN104317591 A CN 104317591A CN 201410570661 A CN201410570661 A CN 201410570661A CN 104317591 A CN104317591 A CN 104317591A
Authority
CN
China
Prior art keywords
processing module
template
module
http
osgi
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.)
Granted
Application number
CN201410570661.8A
Other languages
English (en)
Other versions
CN104317591B (zh
Inventor
王茜
朱志祥
李安颖
葛新
刘盛辉
王佩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Following International Information Ltd Co
Xian University of Posts and Telecommunications
Original Assignee
Xi'an Following International Information Ltd Co
Xian University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xi'an Following International Information Ltd Co, Xian University of Posts and Telecommunications filed Critical Xi'an Following International Information Ltd Co
Priority to CN201410570661.8A priority Critical patent/CN104317591B/zh
Publication of CN104317591A publication Critical patent/CN104317591A/zh
Application granted granted Critical
Publication of CN104317591B publication Critical patent/CN104317591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于OSGi的web界面框架系统及web业务处理方法,包括全局配置模块、Http处理模块、地址映射模块、模型处理模块、视图处理模块、模板处理模块、模板引擎模块以及辅助类模块,其中所述Http处理模块包括Http请求处理模块、Http响应处理模块及Http异常处理模块。本发明的基于OSGi的web界面框架系统,实现了OSGi与web服务消息交互,可自动通过JSON与java对象相互转换,利于有效实现构件管理,方便程序开发人员的开发,开发人员通过继承相应接口,便可实现OSGi web构件的开发,而且复用性强,出现问题容易追踪,并降低了开发成本。

Description

一种基于OSGi的web界面框架系统及web业务处理方法
技术领域
本发明属于构件化开发技术领域,具体涉及一种基于OSGi的web界面框架系统,还涉及上述基于OSGi的web界面框架系统的web业务处理方法。
背景技术
OSGi(Open Service Gateway Initiative,公共开放服务网关标准)联盟建立于1999年,是一个非赢利机构,旨在建立一个开放的服务规范。OSGi规范为网络服务定义了一个标准的、面向组件的计算环境,它最初的目的就是为各种嵌入式设备提供通用的软件运行平台,屏蔽设备操作系统与硬件区别的中间件平台,通过这个平台,可以对不同软件商提供的应用(OSGi中称为Bundle)进行组件的生命周期管理的能力,如应用组件可以从运行中被安装、升级或者移除而不需要中断设备的操作,应用组件可以动态的发现和使用其他库或者应用程序。由于OSGi技术具有服务组件模块化、动态加载应用等优点,正被越来越多的领域关注,如嵌入设备制造业、汽车制造业、企业应用等。在构件化开发领域中,OSGi(Open Service GatewayInitiative)提供了一个标准的、面向服务的计算环境,为用户提供了开放的、面向服务组件的、易于部署的、可插拔的编程模型,这个编程模型允许用户将定义好的接口规范部署到OSGi运行环境中,并发布成特定服务。由于传统的JEE模块类加载体系与OSGi类加载体系不一致,导致传统JEE模块不能直接在OSGi容器中运行。
基于OSGi进行web开发,公知的方法是将OSGi业务构件服务(java接口)转化为标准的RestFul或标准的webService服务或传统的web组件进行消费服务。这种做法实质上分离了web组件与OSGi构件的统一部署,不利于有效实现构件管理,同时给程序开发人员带来不便,增加了开发成本。另外一种方法是利用Struts2 MVC(model-view-control)框架,保留java web开发人员的习惯,但这种方案存在两个问题:一是OSGi web构件过于臃肿,二是复杂的java数据对象很难转化,导致出现问题难以追踪。因而,需要一种轻量级的OSGi web框架来实现OSGi web构件与OSGi业务构件的有效通信协作,同时能够处理web相关元素,如请求-响应-异常等,那么就需要采用一种框架机制来统一处理请求、响应、异常、URL地址映射。
发明内容
本发明提供了一种基于OSGi的web界面框架系统,解决了现有的在基于OSGi进行web构件化开发中,展现层构件开发难度大,复用性不强、开发成本高的问题。
本发明还提供了上述基于OSGi的web框架系统处理web业务的方法。
本发明第一技术方案是,一种基于OSGi的web界面框架系统,包括以下功能模块,全局配置模块、Http处理模块、地址映射模块、模型处理模块、视图处理模块、模板(template)处理模块、模板引擎模块以及辅助类模块,其中所述Http处理模块包括Http请求处理模块、Http响应处理模块及Http异常处理模块;
全局配置模块,用于数据库连接池配置、国际化文件配置、过滤器配置、模板文件路径的配置的解析与处理;地址映射模块,用于根据用户的请求解析地址,采用正则表达式将URL地址与视图方法对应,进行逻辑调用与处理;Http处理模块用于预处理或后处理请求对象与响应对象的模块,包括对Http请求、响应、异常处理;模型处理模块,用于数据处理,数据库数据与面向对象的数据一一对应和映射;视图处理模块,用于业务逻辑处理,是整个框架的核心,也是用户扩展的部分,通过地址映射模块找到对应的视图逻辑,然后通过视图逻辑调用的相关的模板;模板处理模块,用于用户数据展示,通过处理逻辑产生的数据渲染到相关页面,以一定的方式展示给用户,并定义了模板编排规则;模板引擎模块,用于页面展现与数据内容分离;辅助模块,用于归类公用的类和方法。
本发明第一方案的特点还在于,
地址映射模块采用正则表达式将URL地址与视图方法对应,定义URL处理器。
Http处理模块由Http处理器组成,基于java拦截机制技术实现;在Http请求处理模块,定义请求处理拦截器,负责编码转化、数据格式转化,调用用户定义视图方法;在Http响应处理模块,定义响应处理拦截器,负责完成数据与模板组装,并调用模板引擎处理;在Http异常处理模块,定义异常处理拦截器,负责视图方法异常处理,并跳转用户定义友好错误界面。
在视图处理模块,定义了若干基类方法,开发人员编写视图类,用来继承框架提供的用户接口。
在模板处理模块,定义了模板编排规则,模板为标准jsp页面和html页面。
本发明那个的另一技术方案是,上述基于OSGi的web界面框架系统的Web业务处理方法,包括以下步骤:
步骤1,OSGi开放服务网关通过Command类启动OSGi web界面框架,全局配置模块加载解析全局配置文件,并初始化,全局配置都在“settings.xml”中定义;
步骤2,地址映射模块根据url.xml进行地址与函数关系映射初始化;
步骤3,Http处理模块处理Request
当有Http请求来时,HttpHandler为每个请求创建一个MyHttpRequest实例,HttpHandler从BaseHandler继承而来,而MyHttpRequest是从http.HttpRequest继承而来;
步骤4,Http处理模块创建Response
BaseHandler采用get_response方法根据request创建response;
步骤5,Http处理模块处理Response
将返回的Response内容返回给Web服务器,由后者返回给浏览器;
步骤6,Http处理模块生成Response
具体的方法为执行urls.xml中对应的视图处理模块中的视图方法,每个视图方法都返回一个Response实例;
步骤7,模板处理模块通过loader加载template并生成页面内容,并通过Model模型将视图渲染到模板,然后模板引擎模块将页面展现与数据内容分离,从而生成具体的页面,实现基于OSGI的Web界面框架的web业务处理,具体步骤如下,
7.1.模板处理模块根据get_template方法加载需要渲染的模板,get_template方法返回一个Template实例,其中包含经过解析的模板和用到的方法;
7.2.实例化一个Context用来渲染模板;
7.3.调用Template实例的render方法,Context对象作为第一个位置参数。
本发明的另一技术方案的特点还在于,
在进行Web业务处理时所用的方法如下:
a.初始化方法,仅在服务进程启动的时候调用,而在针对单个request处理时并不执行;
b.请求预处理方法,在界面框架接收到request之后,但仍未解析URL以确定应当运行的视图方法之前调用;
c.视图处理模块执行视图预处理方法,这个方法的调用时机在框架执行完request预处理方法并确定待执行的视图方法之后,但在视图方法实际执行之前;
d.响应后处理方法,这个方法的调用时机在框架执行视图方法并生成response之后调用;
e.模型处理模块执行格式转化方法,该方法主要属于工具类,将JSON字符串转化java对象,或将java对象转化为字符串;
f.Http异常处理模块执行行异常后处理方法,在request处理过程中出了问题并且视图方法抛出了一个未捕获的异常时被调用;
请求预处理方法具体为基于OSGi的web界面框架系统向预处理函数传入相应的HttpRequest对象,process_request()返回None或HttpResponse对象,如果返回None,框架将继续处理这个request,执行后续的拦截器,然后调用相应的视图方法,如果返回HttpResponse对象,框架将不再执行任何其它的拦截器以及相应的视图方法,立即返回HttpResponse。
全局配置模块在settings.xml中定义了拦截器,到来一个Http请求,将被定义的拦截器处理一遍,如果链中某个处理器处理后没有返回response,就把请求传递给下一个处理器;如果链中某个处理器返回了response,直接跳出处理链,由response中间件处理后返回给客户端,如有异常,则跳入异常处理器。
Template的render方法的返回值是一个字符串,由Template中所有Nodes的render方法的返回值连接而成,调用顺序为Nodes出现在Template中的顺序。
本发明的有益效果是,(1)本发明提供了一种轻量级的基于OSGi的web界面框架系统,利于有效实现构件管理,方便程序开发人员的开发,开发人员通过继承相应接口,便可实现OSGi web构件的开发,并降低了开发成本;
(2)本发明的OSGi web框架,实现了OSGi与web服务交互,自动通过JSON与java对象相互转换,实现服务消息互换;
(3)通过本发明的OSGi web框架,可以实现OSGi构件快速开发、实现构件复用与扩展。
附图说明:
图1是本发明的基于OSGi的web界面框架系统图;
图2是本发明基于OSGi的web界面框架系统web业务处理流程图。
具体实施方式:
下面结合附图和实施例,对本发明的具体实施方式作进一步描述。
参见图1,本发明的基于OSGi的web界面框架系统包括:全局配置模块、地址映射模块、Http处理模块、模型处理模块、视图处理模块、模板(template)处理模块、模板引擎模块以及辅助模块。
全局配置模块负责整个框架全局性配置、数据库连接池配置、过滤器配置、国际化配置、模板文件位置路径配置等。
地址映射模块采用正则表达式将URL地址与视图方法对应,用户请求首先解析地址,进而找到对应的视图处理方式,进行逻辑调用与处理。在该模块OSGi web框架系统定义URL处理器,框架顺序处理每个URL模式,直到找到一个与请求URL的相匹配的模式为止。一旦匹配成功,框架导入并调用对应的视图方法,也就是相应的java类方法。
Http处理模块包括Http请求处理模块、Http响应处理模块及Http异常处理模块,是用于预处理或后处理请求对象与响应对象的模块,包括对Http请求、响应、异常处理,由Http处理器组成,它们基于java拦截机制技术实现。在Http请求处理模块,OSGi web界面框架系统定义若干请求处理拦截器,负责编码转化、数据格式转化,调用用户定义视图方法;在Http响应处理模块,OSGi web界面框架系统定义若干响应处理拦截器,负责完成数据与模板组装,并调用模板引擎处理;在Http异常处理模块,OSGi web界面框架系统定义若干异常处理拦截器,负责视图方法异常处理,并跳转用户定义友好错误界面。
模型处理模块为数据库数据与面向对象的数据一一对应和映射,是与数据处理相关的部分。
视图处理模块主要负责业务逻辑处理,是整个框架的核心,也是用户扩展的部分,通过地址映射模块找到对应的视图逻辑,然后通过视图逻辑调用相关的模板。在该模块,OSGi web界面框架系统定义了若干基类方法,开发人员可以编写视图类,用来继承框架提供的用户接口。视图类的方法必须实现相关post和get方法,这些方法接受参数为HttpRequest,返回对象为HttpResponse。
模板处理模块负责用户数据展示,模板是一个纯文本文件,一个模板可以包含区块标签和变量,在本系统中模板特指标准jsp页面、html页面,通过处理逻辑产生的数据渲染到相关页面,以一定的方式展示给用户,在该模块OSGi web界面框架系统定义了模板编排规则,框架根据响应,将模板上下文数据与模板名称交给Velocity模板引擎处理。
模版引擎是实现页面展现与数据内容分离的重要手段,让各类人员分工明确,使用页面设计人员与程序员分工协作。
辅助模块,很多公用的类与方法都归类于此,如进行url分析、处理请求、缓存、JSON与java数据对象转换等。
另外,开发人员为一个OSGi web程序设计URLs,用于在URL模式(简单的正则表达式)及java回调方法(用户开发views)之间建立映射。
开发基于OSGi的web界面框架系统一般方法为:
(1)新建OSGi web组件工程,自动生成默认OSGi web组件模板,包括URL.xml地址映射模板、settings.xml配置文件模板、模型模板、视图模板、静态文件。
(2)配置全局文件settings.xml,完成数据库连接池配置、国际化文件配置工作。
(3)模型定义,依据业务需求完成业务模型定义。
(4)视图定义,依据需求在视图控制层编写业务逻辑。
(5)展现层模板定义,根据需求完成模型内容在模板文件上展示。
(6)组件部署到OSGi容器中,进行测试与运行。
本发明采用了MVC的软件设计模式,即M,Model层,是数据访问层,处理与数据相关的操作,如如何存取、如何确认有效性,哪些行为用到哪些数据等等,用于处理业务逻辑;V,View层,决定系统显示什么以及如何显示内容,用于与用户进行交互;C,Controller层,是Model层与View层沟通的桥梁,通过View层接收的输入选择相应Model进行处理并再使用合理的View展示给用户。把所有部分拼起来是这样的,收到的Http请求被应用服务器转发给基于OSGi的web界面框架系统,基于OSGi的web界面框架系统根据URL映射模式匹配分派到适合的视图上去,视图会执行相关展现逻辑,用模型和模板按需生成响应,通过Http响应反馈给用户。为实现展示与内容分离,引入模版引擎技术来处理模版相关的操作的。通过模版引擎,可以使代码显得简洁,同时代码和逻辑分离使程序员协同工作时不会互相干涉,造成混乱。
参见图2,上述基于OSGi的web界面框架系统进行web业务处理的流程图,本发明的基于OSGi的web界面框架系统处理流程如下:
步骤1:OSGi开放服务网关通过Command类启动OSGi web界面框架,全局配置模块加载解析全局配置文件,并初始化,全局配置都在“settings.xml”中定义。
步骤2:地址映射模块根据url.xml进行地址与函数关系映射初始化。
步骤3:Http处理模块处理Request
当有Http请求来时,HttpHandler就开始工作了,它从BaseHandler继承而来。HttpHandler为每个请求创建一MyHttpRequest实例,而MyHttpRequest是从http.HttpRequest继承而来。
步骤4:Http处理模块创建Response
BaseHandler采用get_response方法根据request创建response。
步骤5:Http处理模块处理Response
框架返回Response内容返回给Web服务器,由后者返回给浏览器。
步骤6:Http处理模块生成response
具体的动作为执行urls.xml中对应的视图处理模块中的视图方法,每个视图方法都要返回一个Response实例。
步骤7:模板处理模块通过loader加载template并生成页面内容,并通过Model模型将视图渲染到模板,然后模板引擎模块将页面展现与数据内容分离,从而生成具体的页面,实现基于OSGi的Web界面框架的web业务处理,具体步骤如下,
(1)模板处理模块加载需要渲染的模板。这是由get_template方法完成的,它能利用这许多方法中的任意一个来定位需要的模板文件。get_template方法返回一个Template实例,其中包含经过解析的模板和用到的方法。
(2)实例化一个Context用来渲染模板。如果用的是Context的子类RequestContext,那么附带的上下文处理方法就会自动添加在视图中没有定义的变量。Context的构建器方法用一个键/值对的字典(对于模板,它将变为名/值变量)作为它唯一的参数,RequestContext则用HttpRequest的一个实例和一个字典。
(3)调用Template实例的render方法(具体说明),Context对象作为第一个位置参数。Template的render方法的返回值是一个字符串,它由Template中所有Nodes的render方法返回的值连接而成,调用顺序为它们出现在Template中的顺序。
其中,处理流程主要用到的方法如下:
a.初始化方法:init()
出于性能的考虑,每个已启用的拦截器在每个服务器进程中只初始化一次。也就是说init()仅在服务进程启动的时候调用,而在针对单个request处理时并不执行。
对一个拦截器而言,定义init()方法的通常原因是检查自身的必要性。如果init()抛出异常InterceptorNotUsed,则框架将从拦截器链中移出该拦截器,拦截器通常采用单例模式。
b.请求预处理方法:process_request(request)
在界面框架接收到request之后,但仍未解析URL以确定应当运行的视图方法之前。框架向该预处理函数传入相应的HttpRequest对象,以便在方法中修改相应数据。process_request()应当返回None或HttpResponse对象。如果返回None,框架将继续处理这个request,执行后续的拦截器,然后调用相应的视图方法。如果返回HttpResponse对象,框架将不再执行任何其它的拦截器(无视其种类)以及相应的视图方法,框架将立即返回HttpResponse.
c.视图预处理方法:process_view(request,callback,callback_args,callback_kwargs)
这个方法的调用时机在框架执行完request预处理方法并确定待执行的视图方法之后,但在视图方法实际执行之前。其中,request代表HttpRequest对象。Callback是框架将调用的处理request的java方法。args将传入视图的位置参数列表,但不包括request参数,kwargs,将传入视图方法的关键字参数字典。
d.响应后处理方法:process_response(request,response)
这个方法的调用时机在框架执行视图方法并生成response之后。该拦截器能修改response的内容;一个常见的用途是内容压缩,如gzip所请求的HTML页面。这个方法的参数相当直观:request是request对象,而response则是从视图中返回的respons对象。process_response()必须返回HttpResponse对象。
e.格式转化方法:JSON_Java(json,object)
该方法主要属于工具类,将JSON字符串转化为Java对象,或将java对象转化为字符串。
f.异常后处理方法:process_exception(request,exception)
这个方法只有在request处理过程中出了问题并且视图方法抛出了一个未捕获的异常时才会被调用。这个钩子可以用来发送错误通知,将现场相关信息输出到日志文件,或者甚至尝试从错误中自动恢复。这个函数的参数除了request对象之外,还包括视图方法抛出的实际的异常对象exception。process_exception()应当返回Null或HttpResponse对象。如果返回Null,框架内置的异常处理机制继续处理相应request。如果返回HttpResponse对象,框架将使用该response对象,而短路框架内置的异常处理机制。
如图2框架处理web业务的流程图所示,拦截器需要在settings.xml INTECEPTOR_CLASSES中定义,到来一个Http请求,将被定义的拦截器处理一遍,如果链中某个处理器处理后没有返回response,就把请求传递给下一个处理器;如果链中某个处理器返回了response,直接跳出处理链由response中间件处理后返回给客户端,可以称之为短路处理,如有异常,则跳入异常处理器。
本发明提供了一种轻量级的基于OSGi的web界面框架系统,利于有效实现构件管理,方便程序开发人员的开发,开发人员通过继承相应接口,便可实现OSGi web构件的开发,并降低了开发成本;实现了OSGi与web服务交互,自动通过JSON与java对象相互转换,实现服务消息互换;还实现了OSGi构件快速开发、实现构件复用与扩展。

Claims (10)

1.一种基于OSGi的web界面框架系统,其特征在于,包括以下功能模块,全局配置模块、Http处理模块、地址映射模块、模型处理模块、视图处理模块、模板处理模块、模板引擎模块以及辅助类模块,其中所述Http处理模块包括Http请求处理模块、Http响应处理模块及Http异常处理模块; 
全局配置模块,用于数据库连接池配置、国际化文件配置、过滤器配置、模板文件路径的配置的解析与处理; 
地址映射模块,用于根据用户的请求解析地址,采用正则表达式将URL地址与视图方法对应,进行逻辑调用与处理; 
Http处理模块用于预处理或后处理请求对象与响应对象的模块,包括对Http请求、响应、异常处理; 
模型处理模块,用于数据处理,数据库数据与面向对象的数据一一对应和映射; 
视图处理模块,用于业务逻辑处理,是整个框架的核心,也是用户扩展的部分,通过地址映射模块找到对应的视图逻辑,然后通过视图逻辑调用的相关的模板; 
模板处理模块,用于用户数据展示,通过处理逻辑产生的数据渲染到相关页面,以一定的方式展示给用户,并定义了模板编排规 则; 
模板引擎模块,用于页面展现与数据内容分离; 
辅助模块,用于归类公用的类和方法。 
2.如权利要求1所述的一种基于OSGi的web界面框架系统,其特征在于,地址映射模块采用正则表达式将URL地址与视图方法对应,定义URL处理器。 
3.如权利要求1所述的一种基于OSGi的web界面框架系统,其特征在于,所述Http处理模块由Http处理器组成,基于java拦截机制技术实现;在Http请求处理模块,定义请求处理拦截器,负责编码转化、数据格式转化,调用用户定义视图方法;在Http响应处理模块,定义响应处理拦截器,负责完成数据与模板组装,并调用模板引擎处理;在Http异常处理模块,定义异常处理拦截器,负责视图方法异常处理,并跳转用户定义友好错误界面。 
4.如权利要求1所述的一种基于OSGi的web界面框架系统,其特征在于,在视图处理模块,定义了若干基类方法,开发人员编写视图类,用来继承框架提供的用户接口。 
5.如权利要求1所述的一种基于OSGi的web界面框架系统,其特征在于,在模板处理模块,定义了模板编排规则,模板为标准jsp页面和html页面。 
6.一种基于OSGi的web界面框架系统的Web业务处理方法,其特征在于,采用基于OSGi的web界面框架系统,包括以下功能模块:全局配置模块、地址映射模块、Http处理模块、模型处理模块、视图处理模块、模板处理模块、模板引擎模块以及辅助模块,其中所述Http处理模块包括Http请求处理模块、Http响应处理模块及Http异常处理模块; 
其Web业务处理方法,包括以下步骤: 
步骤1,OSGi开放服务网关通过Command类启动OSGi web界面框架,全局配置模块加载解析全局配置文件,并初始化,全局配置都在“settings.xml”中定义; 
步骤2,地址映射模块根据url.xml进行地址与函数关系映射初始化; 
步骤3,Http处理模块处理Request; 
当有Http请求来时,HttpHandler为每个请求创建一个MyHttpRequest实例,HttpHandler从BaseHandler继承而来,而MyHttpRequest是从http.HttpRequest继承而来; 
步骤4,Http处理模块创建Response; 
BaseHandler采用get_response方法根据request创建response; 
步骤5,Http处理模块处理Response; 
将返回的Response内容返回给Web服务器,由后者返回给浏览器; 
步骤6,Http处理模块生成Response; 
具体的方法为执行urls.xml中对应的视图处理模块中的视图方法,每个视图方法都返回一个Response实例; 
步骤7,模板处理模块通过loader加载template并生成页面内容,并通过Model模型将视图渲染到模板,然后模板引擎模块将页面展现与数据内容分离,从而生成具体的页面,实现基于OSGI的Web界面框架的web业务处理,具体步骤如下: 
7.1.模板处理模块根据get_template方法加载需要渲染的模板,get_template方法返回一个Template实例,其中包含经过解析的模板和用到的方法; 
7.2.实例化一个Context用来渲染模板; 
7.3.调用Template实例的render方法,Context对象作为第一个位置参数。 
7.如权利要求6所述的一种基于OSGi的web界面框架系统的Web业务处理方法,其特征在于,在进行Web业务处理时所用的方法如下: 
a.初始化方法,仅在服务进程启动的时候调用,而在针对单个 request处理时并不执行; 
b.请求预处理方法,在界面框架接收到request之后,但仍未解析URL以确定应当运行的视图方法之前调用; 
c.视图处理模块执行视图预处理方法,这个方法的调用时机在框架执行完request预处理方法并确定待执行的视图方法之后,但在视图方法实际执行之前; 
d.响应后处理方法,这个方法的调用时机在框架执行视图方法并生成response之后调用; 
e.模型处理模块执行格式转化方法,该方法主要属于工具类,将JSON字符串转化java对象,或将java对象转化为字符串; 
f.Http异常处理模块执行行异常后处理方法,在request处理过程中出了问题并且视图方法抛出了一个未捕获的异常时被调用。 
8.如权利要求7所述的一种基于OSGi的web界面框架系统的Web业务处理方法,其特征在于,所述请求预处理方法具体为基于OSGi的web界面框架系统向预处理函数传入相应的HttpRequest对象,process_request()返回None或HttpResponse对象,如果返回None,框架将继续处理这个request,执行后续的拦截器,然后调用相应的视图方法,如果返回HttpResponse对象,框架将不再执行任何其它的拦截器以及相应的视图方法,立即返回HttpResponse。 
9.如权利要求6所述的一种基于OSGi的web界面框架系统的Web业务处理方法,其特征在于,全局配置模块在settings.xml中定义了拦截器,到来一个Http请求,将被定义的拦截器处理一遍,如果链中某个处理器处理后没有返回response,就把请求传递给下一个处理器;如果链中某个处理器返回了response,直接跳出处理链,由response中间件处理后返回给客户端,如有异常,则跳入异常处理器。 
10.如权利要求6所述的一种基于OSGi的web界面框架系统的Web业务处理方法,其特征在于,Template的render方法的返回值是一个字符串,由Template中所有Nodes的render方法的返回值连接而成,调用顺序为Nodes出现在Template中的顺序。 
CN201410570661.8A 2014-10-23 2014-10-23 一种基于OSGi的web界面框架系统及web业务处理方法 Active CN104317591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410570661.8A CN104317591B (zh) 2014-10-23 2014-10-23 一种基于OSGi的web界面框架系统及web业务处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410570661.8A CN104317591B (zh) 2014-10-23 2014-10-23 一种基于OSGi的web界面框架系统及web业务处理方法

Publications (2)

Publication Number Publication Date
CN104317591A true CN104317591A (zh) 2015-01-28
CN104317591B CN104317591B (zh) 2017-11-28

Family

ID=52372826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410570661.8A Active CN104317591B (zh) 2014-10-23 2014-10-23 一种基于OSGi的web界面框架系统及web业务处理方法

Country Status (1)

Country Link
CN (1) CN104317591B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796284A (zh) * 2015-03-20 2015-07-22 四川长虹电器股份有限公司 基于osgi框架的综合网络设备管理系统
WO2017008645A1 (zh) * 2015-07-13 2017-01-19 阿里巴巴集团控股有限公司 对http请求进行统一映射的方法和设备
CN106933560A (zh) * 2015-12-30 2017-07-07 远光软件股份有限公司 一种自动编码方法及装置
CN107146095A (zh) * 2016-03-01 2017-09-08 阿里巴巴集团控股有限公司 一种邮件的展示信息处理方法、装置及邮件系统
CN107959718A (zh) * 2017-11-17 2018-04-24 西北工业大学 一种云计算环境下企业级应用软件的微服务架构
CN108038180A (zh) * 2017-12-07 2018-05-15 国网四川省电力公司信息通信公司 一种电力供电区域采集数据可视化展示的方法
CN109241037A (zh) * 2018-08-28 2019-01-18 郑州云海信息技术有限公司 一种实现数据库处理的方法、装置、设备及存储介质
CN109375911A (zh) * 2018-09-03 2019-02-22 中新网络信息安全股份有限公司 一种基于SpringMVC渲染FreeMarker模板的方法
CN109445786A (zh) * 2018-10-19 2019-03-08 成都安恒信息技术有限公司 一种基于JavaScript实现通用弹窗页面的方法
CN109697055A (zh) * 2017-10-23 2019-04-30 北京京东尚科信息技术有限公司 生成移动App页面的方法及系统
CN109947424A (zh) * 2017-12-21 2019-06-28 天津数观科技有限公司 一种iOS App嵌入HTML5界面的数据处理方法
CN110069297A (zh) * 2019-03-28 2019-07-30 平安科技(深圳)有限公司 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质
CN111079047A (zh) * 2019-11-28 2020-04-28 蜂助手股份有限公司 一种面向web的页面构建系统
CN111309319A (zh) * 2020-02-13 2020-06-19 卓望数码技术(深圳)有限公司 可继承的局数据动态页面配置方法和装置
CN112860453A (zh) * 2020-12-14 2021-05-28 广州市玄武无线科技股份有限公司 消息管理方法、系统、电子设备及存储介质
CN115951882A (zh) * 2023-02-16 2023-04-11 中孚安全技术有限公司 一种基于vue实现的第三方接口格式转换平台及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158896A (zh) * 2007-08-31 2008-04-09 南京联创科技股份有限公司 基于mvc的业务组装和页面模板化开发web平台的方法
US20080288918A1 (en) * 2007-05-14 2008-11-20 Mathias Knura Web service tool based on business object layer
CN103123593A (zh) * 2011-11-18 2013-05-29 腾讯科技(深圳)有限公司 Java应用服务器及处理Web业务的方法
CN103605516A (zh) * 2013-11-12 2014-02-26 国家电网公司 柔性Web展现框架模型架构设计方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080288918A1 (en) * 2007-05-14 2008-11-20 Mathias Knura Web service tool based on business object layer
CN101158896A (zh) * 2007-08-31 2008-04-09 南京联创科技股份有限公司 基于mvc的业务组装和页面模板化开发web平台的方法
CN103123593A (zh) * 2011-11-18 2013-05-29 腾讯科技(深圳)有限公司 Java应用服务器及处理Web业务的方法
CN103605516A (zh) * 2013-11-12 2014-02-26 国家电网公司 柔性Web展现框架模型架构设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭音: ""基于OSGi的Web开发模式研究与实践"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796284A (zh) * 2015-03-20 2015-07-22 四川长虹电器股份有限公司 基于osgi框架的综合网络设备管理系统
WO2017008645A1 (zh) * 2015-07-13 2017-01-19 阿里巴巴集团控股有限公司 对http请求进行统一映射的方法和设备
CN106933560A (zh) * 2015-12-30 2017-07-07 远光软件股份有限公司 一种自动编码方法及装置
CN107146095A (zh) * 2016-03-01 2017-09-08 阿里巴巴集团控股有限公司 一种邮件的展示信息处理方法、装置及邮件系统
CN107146095B (zh) * 2016-03-01 2021-03-23 创新先进技术有限公司 一种邮件的展示信息处理方法、装置及邮件系统
CN109697055A (zh) * 2017-10-23 2019-04-30 北京京东尚科信息技术有限公司 生成移动App页面的方法及系统
CN109697055B (zh) * 2017-10-23 2022-04-12 北京京东尚科信息技术有限公司 生成移动App页面的方法及系统
CN107959718A (zh) * 2017-11-17 2018-04-24 西北工业大学 一种云计算环境下企业级应用软件的微服务架构
CN107959718B (zh) * 2017-11-17 2020-10-02 西北工业大学 一种云计算环境下企业级应用软件的微服务架构
CN108038180A (zh) * 2017-12-07 2018-05-15 国网四川省电力公司信息通信公司 一种电力供电区域采集数据可视化展示的方法
CN109947424A (zh) * 2017-12-21 2019-06-28 天津数观科技有限公司 一种iOS App嵌入HTML5界面的数据处理方法
CN109241037A (zh) * 2018-08-28 2019-01-18 郑州云海信息技术有限公司 一种实现数据库处理的方法、装置、设备及存储介质
CN109375911A (zh) * 2018-09-03 2019-02-22 中新网络信息安全股份有限公司 一种基于SpringMVC渲染FreeMarker模板的方法
CN109445786B (zh) * 2018-10-19 2022-02-11 成都安恒信息技术有限公司 一种基于JavaScript实现通用弹窗页面的方法
CN109445786A (zh) * 2018-10-19 2019-03-08 成都安恒信息技术有限公司 一种基于JavaScript实现通用弹窗页面的方法
CN110069297A (zh) * 2019-03-28 2019-07-30 平安科技(深圳)有限公司 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质
WO2020192134A1 (zh) * 2019-03-28 2020-10-01 平安科技(深圳)有限公司 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质
CN111079047A (zh) * 2019-11-28 2020-04-28 蜂助手股份有限公司 一种面向web的页面构建系统
CN111309319A (zh) * 2020-02-13 2020-06-19 卓望数码技术(深圳)有限公司 可继承的局数据动态页面配置方法和装置
CN111309319B (zh) * 2020-02-13 2024-02-13 卓望数码技术(深圳)有限公司 可继承的局数据动态页面配置方法和装置
CN112860453B (zh) * 2020-12-14 2022-04-08 广州市玄武无线科技股份有限公司 消息管理方法、系统、电子设备及存储介质
CN112860453A (zh) * 2020-12-14 2021-05-28 广州市玄武无线科技股份有限公司 消息管理方法、系统、电子设备及存储介质
CN115951882A (zh) * 2023-02-16 2023-04-11 中孚安全技术有限公司 一种基于vue实现的第三方接口格式转换平台及方法

Also Published As

Publication number Publication date
CN104317591B (zh) 2017-11-28

Similar Documents

Publication Publication Date Title
CN104317591A (zh) 一种基于OSGi的web界面框架系统及web业务处理方法
CN109284197B (zh) 基于智能合约的分布式应用平台及实现方法
US10015264B2 (en) Generalized proxy architecture to provide remote access to an application framework
US10922214B1 (en) System and method for implementing a test optimization module
CN111737032A (zh) 一种基于微内核系统的子程序运行方法、装置和电子设备
US20170154017A1 (en) Web Application Management
US20060064422A1 (en) Data sharing system, method and software tool
EP1723516A1 (en) System and method for building mixed mode execution environment for component applications
CN103605527A (zh) 实现云计算应用间界面集成和统一样式展现的系统及方法
US11537367B1 (en) Source code conversion from application program interface to policy document
CN112787999A (zh) 跨链调用方法、装置、系统与计算机可读存储介质
US20220300262A1 (en) Method for constructing, running and implementing cross-platform application, terminal, server and system
CN112860251A (zh) 一种网站前端构建的方法与系统
CN113448650A (zh) 直播功能插件加载方法、装置、设备及存储介质
US20210216356A1 (en) Single nested multi-item workflow display
CN111522623A (zh) 组件化软件多进程运行系统
CN101236510A (zh) 一种ejb集群的失败恢复处理方法及系统
Ast et al. Self-contained web components through serverless computing
CN112231231B (zh) 云端服务的调试方法、系统及装置
Kath Towards executable models: Transforming EDOC behavior models to CORBA and BPEL
CN114356520A (zh) 微应用的运行方法、装置、设备、存储介质及程序产品
Braun et al. A service-oriented software architecture for mobile agent toolkits
KR20140049824A (ko) 원격 응용 프로그래밍 디버깅시스템 및 그 제어방법
CN116521535A (zh) Ui自动化测试平台实现方法、装置、电子设备及存储介质
Tricoire et al. KevoreeJS: Enabling dynamic software reconfigurations in the Browser

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Wang Qian

Inventor after: Zhu Zhixiang

Inventor after: Li Anying

Inventor after: Niu Na

Inventor after: Liu Shenghui

Inventor after: Wang Pei

Inventor after: Zhao Xiaohua

Inventor before: Wang Qian

Inventor before: Zhu Zhixiang

Inventor before: Li Anying

Inventor before: Ge Xin

Inventor before: Liu Shenghui

Inventor before: Wang Pei

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant