回忆Web编程的岁月变迁

目录

引子

记忆的片断

[CGI / ISAPI](#CGI / ISAPI)

[何为 CGI / ISAPI ?](#何为 CGI / ISAPI ?)

一个小插曲

[ASP与我的ASP Builder](#ASP与我的ASP Builder)

ASP编程技术

[何为 Windows DNA ?](#何为 Windows DNA ?)

[什么是 COM+ ?](#什么是 COM+ ?)

ASP.NET

[什么是 ActiveX ?](#什么是 ActiveX ?)

IntraBuilder与我的InterBuilder

结尾


引子

凌晨三点醒了,大多的时候是这样。醒来后还是静静的斜躺在床上,暗暗地,不想看手机,怕影响了好不容易才能入睡的她。 想着今天又有一个 在线招聘项目 要开始了,捋捋所有需要部署和配置的点,似乎没有什么问题,这么多年来,其中一条经验提醒我,万事行动前做足了准备,结果基本都不会有太大偏差,轻视,是自己最大的敌人。

记忆的片断

时间有点久远,差不多回到二十几年前。还没毕业的我和一样志同道合的同学,走了一条不同寻常的道路,即是打工又是一种创业的状态,总之,能够从事软件开发工作,对于当时的我们,来之不易。

艰难是难免的,长辈们都认为我没有一份稳定的工作,让我放弃幻想,七嘴八舌的施压与不理解,真的让我受够了。有时也自己问自己,现在的状态真的不适合吗?

翻翻报纸,看看招聘信息:"天大天财股份有限公司招聘,大学学历,网页设计与ASP编程。。。"看名称感觉公司还不错。决定和同学一起去应聘一下吧,我俩关系很好,也看看实际的招聘现场是怎么样一个情境。

面试我的是一个叫丰年的丰总,这个名字印象让人深刻,挺好记的。命运对我总是戏剧化的,经过长谈,本来是成功后成为雇佣关系的,却转变成了合作关系。丰总让我给公司设计开发一套对外宣传的门户网站,一番讨价还价,签了一个协议,一周时间,8000块钱。我觉得钱有点少,但当时给我画的饼是如果这个网站设计好了,后续一定有合作的项目。

丰总的要求是淡雅而简约,设计类似中国银行那种网站风格,有了参照则顺利了很多,从设计到验收用了一周多的时间,就不算违约了。重要的是公司决定和我们合作下一个项目。

CGI / ISAPI

经过介绍我们来到了另一个子公司,进入了一个叫天津大学博士后工作站的地方,接待我的是赵总和另一个总负责的老师。提出的需求是设计一套大学图书馆管理系统,要求使用 CGI / ISAPI 来实现。说实话,当时都不知道这是个什么东东,只是在 DELPHI 的一本书上看过一眼,是一种 WEB编程技术。对方问我是否会使用这项技术,多长时间能够完成需求?想着钱对生活的"压力",拍着胸脯说,没问题,给我一个月的时间。有了丰总的背书,居然奇迹般的当场就签协议了。

首付款付了,拿钱就得给人家办事了。其实签了协议就知道压力来了,那时候获取学习信息不那么简单,ISDN 上网很贵还慢,于是和同学一起骑自行车去了天津大学对面的高教书店,这是我获取学习知识的唯一途径,也是平时经常光顾的地方。在书店就开始了蹭书与强记模式,找知识点,当时这可是我最大的乐趣之一,在茫茫书海,找到解决问题的方案和程序范例片断,别提有多开心了,现在想想年轻真好,当时的记忆力真是超强,回来就可以把代码复刻出来。

何为 CGI / ISAPI ?

说简单点儿,CGI 是可以被 HTTP 服务器加载的EXE,ISAPI 是可以被 HTTP 服务器加载的 DLL。详细介绍可阅读 https://baike.baidu.com/item/ISAPI/4445942?fr=ge_ala

一个小插曲

因为开发方法一样,开发的时候首选了CGI,因为在任务管理器中释放CGI的EXE进程比较简单,便于调试,但释放DLL就比较麻烦,甲方显示知道也遇到了这个问题,说要使用 ISAPI 开发模式,并给我们提供了一个叫 DLL Killer 的软件,至此,调试起来很开心。

ASP与我的ASP Builder

图书馆管理系统的开发、交付进展的还算顺利,曲折肯定是有的。甲方比较满意,在合作了两次的基础上,我提出了自己的建议,为什么不使用更先进的ASP编程呢?项目经理说领导正有这意思,于是我趁热打铁的和众位领导演示了我的 "王牌" 产品 ASP Builder 。

ASP Builder 是一款快速轻量化代码生成与设计工具,参照了 Visual FoxPro 和 Borland Delphi 的IDE与开发模式。拥有控件可视化设计器、代码CODE编辑器、数据库设计生成器(Paradox / MS SQL SERVER 2000 / ORACLE 9)、混合代码编译生成器等诸项功能。这款产品使用了我最崇拜的 Delphi 开发,历时了近一年的时间,但后期产生的效益还是很可观的。自此,我对于 RAD 的研究更加着迷,这完全要感谢我的授业恩师孙林 孙老师,是他把我带进了 Borland Delphi 那神圣的殿堂。

领导看完演示后很激动,或者说认可吧。不但要继续和我们合作第三个项目《天大天财ERP》之采购与销售模块,还想推广我的开发工具。赵总说这个ERP项目比较大,让我们一定要做好准备,并采用ASP结合COM+组件技术进行开发。这个我心里可自信的多了,因为曾经参照过 Windows DNA 的体系架构,设计了一套用 Delphi 开发的 CraneOffice DNA COM+ 分层结构 ,包括 ASP API、Business Controller 和 DataCenter 三层 COM+ 控制器。

有了 ASP Builder 的辅助和相关数据表设计文档,开发及交付用了三个月的时间,并得到了甲方的认可,自信值迅速提升。

ASP编程技术

ASP(Active Server Pages),是微软早期开发的创建动态交互式网页并构建web应用程序的编程技术。详细介绍请参照:https://baike.baidu.com/item/asp/128906?fr=ge_ala

何为 Windows DNA ?

其是 Windows Distributed interNetApplications Architecture 的缩写,是Windows 分布式集成网络应用体系结构的意思,详细介绍请参照 https://baike.baidu.com/item/Windows%20DNA/5799598?fr=ge_ala

什么是 COM+ ?

COM组件是微软开发的一种软件开发技术,可以设计专有功能的组件,构建复杂的应用。COM+是 COM 的新发展。详细介绍请参照:

https://baike.baidu.com/item/COM%E7%BB%84%E4%BB%B6/3351509?fromModule=lemma_inlink

https://baike.baidu.com/item/COM%2B/6036302?fr=ge_ala

ASP.NET

作为早期尝鲜体验 ASP.NET 的开发者,还要感谢陈啸先生,他当时是微软中国地区的销售总监兼MSN副总裁,可以说是他把MSN带入的中国市场,客户资源真的太重要,从交流中了解到 ASP.NET 及未来的 .NET 计划,初次体验后惊叹于它质的变化,而不仅仅是ASP技术的简单升级,虽然初期微软叫它 ASP+ ,即后来的 ASP.NET

第一个 ASP.NET 应用的项目是升级《法院信息管理系统》,在这里不得不提到这版本的最早开发模式,ActiveForm 模式,它是 Borland Delphi 提供的一个开发功能,本质是将 WinForm 开发封装成为了 ActiveX 控件嵌入到网页以实现Web应用。但要运行 ActiveX 需要配置安全选项,兼容性也是个问题,而且看起来怎么也不"像"个网页应用程序,但也不得不佩服 Delphi 的多功能开发和对Windows的完美支持,至少帮助了当时不懂得 Web 开发的我们解决了甲方的基本需求。

什么是 ActiveX ?

ActiveX 控件和 Java Applet 功能类似,是能够运行在浏览器中的插件程序,本质也是 COM 组件技术。详细介绍请参照:https://baike.baidu.com/item/ActiveX%E6%8E%A7%E4%BB%B6/3350733?fr=ge_ala

IntraBuilder与我的InterBuilder

IntraBuilder 是 Borland 公司计划推出适用于Intranet 的web开发工具(主要目标为 NetScape网景浏览器),当时看到这则消息时,我们异常兴奋了好一阵子,因为终于可以用传统CS的开发模式以最小的成本来实现 Web 应用了。但现实很残酷,根本买不到,那时一进入天津鞍山西道,一群大姐们会蜂拥而至,问:"大哥,要盘吗?",卖盗版盘是那个时代一道靓丽的风景线。你要问:"姐姐,有 IntraBuilder 吗?",回答肯定是:"有,嘛都有!跟我走。。。",我是真期待她们知道这东西,但我太天真了。 因此我的 AspBuilder 的升级版 InterBuilder 诞生了,目标很明确,支持 ASP.NET

结尾

04年成立了图灵公司,名称喻意也很明显。伴随着ASP.NET的应用,微软 .Net 的诞生,我们也结束了颠沛流离的半自由职业时代。岁月的变迁,技术的迅猛发展,再回首过去的时光,恍若隔世。一个个的项目,一个个的人,一次次的刷新着自己的认知。

感谢陈啸先生的大力支持,也佩服他的魄力,毅然辞掉了微软高管的职位,做自己想做的事,也跟着他学习接触了一些新鲜技术。这件事也更深深触动了我,不再为别人不理解的眼光而分神,坚持自己的选择,即使失败了,这个过程也足以让我回味,即使失败了,忽略那些幸灾乐祸人的眼光,因为还有很多人支持鼓励我,此生无憾事。

相关推荐
DEARM LINER17 分钟前
mysql 巧妙的索引
数据库·spring boot·后端·mysql
码农幻想梦1 小时前
实验九 视图的使用
前端·数据库·oracle
影子落人间1 小时前
Oracle创建存储过程,创建定时任务
数据库·oracle
大G哥1 小时前
02、Oracle过滤和排序数据
数据库·oracle
开心工作室_kaic3 小时前
ssm010基于ssm的新能源汽车在线租赁管理系统(论文+源码)_kaic
java·前端·spring boot·后端·汽车
代码吐槽菌3 小时前
基于SSM的汽车客运站管理系统【附源码】
java·开发语言·数据库·spring boot·后端·汽车
伏虎山真人3 小时前
开源数据库 - mysql - 组织结构(与oracle的区别)
数据库·mysql·开源
大力水手~4 小时前
css之loading旋转加载
前端·javascript·css
精致先生4 小时前
问题记录01
java·数据库·mybatis
Nguhyb4 小时前
-XSS-
前端·xss