成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

業(yè)務(wù)系統(tǒng)知識(shí)沉淀的思考與初步探索

開發(fā) 前端
我們把FSM-X這一套業(yè)務(wù)框架理解為對(duì)一類流程控制邏輯的抽象,是前文中提到的廣義設(shè)計(jì)模式的一種。于是進(jìn)行了FSM-X的可視化實(shí)現(xiàn),作為用廣義設(shè)計(jì)模式去抽象和承載業(yè)務(wù)知識(shí),完成提取和沉淀這種思路的探索實(shí)踐。

1 背景介紹

1.1 要解決什么問題

系統(tǒng)文檔是當(dāng)前對(duì)業(yè)務(wù)系統(tǒng)知識(shí)進(jìn)行沉淀的主要手段。由于業(yè)務(wù)系統(tǒng)快速迭代或者人員的流動(dòng),文檔缺失、風(fēng)格各異、沒有與迭代同步更新等問題十分常見,文檔質(zhì)量也是因人而異。

隨之而來的是研發(fā)效率、產(chǎn)研協(xié)作效率、質(zhì)量等一系列的問題,在團(tuán)隊(duì)人員流動(dòng)頻繁的情況下尤為突出。

圖片圖片

圖為研發(fā)流程示意圖,綠色箭頭部分是理想、高效的流程;但是由于不同角色間的信息差異,某一知識(shí)若不能從知識(shí)庫中獲取,就會(huì)存在紅色箭頭部分的逆向流程,需要各角色來回溝通確認(rèn);這樣的知識(shí)越多,逆向流程越多,研發(fā)流程越長,效率越低

1.2 業(yè)務(wù)系統(tǒng)背景

去年,我們使用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(Domain-Driven Design,DDD)的思想對(duì)系統(tǒng)進(jìn)行了重構(gòu)。在DDD中,以統(tǒng)一語言為基礎(chǔ),面向業(yè)務(wù)進(jìn)行領(lǐng)域建模,將真實(shí)業(yè)務(wù)與軟件實(shí)現(xiàn)關(guān)聯(lián)起來,以領(lǐng)域模型為知識(shí)的載體實(shí)現(xiàn)沉淀。但是到最終的落地實(shí)現(xiàn),知識(shí)沉淀的手段還是落到文檔上。

我們希望找到一種通用的知識(shí)沉淀方法,自動(dòng)從代碼中抽象、提煉業(yè)務(wù)知識(shí),以及展現(xiàn)和沉淀知識(shí),達(dá)到“代碼即文檔”的效果。

2 我們的思考

圖片圖片

原始代碼中蘊(yùn)含了我們需要的知識(shí),但非結(jié)構(gòu)化、無統(tǒng)一規(guī)律的代碼難以直接轉(zhuǎn)換為知識(shí);需要一層中間的抽象來規(guī)范化結(jié)構(gòu)化原始代碼,從有既定規(guī)律的代碼中就可提煉出我們所需的知識(shí)

2.1 什么是業(yè)務(wù)系統(tǒng)知識(shí)

商品的價(jià)格尾數(shù)必須是“8”是業(yè)務(wù)系統(tǒng)知識(shí),商品上架后會(huì)發(fā)出MQ通知也是業(yè)務(wù)系統(tǒng)知識(shí)。根據(jù)側(cè)重的不同分2個(gè)方向:

  • 純粹的業(yè)務(wù)知識(shí),僅僅是業(yè)務(wù)規(guī)則的體現(xiàn),與技術(shù)實(shí)現(xiàn)無關(guān);
  • 系統(tǒng)知識(shí),可能包含了業(yè)務(wù)的規(guī)則,更重要的是技術(shù)實(shí)現(xiàn)方案的體現(xiàn);比如為了保證數(shù)據(jù)的最終一致性,系統(tǒng)的實(shí)現(xiàn)往往比直接的業(yè)務(wù)規(guī)則要復(fù)雜。

2.2 知識(shí)存在于哪里

無論是業(yè)務(wù)規(guī)則還是技術(shù)實(shí)現(xiàn)無外乎什么條件下做什么事情,知識(shí)就在各種流程控制邏輯中。比如,各種業(yè)務(wù)規(guī)則判斷、根據(jù)不同條件頁面展示不同內(nèi)容、監(jiān)聽某個(gè)消息進(jìn)行業(yè)務(wù)處理、通過策略模式進(jìn)行邏輯分發(fā)等,都可以認(rèn)為是流程控制的不同實(shí)現(xiàn),通俗理解就是對(duì)IF-ELSE邏輯的各種不同實(shí)現(xiàn)。

2.3 如何提煉出業(yè)務(wù)系統(tǒng)知識(shí)

與DDD中面向業(yè)務(wù)進(jìn)行建模不同,既然知識(shí)存在于流程控制邏輯中,那就對(duì)流程控制進(jìn)行抽象、建模;脫離于具體的業(yè)務(wù)場景才能通用于每一種業(yè)務(wù)場景。

我們將流程控制的抽象定義為廣義的設(shè)計(jì)模式,是對(duì)IF-ELSE邏輯不同實(shí)現(xiàn)方式的抽象,包括常見的設(shè)計(jì)模式如責(zé)任鏈模式、策略模式、以及后文涉及的狀態(tài)機(jī)(FSM)、以及后續(xù)需要針對(duì)性的進(jìn)行自定義抽象。業(yè)務(wù)系統(tǒng)知識(shí)就被承載其中,而且是結(jié)構(gòu)化的、方便被提取的。

3 探索性實(shí)踐

業(yè)務(wù)系統(tǒng)中使用了一套拓展?fàn)顟B(tài)機(jī)(FSM-X)的框架,符合上述對(duì)流程控制進(jìn)行抽象、建模的想法,也是一種對(duì)IF-ELSE邏輯的實(shí)現(xiàn)方式。所以我們將FSM-X的可視化作為業(yè)務(wù)系統(tǒng)知識(shí)沉淀的初步探索。

3.1 FSM-X

FSM-X核心還是有限狀態(tài)機(jī)(FSM)的實(shí)現(xiàn),然后在此基礎(chǔ)上擴(kuò)展集成了事務(wù)消息、JOB等功能;相關(guān)的配置項(xiàng)統(tǒng)一存儲(chǔ)到數(shù)據(jù)庫中,方便配置和管理。主要有以下幾個(gè)核心概念:

  • Mapping:可以認(rèn)為是FSM中的變換(Transition),包含了源狀態(tài)、目標(biāo)狀態(tài)、事件、操作,表示在源狀態(tài)下發(fā)生某一事件,觸發(fā)對(duì)應(yīng)的操作,流轉(zhuǎn)到目標(biāo)狀態(tài)。還包含了JOB、事務(wù)消息(TxMsg)、狀態(tài)機(jī)鏈(Chain)。
  • Chain:狀態(tài)機(jī)鏈,用于鏈接2個(gè)Mapping,當(dāng)前的Mapping的流轉(zhuǎn)完成后自動(dòng)執(zhí)行鏈后的Mapping流轉(zhuǎn)。
  • JOB:異步任務(wù),當(dāng)Mapping中配置了JOB時(shí),會(huì)自動(dòng)執(zhí)行對(duì)應(yīng)的JOB。
  • TxMsg:事務(wù)消息,如果Mapping中有對(duì)應(yīng)配置,完成Mapping流轉(zhuǎn)的同時(shí)自動(dòng)發(fā)送消息。

3.2 FSM-X可視化實(shí)現(xiàn)

系統(tǒng)整體實(shí)現(xiàn)架構(gòu)如下圖

圖片圖片

  • FSMX配置中心統(tǒng)一管理所有配置,對(duì)外提供拉取配置數(shù)據(jù)的能力。
  • FSMX客戶端在業(yè)務(wù)服務(wù)啟動(dòng)時(shí)拉取配置完成啟動(dòng),然后異步對(duì)狀態(tài)機(jī)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,得到可視化數(shù)據(jù)并進(jìn)行上報(bào)。
  • FSMX配置中心會(huì)在本地緩存可視化數(shù)據(jù),并對(duì)其進(jìn)行加工對(duì)外呈現(xiàn)。

與FSM-X中的幾種核心組件對(duì)應(yīng),可視化的視圖節(jié)點(diǎn)主要有以下幾種:

  • Mapping

圖片圖片

上圖為“SUPPLY_PRODUCT”域“質(zhì)檢合格”后“上架”事件節(jié)點(diǎn),最后流轉(zhuǎn)到“預(yù)上架”狀態(tài),之后有21條可能的鏈繼續(xù)往后流轉(zhuǎn)。

  • Chain

圖片圖片

上圖紅框中為2條狀態(tài)機(jī)鏈,表示“SUPPLY_PRODUCT”域“上架”操作完成后可能執(zhí)行“PRODUCT_MART”域“預(yù)上架”操作,也可能執(zhí)行“SUPPLY_PRODUCT”域“上架取消(無可上架賣場)”操作。具體會(huì)怎么執(zhí)行,由鏈中的業(yè)務(wù)邏輯控制,目前這部分還沒有可視化,需要由其他自定義的廣義設(shè)計(jì)模式來進(jìn)行抽象。

  • JOB

圖片圖片

  • MSG

圖片圖片

以我們系統(tǒng)中商品的上架流程為例,比較完整的可視化效果圖如下

圖片圖片

從圖中可以看出上架流程的整體執(zhí)行過程,但還只是一個(gè)粗粒度的框架;因?yàn)閱我粡腇SM-X中提煉出來的業(yè)務(wù)系統(tǒng)知識(shí)是有限的,更多的知識(shí)還存在于無法被抽象提煉的非結(jié)構(gòu)化代碼中。

4 總結(jié)

我們把FSM-X這一套業(yè)務(wù)框架理解為對(duì)一類流程控制邏輯的抽象,是前文中提到的廣義設(shè)計(jì)模式的一種。于是進(jìn)行了FSM-X的可視化實(shí)現(xiàn),作為用廣義設(shè)計(jì)模式去抽象和承載業(yè)務(wù)知識(shí),完成提取和沉淀這種思路的探索實(shí)踐。

從目前的結(jié)果看,可視化的流程圖能夠表達(dá)狀態(tài)機(jī)流轉(zhuǎn)相關(guān)的業(yè)務(wù)知識(shí),只是知識(shí)的完整性還遠(yuǎn)遠(yuǎn)不夠,畢竟目前只是從一種廣義設(shè)計(jì)模式提取了知識(shí),大部分的業(yè)務(wù)知識(shí)是不被包含在內(nèi)的。但是通過這個(gè)效果,筆者認(rèn)為這種思路是可以繼續(xù)探索的,對(duì)流程控制的各種實(shí)現(xiàn)都做好抽象之后,相當(dāng)于形成了一套詳細(xì)的代碼規(guī)范,在既定規(guī)范內(nèi)的業(yè)務(wù)代碼就能實(shí)現(xiàn)業(yè)務(wù)知識(shí)的抽取、沉淀。敬請(qǐng)期待!!!

關(guān)于作者

王輪,轉(zhuǎn)轉(zhuǎn)B2C技術(shù)部后端研發(fā)工程師

責(zé)任編輯:武曉燕 來源: 轉(zhuǎn)轉(zhuǎn)技術(shù)
相關(guān)推薦

2015-07-14 13:48:11

2018-01-23 10:29:50

主搜索店鋪搜索

2013-11-04 17:38:09

Clouda百度

2014-07-15 14:17:30

成本業(yè)務(wù)去IOE

2018-12-03 11:42:54

華為云

2024-05-06 07:58:25

大模型AI智慧芽

2013-07-08 09:49:23

2022-05-13 11:24:09

數(shù)據(jù)美團(tuán)

2023-09-04 18:57:01

API接口數(shù)據(jù)中心

2023-12-12 12:16:56

帶貨業(yè)務(wù)體系

2010-04-21 14:29:52

Unix 線程

2013-08-08 09:16:38

IT運(yùn)維信息化

2023-04-11 07:37:52

IaaSPaaSSaaS

2024-09-19 16:11:07

2022-03-17 12:00:48

異構(gòu)業(yè)務(wù)實(shí)踐

2022-07-04 19:02:06

系統(tǒng)業(yè)務(wù)思考

2016-01-11 16:59:48

暢享網(wǎng)

2010-04-23 16:37:13

Aix權(quán)限

2017-04-06 14:16:37

SOA云平臺(tái)架構(gòu)

2012-07-16 01:41:54

ibatis搭建應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久69精品久久久久久久电影好 | 精品国产一区二区三区在线观看 | 丁香色婷婷 | 国产精品免费一区二区三区四区 | 日韩成人av在线 | 免费av电影网站 | 成人亚洲片 | 看av片网站 | 99精品国产一区二区三区 | 日韩免费网站 | 国产成人精品视频在线观看 | 免费三级av | 天天影视网天天综合色在线播放 | 中文字幕av亚洲精品一部二部 | 天天看逼| 波波电影院一区二区三区 | 亚洲男人的天堂网站 | 精品视频在线一区 | 国产精品久久久久久久久婷婷 | 成年人在线观看视频 | 亚洲h视频 | 天天爽夜夜骑 | 一区二区三区福利视频 | 欧美另类视频在线 | 国产精品一区二区三区四区 | 欧美日韩视频 | 国产精品美女久久久久aⅴ国产馆 | 午夜免费精品视频 | 亚洲在线一区二区三区 | 91精品国产一区 | 亚洲精品视频导航 | 国产9久| 亚洲成人中文字幕 | 国产7777 | 日韩在线看片 | 草久在线 | 一区二区三区视频在线观看 | 精品免费国产一区二区三区四区 | www.av在线| 羞视频在线观看 | 青春草91|