联盟首页 协同开发 共创软件 开放源码 软件工程 共创论坛 关于联盟
  您的位置 » 2004年10月29日  
通过SSL登录
新用户通过SSL注册

完全匹配   
项目摘要

项目维护

软件分类表
新发布软件
代码片断

项目名称: C/C++ Application Server:
文档管理: 显示文档


摘要| 管理| 首页| 论坛| 跟踪| 错误| 支持| 补丁| 电子邮件| 任务| 文档 |  调查| 新闻| CVS| 软件包|

提交新文档 | 查看文档 | 管理
Application Server

  Application Server,这是为了某项特殊的工作提供的独立的Web服务,例如Notes就自己可以用Web发布Note Script写的应用,Microsoft dot net,本质上也是一个Application Server。一个软件通过Web实现人机介面,这是Microsoft dot net的核心思想,采用C#完成一个Application Server当然是方便的,但是……

1. 理论上是要掏钱的(盗版当然就不用了)
2. 服务器必须是Windows的(当然,大部分PC服务器是Windows的)
3. 硬件功能必须很强大(其实P 4已经很便宜很强大了)
4. 必须要买一个显示器(因为Windows是图形介面的)
5. 黑客很容易钻进Windows(其实UNIX也很容易钻进去,事在人为)
6. 我讨厌Microsoft(这是真正的理由)

首先我们对其它技术做一个回顾。
  1.ASP/ASP+,脚本类技术,运行时解释执行
  2.JSP,可以编译后执行,采用字节码,需要虚拟机
  3.PHP,仍然是解释的脚本
  4.Perl,脚本…..

  这些都是我们正在使用的技术,目前我们享用的绝大多数网络资源都是靠它们完成的,它们都是只需要写字板就可以处理的技术,它们都是解释执行的。这使我想起了DOS时代,微软的GW-BASIC是那个时代程序员最容易入门的技术,GW-BASIC也是解释执行的。
  历史是重复的,现在的本机应用程序GUI介面技术已经很成熟了,网络应用程序仍然还在脚本和解释执行时代。Microsoft dot net要成为网络应用程序开发的标准,他不再犯当年Microsoft C输给Turbo C的错误,比尔盖茨永远是对的。
我们再回到Application Server,可能某些兄弟已经在疑虑,本机GUI应用程序肯定比Web运行得又好又快,但是Application Server不是在杀毒程序,VCD播放程序这些方面和本机GUI应用程序竞争。我认为传统的数据库应用程序(例如财务软件,管理软件),也就是Client/Server体系结构会被Browser/Server结构Application Server取代(这可是绝大多数中国软件公司的市场)。在dot com时代,B/S大家都知道的时髦口号,但是大家那时候也知道ASP写的Browser/Server结构程序实在是很慢,很容易出问题,很不便使用的。怎么办?用dot net,还有其它办法吗?那么和我一起来开发CAS吧!
我使用CAS这个词是自己想的,它起源于在HTML中嵌入C/C++代码,而且能够编译为本机代码。我认为这可以发展为一项(C/C++ Application Server)技术。
  我们知道效率最高的Web应用是ISAPI类的服务器进程内服务程序,其实比它更快的是不用Web服务器,比较烂的是CGI技术,CAS应该这三种方式都支持。

  我假定CAS能够满足以下几个特征

  1:免费,CAS应该是GNU的一个项目,作为中国程序员对FreeSoftware的贡献(我们好像贡献得太少,而红旗Linux就已经用FreeSoftware在挣钱了,还美其名曰“国产操作系统”,实在有些……)
  2:高性能,CAS应该可以开发比dot net更快的Application Server。这是CAS的基础。
  3:跨平台,至少支持Windows和主流的UNIX。
  4:灵活性,可以充分利用C/C++的全部特性。
  5:安全性,很重要的问题

  我希望CAS是高性能的,这要求CAS必须被编译为本地机器代码,或者说CAS的基础必须是最高性能的C/C++,CAS将程序员的代码最终产生C/C++源代码,通过C/C++编译器编译以后,最终成为跨平台可执行代码。CAS应该有一些技术规范,例如在HTML嵌入C/C++代码使用的Tag,每个HTML(Form)执行时参数传递的方式和路线,其它外挂库的连接和使用等等,我认为有兴趣的同到这些可以遵从一般C/C++CAS应该有以下模块。
 
1. 预编译器
2. Web介面可视化设计器
3. CGI接口库
4. 独立Web服务库
5. 服务线程管理或者服务排队管理
6. Apache API接口库
7. IIS ISAPI接口库

  目前,我独自在研究这个被我命名为CAS的东东,我使用Sun Solaris X86 8.0的操作系统,这个系统安装在一台128M RAM,P III 550的PC机上,我使用GNU的GCC 2.95编译器,Apache 1.3.20 Webserver。我对CAS的预研究到了以下的进展

  我做完了第一版的预编译器,可以将嵌入C/C++代码的HTML文件编译为C/C++源文件,并加入一个项目文件中,这个文件可以自动生成make文件(下一步做到支持Microsoft VC的dsp文件),我做完了CGI接口库,当前我的CAS编译出来的是标准CGI程序,性能至少强过Perl,资源消耗比目前的ASP,JSP肯定都小。其它尚为测试。

  我利用当前CAS正在开发一个Web-Mail系统,就是和163.net等的FreeMail系统是一样的,我希望做得比他们好。

  大家对CAS有兴趣的话,发mail到[email protected],我希望能够成立一个CAS小组共同完成CAS技术,我会建立一个网站来维护发展CAS。谢谢

李大刚
  20001-12-15


  » 合 作 伙 伴