整合開源技術的輕量級的 Web Application Framework 設計思路
現在基於 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道高手雲集,期望道友對此框架思路價值予以評價。
從開發效率上來講,如 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道高手雲集,期望道友對此框架思路價值予以評價。
相關文章
- Midori:輕量級開源 Web 瀏覽器Web瀏覽器
- 58同城開源其輕量級Web框架ArgoWeb框架Go
- 強大的輕量級開源框架web.py安裝詳解框架Web
- iOS 一個輕量級的元件化思路iOS元件化
- Spring 5| 輕量級的開源JavaEE框架SpringJava框架
- lit Web元件:構建快速、輕量級的 Web 元件Web元件
- PhalApi(π框架) - PHP輕量級開源介面框架API框架PHP
- Python 如何開發高效漂亮的輕量級 Web 應用?PythonWeb
- core_framework —— 基於libev的輕量級lua網路開發框架Framework框架
- 輕量級Web框架Flask(二)Web框架Flask
- 輕量級卷積神經網路的設計卷積神經網路
- MASA Framework - 整體設計思路Framework
- CherryPy :一個輕量級的 Python Web 框架PythonWeb框架
- 我們開源了一個輕量的 Web IDE UI 框架WebIDEUI框架
- 輕量級卷積神經網路的設計技巧卷積神經網路
- 輕量級工作流引擎的設計與實現
- Oracle釋出開源的輕量級 Java 微服務框架 HelidonOracleJava微服務框架
- Golang web filter 輕量級實現GolangWebFilter
- Nginx 外的另一選擇,輕量級開源 Web 伺服器 Tengine 釋出新版本NginxWeb伺服器
- 輕量級模型設計與部署總結模型
- LambdaToSql(輕量級ORM) 入門篇 開源專案SQLORM
- 輕量開源相簿 Album
- 用go設計開發一個自己的輕量級登入庫/框架吧Go框架
- HttpServer: 基於IOCP模型且整合Openssl的輕量級高效能web伺服器HTTPServer模型Web伺服器
- 輕量級分散式鎖的設計原理分析與實現分散式
- 低程式碼之光!輕量級 GUI 的設計與實現GUI
- 開源輕量級 IM 框架 MobileIMSDK 的微信小程式端已釋出!框架微信小程式
- 輕量級 Web 框架 Gin 結構分析Web框架
- 輕量級 Web 元件編譯器 — StencilWeb元件編譯
- wangEditor——輕量級web富文字框Web
- 使用Web技術克隆Pokémon Go的開源專案WebGo
- 開源圖編輯庫 NebulaGraph VEditor 的設計思路分享
- 開源輕量級 IM 框架 MobileIMSDK v6.1.2 釋出!框架
- 開源推薦:一款輕量級、高效能的電商系統
- 私有化輕量級持續整合部署方案--03-部署web服務(下)Web
- 私有化輕量級持續整合部署方案--03-部署web服務(上)Web
- 用go設計開發一個自己的輕量級登入庫/框架吧(業務篇)Go框架
- 阿里開源!輕量級深度學習端側推理引擎 MNN阿里深度學習