Apache Isis:基於領域驅動自動生成SpringBoot介面的快速CRUD開發工具

banq發表於2022-03-05

Apache Isis是基於業務領域驅動而自動生成SpringBoot介面的開源RAD工具:
  • 生產力- 該應用程式主要是業務邏輯,消除了昂貴的 UI 程式碼。
  • 發現——業務領域專家和技術人員可以攜手合作,瞭解問題空間,然後瞭解解決方案空間。
  • 易於使用- 業務使用者會發現該應用程式易於學習,因為業務概念是前沿和中心
  • 清潔clean架構- 該框架確保在您的應用程式的內部架構中分離關注點
  • 簡單整合- 自動釋出用於非同步整合的通用域事件和用於同步整合的 REST API。

由於 Apache Isis是開源的,基於 Spring Boot 等行業/事實標準構建,因此沒有供應商鎖定。
 

工作原理:

  • Apache Isis直接從底層領域物件動態構建通用使用者介面和豐富的超媒體 REST API。這使得原型製作速度極快,反饋週期短,非常適合敏捷開發。UI 也可以針對特定用例進行擴充套件,並且可以使用 Bootstrap 進行主題化。
  • Apache Isis應用程式的核心是領域物件,可以是持久實體,也可以是檢視模型。業務規則可以直接與域物件相關聯,也可以分解為單獨的服務。Apache Isis 到處執行依賴注入,以確保應用程式保持解耦和可測試。
  • Apache Isis 包括大量用於安全、審計、命令分析、郵件合併和其他橫切關注點的附加模組。它還具有許多用於地圖、日曆等的 UI 擴充套件。所有這些都是開源的,專為開箱即用或根據需要進行修改而設計。


適合中小公司業務需求的 crud 應用程式的最佳方法,目標是儘可能快地開發並可靠地啟動和執行可能帶有小型儀表板的 crud 應用程式。

Python的django是第一個顯而易見的選擇:開箱即用的出色工作 ORM 和管理介面。然而,構建簡潔的使用者介面的需求可以透過構建模板來解決,以建立一種內部“crud generator”;但是新增表單驗證和其他東西往往會很快耗盡所需的工作量(以及這種情況下的時間)。

Apache Isis可以加入任何需要的業務邏輯;免費得到一個漂亮的使用者介面;如果有一天我的粗糙的應用程式需要統一成一個成熟的商業應用程式,也不會有太多 "程式碼浪費"。

另外一個RAD工具是JHipster,它使用了 Java 和 Angular 中的許多最佳實踐,雖然一開始並不是很快,但它有很多細微差別和技巧,JHipster是資料庫表驅動的,沒有領域物件作為核心,直接從資料表匯出API,以後希望用Java增加一些業務規則或ifelse語句,找不到適當的地方,它且不是Clean架構,沒有實現業務邏輯和技術基礎設施分離。



 

相關文章