当前位置: 代码迷 >> CGI >> 基于CGI(c)的Web新型架构LAPC/F解决方法
  详细解决方案

基于CGI(c)的Web新型架构LAPC/F解决方法

热度:346   发布时间:2012-02-29 16:44:10.0
基于CGI(c)的Web新型架构LAPC/F
一、Web开发新架构LAPC/F介绍

          LAPC/F(Linux+Apache+PostgreSQL+gcc(c)/FastCGI)架构是一种新型网站架构,它延续了传统CGI   (c)的发展,通过最新技术的拓展组合,弥补了传统CGI(c)的缺陷,并具有完全免费、性能优越、功能强大、开发敏捷、安全稳定、多操作系统平台支持等突出优势,以至于有希望成为革命性的web开发架构。

          LAPC/F是一组软件和技术整合而成的架构,其中包括Linux(操作系统)、Apache(Web服务器软件)、PostgreSQL(数据库)、gcc(c)(c编译器)以及一批辅助开发工具:dtd(数据库表定义文件处理器for嵌入式SQL)、cspp(csp页面预处理器)、cpp   (c语言中文标识符预处理器)。LAPC/F   Web架构最终由功能强大的c语言实现其应用代码。

          c语言是一种高效、灵活、通用、富有控制力的强势高级语言,广泛用于高端开发和底层设计,近年来日渐活跃的Linux操作系统大部分就是用c编写而成,最初的动态网页开发也是基于c语言,但由于没有丰富的CGI(c)函数库支持、可怕的web请求-进程级生命周期给操作系统的过重负载、输出HTML   的烦琐等缺陷,以及后来出现了asp、jsp、php专业web开发脚本语言,以至于渐渐没落,仅仅在web请求频率低、嵌入式web应用、安全要求高等应用环境还有少量使用。

          CGI(c)   函数库的严重缺乏也是导致用c开发web应用大量减少重要原因,目前网上流行的CGI(c)   函数库主要是国外的cgilib和libcgic,但同出开源的两者都只拥有少的可怜的参考资料和说明文档,中文资料更是寥寥无几,相比之下jsp等   web开发语言却拥有大量丰富的CGI类库和开发资料。因此LAPC/F架构组(目前只有我一个人,呵呵呵~)花费数月时间研究了CGI规范和   cgilib、libcgic函数库,开发出集大成者iCGI函数库,拥有使用简单、功能强大、方案完整等诸多特点,还包含独创的HTML模板技术,使得   CGI(c)开发变得快捷和高效,同时又保留了c语言的编译特性,速度大大快于jsp、asp、php等脚本解释语言。

          FastCGI运行框架的出现使得CGI(c)克服了web请求-进程级生命周期弱点,其基本原理是CGI应用进程转化为常驻内存的守护进程(UNIX/Linux里的概念术语,相当于windows里的服务进程)处理web请求,这样就省略了高频率进程初始化创建和销毁的过程,大大减轻了操作系统的负担,该框架目前在国外被广泛用于高负载网站体系(比如google、yahoo等大型高流量网站)。有关FastCGI运行框架请访问官方网站www.fastcgi.com获取信息。

          csp页面技术的出现摆脱了CGI(c)开发中烦琐的HTML输出表达,开发过程类似于jsp、asp、php等脚本语言的书写方式,把脚本代码直接嵌入到HTML里,然后通过csp预处理器(cspp)和c编译器处理成可执行文件,整个过程可以用makefile自动处理,程序员唯一要做的仅仅是在HTML里书写c代码,这和其它web开发脚本语言开发方式几乎一样。

          具有革命性的c语言中文标志符预处理技术ccp允许c语言源代码和csp页面源代码中使用中文来命名变量和函数而不丝毫影响编译后的可执行代码,这将源代码更容易阅读和维护,而这仅仅在应用架构时打开,对于应用程序员来说不需要做任何额外的工作就可以任意的使用中文标志符来编写程序源代码。

          高度自动化的数据库表配置工具dtd能自动分析数据库表定义文件导出数据库表创建、销毁SQL脚本以及嵌入式SQL开发所需要的源代码文件,这将使数据库表管理在开发时更容易修改和更具效率。dtd同时导出ccp所需要的中文字典文件,使嵌入式SQL源代码文件里的SQL语句中直接使用中文表名和中文字段名,更加提高c语言程序源代码的可读性。


二、选用LAPC/F网站架构的优势

        1.完全免费:包括操作系统Linux,LAPC/F架构所选用的软件几乎都是开源免费软件,所以除了硬件和技术培训上的投入外,在平台方面近乎是零成本投资。

        2.性能优越:由于网站应用程序全都是用c语言开发,其编译性要比asp、php、jsp等脚本开发解释语言在执行速度上占有绝对优势。jsp虽然是编译成中间代码再由JAVA虚拟机解释执行,在解释型语言中速度是最快的,但终究不能与编译型语言c语言相比(理论上LAPC/F应用比java应用执行速度约快一个数量级)。此外,架构所选用的软件虽然都是开源软件,但性能绝对不让商业软件,内核伸缩自如的开源操作系统Linux、世界上使用最广泛的web   服务端软件Apache、功能比商业数据库还强大的以稳定著称的高端开源数据库PostgreSQL,每个都是开源世界里的经受实践环境考验过的精英组合而成。

        3.功能强大:由于直接用c编程,那么原则上操作系统里一切可利用的功能都可以被加以善用,比如拥有线程控制能力、unix   ipc操作、windows系统级调用,一切在应用开发中能用到的函数库、类库、动态链接库、组件库等等你也都可以在LAPC/F中轻松调用。

        4.开发敏捷:一旦c代码也能像asp、php那样嵌入到HTML里去之后,c程序员和asp程序员一样,不再为关心HTML的输出所烦恼了,一切工作皆由csp页面预处理器自动完成。ESQL(嵌入式SQL)的引入使得网站源代码的可移植性大大增强,从PostgreSQL到Oracle的移植仅仅是改变包含的头文件名以及重链库文件即可完成,当然,你如果熟悉makefile则更快。c语言中文标志符预处理技术的引入使得代码更容易编写、理解和维护,甚至可以在源代码嵌入式SQL语句中用中文代替英文表名、字段名等。

        5.安全稳定:脚本语言开发的网站经常为脚本源代码泄露而烦恼,LAPC/F架构采用的是把源代码编译成可执行文件运行,即使偷盗者获取到运行文件,面对反向工程出来的巨量汇编代码,简直就是自找苦吃。当然,该架构对开发人员的要求也比较高,如果说有安全隐患,那也是因为网站设计不合理或者编码人员的素质问题。

        6.多操作系统平台支持:虽然Linux是LAPC/F架构的原生环境,但由于架构所采用的软件有多操作系统版本,所用技术也遵从标准化,所以理论上   LAPC/F架构是跨平台的(目前只有Linux版本,计划2007年4月份前后推出Windows版本),无论您现在拥有什么样的操作系统,   LAPC/F都能够在其上面无功能歧视、稳定的运行。

        LAPC/F拥有如此多的优势以至于有希望成为革命性的web架构。

相关请访问官方中文网站   http://lapcf.calvinwilliams.name/

谢谢所有关注中国自主Web技术创新发展的IT人,衷心期待您的参与~   ^_^

------解决方案--------------------
不错的创意, 一直都非常期待.

比较:
http://www.eybuild.com/develop/

------解决方案--------------------
学习...
------解决方案--------------------
  相关解决方案