在電腦技術領域,有一條“摩爾定律”,由英特爾名譽董事長戈登.摩爾經過長期觀察發現得之,是指集成電路上可容納的晶體管數目,約每隔18個月便會增加一倍。在軟體領域內何嘗不是如此?從某種程度上尤甚。 92年剛上大學的時候面對的是8088機,程式開發則是使用命令列介面的Turbo C2.0,Foxbase資料庫等“土槍土砲”,什麼網路化程式設計、並發處理、事務控制等概念還聞所未聞。 96年大四臨畢業做畢業設計的時候我們一位姓藤的老師帶畢業設計,向我們介紹了客戶機/伺服器模式的程式開發,使用的工具是Sybase/PowerBuilder,現在連當初PowerBuilder的版本都忘記了,客戶機/伺服器模式的開發理念還沒等理解的了就離開校門。畢業到了國稅局,看到了區域網路方式的徵收軟體,用的是NetWare文件伺服器和Foxpro2.5,程式裡為了解決並發處理存在著大量的為表或記錄加鎖並解鎖的代碼,為了某個表到底是獨佔打開還是共用打開程式設計師絞盡腦汁。 90年代末期大量C/S的應用出現在工作上,VB+SQL Server模式、PowerBuilder Sybase模式、Delphi+MS SqlServer模式等等,在C/S的方式下,程式設計師就已經得到了很大的解脫,不用去費力地考慮資料庫的加鎖與解鎖問題,但要考慮事務處理、兩階段提交與回溯、資料一致性等問題。之後伴隨著網路的熱潮出現了B/S架構的應用系統,CGI、PHP、ASP、JSP技術逐漸流行起來。但不論是Client/Server還是Browser/Server架構,都有一個致命的缺點,就是各自為陣,無法擺脫「資訊孤島」的厄運,無法實現分散式系統的整合,舉一個最簡單的例子,委託某軟體公司開發了一套進銷存管理和庫存管理的系統,又買了一套財務軟體,都是C/S結構的,兩個系統沒有辦法通訊,記帳憑證還需要手動輸入。技術人員為了解決這種問題,通常使用交換資料檔案的方式,例如使用等寬的標準化的TXT文件,針對資料輸出系統編寫資料輸入系統能認可的資料匯出文件,再由資料輸入系統手動匯入。這種方式即時性差,資料容易在交換過程中遺失等。有的乾脆編寫了通訊的Socket程式[Figure 1],如金稅工程發票交叉審計系統總局、省局、市局審計系統之間的通訊與整合就是採用了這種方式。
展開