替代传统C/S和B/S技术的下一代客户/服务器编程技术

forrestju 2010-03-25 10:45:00
替代传统C/S和B/S技术的下一代客户/服务器编程技术

鞠文广

该技术是为克服传统C/S和B/S技术的固有缺点而提出的替代技术. 它具备传统C/S和B/S技术的优点, 而克服了它们各自的缺点, 可以作为下一代客户/服务器编程技术而广泛使用.

1 用该技术开发的应用程序运行示例
(1) 在服务器端, 直接运行应用程序, 不需使用应用服务器.
(2) 在客户端, 打开通用的“软件启动器”(如图1). 在其中输入要运行的应用程序的url. 应用程序的客户端就会运行(如图2), 同时软件启动器自动关闭. 再往后就和操作一般的GUI软件一样了: 登录后, 出现应用程序的主界面(如图3商业管理软件的进货管理).
*注: 这里的商业管理软件只是简单的技术原型.

2.为什么要替代现有的B/S技术?
现有的B/S技术在历史上之所以能替代传统C/S技术, 主要原因在于: 用该技术开发的软件不需在客户机上安装和配置.
但随着B/S技术在实际中的广泛应用, 其固有的缺点也日益显露出来:
(1) 用网页来实现复杂的用户界面比GUI难
原因在于: Html的设计初衷是展示静态内容, 而不是实现动态交互的用户界面.
(2) 开发一个程序需用多种编程语言,增加了开发难度, 也损害了系统整体的逻辑一致性
实现用户界面要使用: html,JavaScript,css;
业务层和DAO层使用另外的一种编程语言(如Java).
(3) 需“web应用服务器”软件,增加系统成本
(4) 难以使用客户端的本地资源.
为了克服B/S技术的这些缺点, 在继承其优点的前提下, 本人用Oz语言实现了该客户/服务器编程技术.

3. 三种客户/服务器编程技术的比较
表1 传统C/S和B/S编程技术与该技术的比较

特性 传统C/S B/S 该技术
是否需在客户机上安装和配置 需要 不需 不需
应用程序间互操作性的实现 未做了解 繁琐 易
所需使用的开发语言数量 1种 3种 1种
是否GUI界面 是 否 是
使用客户端资源的难易 易 难 易
是否需应用服务器 不需 需要 不需

由表1可看出, 该技术具备传统C/S和B/S编程技术的优点, 而克服了它们固有的缺点, 从而可以作为替代C/S和B/S技术的下一代客户/服务器编程技术.
与现有的B/S技术相比, 采用该技术后将会产生良好的经济效益:
(1) 不需使用昂贵的应用服务器, 这会大大降低系统成本.
(2) 使用一种编程语言开发以及使用GUI会提高开发效率, 从而降低软件的开发成本, 缩短系统交付时间.
(3) 使用该技术和Oz语言开发的软件比使用面向对象语言开发的软件模块化程度高, 更易于重用和维护, 从而减少维护成本.

联系方式: juwenguang2000@yahoo.com.cn 济南
...全文
179 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
forrestju 2010-04-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 osomc 的回复:]
早在很多年前就有提出了javascript服务器端,只不过被人淡忘了
实际上我们服务器语言一直在更新,换了一批又来一批,而客户端大家基本上都选择了javascript。客户端已经很统一了
如果真能让javascript在服务器端解释运行的话,我相信一定会比其他的一些要好的多,依然保持B/S,依然是只要你有浏览器
做的好一点,你爱用什么浏览器就用什么浏览器。爱用什么平台都可以,只要你支持浏览器……
[/Quote]
javascript不是一个真正的编程语言, 它是没有真正设计思想而拼凑的.
OSOMC 2010-04-02
  • 打赏
  • 举报
回复
早在很多年前就有提出了javascript服务器端,只不过被人淡忘了
实际上我们服务器语言一直在更新,换了一批又来一批,而客户端大家基本上都选择了javascript。客户端已经很统一了
如果真能让javascript在服务器端解释运行的话,我相信一定会比其他的一些要好的多,依然保持B/S,依然是只要你有浏览器
做的好一点,你爱用什么浏览器就用什么浏览器。爱用什么平台都可以,只要你支持浏览器
forrestju 2010-04-02
  • 打赏
  • 举报
回复
该技术是用Oz语言实现的. 用现在流行的编程语言c#,java等很难实现, 因为这两种语言抽象层次太低, 用它们做复杂的分布式编程很难.
jimyx123 2010-03-25
  • 打赏
  • 举报
回复
(1) 在服务器端, 直接运行应用程序, 不需使用应用服务器.
这应用程序不是服务器?
(2) 在客户端, 打开通用的“软件启动器”(如图1).
“软件启动器”这不是客户端?
forrestju 2010-03-25
  • 打赏
  • 举报
回复
请问怎么添加文件? 我有word文档.
forrestju 2010-03-25
  • 打赏
  • 举报
回复
现在公司都为了赚钱, 不直接带来利润的基础性的工作没人作. 市场经济的悲哀啊!

我一直想找家公司用该技术做软件, 从市场上验证该技术的优越性, 但没找到一家. 自己又没有那么多业余时间用它来开发实用的软件. 郁闷ing...
forrestju 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wn_1985 的回复:]
这和ria技术有什么区别?
[/Quote]

b/s 使用浏览器. 我实现的技术不使用浏览器, 界面是window图形用户界面, 而不是网页.
wn_1985 2010-03-25
  • 打赏
  • 举报
回复
这和ria技术有什么区别?
forrestju 2010-03-25
  • 打赏
  • 举报
回复
大家不要被那些微软,sun什么的公司里的程序员设计的语言所迷惑. 它们未经长期深入研究, 很多方面从设计出发点就不合理, 但靠垄断使它们的语言流行或说主流.

什么技术合理, 请三思, 不要盲从.
longlonglong25 2010-03-25
  • 打赏
  • 举报
回复
写的不错!!!!!!!!!顶。。。。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧