CN107025124B - 网页技术开发单机软件的系统架构 - Google Patents

网页技术开发单机软件的系统架构 Download PDF

Info

Publication number
CN107025124B
CN107025124B CN201510354345.1A CN201510354345A CN107025124B CN 107025124 B CN107025124 B CN 107025124B CN 201510354345 A CN201510354345 A CN 201510354345A CN 107025124 B CN107025124 B CN 107025124B
Authority
CN
China
Prior art keywords
browser
architecture
web
system architecture
software
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
Application number
CN201510354345.1A
Other languages
English (en)
Other versions
CN107025124A (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.)
Shanghai Xinlian Information Development Co ltd
Original Assignee
Shanghai Xinlian Information Development Co Ltd
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 Shanghai Xinlian Information Development Co Ltd filed Critical Shanghai Xinlian Information Development Co Ltd
Priority to CN201510354345.1A priority Critical patent/CN107025124B/zh
Publication of CN107025124A publication Critical patent/CN107025124A/zh
Application granted granted Critical
Publication of CN107025124B publication Critical patent/CN107025124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提出了一种网页技术开发单机软件的系统架构,其特征在于,该系统架构安装于单机客户端并包括一体化Web运行框架,该一体化Web运行框架包含封装在一起的浏览器引擎封装和Web容器封装,其中,该系统架构兼容浏览器/服务器架构和单机程序。本发明的架构系统开发简单,复用性强,不单可以作为单机软件单独运行,也可以非常快速的与B/S架构的软件进行集成跨平台,大大节约了开发和维护成本。

Description

网页技术开发单机软件的系统架构
技术领域
本发明涉及一种软件开发领域,具体涉及一种网页技术开发单机软件的系统架构。
背景技术
单机版软件在客户端直接运行,能充分发挥客户端PC的处理能力,响应速度快。主要采用VB、Delphi、C、C++等技术实现。但单机版的程序不能实现多人协同办公的功能,且一般受运行环境和操作系统的影响较大,要实现在多个操作系统中运行软件需要进行多次开发。
B/S(Browser/Server,浏览器/服务器模式)结构软件是Web应用兴起后的一种新的系统结构模式。B/S软件架构将系统功能实现部分集中到服务器上,可是实现多用户同时访问,并且弱化了系统对客户端系统环境的依赖。当前B/S软件主要采用Java、C#、Php等技术实现。采用B/S架构的软件解决了多人协同办公的问题,又统一了客户端标准(只需要客户端安全Web浏览器即可),大大降低了软件开发和维护成本。但由于B/S模式的软件的实现都在服务端,所以对服务器负载要求非常高,特别当用户并发数很高或单个业务处理周期较长的情况下问题更加明显。
单机模式和B/S模式各有优缺点,根据实际运行环境的不同,我们需要选择合适的模式开发产品。实际生产中发现在某些运行环境中我们需要将单机模式的软件转换成B/S模式,而某些运行环境也需要将B/S模式的软件转换成单机模式。但由于两种模式采用不同技术实现导致两种模式互转非常困难,需要投入昂贵的二次开发成本。
传统的单机版软件不能实现跨平台,受运行环境和操作系统的影响较大,需要针对不同的操作系统开发不同版本的软件,兼容性差、成本高。而且无法做到既能作为单机软件使用,又能与其他B/S系统结合作为模块进行使用。
发明内容
本发明提供了一种网页技术开发单机软件的系统架构,该系统架构是通过对浏览器引擎、Java Web容器深度定制整合而封装形成的一个新的系统架构。通过采用Web开发技术,实现软件既可在单机上单独运行,又可在B/S模式很好集成,解决了产品在两种模式下的互转问题,并兼顾了用户体验。软件只需开发一次即可在单机和B/S等多种模式下运行,大大降低了研发和维护的成本。
具体的,本发明提出了一种网页技术开发单机软件的系统架构,该系统架构安装于单机客户端并包括一体化Web运行框架,该一体化Web运行框架包含封装在一起的浏览器引擎封装和Web容器封装,其中,该系统架构兼容浏览器/服务器架构和单机程序。
根据一个较佳实施例,该Web容器封装中内置有JavaScript脚本解析引擎的JavaWeb容器,且该浏览器引擎封装中内置有异步并行算法以实现对JavaScript脚本的并行解析。
根据一个较佳实施例,该Java Web容器提供有与应用程序和数据对接的应用程序编程接口。
根据一个较佳实施例,该一体化Web运行框架使得单机客户端无需额外安装浏览器和Web容器即可运行程序。
根据一个较佳实施例,该浏览器引擎封装中内置有开源浏览器内核。
根据一个较佳实施例,该开源浏览器内核中至少具有并行解析模块和异步渲染模块。
应当理解,本发明以上的一般性描述和以下的详细描述都是示例性和说明性的,并且旨在为如权利要求该的本发明提供进一步的解释。
附图说明
附图主要是用于提供对本发明进一步的理解。附图示出了本发明的实施例,并与本说明书一起起到解释本发明原理的作用。附图中:
图1示意性地示出了现有技术的B/S架构应用的架构。
图2示意性地示出了现有技术的单机程序架构。
图3示意性地示出了本发明的系统架构。
图4示意性地示出了根据本发明的浏览器的结构图。
具体实施方式
以下结合附图详细描述本发明的技术方案。
本发明主要是要解决同一款功能软件能够在单机和B/S模式下不用重写编码就可以互用。要实现这一目标主要需要实现两个架构设计,第一、跨平台设计;第二、跨结构设计。
所谓跨平台就是软件可以在windows、linux等多种操作系统环境下运行而不需要针对特定的操作系统重新开发软件。为了达到这一目标,本发明研究主要采用Java跨平台语言作为基础开发语言,能够在不同的操作系统环境下运行。
跨结构设计,要考虑的是如何能让单机版的程序可以快速移植到B/S结构应用中。一般情况单机版的程序设计和B/S程序架构完全不同,基本无法重复利用。本研究在单机程序计中采用了虚拟B/S架构设计,能够使单机版程序和B/S程序保持一致的架构设计,做到软件功能可以在单机和B/S架构中重复利用。
图1示意性地示出了现有技术的B/S架构应用的架构。在图中我们可以看到Web服务器上部署应用软件,通过用户端的请求后返回不同的Html页面,并在用户端的IE、火狐等浏览器上呈现不同的内容。
图2示意性地示出了现有技术的单机程序架构。该单机程序架构一般可以单独部署在PC机上运行,但由于硬件、操作系统的不同,应用程序采用VC\VB\Delphi等非跨平台语言直接调用不同操作系API实现功能。这样实现的软件往往不能在多个平台上应用,也很难移植到B/S架构中。
现在转到图3,图3示意性地示出了本发明的系统架构。如图所示,本发明的网页技术开发单机软件的系统架构300适合安装于单机客户端并包括一体化Web运行框架。该一体化Web运行框架包含封装在一起的浏览器引擎封装和Web容器封装。特别是,该系统架构兼容浏览器/服务器架构和单机程序。这样,该一体化Web运行框架使得单机客户端无需额外安装浏览器和Web容器即可运行程序。
Web应用程序是服务器端应用程序。它的开发的最基本要求如下:编程模型和API,服务器端运行时支持,部署支持。部署是指在服务器上安装应用程序的过程。这一过程还包括配置应用程序组件,如指定初始化参数和指定任何数据库。
在本发明中,Web容器封装中内置有JavaScript脚本解析引擎的Java Web容器。此外,该Java Web容器还可以提供有与应用程序和数据对接的应用程序编程接口。
Java Web容器实际上是一个Java运行时(Runtime),提供了Java Servlet API的一个实现,并且简化了JSP网页。Web容器负责初始化,调用以及管理Java Servlet和JavaServer Page的存活期。Web容器的例子有:Tomcat,Resin,Weblogic、WebSphere、JBoss等,通过Web容器,Web应用程序可以和真正的网络服务连接起来。Java Web容器具体的工作如下:
当Web服务器接到客户端http请求后,把http协议转给Web容器去解析。Web容器创建HttpServletRequest、HttpServletResponse、HttpSession等对象。Web容器由请求的URL决定要使用哪个Servlet来处理请求(事先由开发人员定义)。Servlet根据请求对象(HttpServletRequest)的信息决定如何处理,透过响应对象(HttpServletResponse)来建立响应。Web容器与Web服务器沟通,Web服务器将响应转换为HTTP响应并传回客户端。
浏览器引擎是用来渲染网页内容,将网页的代码转换成最终页面展示。目前主流的浏览器引擎有Trident、gecko、Webkit、chromium等。各大浏览器厂商基于这些引擎开发出不同的浏览器,比如基于Trident的IE浏览器,基于chromium的chrome浏览器等。网页浏览的快慢对用户体验有很大的影响,这很大程度上是由于浏览器引擎对JavaScript的渲染速度造成。不同浏览器引擎对JavaScript的解析能力不一样,比如同一网页在非IE浏览器下显示的速度往往快于IE浏览器,在IE版本高版本下显示的速度快于IE较低版本。浏览器引擎对JavaScript解析能力,已经成为不同浏览器之间评测比较的一项重要指标。为了提高用户体验,该浏览器引擎封装中内置有异步并行算法以实现对JavaScript脚本的并行解析。另一方面,该浏览器引擎封装中可以内置有开源浏览器内核。该开源浏览器内核中至少具有并行解析模块和异步渲染模块。因此,本架构通过对浏览器引擎和Java Web容器的深度封装,使基于本架构开发的应用程序既能够实现B/S架构的应用模式,又能达到单机版软件的应用效果。
以下详细说明图3所示的系统架构的功能特色和实现原理。
第一,应用程序一次开发,B/S、单机两个版本适用,提高开发效率。基于网页技术的单机系统架构参考B/S架构理论基础,借用Java跨平台的特性,在架构中封装了一个可以在本地独立运行的B/S运行环境,从而实现了在本地可以像单机版程序一样运行的B/S架构系统,并且该系统的用户体验完全是单机化操作。常规的B/S应用程序需要部署在Web容器(如Weblogic、Tomcat等)中才能正常运行,本发明提出的单机系统架构通过对浏览器和Web容器的深度封装,实现了一个一体化Web运行框架,用户本地客户端环境不需要额外安装浏览器和Web容器即可运行程序。由于其架构遵循B/S架构标准,所以可以非常方便地将原先基于B/S架构的应用程序移植到本单机软件系统架构中,实现从B/S架构应用到单机版应用的无缝移植,避免了部分应用软件需要同时开发B/S网络版和单机版两套应用程序的问题,从而大大节约研发成本。
第二,优化JavaScript脚本解析引擎,提升界面显示速度。常规B/S架构的应用程序通过Web浏览器解析和渲染Html文件来显示Web内容,当浏览器遇到JavaScript脚本时需要下载脚本资源到本地才能完整显示网页内容,这种Web浏览器的阻塞解析方法严重影响显示效率和用户体验。通常的JavaScript优化解决方法除了将<script>脚本标签放在html文件的尾部还可以采用设置<script>标签的defer属性使Web浏览器下载资源时不受阻塞影响,但并不是所有的Web浏览器都支持这种方式,导致应用程序在部分浏览器中取得了较好的优化效果但在其他的浏览器中却效果不明显。本架构中内置了高效的JavaScript解析引擎,通过在内置浏览器中增加异步并行算法,实现对JavaScript脚本的并行解析,使网页渲染过程不会阻塞界面的正常显示,应用程序的容错性和显示效率都得到了很大提高。
第三,封装开源浏览器内核,进行个性化定制,实现客户端浏览器无关性。本系统架构中封装了Mozilla浏览器内核,并增加了诸如并行解析、异步渲染等定制功能,不需要调用用户本地客户端浏览器,避免了B/S架构应用强烈依赖浏览器的问题,实现了应用程序的广泛适用性。例如,图4示意性地示出了根据本发明的浏览器的结构图。
综上所述,本发明优化开发资源,节约成本,不用请各种不同开发工具的人员,采用Java/Web开发人员普遍熟悉的Javascript、Html、Java技术来开发,节约了开发成本,又方便于之后的维护。兼容性好,跨平台,不单可以作为单机软件单独运行,也可以非常快速的与B/S架构的软件进行集成,作为其中的一个模块来运行,一套系统多种应用场景,可谓是省时省力。
上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。

Claims (2)

1.一种网页技术开发单机软件的系统架构,其特征在于,该系统架构安装于单机客户端并包括一体化Web运行框架,该一体化Web运行框架包含封装在一起的浏览器引擎封装和Web容器封装,其中,该系统架构兼容浏览器/服务器架构和单机程序,该一体化Web运行框架使得单机客户端无需额外安装浏览器和Web容器即可运行程序,
所述Web容器封装中内置有JavaScript脚本解析引擎的Java Web容器,且所述浏览器引擎封装中内置有异步并行算法以实现对JavaScript脚本的并行解析,
所述浏览器引擎封装中内置有开源浏览器内核,该开源浏览器内核中至少具有并行解析模块和异步渲染模块。
2.如权利要求1所述的系统架构,其特征在于,该Java Web容器提供有与应用程序和数据对接的应用程序编程接口。
CN201510354345.1A 2015-06-24 2015-06-24 网页技术开发单机软件的系统架构 Active CN107025124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510354345.1A CN107025124B (zh) 2015-06-24 2015-06-24 网页技术开发单机软件的系统架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510354345.1A CN107025124B (zh) 2015-06-24 2015-06-24 网页技术开发单机软件的系统架构

Publications (2)

Publication Number Publication Date
CN107025124A CN107025124A (zh) 2017-08-08
CN107025124B true CN107025124B (zh) 2021-02-19

Family

ID=59523908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510354345.1A Active CN107025124B (zh) 2015-06-24 2015-06-24 网页技术开发单机软件的系统架构

Country Status (1)

Country Link
CN (1) CN107025124B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897550B (zh) * 2018-06-08 2021-07-30 江苏中威科技软件系统有限公司 通过封装浏览器实现程序部署、访问、升级的系统及方法
CN110046315A (zh) * 2019-03-01 2019-07-23 视联动力信息技术股份有限公司 一种会议管理平台的处理方法和装置
CN112102909A (zh) * 2020-09-22 2020-12-18 合肥易康达医疗卫生信息科技有限公司 一种根据采集数据自动绘制体温单方法
CN112363732A (zh) * 2020-10-15 2021-02-12 深圳市明源云科技有限公司 网站封装方法、装置、终端设备及计算机可读存储介质
CN112835580B (zh) * 2021-03-10 2024-05-28 百度在线网络技术(北京)有限公司 指令处理方法、装置、设备以及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1357828A (zh) * 2000-12-08 2002-07-10 英业达股份有限公司 可在单机版与网络版间转换的软件设计方法
US20060059422A1 (en) * 2004-09-16 2006-03-16 Ting-Hu Wu Desktop application implemented with web paradigm
CN100412793C (zh) * 2005-12-20 2008-08-20 北京大学 一种J2EE应用服务器中Web容器的集成系统
US8751558B2 (en) * 2010-03-22 2014-06-10 Sap Ag Mashup infrastructure with learning mechanism
CN102214098A (zh) * 2011-06-15 2011-10-12 中山大学 一种基于WebKit浏览器引擎的动态页面数据采集方法
CN102843393B (zh) * 2011-06-22 2015-02-25 腾讯科技(深圳)有限公司 网络应用的运行装置及方法
CN103902271B (zh) * 2012-12-27 2017-10-17 航天信息股份有限公司 在客户端和浏览器中统一显示窗体界面的方法

Also Published As

Publication number Publication date
CN107025124A (zh) 2017-08-08

Similar Documents

Publication Publication Date Title
CN107025124B (zh) 网页技术开发单机软件的系统架构
CN110020307B (zh) 一种客户端视图的绘制方法和装置
CN110691136A (zh) 数据交互方法、装置、电子设备及存储介质
KR101787527B1 (ko) 다중 플랫폼 위에서 실행되는 클라이언트 애플리케이션 개발용 프레임워크를 지원하기 위한 장치 및 이를 사용한 방법
CN107092475B (zh) 一种交互控件的调用方法及装置
CN105354013A (zh) 应用界面渲染方法及装置
US8584147B2 (en) Managed execution environment for software application interfacing
CN104866327A (zh) 一种php开发方法及框架
CN103605525A (zh) 桌面应用程序的实现方法和装置
CN113031932A (zh) 项目开发方法、装置、电子设备及存储介质
KR101117165B1 (ko) 이기종 운영체제 계층 모듈에서 동작하는 웹기반어플리케이션의 연동이 가능한 모바일 단말기용 웹 플랫폼 유닛
CN114297549A (zh) 组件处理方法及装置
Miravet et al. Framework for the declarative implementation of native mobile applications
WO2012151258A1 (en) Window proxy
CN103838556A (zh) 一种客户端程序的设计实现方法
CN115373684A (zh) 一种小程序融合方法、装置、电子设备及存储介质
CN107436927B (zh) 一种ui组件的应用方法和系统
WO2015010574A1 (en) Method, apparatus and terminal for webpage content browsing
CN114661402A (zh) 一种界面渲染方法、装置、电子设备及计算机可读介质
CN114546434A (zh) 一种应用更新方法、装置、电子设备及存储介质
Puder A cross-language framework for developing ajax applications
CN111984258A (zh) 页面构建方法和设备
CN110278263A (zh) 基于ajax与boa的嵌入式b/s架构实现方法及平台
CN113704668B (zh) 用于网页开发的数据处理方法和装置
CN114579137B (zh) 一种页面渲染方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 200040, room 710, 302 Changping Road, Shanghai, Jingan District

Applicant after: Shanghai Xinlian Information Development Co.,Ltd.

Address before: 200333 Building No. 879, Zhongjiang Road, Putuo District, Shanghai, 11

Applicant before: SHANGHAI ZHONGXIN INFORMATION DEVELOPMENT Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220622

Address after: 201700 room 179, area F, 1 / F, building 3, No. 8, zone 3, 8228 Beiqing Road, Qingpu District, Shanghai

Patentee after: GUANGDIAN INFORMATION DEVELOPMENT Co.,Ltd.

Address before: Room 302, 710 Changping Road, Jing'an District, Shanghai 200040

Patentee before: Shanghai Xinlian Information Development Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220802

Address after: Floor 6, No. 26 and 28, JIANGCHANG Third Road, Jing'an District, Shanghai 200040

Patentee after: Shanghai Xinlian Information Development Co.,Ltd.

Address before: 201700 room 179, area F, 1 / F, building 3, No. 8, zone 3, 8228 Beiqing Road, Qingpu District, Shanghai

Patentee before: GUANGDIAN INFORMATION DEVELOPMENT Co.,Ltd.