本文基于模型和應用支持多分支的前提,為您介紹如何進行代碼掃描和模型合并。
背景信息
在使用BizWorks做設計開發的過程中,可能在生成了腳手架做開發時,卻發現需要修改模型的情況。而此時已經生成了代碼,如果再返回去修改模型、重新生成腳手架,會打斷研發人員的工作流程,降低工作效率。因此,平臺要提供元數據和代碼雙向同步的能力,研發人員可以在開發過程中使用特定的注解新增、修改或刪除模型元數據,開發完成后再上報到平臺和平臺上的元數據做合并,形成最終確定的元數據。
已發布的應用不支持代碼掃描、模型差異查看和模型合并功能。
掃描代碼
登錄BizWorks,在選擇平臺下拉列表中選中微服務開發平臺。
單擊頁面右上角圖標或其文本框區域,在下拉列表中單擊目標項目名稱后,單擊應用頁簽。在應用列表頁面單擊目標中心應用名稱。
在目標中心應用左側導航欄中,選擇 。
在代碼掃描與合并頁面,單擊掃描代碼分支。
在掃描代碼分支對話框中,選擇目標代碼分支,填寫備注(可選填),單擊開始掃描。
掃描成功:分支狀態將更新為掃描成功,您可以查看差異或合并。
掃描失敗:分支狀態將更新為掃描失敗,您可以單擊狀態右側的詳情查看失敗原因。當前版本支持以下校驗:
代碼不能使用平臺中不存在的限界上下文。
代碼中不能包含不支持的數據類型。
查看模型差異
狀態為掃描成功的分支可以查看模型差異,進行元數據級的可視化的差異對比,便于用戶判斷代碼模型和元數據模型之間的差異。
您可通過如下兩種方式進入查看模型差異頁面:
單擊目標分支右側操作列下的查看差異。
單擊目標分支右側操作列下的合并,然后在合并模型面板單擊查看差異。
在查看差異頁面,您可以查看代碼模型和元數據模型之間的數據差異詳情。
說明如果被繼承的父對象有結構對象注解,父對象會作為結構對象被掃描上報,且子對象會繼承父對象。
頁面左側為代碼模型,右側為元數據模型。
模型數據按照限界上下文維度列出。
數據的顯示順序按照元數據模型中的創建時間倒序顯示。
默認所有的模型顯示折疊狀態。您可單擊全部展開或圖標展開節點,拖動滾動條查看完整數據。
模型數據按照層級可分為如下三類:
層級類型
說明
數據是否可變
根節點
根節點沒有父節點,有子節點。只有限界上下文編碼是根節點,只要出現了根節點,就表示該應用實現了某些限界上下文,可以展開查看具體內容。
否
中間節點
中間節點是其他中間節點或根節點的子節點,也可以是其他中間節點或葉子節點的父節點,中間節點可以展開,只是某些情況下中間節點展開后可能沒有子節點。
否
葉子節點
葉子節點是根節點或中間節點的子節點,葉子節點不能展開并且沒有子節點,其本身一定包含了某個數據,比如“名稱”、“描述”等。
是
根據是否包含實際數據,節點可分為如下兩種類型:
節點類型
說明
數據是否可變
分組節點
分組節點本身不包含具體數據。分組節點是固定存在的,不管其下面有沒有子節點,比如限界上下文下面的“領域對象”、“領域服務”等,是純文字的描述,用于區分其子節點所包含的內容。
否
數據節點
數據節點本身包含數據,比如“限界上下文編碼”、“結構對象編碼”等,其本身就是編碼數據,展開后可以看到相關的屬性或子節點。
是
您可將鼠標懸浮在節點旁邊的圖標上,在懸浮框中查看變更類型。
圖標
含義
已發布的限界上下文在代碼中被修改。
新增數據。如果父節點是新增,則其所有的子節點都是新增。
更新數據。
對于葉子節點,只有當前數據被更新才顯示為更新。
對于可展開的根節點或中間節點,只要子節點發生了新增、更新或刪除等操作,都顯示為更新。
刪除數據。如果父節點是刪除,則其所有的子節點都是刪除。
合并模型
狀態為掃描成功的分支可以繼續進行模型合并。
單擊目標分支右側操作列下的合并。
在合并模型面板中,閱讀合并說明,單擊左下角開始合并。
在二次確認對話框中,單擊開始合并。
重要合并后將以代碼中數據為準,覆蓋到建模平臺。
您可以在代碼掃描與合并頁面查看合并狀態。單擊分支名稱,可以查看該分支的最新掃描合并詳情,以及歷史掃描合并記錄。