整合開源技術的輕量級的 Web Application Framework 設計思路

yr365發表於2004-04-30
現在基於 J2EE 的應用,或多或少的都會採用某些 FrameWork, 著名的有開源的 Struct 等。儘管如此,這些框架系統的門檻還是比較高,對初級程式設計師或不很熟悉J2EE的程式設計師具有一定的難度。

從開發效率上來講,如 Struct 等還沒有徹底把程式設計師從介面任務上解脫,離“程式設計師全部精力集中於業務邏輯開發”的目標尚有距離。

本人在這裡提出一個整合開源技術的輕量級應用框架設計思路,希望能拋磚引玉,瞭解各位對應用框架的認識、需求,如果能就此形成有價值的東東實在是一件大好事。



一個框架要解決的問題,首先要專注於基本方面:

1、徹底的分離介面與程式設計,解決介面部分的開發工作量;

2、資料庫-關係對映,解決物件持續化方面的問題;

在此之上,可以繼續解決高一個層次的問題:

1、使用者及許可權

2、業務流程管理(工作流)

3、企業應用最常用的帳務(資金、庫存等)

4、其他

達到第二個層次,此框架就可以升級為極有價值的“業務流程管理平臺”。

所謂輕量級,是跟其他框架結構相比而言的。此應用框架希望達到:在使用者看來,只有一個 html 原始檔、一個頁面配置檔案、一些 ORM 配置檔案和相應的業務邏輯程式碼開發即可。


基本整合方案

介面部分,整合 XMLC (www.enhydra.com)。XMLC 是一項很先進的技術,徹底分離了表現層與邏輯和控制層,對.html檔案進行編譯生成Java物件,對此物件程式設計即可控制介面元素。

資料庫部分,整合 Hibernate 或其他 ORM 產品。在此推薦 jaxor (jaxor.sf.net)。jaxor使用程式碼預生成技術,對關係表生成對映物件介面和對應的操縱物件,具有簡便、易上手、高效率的特點。

有了這兩大基礎,配置一個“頁面配置檔案”(Page Config xml file),對框架主處理程式通知其頁面配置檔案的ID,依據此頁面配置執行。

在頁面配置檔案當中,還可以使用 Jython / BeanShell 等Java類指令碼,描述頁面事件處理內容。這樣,可以基本不寫或少寫 Java 程式碼,就可以得到需要的頁面。



J道高手雲集,期望道友對此框架思路價值予以評價。

相關文章