apache isis_使用Apache Isis快速进行SEMAT应用程序开发
apache isis
TL; DR這是關于一個帖子會談SEMAT寵物項目我創建使用Apache伊希斯和部署到OpenShift在線這里http://semat.ofbizian.com
Apache Isis
作為主要在后端系統上工作的Java開發人員,我討厭創建用戶界面和處理Java腳本。 幸運的是,有一些Java項目,例如JSF(grrr),Apache Wicket和Vaadin,它們可以幫助完全避免使用Javascript并仍然創建功能用戶界面。 但是即使有這些項目,開發人員也必須考慮并積極地從Java代碼創建用戶界面。 這類似于在諸如Hibernate之類的ORM時代編寫自己SQL語句–只有在OOTB ORM不足以適合用例的情況下,我們才進行此活動。 這正是Apache Isis所適合的:給定域模型和映射注釋,它將在運行時生成完整的用戶界面。 從某種意義上說,Apache Isis是Java的OUIM(對象/用戶界面映射)框架。
Apache Isis除了創建用戶界面以外,還有很多其他功能,它是專注于域驅動設計的全棧快速應用程序開發框架。 但是,我們不討論它,而是看一個使用Apache Isis創建的完整應用程序。
SEMAT精華內核
為了學習Apache Isis,我決定實現SEMAT模型并將其作為Docker容器部署到OpenShift Online。 簡而言之,SEMAT(軟件工程方法和理論)本質內核是OMG標準 ,它除其他外,還幫助定義了一個框架,用于從多個角度(稱為alpha)描述軟件項目的狀態。
SEMAT阿爾帕州
想法是,可以使用以下七個字母以通用的方式描述每個項目:
利益相關者,機會,需求,軟件系統,工作,團隊,工作方式。 每個Alpha可以處于一個或多個狀態,例如,
利益相關者可以是:認可,代表,參與,一致同意,滿意等。此外,每個州在將Alpha過渡到該州之前,都需要滿足某些條件。
利益相關者Alpha的州
如您所見,這是一個非常簡單的域模型,帶有狀態機邏輯。
展示柜應用
夠了,要查看我必須為此應用程序編寫多少Java,請在github上檢查項目的dom模塊 。 所有其他框架代碼都是通過maven插件生成的,不需要用戶界面代碼。 這是Project域實體屏幕渲染的屏幕截圖:
作為Apache Wicket屏幕的項目視圖
除了生成用戶界面之外,Apache Isis還將使用相同的域模型生成REST API。 多么酷啊。
從域模型生成的SEMAT REST API
而這一切的好處在于,生成UI可以使您快速迭代域模型,將其顯示給業務所有者以獲取反饋并繼續發展模型。
已實現/啟用了一些SEMAT應用程序功能
- 多租戶
- 每個租戶管理多個項目
- 管理項目Alpha狀態
- 每個租戶的自定義Essence Alpha狀態列表
- 每個租戶的自定義精華清單項目
- Alpha狀態蜘蛛/雷達圖
- 通過域模型自動生成基于Apache Wicket的UI
- 從同一域模型自動生成REST API
- 自我注冊/注冊
- 審核用戶操作
- 會話記錄
- 國際化
- 面包屑小徑
- 書簽
生成并運行
檢查自述文件以獲取完整的詳細信息,但是您可以在本地或在OpenShift上構建和運行該應用程序以進行嘗試。
mvn clean install cd webapp mvn jetty:runmvn clean install docker build --rm -t bibryam/semat . docker run -p 8080:8080 bibryam/semat然后轉到http:// localhost:8080 /并登錄:user / user
部署到OpenShift
一旦您在本地或本地運行OpenShift
online并安裝了oc客戶端,然后可以使用以下命令部署已經構建的semat docker映像:
如果您不信任其他人構建的docker映像(您不應該這樣做!),則可以使用選項2和3構建如上所示的自己的docker映像,并將其推入自己的docker注冊表并從中運行應用程序:
oc new-app your_name/semat:latest -e CATALINA_OPTS=“-Xmx300m” 或者,您可以避免同時安裝和運行docker,并在OpenShift上構建源代碼和docker映像。 這就是所謂的OpenShift源到圖像
方法 。 您可以通過使用例如“ Red Hat JBoss Web Server 3.1 Tomcat 8 1.0”模板并指向SEMAT github存儲庫從OpenShift UI進行操作。 或使用項目本身提供的模板:
使用源到映像的方法允許設置github Webhooks,具有Red Hat基本映像,添加jolokia,完成Java內存配置等。
OpenShift上的現場演示
請參閱試用該應用程序,檢查在OpenShift Online上運行的實時演示
http://semat.ofbizian.com
總之,如果您擁有一個經常更改的域模型,并且更改域邏輯的敏捷性比用戶用戶界面的外觀更為重要,請查看Apache Isis。 這是一個令人難以置信的高效且快速的業務應用程序開發框架。
翻譯自: https://www.javacodegeeks.com/2017/12/rapid-semat-application-development-apache-isis.html
apache isis
總結
以上是生活随笔為你收集整理的apache isis_使用Apache Isis快速进行SEMAT应用程序开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运行单个源文件_使用一个命令执行单个Ja
- 下一篇: 电脑硬件虚拟大师(硬件虚拟大师下载)