Client/Web架構 和 解釋型Delphi或Delphi型Notes

網絡架構:TCP/HTTP(https)/INI(亞XML)
介紹見:http://www.ccw.com.cn/htm/center/net/02_4_9_17.asp
運行模式:客戶端動態加載服務器上的pas/dfm(文件或流)實現具體的業務操作界面
介紹見:http://liwei.csdn.net/Forum/topic.aspx?topicid=677&total=76&page=4

http://szhaitao.blog.hexun.com/12121564_d.html


http://szhaitao.blog.hexun.com/8872169_d.html

 

介紹一下我的MIS框架。。。。。。。。 
網絡架構:TCP/HTTP(https)/INI(亞XML)
  介紹見:http://www.ccw.com.cn/htm/center/net/02_4_9_17.asp
運行模式:客戶端動態加載服務器上的pas/dfm(文件或流)實現具體的業務操作界面
  介紹見:http://liwei.csdn.net/Forum/topic.aspx?topicid=677&total=76&page=4
數據庫實現模式:
  以抽象的各人的待辦事宜爲主線,它的每一條記錄就是一個工作任務(task,相當於工作模板form的一個實例)
記載了:
  本任務的當前辦事者(開始可能爲空,即多個人都可以辦,但是誰也沒選中它確定由自己來辦)
  本任務所屬的工作模板(form,一個業務流程裏的具體一個步驟界面),它將決定了用戶的操作界面和業務邏輯
  本任務所對應的具體業務表(table,只是爲了冗餘。一般form定了,它對應的pas就固定了操作的業務數據表)
  本任務所對應的業務記錄ID(在具體業務表中,一個業務可能涉及多個表、多條記錄,但是隻要有一個表的記錄ID就可以關聯過去了)
  其它信息就不是那麼關鍵,不一一列出了。
紛繁多變的具體業務邏輯和界面,就通過動態加載的dfm+pas來實現。
這樣比較徹底的實現了業務數據、業務界面、業務邏輯全部在後臺服務器。
3年前基本實現了一套,只是當時限於時間,INI@HTTP使用的不徹底,具體業務的form還是使用C/S直接ado+數據敏感控件訪問數據庫的,也還沒有采用動態dfm+pas的運行模式。

現在我是越來越希望儘量不用第三方控件。。。。。。
原話題(多層架構)裏的用到了activex技術(activeform),也是覺得是一個問題
鑑於現在ie下流氓軟件的猖獗,我個人是禁用一切activex的,包括flash
一些單位的b/s的oa系統,打印及導出excel等功能,必須使用activex,結果是他們的ie永遠無法安全
所以,我是更傾向於使用一個綠色的win32客戶端(首次使用可以從網站下載,以後可以從webserver自動檢測、更新自己)
與後臺的連接就採用http/https協議,後臺是一個delphi寫的isapi應用,負責真正與後臺的數據庫打交道
isapi的dll只負責數據的傳遞到客戶端和操作命令(及參數)傳遞到服務端。。。。。
這樣,客戶端是win32(或瀏覽器+js),收到數據後,顯示展現有win32或js實現,網絡中無須傳送與界面有關的html代碼,網絡裏傳輸的都是最純粹的數據
更進一步,實現一個基於delphi的win32客戶端+delphi語法腳本的Notes:
http://www.cndev.org/.imgdb/sn10100/GUID-CDCDBE17-AB26-4732-81C1-AF47E54D958E.jpg
(它其實是一個rar包,下載了轉存爲xxx.rar即可解壓,執行裏面的testLoadFormApp.exe即可,unit1.pas/dfm和unit2.pas/dfm就是2個實例,
testLoadFormApp.exe就是delphi的win32客戶端,它可以加載硬盤裏的pas/dfm文件,並把dfm對應的form顯示出來,而且實現pas裏的事件響應
就好像外部的pas/dfm是預先被編譯進exe的一樣!唯一的差別是,你修改了硬盤裏的pas/dfm文件,讓exe重新加載,即可看到你新改的代碼的效果!
這才證明外部的pas/dfm不是預先被編譯進exe的!)
很欣賞notes的架構:業務數據、業務表單、業務腳本都存儲在後臺的數據庫,使用時加載到前臺
只是一直受不了notes客戶端的龐大、不穩定,也不喜歡它的basic腳本,所以很想全部使用delphi實現類似的架構
上面的例子就是第一步,把外部的pas/dfm文件改進爲從webserver後臺動態下載加載,就做到了:業務數據、業務表單、業務腳本都存儲在後臺,使用時加載到前臺!
而設計這些業務表單,編寫調試這些業務腳本,都可以通過delphi來進行,只有調試通過了,才把它們的源代碼(有必要可以先加密)發佈到webserver,供已經在客戶電腦安家的exe來取得運行

gif演示動畫:
http://www.cndev.org/.imgdb/sn10087/GUID-56451A8B-5DC4-4706-B87D-C89CC1EEE642.jpg
http://www.cndev.org/.imgdb/sn10087/GUID-C6729A9D-3DFA-41D1-9D11-D550F7D5DCAE.jpg

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章