個人自己做了個流程平臺刨摩,供自己學習研究用寺晌,自認為做得還不錯爷恳!
因為整個平臺只有一個應用综膀,在微服務大行其道的時代,是不合理的叼丑,試著對該平臺進行拆分罢浇。
首先介紹一下流程平臺的功能陆赋,該平臺一般該有的功能他都有沐祷。
- 流程驅動:使用flowable為底層,對外進行流程驅動
- 流程設計器:畫流程圖的東東奏甫,沒有用flowable自帶的流程圖工具戈轿,自己做的。
- 流程操作:提供通過阵子,駁回等操作思杯,后面可擴展
- 流程事件:支持多種流程事件,供回調使用
- 流程集成:支持業(yè)務系統(tǒng)的流程集成
經思考挠进,拆分后結構如下圖:
流程的服務拆分.png
簡單說明一下:
- 流程原子服務:這個是整個系統(tǒng)最底層的色乾,性能一定要強,而且這個東東對接的是flowable,但對暴露的接口不含flowable的任何東東领突。主要是這里我有個野心暖璧,后面想建一個非開源的流程引擎,全部自己寫君旦,如果這么做澎办,我只需要改造流程原子服務即可。
- 流程模板:這個是用于畫流程圖的金砍,對流程圖進行分類管理局蚀,只管畫圖那一部分
- 流程事件:這個主要是用于流程過程中觸發(fā)的事件回調,支持的流程多種事件都在這里
- 流程業(yè)務集成:就是第三方系統(tǒng)接入流程時恕稠,統(tǒng)一在該服務進行業(yè)務配置琅绅,
- 流程操作:是流程審批時的各種操作 ,如流程通過鹅巍,反對等操作千扶。
- 流程對外集成:為什么有這個東東,主要是第三方系統(tǒng)接入流程時骆捧,總不可能不停的對接各個流程組件澎羞,所以就有這個服務的誕生
暫時個人就將服務拆分成這樣。每個服務可以獨立成一個應用凑懂。
這個只是一家之見煤痕,有啥意見歡迎提出.