项目经验交流:用瘦客户端程序取代web
去年底接到一个软件项目,是要为某垄断企业做一个业务数据分析系统。用oracle数据库,数据量非常大,至少要保存5、6年的数据供查询。服务器放在机房里,工作人员在各自的办公电脑里查看数据、图表等,以进行业务处理。
可以看出,这是一个典型的数据库应用,并且使用者是在办公电脑里操作的,因此,大家可能都想到了:用web方式!
刚开始,我们考虑了几种供选择的方式:
1、oracle+iis+asp
2、oracle+c#+asp.net
3、oracle+tomcat+jsp
4、oracle+jboss+ejb+jsp
但是我们基本对web开发一知半解,需要学习很多东西,并且大家学习web的积极性也不高。后来就想到一个办法:全部用vc实现,用瘦客户端的方式。经过半年多的努力,终于顺利完成了项目。
方案:
1、在服务器端装一个程序,24小时运行,用ado访问数据库。
2、做一个简单的html,链接到客户端程序,用户访问该页面,即让他下载并安装客户端程序。
3、客户端程序用tcp连接服务器程序,进行数据、指令的交换,实现各种业务功能。
4、客户端程序不访问数据库,不用第三方控件,只要拷贝到硬盘里就可以运行。
总结了一下,用这种方式有一下几种好处:
1、现在web、j2ee、三层结构、中间件等等大行其道,大家开口就是weblogic,闭口就是stucts,瘦客户端方式好像被人遗忘了。但实际上,有很多分布式应用是用这种方式实现的,包括:大名鼎鼎的QQ、很多证券分析软件、一些个人银行软件(如招行)、中国游戏中心,等等。
2、web开发需要学习很多东西,非常繁琐,并且新概念层出不穷。需要学习:html、css、javascript、asp等等。并且用web做软件非常麻烦,例如做一个菜单、一个树形,用应用程序只要拉一个控件,而web却要写一大堆脚本。
3、自己实现服务器端和客户端的通讯协议,可以自行控制、优化,灵活性好。
朋友,当你被一大堆中间件、模式等名词迷惑的时候,当你在为实现下拉菜单、为保存用户操作状态、避免页面间跳转而烦恼的时候,你是否想过:web不是唯一的选择,请放弃web,用最原始的方式,实现最先进的功能。
------解决方案--------------------我们的客户,是坚决不会去安装什么ActiveX控件或者Applet这些额外要求安装的东西的.嘎嘎.