替代传统C/S和B/S技术的下一代客户/服务器编程技术
替代传统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技术在实际中的广泛应用, 其固有的缺点也日益显露出来:
Ø 用网页来实现复杂的用户界面比GUI难
原因在于: Html的设计初衷是展示静态内容, 而不是实现动态交互的用户界面.
Ø 开发一个程序需用多种编程语言,增加了开发难度, 也损害了系统整体的逻辑一致性
实现用户界面要使用: html,JavaScript,css;
业务层和DAO层使用另外的一种编程语言(如Java).
Ø 需“web应用服务器”软件,增加系统成本
Ø 难以使用客户端的本地资源.
为了克服B/S技术的这些缺点, 在继承其优点的前提下, 本人用Oz语言(http://www.mozart-oz.org/)实现了该客户/服务器编程技术.
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技术相比, 采用该技术后将会产生良好的经济效益:
Ø 不需使用昂贵的应用服务器软件, 这会大大降低系统成本.
Ø 使用一种编程语言开发以及使用GUI会提高开发效率, 从而降低软件的开发成本, 缩短系统交付时间.
Ø 使用该技术和Oz语言开发的软件比使用面向对象语言开发的软件模块化程度高, 更易于重用和维护, 从而减少维护成本.
juwenguang2000@yahoo.com.cn 济南
ppt下载地址: https://files.cnblogs.com/forrestju/替代传统C-S和B-S技术的下一代客户-服务器编程技术.ppt
为了能让大家使用该技术, 现在把该技术开源, 具体源代码和数据库下载链接为:
软件启动器源代码: https://files.cnblogs.com/forrestju/starter.zip
应用程序(只有服务器端, 不需客户端)源代码和数据库: https://files.cnblogs.com/forrestju/app.zip