CN101984438A - 一种在线自助建站、创建应用服务与开发在线软件的方法 - Google Patents
一种在线自助建站、创建应用服务与开发在线软件的方法 Download PDFInfo
- Publication number
- CN101984438A CN101984438A CN 201010561998 CN201010561998A CN101984438A CN 101984438 A CN101984438 A CN 101984438A CN 201010561998 CN201010561998 CN 201010561998 CN 201010561998 A CN201010561998 A CN 201010561998A CN 101984438 A CN101984438 A CN 101984438A
- Authority
- CN
- China
- Prior art keywords
- page
- data
- template
- language
- assembly
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种在线自助建站、创建应用服务与开发在线软件的方法。方法步骤一:在线开发页面、页面组件;步骤二:将页面创建为独立的站点、或应用服务、或在线软件。有益效果:为互联网在线自助建站、创建应用服务与开发在线软件提供了一套完整的方法,更是支持多用户,支持多语言,而且为开发WEB网站、WAP网站、在线应用软件等等提供了一套统一的解决方案;独创了基于脚本语言及XSL语言的在线开发方法,为互联网在线应用软件开发模式带来一个全新的突破;提供了对象化管理数据的方法,规范了数据的定义,且引入了多语言的机制为数据标准化奠定基础;多用户的独立性,交互性,单点登录将互联网社区化走的更远。
Description
技术领域
本发明涉及自助建站、互联网开放平台、云计算、互联网在线应用服务及软件开发、软件及服务SAAS,更具体地说,涉及一种在线自助建站、创建应用服务与开发在线软件的方法。
背景技术
互联网创造了经济神话。企业网站、门户网站、电子商务网站、社区网站,手机WAP站点,移动互联网,客户服务管理系统CRM、办公自动化系统OA等在线应用软件等等层出不穷,它们的增长速度都是任何预测家未曾预料到的。然而互联网在线开发的技术却没有得到快速的发展。现有市场上的自助建站平台也仅仅实现了简单的建站功能,无法满足用户需求多变万化的需求,无法实现多语言,而且也没有提出规范化的数据管理方法,仍然没有实质性的解决互联网数据孤岛的问题。
发明内容
本发明的目的是解决以上提出的问题,提供一种在线自助建站、创建应用服务与开发在线软件的方法。
本发明的技术方案是这样的:
一种在线自助建站、创建应用服务与开发在线软件的方法,所述的站、应用服务、软件包括至少一个页面,所述的页面包括页面组件,方法如下:
步骤一:在线开发页面、页面组件;
步骤二:将页面创建为独立的站点、或应用服务、或在线软件;
步骤一的实现方法是通过脚本语言及XSL开发页面及页面组件,方法如下:
1)使用脚本语言及XSL可扩展样式表语言开发页面及页面组件的页面模板,页面模板以XML格式进行存储;
2)使用页面模板引擎执行页面及页面组件的页面模板;
2.1)使用脚本语言执行引擎执行页面模板上的脚本语言,将伺服端业务数据格式化输出成XML格式的数据;
2.2)将XML数据通过页面模板上的XSL可扩展样式表语言转换成页面语言;
3)页面与页面组件之间构成关联关系,在页面上操作页面组件,所述的一个页面包含至少一个以上页面组件;所述的一个页面组件可关联到至少一个以上页面;页面模板引擎执行页面的页面模板脚本代码时,使用页面模板引擎执行与页面关联的页面组件的脚本语言与XSL语言,并输出数据且作为整个页面XML数据源的一部分;
4)通过页面组件直接对其关联的数据进行编辑,或者对其关联的数据模板自定义数据字段,页面组件获取数据的方法是:用脚本语言经过引擎格式化输出伺服端业务数据,步骤如下:
4.1)对象数据管理(Object Data Manager)技术对业务数据存储系统的操作进行封装并向脚本语言提供可访问与操作业务数据的对象指针,其步骤如下:
4.1.1)基于对象数据模板约束可操作的数据值类型、数据字段、枚举集合、多语言、对象数据之间的关联;
4.1.2)对象化封装访问与操作业务数据;
4.1.3)向脚本语言提供可访问与操作业务数据的对象指针;
4.1.4)页面组件与对象数据模板之间构成关联关系。页面组件具有对象数据模板(pageportlet),被封装成对象。该对象数据模板(pageportlet)存有数据字段(entityTemplate),存储的值为关联的对象数据模板名称;
4.1.5)页面与页面组件之间构成关联关系。页面也具有对象数据模板(page与pageportlet),被封装成对象。该对象数据模板(page)存有数据字段(portlets),存储的值为与之关联的页面组件编号及该组件在页面上的位置/层次信息;
4.2)对象化封装访问与操作业务数据:把对象数据模板的访问与操作封装成对象(object),该对象拥有创建对象数据模板对应的存储表,对象数据也封装成对象;
4.3)向脚本语言提供可访问与操作业务数据的对象指针,所述的指针包括封装对象数据模板操作的对象以及其对象代理、封装对象数据操作的对象以及其对象代理、查询器、过滤器、归组器,脚本代码通过所述指针访问与操作业务数据。
作为优选,所述的页面模板开发可在客户端,开发好的页面模板可发送或保存至伺服端。所述的页面模板引擎执行是在伺服端。
作为优选,所述的对象数据模板以XML格式进行存储。
步骤二的实现方法:通过跳转方式、链接路径的方式,或通过设置页面组件的关联配置,将所述的页面构成站。
作为优选,通过访问页面以及页面之间的链接跳转完成对站的访问;通过通用逻辑事务访问页面。
作为优选,所述的通用逻辑事务包括浏览页面、提交事务处理、载入文件、脚本文件执行、推送。
作为优选,站及页面支持多语言,多语言可以下途径进行设置:
1)页面的配置,强制指定当前页面使用的语言;
2)针对访问用户的配置,强制指定访问者访问该站时使用的语言;
3)页面请求的语言;
4)客户端设置的语言;
所述的设置的优先级是逐级递减。
作为优选,所述的语言信息记录在逻辑事务会话中。
作为优选,所述的方法建立的多个站之间通过业务数据存储系统使用脚本语言进行数据共享。
作为优选,所述的站之间的数据共享的操作权限采用组权限策略。
作为优选,所述的一个站被设定为主站。
作为优选,所述的站之间通过会话交换技术实现单点登录。
作为优选,还可以使用页面语言转换程序可将页面语言转换成PDF、SWF格式。
本发明的有益效果如下:
(1)为互联网在线自助建站、创建应用服务与开发在线软件提供了一套完整的方法,更是支持多用户,支持多语言,而且为开发WEB网站、WAP网站、在线应用软件等等提供了一套统一的解决方案。
(2)独创了基于脚本语言及XSL语言的在线开发方法,为互联网在线应用软件开发模式带来一个全新的突破。
(3)提供了对象化管理数据的方法,规范了数据的定义,且引入了多语言的机制为数据标准化奠定基础。
(4)多用户的独立性,交互性,单点登录将互联网社区化走的更远。
(5)开发者、用户、服务商,为互联网提供一种新的商务模式。
附图说明
图1是站点、应用服务、软件的结构示意图;
图2是伺服端业务数据格式化输出成XML格式的数据的示意图;
图3是页面组件与页面之间的执行过程;
图4是对象数据管理技术的实现方法的示意图;
图5是CSS样式规则的示意图;
图6是页面组件的部件的样式规范定义示意图;
图7是通用逻辑事务的示意图;
图8是站之间进行联系的示意图;
图9是组权限策略的示意图;
图10是各权限选项优先级以及依赖关系的示意图;
图11是由页面及页面组件构成的网站的示意图;
图12是组件管理菜单的示意图;
图13是定制开发工具的界面的示意图;
图14是对象数据模板的自定义的示意图;
图15是对象数据的管理的示意图;
图16是枚举集合的一种实施例——多选的示意图;
图17是枚举集合的一种实施例——单选的示意图;
图18是枚举集合的一种实施例——多级多选的示意图;
图19是枚举集合的一种实施例——多级单选的示意图;
图20是多语言站及页面的一个实施例——中文页面的示意图;
图21是多语言站及页面的一个实施例——英文页面的示意图;
图22是会话交换的一个实施例的示意图;
图23是会话交换的另一个实施例的示意图。
具体实施方式
下面结合附图对本发明的实施例进行进一步详细说明:
一种在线自助建站、创建应用服务与开发在线软件的方法,所述的站、应用服务、软件包括至少一个页面,所述的页面包括页面组件,方法如下:
步骤一:在线开发页面、页面组件;
步骤二:将页面创建为独立的站点、或应用服务、或在线软件;
步骤一的实现方法是通过脚本语言及XSL开发页面及页面组件,方法如下:
1)使用脚本语言及XSL可扩展样式表语言开发页面及页面组件的页面模板,页面模板以XML格式进行存储;
2)使用页面模板引擎执行页面及页面组件的页面模板;
2.1)使用脚本语言执行引擎执行页面模板上的脚本语言,将伺服端业务数据格式化输出成XML格式的数据;
2.2)将XML数据通过页面模板上的XSL可扩展样式表语言转换成页面语言;
3)页面与页面组件之间构成关联关系,在页面上操作页面组件,所述的一个页面包含至少一个以上页面组件;所述的一个页面组件可关联到至少一个以上页面;页面模板引擎执行页面的页面模板脚本代码时,使用页面模板引擎执行与页面关联的页面组件的脚本语言与XSL语言,并输出数据且作为整个页面XML数据源的一部分;
4)通过页面组件直接对其关联的数据进行编辑,或者对其关联的数据模板自定义数据字段,页面组件获取数据的方法是:用脚本语言经过引擎格式化输出伺服端业务数据,步骤如下:
4.1)对象数据管理(Object Data Manager)技术对业务数据存储系统的操作进行封装并向脚本语言提供可访问与操作业务数据的对象指针,其步骤如下:
4.1.1)基于对象数据模板约束可操作的数据值类型、数据字段、枚举集合、多语言、对象数据之间的关联;
4.1.2)对象化封装访问与操作业务数据;
4.1.3)向脚本语言提供可访问与操作业务数据的对象指针;
4.1.4)页面组件与对象数据模板之间构成关联关系。页面组件具有对象数据模板(pageportlet),被封装成对象。该对象数据模板(pageportlet)存有数据字段(entityTemplate),存储的值为关联的对象数据模板名称;
4.1.5)页面与页面组件之间构成关联关系。页面也具有对象数据模板(page与pageportlet),被封装成对象。该对象数据模板(page)存有数据字段(portlets),存储的值为与之关联的页面组件编号及该组件在页面上的位置/层次信息;
4.2)对象化封装访问与操作业务数据:把对象数据模板的访问与操作封装成对象(object),该对象拥有创建对象数据模板对应的存储表,对象数据也封装成对象;
4.3)向脚本语言提供可访问与操作业务数据的对象指针,所述的指针包括封装对象数据模板操作的对象以及其对象代理、封装对象数据操作的对象以及其对象代理、查询器、过滤器、归组器,脚本代码通过所述指针访问与操作业务数据。
作为优选,所述的页面模板开发可在客户端,开发好的页面模板可发送或保存至伺服端。所述的页面模板引擎执行是在伺服端。
作为优选,所述的对象数据模板以XML格式进行存储。
步骤二的实现方法:通过跳转方式、链接路径的方式,或通过设置页面组件的关联配置,将所述的页面构成站。
作为优选,通过访问页面以及页面之间的链接跳转完成对站的访问;通过通用逻辑事务访问页面。
作为优选,所述的通用逻辑事务包括浏览页面、提交事务处理、载入文件、脚本文件执行、推送。
作为优选,站及页面支持多语言,多语言可以下途径进行设置:
1)页面的配置,强制指定当前页面使用的语言;
2)针对访问用户的配置,强制指定访问者访问该站时使用的语言;
3)页面请求的语言;
4)客户端设置的语言;
所述的设置的优先级是逐级递减。
作为优选,所述的语言信息记录在逻辑事务会话中。
作为优选,所述的方法建立的多个站之间通过业务数据存储系统使用脚本语言进行数据共享。
作为优选,所述的站之间的数据共享的操作权限采用组权限策略。
作为优选,所述的一个站被设定为主站。
作为优选,所述的站之间通过会话交换技术实现单点登录。
作为优选,还可以使用页面语言转换程序可将页面语言转换成PDF、SWF格式。
如图1所示,一个Web网站、Flash网站、WAP站点或者在线应用软件等实际上都是由一系列页面构成的。同时,一个页面是由一系列页面组件组成的。页面组件即为实现一个特定功能需求的单元。在这里所指页面不局限于WEB网页,还包括WAP页面、应用服务界面、在线软件界面,以及各种终端设备在线访问浏览的客户端界面。页面是由语言来实现,在客户端被解析显示给用户界面。例如网页、Web在线应用软件界面通常使用HTML、XHTML等语言。手机WAP站点通常使用WML语言。
通过脚本语言及XSL开发页面及页面组件。页面组件虽然其特定的功能需求不一样,但其开发方式与页面的开发方式却都是一致的。
如图2所示,一种被称之为页面模板的技术,其实现方法:
1)通过脚本语言将伺服端业务数据格式化输出成XML格式的数据(称之为数据源)。这种脚本语言,用户是可以根据实际业务需要在线实时可编写的。为此我们提供了格式化脚本语言(GScript)以及脚本语言执行引擎(GScriptEngine)。
2)将XML数据源通过XSL可扩展样式表语言转换成页面语言。
3)页面语言也可经过转换程序(或称为引擎)转换成其他页面语言,本实施例中,可以转换成PDF、SWF格式。
4)页面模板(Page Template Engine)引擎调用脚本语言执行引擎(GScriptEngine)执行页面的脚本代码。
5)在执行页面的脚本代码时使用页面模板引擎执行每个页面组件的脚本语言与XSL语言,并输出数据且作为整个页面XML数据源的一部分。
6)页面模板引擎将页面的XML数据源经过XSL再转换成页面语言。
步骤4)、5)、6)为页面组件与页面之间的执行过程,如图3所示。
页面模板引擎包含三部分:
1、脚本语言执行引擎;
2、XSL转换XML数据源成页面语言;
3、页面语言转换成其他页面语言的程序或引擎。
页面模板引擎执行是在伺服端。页面代码的开发可以在客户端,开发好的代码可发送或保存至伺服端。页面代码包含以下两部分:
1、整个页面的脚本语言与XSLT;
2、页面中每个页面组件的脚本语言与XSLT。
我们已提供了浏览器在线开发工具。这工具在浏览器上就可以支持编写格式化脚本语言(GScript),页面模板(Page Template),JS,CSS,国际化语言文件I18n(internationalization,本意是指软件的“国际化”),XML等。此极大的方便开发者随时随地开发页面及页面组件。
所述的在线开发工具,实现的方法如下:
(1)选定脚本语言(GScript)及脚本语言执行引擎(GScriptEngine);
(2)用户使用上述的语言根据业务需求编写脚本代码;
(3)客户端把脚本代码发送或保存到伺服端;
(4)由伺服端脚本语言执行引擎执行上述的脚本代码;
(5)执行的结果数据输出返回给客户端。
所述的执行引擎是格式化脚本语言执行引擎(GScriptEngine),用于接收传入的脚本代码,结合缓存会话(context)与请求(request)进行解析、执行代码,在解析执行过程中根据代码指令依次封装输出用户所需的数据。
所述的缓存会话(context)存储引用操作结构化/非结构化数据库的指针、引用操作文件/缓存数据/其它数据资源的指针、引用操作CPU/其它硬件设备的指针,以及存储在代码过程中根据用户指令临时产生的变量。
所述的请求(request)存储页面请求的参数名与参数值。
所述的格式化脚本语言执行引擎(GScriptEngine)入口参数主要包含脚本代码输入流(inputstream)、缓存会话(context)、请求(request)、输出编码(encoding)、结果数据输出流(outputstream)、启用调试模式(debug)。
所述的格式化脚本语言执行引擎解析代码的算法是变-分的方法,所述的变是指文本字符串不断的经过匹配替换而变成新的字符串,所述的分是指被替换的字符串进行分隔演变成多个新的字符串,算法按变-分-变-分-变循环处理。
其特征在于,所述的格式化脚本语言执行引擎处理代码的过程步骤如下:
(1)将脚本代码输入流转换成文本字符串;
(2)根据脚本指令函数语法变-分处理依次形成指令函数集合;
(3)按顺序依次执行指令函数;
(4)指令函数计算的结果根据指令函数的特性依次封装输出用户所需的数据。
所述的指令函数顺序为:先执行其函数参数集合,而后依次函数体内部的子指令函数。
指令函数参数集合执行时,对参数字符串进行分处理,依次分割成多个参数字符串,然后进行变处理。
所述的执行的结果数据的格式基于用户编写的脚本代码指令。
所述的业务数据的输出内容及格式可以是XML、JSON、XML+XSL、XML+XSLT。
脚本代码发送或保存到伺服端的步骤是:由服务商提供入口,通过网络传送至伺服端,当客户端请求访问脚本代码时伺服端会自动调用脚本语言执行引擎对其解析、执行,并返回结果数据。
通过指令函数调用引用指针的属性或方法对业务数据进行操作,将执行的结果数据再通过指令函数格式化输出。
基于脚本语言扩展开放数据接口(API),可以通过扩展指令函数,或通过在缓存会话(context)中引入对象指针的方式很容易扩展数据接口,或定义类名使用assign指令函数构造类对象。
脚本代码在伺服端的信任,采用现有公认的PKI安全体系及技术就可有效解决脚本代码在伺服端的信任问题。
伺服端解析执行页面模板引擎与脚本语言执行引擎的安全防护:
(1)引擎本身确保解析过程的安全,XPATH函数或指令函数执行的安全。
(2)脚本语言引用的对象指针可以使用安全策略文件限定可访问的属性与方法。
(3)页面模板引擎与脚本语言执行引擎。其所在的运行时环境例如JAVA语言其所需JVM虚拟机。可在运行时环境中加入安全策略。
■使用沙盒。让解析执行在受限的沙盒中运行。
■处理时长计时。控制解析执行的时间。达到限制时间后,处理将中断。
■限制脚本代码或页面模板的文件大小、语句数量。
■限制临时变量缓存的数量及大小,或者使用硬盘缓存策略。
■利用线程空闲及睡眠sleep控制CPU占用率。
■控制存在循环因素的XSLT对象,或指令函数被循环调用的次数。
■采用虚拟机。
■其它安全措施。
(4)监控解析执行情况,辅助安全防护。
用户开发好的或者配置好的页面与页面组件可保存,以便下次创建时引用或复制。同时也可以共享给其它用户,与其它用户分享页面或页面组件。
用户可快速引用或复制已开发好的页面或页面组件。这些可以是服务商提供的,也可以是自己开发的或配置好的,也可以使第三方开发者开发提供的。这些通常会被称为站点模板、页面模板、通用页面组件、定制页面组件、第三方页面组件等等。同时,(1)用户可手工对这些组件进行配置。配置包括内容显示设置、组件特效例如漂浮、关联设置、样式定义等。当然也可以让系统自动调整设置。以方便用户快速设计一个漂亮美观实用的页面组件。(2)用户可以二次开发这些组件。让个性化发挥到极致,适应满足各种需求。
用户可删除页面或者页面组件,也可从历史记录中恢复被删除掉的页面或页面组件。
用户在页面上就可自由通过鼠标拖拉或通过键盘调整各个组件各自所需位置\大小\上下显示层次。可见无需为页面创建布局,也无需编辑窗口或其它控制功能模块,就可以对页面进行排版。
所见即所得。页面上的组件添加、配置、拖拉调整、移除、二次开发等这些变化即与在浏览时是实时保持一致的。
如图4所示,通过页面组件可快速对其关联的数据进行编辑,或者对其关联的数据模板自定义数据字段。通常一个组件会与一种数据类型关联。例如用于显示最新新闻列表的与新闻news数据进行关联。页面组件获取数据的方法是用脚本语言经过引擎格式化输出伺服端业务数据。使用脚本语言,用户就可以通过代码指令根据自己的意图格式化输出数据。同时也可操作业务数据。
我们提供一种对象数据管理(Object Data Manager)技术对业务数据存储系统的操作进行封装并向脚本语言提供可访问与操作业务数据的对象指针,其步骤如下:
1、基于对象数据模板约束可操作的数据值类型与数据字段
2、对象化封装访问与操作业务数据
3、向脚本语言提供可访问与操作业务数据的对象指针
4、页面组件与对象数据模板之间构成关联关系。
对象数据模板,以XML格式进行存储,用户可自定义数据模板。对象数据模板有时候我们简称为对象模板。其定义的数据字段我们称为对象属性。对象数据则被简称为对象。
1、如何约束定义数据字段
(1)XML定义规范该规范定义了:
①版本号。
②数据模板的别名,中英文。可扩展支持更多的语言。
③定义数据的显示别名、访问与操作数据的权限约束、数据验证器、数据触发器、数据枚举。数据枚举用于指定该数据模板的某个数据字段的值是从枚举集合中选择的,单选或者多选。
④定义该数据模板包含的数据字段,以及其名称、值类型、是否为关键字、中英文别名、默认值、描述(可扩展支持更多的语言)、最小值、最大值、最小长度、最大长度、值正则表达式、是否输入安全、是否独立语言。是否为关键字,一个数据模板只有一个为关键字。是否独立语言表示该数字字段的值是否随着不同的语言其值不同,还是无论何种语言其值都一直。是否输入安全表示该数字字段用户输入时是否隐藏输入的字符,例如密码输入。
(2)自定义:
用户可扩展自定义新的数据字段。以及覆盖定义数据的显示别名、访问与操作数据的权限约束、数据验证器、数据触发器、数据枚举等。
2、数据值类型
对象数据管理技术中支持的值类型有:
*字符串型string
a)页面元素 Page Element 输入INPUT
b)最小长度 minLength 支持
c)最大长度 maxLength 支持
d)最小值 minValue 不支持
e)最大值 maxValue 不支持
f)值正则表达式 valueRegex 支持
g)输入安全 mputSecurity 支持
*整型integer
a)页面元素 Page Element 输入INPUT
b)最小长度 minLength 支持
c)最大长度 maxLength 支持
d)最小值 minValue 支持
e)最大值 maxValue 支持
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 支持
*短整型short
a)页面元素 Page Element 输入INPUT
b)最小长度 minLength 支持
c)最大长度 maxLength 支持
d)最小值 minValue 支持
e)最大值 maxValue 支持
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 支持
*双浮点数double
a)页面元素 Page Element 输入INPUT
b)最小长度 minLength 支持
c)最大长度 maxLength 支持
d)最小值 minValue 支持
e)最大值 maxValue 支持
f)值正则表达式 valueRegex 不支持
g)输入安全 mputSecurity 支持
*单浮点数float
a)页面元素 Page Element 输入INPUT
b)最小长度 minLength 支持
c)最大长度 maxLength 支持
d)最小值 minValue 支持
e)最大值 maxValue 支持
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 支持
*长整型long
a)页面元素 Page Element 输入INPUT
b)最小长度 minLength 支持
c)最大长度 maxLength 支持
d)最小值 minValue 支持
e)最大值 maxValue 支持
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 支持
*布尔型boolean
a)页面元素 Page Element 选择SELECT
b)最小长度 minLength
0或者1,小于0是为0,大于0时为1
c)最大长度 maxLength 不支持
d)最小值 minValue 不支持
e)最大值 maxValue 不支持
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 不支持
*大文本htext:string
a)页面元素 Page Element 输入TEXTAREA
b)最小长度 minLength 支持
c)最大长度 maxLength 支持
d)最小值 minValue 不支持
e)最大值 maxValue 不支持
f)值正则表达式 valueRegex 支持
g)输入安全 inputSecurity 不支持
*HTML大文本htext:html
a)页面元素 Page Element 输入TEXTAREA
b)最小长度 minLength 支持
c)最大长度 maxLength 支持
d)最小值 minValue 不支持
e)最大值 maxValue 不支持
f)值正则表达式 valueRegex 支持
g)输入安全 inputSecurity 不支持
*文件夹hfilefoder:hadoop
a)页面元素 Page Element 输入INPUT/选择SELECT
b)最小长度 minLength
0或者1,小于0是为0,大于0时为1
c)最大长度 maxLength 不支持
d)最小值 minValue 不支持
e)最大值 maxValue 不支持
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 不支持
*文件hfile:hadoop
a)页面元素 Page Element 输入INPUT/选择SELECT
b)最小长度 minLength
0或者1,小于0是为0,大于0时为1
c)最大长度 maxLength 不支持
d)最小值 minValue 不支持
e)最大值 maxValue 不支持
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 不支持
*编号值类型为长整型long的对象类型hthing:long
a)页面元素 Page Element 输入INPUT/选择SELECT
b)最小长度 minLength
0或者1,小于0是为0,大于0时为1
c)最大长度 maxLength 不支持
d)最小值 minValue 不支持
e)最大值 maxValue 不支持
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 不支持
*编号值类型为字符串string的对象类型hthing:string
a)页面元素 Page Element 输入INPUT/选择SELECT
b)最小长度 minLength
0或者1,小于0是为0,大于0时为1
c)最大长度 maxLength 不支持
d)最小值 minValue 不支持
e)最大值 maxValue 不支持
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 不支持
*指定对象模板的对象类型hthing:template#<对象数据模板名称>
a)页面元素 Page Element 输入INPUT/选择SELECT
b)最小长度 minLength
0或者1,小于0是为0,大于0时为1
c)最大长度 maxLength 不支持
d)最小值 minValue 不支持
e)最大值 maxValue 不支持
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 不支持
*日期型htime:date
a)页面元素 Page Element 输入INPUT/选择SELECT
b)最小长度 minLength
0或者1,小于0是为0,大于0时为1
c)最大长度 maxLength 不支持
d)最小值 minValue 特殊定义,参见后面
e)最大值 maxValue 特殊定义,参见后面
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 不支持
*时间型htime:timestamp
a)页面元素 Page Element 输入INPUT/选择SELECT
b)最小长度 minLength
0或者1,小于0是为0,大于0时为1
c)最大长度 maxLength 不支持
d)最小值 minValue 特殊定义,参见后面
e)最大值 maxValue 特殊定义,参见后面
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 不支持
*对象模板类型hthingbase:template
a)页面元素 Page Element 选择SELECT
b)最小长度 minLength
0或者1,小于0是为0,大于0时为1
c)最大长度 maxLength 不支持
d)最小值 minValue 不支持
e)最大值 maxValue 不支持
f)值正则表达式 valueRegex 不支持
g)输入安全 inputSecurity 不支持
*整型的XYZWH形式的空间位置类型hspace:xyzwh_int
该类型标定了X轴,Y轴,Z轴的位置。考虑到Web页面的二维的特性,Z轴数值是对应到CSS样式中的z-index值。在Web页面中X轴的值以1024为基准,Y轴的值是768为基准。另外X轴与Y轴还有两个对应的数值xPercent与yPercent,用于描述当前X轴的值与Y轴的值是否是百分比形式的。如果是百分比形式则在Web页面展示时须要乘以基准才能得到实际值。
该类型还标定了宽度W与高度H。在Web页面中宽度W以X轴的基准为基准,Y轴的值是以Y轴的基准为基准。同样还有两个对应的数值wPercent与hPercent,用于描述宽度W与高度H的值是否是百分比形式的。如果是百分比形式则在Web页面展示时须要乘以基准才能得到实际值。
*整型的RCWH形式的空间位置类型hspace:rcwh_int
该类型标定了行R(Row)与列C(Column)。在Portal布局中使用行列标定位置的。
该类型还标定了宽度W与高度H。在Web页面中宽度W以1024为基准,Y轴的值是以768为基准。同样还有两个对应的数值wPercent与hPercent,用于描述宽度W与高度H的值是否是百分比形式的。如果是百分比形式则在Web页面展示时须要乘以基准才能得到实际值。
*实体状态型htime:entitystate
用于描述实体所处的状态。运用实体所处的状态,将其作为该关系存在时间类型。
a)容器状态显示时’container.state=VIEW’
用于对象page与对象pageportlet之间。
b)任意时’*’
用于被引用与引用类关系。
对于日期型htime:date、时间型htime:timestamp的最小值minValue与最大值maxValue如下特殊定义:
(1)如果在大于-1小于1且不为0情况下0.<增量><最后一位>如下2-9项进行处理。否则为当前日期或创建日期(htime:date)或当前时间或创建时间(htime:timestamp)。
(2)如果<最后一位>为1,则<增量>计算为日,以当前日期或创建日期(htime:date)或当前时间或创建时间(htime:timestamp)为基准类推增量计算所得,例如0.11表示累加1日。
(3)如果<最后一位>为2,则<增量>计算为月,同上类推增量计算所得。
(4)如果<最后一位>为3,则<增量>计算为年,同上类推增量计算所得。
(5)如果<最后一位>为4,则<增量>计算为时,同上类推增量计算所得。
(6)如果<最后一位>为5,则<增量>计算为分,同上类推增量计算所得。
(7)如果<最后一位>为6,则<增量>计算为秒,同上类推增量计算所得。
(8)如果<最后一位>为7,则<增量>计算为毫妙,同上类推增量计算所得。
(9)如果<最后一位>为8或者9,无效。
另外值类型还有两种复杂的类型,复合类型与结构类型。
复合类型(complex)必须由简单类型(以上除hspace:xyzwh_int,hspace:rcwh_int外的所有类型)构成。复合类型定义方法为complex(<名称1><类型1><是否与语言无关false|true><是否安全输入false|true><最小长度NULL|数字><最大长度NULL|数字><语言1默认值|语言2默认值|…>,<名称2><类型2><是否与语言无关false|true><是否安全输入false|true><最小长度NULL|数字><最大长度NULL|数字><语言1默认值|语言2默认值|…>,…)。
结构类型(structure)由简单类型或复合类型构成。其定义方法为:structure{<名称1><类型1><是否与语言无关false|true><是否安全输入false|true><最小长度NULL|数字><最大长度NULL|数字><语言1默认值|语言2默认值|…>;<名称1><类型1><是否与语言无关false|true><是否安全输入false|true><最小长度NULL|数字><最大长度NULL|数字><语言1默认值|语言2默认值|…>;complex(<名称1><类型1><是否与语言无关false|true><是否安全输入false|true><最小长度NULL|数字><最大长度NULL|数字><语言1默认值|语言2默认值|…>,<名称2><类型2><是否与语言无关false|true><是否安全输入false|true><最小长度NULL|数字><最大长度NULL|数字><语言1默认值|语言2默认值|…>,…),…}。
3、枚举集合
以XML格式进行存储,用户可自定义或重载枚举集合。用户也可对其中一枚举集合自定义增加枚举项。其增加的方式就是重载枚举集合的方式。
(1)XML定义规范,该规范定义了:
①该枚举集合的名称;
②该枚举集合是否允许用户重载定义;
③该枚举集合的应用范围scope;
④中英文枚举集合别名,以及枚举项;可扩展支持更多的语言;
a)枚举项的值(key);
b)枚举项的文本(text);
c)枚举项的反向文本(reverse-text)。反向文本是不同角度去看。例如个人输入性别时会选择保密,而在服务商看来该性别文本不是保密而是未知。
(2)数据模板中如何引用枚举集合
在数据模板中通过关联数据字段方式与枚举集合关联。关联时可支持单选与多选。
①一对一关联,例如性别。
②一对多关联,例如区域包含省份、城市。
4、多语言
可扩展支持更多的语言。当数据字段标定为多语言时则该数据字段的值可根据不同的语言进行存储。
5、对象数据之间的关联
对象数据的关联,类似于SQL关系数据库中的主键与外键,系统使用了特殊的值类型方式进行关联。这些可关联的值类型有:
(1)编号值类型为长整型long的对象类型hthing:long。
(2)编号值类型为字符串string的对象类型hthing:string。
(3)指定对象模板的对象类型hthing:template#<对象数据模板名称>。
(4)文件夹hfilefoder:hadoop。其关联到文件夹filefolder对象数据模板。
(5)文件hfile:hadoop。其关联到文件file对象数据模板。
对象化封装访问与操作业务数据。我们把对象数据模板的访问与操作封装成对象(object)。该对象拥有创建对象数据模板对应的存储表,销毁存储表,添加与删除对象数据,添加、更新、删除数据字段,使用查询器query、过滤器filter、归组器group查询数据等的功能。我们把每一条对象数据也封装成对象。该对象则拥有访问与更新数据的功能。通过对象化就很容易将操作对象数据模板与对象数据的日志记录保留下来,为用户提供历史追溯,恢复与还原数据。
如是页面与页面组件各自都具有对象数据模板(page与pageportlet),也都被封装成对象。其中页面组件的对象数据模板存在一个数据字段(entityTemplate),其值类型为hthingbase:template,存储的值就是对象数据模板名称。从而使得页面组件与对象数据模板之间构成关联关系。另外还有一个数据字段(entityIdentity),其值类型为hthing:string,存储的值为对象数据的编号(id)。当该值存在时表示该页面组件与该对象数据之间构成关联关系。
向脚本语言提供可访问与操作业务数据的对象指针。这些指针包括封装对象数据模板操作的对象以及其对象代理、封装对象数据操作的对象以及其对象代理、查询器、过滤器、归组器等等。通过这些指针,脚本代码就非常容易访问与操作业务数据。
页面的语言代码规范,防止跨站脚本攻击(XSS,又叫CSS(Cross Site Script)。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。)入注漏洞,对客户端加载的性能优化,以及针对第三方商业服务例如搜索引擎优化(SEO,search engine optimization,)的优化等等。例如页面上js脚本文件、css样式文件进行了压缩(YUI compress),以提高浏览器加载页面的速度。
CSS样式定义的规范方法,该规范的方法在于:
(1)归类构成页面组件的部件,例如头部header、列表list、表格table、分页pagination。
(2)对部件逐个做样式规范定义。
(3)允许一个部件存在着多种形式,但这些形式都准守其样式规范定义。
(4)开发页面组件时就组合各种部件,并引用这些部件的样式。也就是说组件的样式是有这些部件的样式构成的。例如新闻列表的样式其由箱体box、头部header、列表list、表格table、分页pagination等的样式构成。
我们把组件主体划分为box箱体、list列表、pagination分页、block内容块等多个部件。其中box箱体必须存在,其分为三部分:header、body、footer。如下所述:
.box{}
.box.header{}
.box.body{}
.box.footer{}
<div class=″box″>
<div class=″header″>Company Introduce</div>
<div class=″body″>
Company Introduce............Company Introduce....................
</div>
<div class=″footer″></div>
</div>
box又根据组件不同分别划分为不同的组件box样式。例如company公司介绍,可以存在多种company-box,company-box-1,company-box2。
list等其它形式的则不具备根据组件不同进行划分,但可以存在多种例如list,list-1,list-2如附带的list.html页面。
<!-base-->
.box{}
.box.header{}
.box.body{}
.box.footer{}
<!-company-->
.company-box{
height:100%;
width:100%;
border:1px solid red;
font-size:16px;
}
.company-box.header{
font-weight:bold;
}
.company-box.body{}
.company-box.footer{}
<!-block-->
.block-1{color:gray;}
<div class=″box company-box″>
<div class=″header″>Company Introduce</div>
<div class=″body block-1″>
Company Introduce............Company Introduce....................
</div>
<div class=″footer″></div>
</div>
如上样式规则,如图5所示,原理是company-box系列定义的header,body,footer根据顺序会覆盖box定义的,而block-1系列样式定义会与company-box body,boxbody叠加样式。根据这个机制,我们就可以如是处理list了,如图6所示,我们已经对箱体box、头部header、文本text、表格table、幻灯片slide、滚动条scroll、分页pagination、浮动overlayer、导航栏navigator、列表list、窗体form、尾部footer、元素component、logo、homepage、favorite、TAB标签tabs等部件做出了规范定义。
页面的语言代码规范,防止XSS入注漏洞,对客户端加载的性能优化,以及针对第三方商业服务例如SEO的优化等等。例如页面上js脚本文件、css样式文件进行了压缩(YUI compress),以提高浏览器加载页面的速度。
每个用户通过一系列页面创建独立的站点,或应用服务,或在线软件。这里我们将站点,或应用服务,或在线软件都统一简称为站。
页面之间的跳转方式、链接路径可在开发中显示指定,也可通过页面组件的关联配置来进行设置。这样,这些页面就构成了一个完整的站。站的访问是通过访问页面以及页面之间的链接跳转完成的。
页面的访问方法。页面包括脚本文件(GScript)等都是通过通用逻辑事务(Action)进行访问的。通用逻辑事务通常根据需要被划分为浏览页面(VIEW),提交事务处理(POST),载入文件(LOAD),脚本文件执行(GSCRIPT),推送(PUSHLET)等,如图7所示。这些逻辑事务类似于传统的通用网关接口(CGI,Common Gateway Interface)。
逻辑事务在执行时会创建事务会话(ActionContext)。该事务会话仅在当前请求的过程中有效,当请求完毕后即刻销毁。在脚本代码(GScript)中引用该事务会话,即可间接性的引用到用户登录会话(Session Context),请求会话(Request Context),响应会话(Response Context),脚本会话(JS Context),样式会话(CSSContext),安全会话(Policy Context)等。用户的登录信息是在用户登录会话(Session Context)中记录;用户访问的页面信息及请求参数是在请求会话(Request Context)记录;脚本会话(JS Context)记录了被加载的JS脚本文件;样式会话(CSS Context)记录了被加载的CSS样式文件;等等。
页面的参数传递。页面的参数传递遵从URL或窗体FORM参数的定义规则。根据参数的有效范围被划分成两种,一是页面组件级的参数,其参数名包含了标定页面组件的特征信息,例如通常为页面组件编号加上-而后跟上参数名,类似于:<页面组件编号>-<参数名>。这样在页面组件脚本开发时就能有效获取与当前组件相关的参数。二是页面级的参数,其参数名不包含标定页面组件的特征信息。这些参数被请求后经过逻辑事务自动记录到请求会话(Request Context)。在脚本开发时引用该对象指针即可获得参数信息。另外,为防止XSS入注漏洞,通常参数值会经过XSS的过滤器,以避免恶意请求带来的安全隐患。
站及页面的多语言。多语言可通过多种途径进行设置:
1、页面的配置。强制指定当前页面使用的语言。
2、针对访问用户的配置。强制指定访问者访问该站时使用的语言。
3、页面请求的语言。
4、客户端设置的语言。
这些设置的优先级是从上往下降低。语言信息记录在逻辑事务会话(ActionContext)中。在脚本开发时很容易获得当前事务使用的语言。通过获取语言,再加上数据对多语言的支持,让开发者非常容易开发多语言页面或站。
站之间的联系。站之间相互独立,但是站之间又能互相共享。如图8所示,一个用户站试图去访问或操作另外一个用户站的数据时候需要受到另外一个用户站对其设置的权限所约束。用户站之间的数据共享仍然是通过脚本语言进行的。脚本语言所引用的对象数据模板操作指针具备访问其它用户站的对象数据的功能,但访问时受到其它用户站对当前用户站的权限约束。该约束是由系统来完成的。
我们提供了一种权限约束规则:
操作权限设计采用组权限策略。用户必须属于站的某个权限组,否则无论是否登录都被认为是匿名用户。我们认为拥有站A的用户是站A的拥有者。也就是站A是该拥有者的自己站。而访问用户是指访问该站的用户,可能是该站的注册用户,也有可能是个游客。
如图9所示,访问用户访问站A,权限控制依赖于用户在站A所在的组权限。当站A访问站B数据时,权限控制依赖于站A的拥有者在站B所在的组权限,并不会因为访问用户变化而发生变化。站B向站A开放数据操作权限时,将无法约束访问用户通过访问站A间接的操作这些数据。
安全权限级别划分为两级:(1)系统级(PLATFORM),由系统代理授权处理。(2)用户级,根据用户组权限进行授权处理。其中用户级又划分为两级,一为普通级GENERAL,该级别主要由权限对象控制。在事务处理过程中可授权忽略这些权限控制,从而能够更灵活的满足应用需求。二是私密级(PRIVATE),该级别主要由权限配置文件控制。除用户自身可突破该配置文件配置的权限控制外,其他人无论如何被授权均必须受这些配置所约束。通常用于用户保护私有数据,以阻止授权开发的人员试图通过代码访问到这些数据。
当用户访问自己站时则自动会忽略私密级(PRIVATE)与普通级(GENERAL)的安全限制。所以拥有者自身无论所处哪个群组都不受权限对象控制。
所述的系统级(PLATFORM)、私密级(PRIVATE)、普通级(GENERAL)都是我们在权限控制上定义的特定的标示符。
安全权限控制的优先策略如下:
i.“访问用户——站A——站B”
用户访问站A是以用户在站A的身份进行判断权限,也就是由站A控制。站A访问站B的数据则以站A在站B的身份进行判断权限,也就是说站B控制。访问用户到站A,站A可忽略当前站用户普通级GENERAL的权限控制。但是站A到站B,站A是无法忽略站B的用户普通级GENERAL的权限控制。
ii.用户的权限控制优先于组的权限控制
iii.对象数据(对象)的权限控制优先于对象数据模板(对象模板)的权限控制
iv.拒绝优先于允许
只要被拒绝则就认为被拒绝。若被允许,则仍然需要继续判断下一个是否被允许或拒绝。
v.多个组合的检查项,只要其中一个检查项被拒绝则就拒绝。例如访问对象数据模板(accessEntities),访问对象数据(objectAccess)。访问对象数据(objectAccess)依存于访问对象数据模板(accessEntities),所以只要其中一项被拒绝,则就拒绝,其检查项如图10所示。
所述的对象数据模板(accessEntities),访问对象数据(objectAccess)是在权限控制上定义的特定的标示符
安全权限与访问来源(referer,标准英文单词为referrer)。通用逻辑事务中有些事务例如提交事务处理(POST)与访问来源有关,如果访问来源与当前站不在同一个域时是被拒绝执行的。
单点登录(SSO,Single Sign On。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统)。设定其中一个站为主站,通常将服务商的站设为主站。用户在这些站之间通过会话交换技术(Session Switch)即可实现单点登录SSO。服务商是指为用户提供在线自助建站、创建应用服务与开发在线软件的提供商。其方法是利用浏览器的跨域安全限制,实现用户从一个站(称为来源)登录到另一个站(称为当前站)时的自动切换登录。
自动切换登录的基准如下:
1、当前站是主站,则以来源为基准进行切换登录。
2、果当前站不是主站,则以当前站为基准进行切换登录。
切换原则是始终不能以主站为基准。
在来源为基准下,(1)若来源已经登录则判断来源是否为访问者自己的站,(a)若是,访问者则可选择要么输入验证码切换登录到主站要么继续访问此页面。(b)若不是,则显示是否登录主站。(2)若来源未登录,则显示是否登录主站,与登录此站。
在当前站为基准下,(1)若已经登录主站,则访问者可选择要么输入验证码切换登录到当前站要么继续访问此页面。仅在登录主站的用户与当前站的拥有者(表示访问者正在登录自己的站)一致时才会自动登录。(2)若主站没有登录则显示是否登录到主站,与登录此站。
实施例
图11所示,图中,1是HTML框,2是导航栏,3是多语言,4是FLASH框,5是公司介绍,6是图片框,7是图片框。图1至图7都是页面组件,共同构成页面。
图12所示的是组件管理菜单。
图13所示的是定制开发工具的界面,图中,9是支持的语言,10是XML数据源,11是输出区,12是调试区,13是代码区。
图14所示的是对象数据模板的自定义操作界面;
图15所示的是对象数据的管理界面;
图16、图17、图18、图19所示的是枚举集合几种类型,分别是多选、单选、多级多选、多级单选。
图20、图21所示的是多语言站及页面,页面请求语言分别是中文、英文。
图22、图23所示的是会话交换的几种类型,分别包括登录主站后访问者自己的站、未登录主站时访问平台或站、登录主站后访问者访问其它用户的站、登录其它用户站(未登录主站)后访问自己的站、登录自己的站(未登录主站)后访问主站。
以上所述的仅是本发明的优选实施方式,应当指出,对于本技术领域中的普通技术人员来说,在不脱离本发明核心技术特征的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种在线自助建站、创建应用服务与开发在线软件的方法,所述的站、应用服务、软件包括至少一个页面,所述的页面包括页面组件,其特征在于,方法如下:
步骤一:在线开发页面、页面组件;
步骤二:将页面创建为独立的站点、或应用服务、或在线软件。
2.根据权利要求1所述的方法,其特征在于,步骤一的实现方法是通过脚本语言及XSL开发页面及页面组件,方法如下:
1)使用脚本语言及XSL可扩展样式表语言开发页面及页面组件的页面模板,页面模板以XML格式进行存储;
2)使用页面模板引擎执行页面及页面组件的页面模板;
2.1)使用脚本语言执行引擎执行页面模板上的脚本语言,将伺服端业务数据格式化输出成XML格式的数据;
2.2)将XML数据通过页面模板上的XSL可扩展样式表语言转换成页面语言;
3)页面与页面组件之间构成关联关系,在页面上操作页面组件,所述的一个页面包含至少一个以上页面组件;所述的一个页面组件可关联到至少一个以上页面;页面模板引擎执行页面的页面模板脚本代码时,使用页面模板引擎执行与页面关联的页面组件的脚本语言与XSL语言,并输出数据且作为整个页面XML数据源的一部分;
4)通过页面组件直接对其关联的数据进行编辑,或者对其关联的数据模板自定义数据字段,页面组件获取数据的方法是:用脚本语言经过引擎格式化输出伺服端业务数据,步骤如下:
4.1)对象数据管理(Object Data Manager)技术对业务数据存储系统的操作进行封装并向脚本语言提供可访问与操作业务数据的对象指针,其步骤如下:
4.1.1)基于对象数据模板约束可操作的数据值类型、数据字段、枚举集合、多语言、对象数据之间的关联;
4.1.2)对象化封装访问与操作业务数据;
4.1.3)向脚本语言提供可访问与操作业务数据的对象指针;
4.1.4)页面组件与对象数据模板之间构成关联关系。页面组件具有对象数据模板(pageportlet),被封装成对象。该对象数据模板(pageportlet)存有数据字段(entityTemplate),存储的值为关联的对象数据模板名称;
4.1.5)页面与页面组件之间构成关联关系。页面也具有对象数据模板(page与pageportlet),被封装成对象。该对象数据模板(page)存有数据字段(portlets),存储的值为与之关联的页面组件编号及该组件在页面上的位置/层次信息;
4.2)对象化封装访问与操作业务数据:把对象数据模板的访问与操作封装成对象(object),该对象拥有创建对象数据模板对应的存储表,对象数据也封装成对象;
4.3)向脚本语言提供可访问与操作业务数据的对象指针,所述的指针包括封装对象数据模板操作的对象以及其对象代理、封装对象数据操作的对象以及其对象代理、查询器、过滤器、归组器,脚本代码通过所述指针访问与操作业务数据。
3.根据权利要求2所述的方法,其特征在于,所述的页面模板开发可在客户端,开发好的页面模板可发送或保存至伺服端。所述的页面模板引擎执行是在伺服端。
4.根据权利要求2所述的方法,其特征在于,所述的对象数据模板以XML格式进行存储。
5.根据权利要求1所述的方法,其特征在于,步骤二的实现方法:通过跳转方式、链接路径的方式,或通过设置页面组件的关联配置,将所述的页面构成站。
6.根据权利要求5所述的方法,其特征在于,通过访问页面以及页面之间的链接跳转完成对站的访问;通过通用逻辑事务访问页面。
7.根据权利要求6所述的方法,其特征在于,所述的通用逻辑事务包括浏览页面、提交事务处理、载入文件、脚本文件执行、推送。
8.根据权利要求5所述的方法,其特征在于,站及页面支持多语言,多语言可以下途径进行设置:
1)页面的配置,强制指定当前页面使用的语言;
2)针对访问用户的配置,强制指定访问者访问该站时使用的语言;
3)页面请求的语言;
4)客户端设置的语言;
所述的设置的优先级是逐级递减。
9.根据权利要求8所述的方法,其特征在于,所述的语言信息记录在逻辑事务会话中。
10.根据权利要求1所述的方法,其特征在于,所述的方法建立的多个站之间通过业务数据存储系统使用脚本语言进行数据共享。
11.根据权利要求10所述的方法,其特征在于,所述的站之间的数据共享的操作权限采用组权限策略。
12.根据权利要求10所述的方法,其特征在于,所述的一个站被设定为主站。
13.根据权利要求12所述的方法,其特征在于,所述的站之间通过会话交换技术实现单点登录。
14.根据权利要求2所述的方法,其特征在于,还可以使用页面语言转换程序可将页面语言转换成PDF、SWF格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010561998A CN101984438B (zh) | 2010-11-27 | 2010-11-27 | 一种在线自助建站、创建应用服务与开发在线软件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010561998A CN101984438B (zh) | 2010-11-27 | 2010-11-27 | 一种在线自助建站、创建应用服务与开发在线软件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101984438A true CN101984438A (zh) | 2011-03-09 |
CN101984438B CN101984438B (zh) | 2012-09-05 |
Family
ID=43641607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010561998A Active CN101984438B (zh) | 2010-11-27 | 2010-11-27 | 一种在线自助建站、创建应用服务与开发在线软件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101984438B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103135993A (zh) * | 2013-03-13 | 2013-06-05 | 上海智变网络科技有限公司 | 一种根据客户个人特色要求快速设计个人网站的方法 |
CN103226469A (zh) * | 2012-01-20 | 2013-07-31 | 现代自动车株式会社 | Soi对象编辑设备和方法 |
CN103927209A (zh) * | 2014-04-16 | 2014-07-16 | 大连亿联科技股份有限公司 | Feebless建站引擎 |
CN104008115A (zh) * | 2013-02-27 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 一种wap页面标题栏显示方法及系统 |
CN104679874A (zh) * | 2015-03-10 | 2015-06-03 | 华北电力科学研究院有限责任公司 | 一种电网运行简报数据分析方法 |
CN106528719A (zh) * | 2016-10-27 | 2017-03-22 | 成都鼎桥通信技术有限公司 | 一种基于Http的动态即时自适应多语言处理方法 |
CN108376153A (zh) * | 2018-02-07 | 2018-08-07 | 厦门集微科技有限公司 | 一种网络页面制作方法及装置 |
CN109284469A (zh) * | 2018-10-23 | 2019-01-29 | 中山市晋华软件科技有限公司 | 网页开发框架 |
CN110889013A (zh) * | 2019-11-22 | 2020-03-17 | 北京锐安科技有限公司 | 一种基于xml的数据关联方法、装置、服务器及存储介质 |
CN111083567A (zh) * | 2018-10-19 | 2020-04-28 | 武汉斗鱼网络科技有限公司 | 直播客户端首页配置系统、存储介质、电子设备及方法 |
CN112433752A (zh) * | 2020-11-20 | 2021-03-02 | 泰康保险集团股份有限公司 | 页面解析方法、装置、介质及电子设备 |
CN113190780A (zh) * | 2021-05-10 | 2021-07-30 | 支付宝(杭州)信息技术有限公司 | 基于区块链的网站建设、信息查询方法、装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101025738A (zh) * | 2006-02-21 | 2007-08-29 | 广州保税区天懋数码电子商务有限公司 | 一种免模板动态网站生成方法 |
CN101286120A (zh) * | 2008-05-28 | 2008-10-15 | 北京中企开源信息技术有限公司 | 一种网站页面的制作方法和系统 |
CN101609399A (zh) * | 2008-06-20 | 2009-12-23 | 鸿富锦精密工业(深圳)有限公司 | 基于建模的智能化网站开发系统及方法 |
CN101611399A (zh) * | 2007-02-16 | 2009-12-23 | 罗凡 | 网页、网站建模和生成 |
CN101751421A (zh) * | 2008-12-08 | 2010-06-23 | 北京中星微电子有限公司 | 视频监控系统中数据库不对称同步方法、系统及装置 |
-
2010
- 2010-11-27 CN CN201010561998A patent/CN101984438B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101025738A (zh) * | 2006-02-21 | 2007-08-29 | 广州保税区天懋数码电子商务有限公司 | 一种免模板动态网站生成方法 |
CN101611399A (zh) * | 2007-02-16 | 2009-12-23 | 罗凡 | 网页、网站建模和生成 |
CN101286120A (zh) * | 2008-05-28 | 2008-10-15 | 北京中企开源信息技术有限公司 | 一种网站页面的制作方法和系统 |
CN101609399A (zh) * | 2008-06-20 | 2009-12-23 | 鸿富锦精密工业(深圳)有限公司 | 基于建模的智能化网站开发系统及方法 |
CN101751421A (zh) * | 2008-12-08 | 2010-06-23 | 北京中星微电子有限公司 | 视频监控系统中数据库不对称同步方法、系统及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226469A (zh) * | 2012-01-20 | 2013-07-31 | 现代自动车株式会社 | Soi对象编辑设备和方法 |
CN104008115A (zh) * | 2013-02-27 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 一种wap页面标题栏显示方法及系统 |
CN104008115B (zh) * | 2013-02-27 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 一种wap页面标题栏显示方法及系统 |
CN103135993A (zh) * | 2013-03-13 | 2013-06-05 | 上海智变网络科技有限公司 | 一种根据客户个人特色要求快速设计个人网站的方法 |
CN103927209A (zh) * | 2014-04-16 | 2014-07-16 | 大连亿联科技股份有限公司 | Feebless建站引擎 |
CN104679874A (zh) * | 2015-03-10 | 2015-06-03 | 华北电力科学研究院有限责任公司 | 一种电网运行简报数据分析方法 |
CN106528719A (zh) * | 2016-10-27 | 2017-03-22 | 成都鼎桥通信技术有限公司 | 一种基于Http的动态即时自适应多语言处理方法 |
CN108376153A (zh) * | 2018-02-07 | 2018-08-07 | 厦门集微科技有限公司 | 一种网络页面制作方法及装置 |
CN111083567A (zh) * | 2018-10-19 | 2020-04-28 | 武汉斗鱼网络科技有限公司 | 直播客户端首页配置系统、存储介质、电子设备及方法 |
CN111083567B (zh) * | 2018-10-19 | 2022-02-08 | 武汉斗鱼网络科技有限公司 | 直播客户端首页配置系统、存储介质、电子设备及方法 |
CN109284469A (zh) * | 2018-10-23 | 2019-01-29 | 中山市晋华软件科技有限公司 | 网页开发框架 |
CN110889013A (zh) * | 2019-11-22 | 2020-03-17 | 北京锐安科技有限公司 | 一种基于xml的数据关联方法、装置、服务器及存储介质 |
CN110889013B (zh) * | 2019-11-22 | 2023-04-07 | 北京锐安科技有限公司 | 一种基于xml的数据关联方法、装置、服务器及存储介质 |
CN112433752A (zh) * | 2020-11-20 | 2021-03-02 | 泰康保险集团股份有限公司 | 页面解析方法、装置、介质及电子设备 |
CN112433752B (zh) * | 2020-11-20 | 2023-11-17 | 泰康保险集团股份有限公司 | 页面解析方法、装置、介质及电子设备 |
CN113190780A (zh) * | 2021-05-10 | 2021-07-30 | 支付宝(杭州)信息技术有限公司 | 基于区块链的网站建设、信息查询方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101984438B (zh) | 2012-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101984438B (zh) | 一种在线自助建站、创建应用服务与开发在线软件的方法 | |
US6763343B1 (en) | Preventing duplication of the data in reference resource for XML page generation | |
CN103077185B (zh) | 一种基于对象的自定义扩展信息的方法 | |
US6810429B1 (en) | Enterprise integration system | |
US7013340B1 (en) | Postback input handling by server-side control objects | |
CN102129364B (zh) | 应用程序中嵌入微件工具栏的方法和快速访问微件的方法 | |
EP1164473A2 (en) | State management of server-side control objects | |
CN104375808B (zh) | 界面显示方法及装置 | |
CA2406565A1 (en) | Method and apparatus for using business rules or user roles for selecting portlets in a web portal | |
WO2002039310A1 (en) | Content publication system for supporting real-time integration and processing of multimedia content including dynamic data, and method thereof | |
CN102023856A (zh) | 根据用户的需求格式化输出及操作伺服端业务数据的方法 | |
JP2009531793A (ja) | ウェブコミュニティおよびウェブアプリケーションのデータを変換するシステムおよび方法 | |
CN103383645A (zh) | 代码生成方法及系统 | |
CN103179166A (zh) | 在客户端中提供服务的方法和客户端 | |
US20140013211A1 (en) | Content providing apparatus compatible with various terminal devices | |
CN104182228A (zh) | 一种创建网络应用的方法和系统 | |
CN105740309A (zh) | 基于portal平台的网站内容管理系统 | |
CN106201542B (zh) | 一种wof快速开发平台 | |
US20040205587A1 (en) | System and method for enumerating arbitrary hyperlinked structures in which links may be dynamically calculable | |
Brabrand et al. | A runtime system for interactive Web services | |
CN114661270A (zh) | 一种基于前后端分离的低代码设计系统及开发方法 | |
CN113626016A (zh) | 一种基于Vue+Element UI+Koa2的前后端分离的可重用组件 | |
US20100281403A1 (en) | Browser program and terminal device | |
Vogel et al. | Content conversion and generation on the web: A pattern language | |
KR101062215B1 (ko) | 웹 서비스 시스템 및 하이퍼 텍스트 마크업 언어로 제작된 웹페이지에 다양한 형식의 서브 웹페이지를 하이퍼 링크시키는 방법 |
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 |