CN106528090A - 一种c/s结构向b/s结构移植的方法 - Google Patents
一种c/s结构向b/s结构移植的方法 Download PDFInfo
- Publication number
- CN106528090A CN106528090A CN201610894842.5A CN201610894842A CN106528090A CN 106528090 A CN106528090 A CN 106528090A CN 201610894842 A CN201610894842 A CN 201610894842A CN 106528090 A CN106528090 A CN 106528090A
- Authority
- CN
- China
- Prior art keywords
- structures
- implantations
- data
- server
- original
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种C/S结构向B/S结构移植的方法,涉及一种网络管理信息的方法,本发明利用原有的C/S结构的MIS***改造成B/S结构的MIS***会使企业节约大量成本,本发明对以前使用PB开发的C/S结构的MIS***进行改造移植,同样对于使用其它语言开发的***而言,利用在原***基础上进行改造的思想是可行的,但不同的开发工具使用的具体方法会有些出入。即使有些***的企业逻辑部分很难改造,也可以保留数据库服务器中所有存储过程,通过ASP技术调用原有***中数据库服务器的存储过程来获得所需的数据,这样同样可以节省很大成本,是一个极有价值的方法。
Description
技术领域
本发明涉及一种网络管理信息的方法,特别是涉及一种C/S结构向B/S结构移植的方法。
背景技术
传统的C/S模式下应用***一般由服务器(Server)和客户端(Client)应用程序组成。数据一般存放在服务器上,应用程序一般存放在客户端计算机上。这样的***虽然解决了数据共享等问题,但却具有不易维护、操作风格不一致、能够处理的数据类型不易扩展等缺点。尽管后来将企业逻辑从客户端划分出来,但随着网络应用***的发展,传统C/S模式应用***的缺点还是不断的暴露出来,促使B/S模式应用***的产生和发展。B/S模式应用***由浏览器(Browser)和服务器(Web Server、Other Server、Middle Ware)组成。数据和应用程序分别存放在应用服务器和数据库服务器上,浏览器可以通过Web服务器调用应用服务器,从而得到动态结果集。以B/S模式开发的***维护工作集中在服务器上,客户端不用维护,操作风格比较一致,只要有浏览器的合法用户都可以十分容易地使用。
为了从分利用Internet巨大的资源为企业创造更多经济效益和社会效益,对当前大多数企业来说使用的管理信息***(MIS***)从原有的C/S结构改造成3层甚至N层的C/S或B/S结构就成为一个关键性的问题。如果完全放弃原有的MIS***,重新投资,组织人力、物力开发新的基于B/S结构的MIS***,无论是在时间上还是在人力物力上将会损失很大。但如果要利用现有的条件,对原有的***进行局部改造,实现向B/S结构移植,不仅可以节约大量的人力物力,而且更重要的是节约时间,使企业能够紧跟时代发展潮流并为企业创造更多的价值。
发明内容
本发明的目的在于提供一种C/S结构向B/S结构移植的方法,该方法利用原有的C/S结构的MIS***改造成B/S结构的MIS***会使企业节约大量成本,是一个极有价值的方法。通过ASP技术调用原有***中数据库服务器的存储过程来获得所需的数据,这样同样可以节省很大成本。
本发明的目的是通过以下技术方案实现的:
一种C/S结构向B/S结构移植的方法,所述方法包括以下过程:
首先,C/S结构的应用***向B/S结构移植的实现;使用PB开发的C/S结构的MIS***向B/S结构移植;
(1)原有C/S结构的MIS***的数据库可以完全保留,应用服务器中的企业逻辑大部分可以保留,剩下的一部分仅做修改即移植到B/S结构中,而用户界面中的一部分改造而加以保留;
(2)原有C/S结构的MIS***中的企业逻辑主要有两大部分:数据窗口对象、用户对象;用户对象的改造使之让Web服务器调用并将结果以HTML文档的形式送回浏览器上。
所述的一种C/S结构向B/S结构移植的方法,所述对用户对象加以改造主要有以下两种方案:
(1)利用Web.pb向导程序生成可以调用指定用户对象中的某一函数的网页;
(2)将用户对象中的函数稍加改动使之返回一定的字符串,这些字符串即为HTML文档,直接传递给浏览器显示。
所述的一种C/S结构向B/S结构移植的方法,所述HTML文档首先用数据存储的Object.Datawindow.data.htmltable方法获得一个数据表,然后再用脚本语言给它加上文件头和文件尾。
本发明的优点与效果是:
本发明利用原有的C/S结构的MIS***改造成B/S结构的MIS***会使企业节约大量成本,是一个极有价值的思想。本发明对以前使用PB开发的C/S结构的MIS***进行改造移植,同样对于使用其它语言开发的***而言,利用在原***基础上进行改造的思想是可行的,但不同的开发工具使用的具体方法会有些出入。即使有些***的企业逻辑部分很难改造,也可以保留数据库服务器中所有存储过程,通过ASP技术调用原有***中数据库服务器的存储过程来获得所需的数据,这样同样可以节省很大成本。
附图说明
图1为 Window Plug_in的执行原理示意图。
具体实施方式
下面结合实施例对本发明进行详细说明。
C/S结构的应用***向B/S结构移植的实现。
使用PB开发的C/S结构的MIS***向B/S结构移植的方案:
原有C/S结构的MIS***的数据库可以完全保留,应用服务器中的企业逻辑大部分可以保留,剩下的一部分仅做一定的修改即可移植到B/S结构中,而用户界面中的一部分也可以适当改造而加以保留。
原有C/S结构的MIS***中的企业逻辑主要有两大部分:数据窗口对象、用户对象(主要是对使用PB开发的C/S结构的MIS***而言)。其中数据窗口对象大部分可以完全保留,而大部分用户对象可做一定的修改而保留。可见使用PB开发的C/S结构的MIS***向B/S结构移植的关键在于如何对C/S结构中的用户对象的改造使之可以让Web服务器调用并将结果以HTML文档的形式送回浏览器上。对用户对象加以改造主要有以下两种方案:
(1)利用Web.pb向导程序生成可以调用指定用户对象中的某一函数的网页。这种方法快而简单,但生成的网页较单一而且样式普通。
(2)将用户对象中的函数稍加改动使之返回一定的字符串,这些字符串即为HTML文档,可直接传递给浏览器显示。首先用数据存储的Object.Datawindow.data.htmltable方法来获得一个数据表而不是用Getfullstate函数捕获源数据窗口的当前状态。然后再用脚本语言给它加上文件头和文件尾。下面的例子就是一个典型的改造过程:
一个典型的用户对象中的函数 改造后的函数
…… ……
ds_employ.Retrieve() ds_employ.Retrieve()
ll_rv= ds_employ.Getfullstate(lblb_data) st=ds_employ. Object.Datawindow.data.htmltable
…… // 定义HTML文件头
String is_header=”<html><head>”
String is_title=”<title>产品清单</title></head>”
String is_body=”<body>产品清单</body>”
// 定义HTML文件尾
String is_foorer=”</body></html>”
St_rv= is_header+ is_title+ is_body+ st+ is_foorer
Return St_rv
经过改造完毕的函数就可用HTML语言直接调用了。对于一部分用户界面可以利用PB的Window Plug_in 内插件使浏览器在预定位置显示该窗口,该窗口的运行和PB应用程序中的窗口的运行几乎一致。当浏览器装载一个包含Window Plug_in 数据源的主页时,浏览器将自动装载这个内插件的执行库和PB的运行文件,然后,在主页中显示起始的窗口。用户可以使用这个窗口中的控件来和浏览器进行交互。Window Plug_in的执行原理如图1所示。
具体的改写步骤如下:
(1)将初始窗口的类型设为Child。
(2)移去所有对全局变量的引用,包括在应用一级定义的全局变量和库中的窗口名称。
(3)将应用中和MID框架窗口的Open事件中的起始代码移到初始窗口的Constructor事件中。
Claims (3)
1.一种C/S结构向B/S结构移植的方法,其特征在于,所述方法包括以下过程:
首先,C/S结构的应用***向B/S结构移植的实现;使用PB开发的C/S结构的MIS***向B/S结构移植;
(1)原有C/S结构的MIS***的数据库可以完全保留,应用服务器中的企业逻辑大部分可以保留,剩下的一部分仅做修改即移植到B/S结构中,而用户界面中的一部分改造而加以保留;
(2)原有C/S结构的MIS***中的企业逻辑主要有两大部分:数据窗口对象、用户对象;用户对象的改造使之让Web服务器调用并将结果以HTML文档的形式送回浏览器上。
2.根据权利要求1所述的一种C/S结构向B/S结构移植的方法,其特征在于,所述对用户对象加以改造主要有以下两种方案:
(1)利用Web.pb向导程序生成可以调用指定用户对象中的某一函数的网页;
(2)将用户对象中的函数稍加改动使之返回一定的字符串,这些字符串即为HTML文档,直接传递给浏览器显示。
3.根据权利要求1所述的一种C/S结构向B/S结构移植的方法,其特征在于,所述HTML文档首先用数据存储的Object.Datawindow.data.htmltable方法获得一个数据表,然后再用脚本语言给它加上文件头和文件尾。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610894842.5A CN106528090A (zh) | 2016-10-14 | 2016-10-14 | 一种c/s结构向b/s结构移植的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610894842.5A CN106528090A (zh) | 2016-10-14 | 2016-10-14 | 一种c/s结构向b/s结构移植的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106528090A true CN106528090A (zh) | 2017-03-22 |
Family
ID=58332146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610894842.5A Withdrawn CN106528090A (zh) | 2016-10-14 | 2016-10-14 | 一种c/s结构向b/s结构移植的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528090A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108404A (zh) * | 2017-12-08 | 2018-06-01 | 沈阳化工大学 | 一种利用原有c/s结构改造成b/s结构mis***的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477562A (zh) * | 2002-08-19 | 2004-02-25 | 万达信息股份有限公司 | C/s结构的信息管理***上分布式数据处理的方法 |
CN101478574A (zh) * | 2009-01-21 | 2009-07-08 | 深圳职业技术学院 | 一种基于b/s结构的远程监护***及其方法 |
-
2016
- 2016-10-14 CN CN201610894842.5A patent/CN106528090A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477562A (zh) * | 2002-08-19 | 2004-02-25 | 万达信息股份有限公司 | C/s结构的信息管理***上分布式数据处理的方法 |
CN101478574A (zh) * | 2009-01-21 | 2009-07-08 | 深圳职业技术学院 | 一种基于b/s结构的远程监护***及其方法 |
Non-Patent Citations (2)
Title |
---|
王军 等: "C/S结构向B/S 结构的移植", 《沈阳化工学院学报》 * |
陈丹 等: "C/S 模式向B/S 模式移植的研究", 《襄樊学院学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108404A (zh) * | 2017-12-08 | 2018-06-01 | 沈阳化工大学 | 一种利用原有c/s结构改造成b/s结构mis***的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Research on lightweight MVC framework based on spring MVC and mybatis | |
US7836119B2 (en) | Distributed execution model for cross-organizational declarative web applications | |
CN115617327A (zh) | 低代码页面搭建***、方法及计算机可读存储介质 | |
KR20130126901A (ko) | 온라인 문서 편집의 동기화 | |
CN103383645A (zh) | 代码生成方法及*** | |
CN106528090A (zh) | 一种c/s结构向b/s结构移植的方法 | |
Betari et al. | Model transformations in the MOF meta-modeling architecture: from UML to codeIgniter PHP framework | |
Barzdins et al. | Domain specific languages for business process management: a case study | |
CN105302551B (zh) | 一种大数据处理***的正交分解构造与优化的方法及*** | |
US9454390B2 (en) | Executable code generated from common source code | |
CN103491161A (zh) | 交互云应用中ast部分复制和同步方法 | |
CN111949267B (zh) | 一种ui前端生成方法及装置 | |
CN108108404A (zh) | 一种利用原有c/s结构改造成b/s结构mis***的方法 | |
Domoszlai et al. | Editlets: type-based, client-side editors for iTasks | |
Tesoriero et al. | Transformation architecture for multi-layered webapp source code generation | |
CN101883130B (zh) | 页面流会话信息的保存方法及装置 | |
Ruby | Ruby | |
Meijer | Democratizing the cloud | |
Armbrust et al. | Piql: A performance insightful query language for interactive applications | |
Fernandez et al. | Java2SDG: stateful big data processing for the masses | |
Yi et al. | Design and Implementation of Music Web Application based on Vue and Spring Boot | |
Ranabahu et al. | Towards cloud mobile hybrid application generation using semantically enriched domain specific languages | |
Shroff et al. | InstantApps: A WYSIWYG model driven interpreter for web applications | |
Weigel et al. | Large-scale collaborative analysis and extraction of web data | |
Zahoor et al. | Web application fact extractor (WAFE) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170322 |
|
WW01 | Invention patent application withdrawn after publication |