1、導(dǎo)讀
業(yè)界,規(guī)則引擎是一個(gè)非常普遍的技術(shù)類工具,也有很多非常優(yōu)秀的開(kāi)源工具,例如Drools等,它是一種嵌入在應(yīng)用程序中的組件,主要解決易變邏輯和業(yè)務(wù)耦合的問(wèn)題,把易變的規(guī)則從應(yīng)用程序代碼中分離出來(lái),進(jìn)而提升交付效率,降低應(yīng)用程序維護(hù)和可擴(kuò)展性成本。
然而,行業(yè)上開(kāi)源的規(guī)則引擎,在互聯(lián)網(wǎng)場(chǎng)景使用卻存在諸多障礙。從技術(shù)上來(lái)看,面對(duì)特大流量的高并發(fā)略顯不足;從交付上看,操作語(yǔ)言是以研發(fā)視角,無(wú)法讓更多的非技術(shù)人員參與來(lái)實(shí)現(xiàn)交付鏈條的最大化降低;從實(shí)施上,也沒(méi)有配套的標(biāo)準(zhǔn)化架構(gòu)開(kāi)放規(guī)范,無(wú)法規(guī)?;淖屢?guī)則從應(yīng)用程序代碼中實(shí)現(xiàn)分離。
基于此,京東供應(yīng)鏈研發(fā)部自研了一套,面向業(yè)務(wù)角色的海納低代碼規(guī)則引擎平臺(tái),產(chǎn)品定位是面向業(yè)務(wù)、研發(fā)多角色一體化的零低代碼開(kāi)發(fā)平臺(tái),這其中規(guī)則引擎是其最核心的部分之一。
這個(gè)平臺(tái),不僅可以高效的支持互聯(lián)網(wǎng)高并發(fā)業(yè)務(wù),它還具有一套標(biāo)準(zhǔn)化擴(kuò)展開(kāi)放的能力。基于此業(yè)務(wù)系統(tǒng)可以快速實(shí)現(xiàn)業(yè)務(wù)規(guī)則的規(guī)?;_(kāi)放,短短4個(gè)月內(nèi),低成本開(kāi)放了近100+個(gè)擴(kuò)展點(diǎn),抽取沉淀了近400+個(gè)業(yè)務(wù)規(guī)則,支持了14+個(gè)京東核心鏈路重大項(xiàng)目,產(chǎn)品經(jīng)理/ISV也首次以無(wú)代碼的方式,在安全清晰的工作邊界內(nèi),自助式的完成京東核心鏈路的業(yè)務(wù)需求,平均的交付周期0.5天內(nèi)。
另外,從長(zhǎng)遠(yuǎn)來(lái)看,它把研發(fā)職能進(jìn)行轉(zhuǎn)移及拓寬,以安全的模式讓更多的角色參與研發(fā),進(jìn)而優(yōu)化了需求的交付模式,為后續(xù)生態(tài)規(guī)?;慕桓兜於嘶A(chǔ)。
2、JD履約的應(yīng)用
01現(xiàn)狀
海納低代碼規(guī)則引擎平臺(tái)在履約已大規(guī)模運(yùn)用,初步達(dá)成了約20%的需求可由業(yè)務(wù)角色來(lái)直接交付,預(yù)估后續(xù)此比例可提升至40%。和其他平臺(tái)的發(fā)展情況一樣,海納的發(fā)展過(guò)程也相當(dāng)驚心動(dòng)魄。下面就以一個(gè)獨(dú)特的視角、簡(jiǎn)短的語(yǔ)言為大家展開(kāi)。
一個(gè)陽(yáng)光明媚的早上,初級(jí)工程師小徐背著軍綠色的雙肩包,前腳剛從滿滿當(dāng)當(dāng)?shù)碾娞堇锩娉鰜?lái),還沒(méi)來(lái)得及走到工位邊脫下厚重的羽絨服?!扳忊忊彙钡碾娫捖曇艟晚懫鹆?,是對(duì)應(yīng)業(yè)務(wù)條線的產(chǎn)品小李打過(guò)來(lái)的。該死,不會(huì)昨天晚上上線有什么問(wèn)題吧。小徐揉了下微微發(fā)脹的太陽(yáng)穴,不安的接起電話。很快就放下心來(lái),昨天上線的業(yè)務(wù)已驗(yàn)收沒(méi)問(wèn)題了。是一個(gè)新的業(yè)務(wù)訴求要去滿足。
快速溝通了下,小徐就搞明白了大致想要做的事情了。商城上新引入了一批高端的時(shí)尚化妝品品牌,業(yè)務(wù)側(cè)將貨物入倉(cāng)并在APP上開(kāi)始售賣(mài)后,在客戶同時(shí)或者分開(kāi)購(gòu)買(mǎi)這批化妝品后,在這些貨物在出庫(kù)履約生產(chǎn)的時(shí)候,物流會(huì)建立單獨(dú)的生產(chǎn)業(yè)務(wù)線,為不同品牌的化妝品單獨(dú)包裝,并放置到品牌獨(dú)立的包裝禮盒中。期望在配送給客戶的時(shí)候,使用精美的禮盒也可以加強(qiáng)客戶的感知,提升用戶體驗(yàn)。
小徐工作已三年了,聽(tīng)完這個(gè)需求后,大腦中已構(gòu)思出了大致的實(shí)現(xiàn)方案了。這個(gè)需求簡(jiǎn)單,不就是配置一批特殊的品牌增加特殊的業(yè)務(wù)處理規(guī)則么,幾行if代碼就可以搞定了,前2天剛實(shí)現(xiàn)了個(gè)類似的需求。剛想完,小徐就打開(kāi)代碼編輯器,眼睛盯著那幾百行多個(gè)if else分支的代碼,想著加到哪個(gè)地方最合適。
想著正有點(diǎn)出神,電話再次響起,還是產(chǎn)品小李,這個(gè)需求的優(yōu)先級(jí)提高了,業(yè)務(wù)那邊希望今天就可以給出一個(gè)排期計(jì)劃,小徐預(yù)估了大致的工作,覺(jué)得應(yīng)該可以滿足預(yù)期。和小李確定了下午的需求評(píng)審會(huì)時(shí)間,并順手將這個(gè)任務(wù)加到了待辦列表中了,不經(jīng)意的掃了下工作安排,這周上線的需求就有4個(gè)了,突破了以前每周處理2個(gè)的平均值了。看來(lái)今天晚上要加加班了,不然干不完了。小徐戴上帽子,遮住了有點(diǎn)稀疏的腦門(mén),抿了一口黑咖啡,全心開(kāi)始工作了。
幾天后,另外一個(gè)角落里,核心架構(gòu)師小彭和其他幾個(gè)產(chǎn)品、業(yè)務(wù)聚在一起,對(duì)最近排期不滿足的情況進(jìn)行溝通。大家一番討論后,總算共識(shí)了一起評(píng)估是否有合適的方式可以提升交付的速度,降低排期不滿足的概率。甚至個(gè)別業(yè)務(wù)還提出來(lái),有沒(méi)有什么工作是可以分出來(lái)交給他們來(lái)做的。嗯,這是一個(gè)有意思的方向。小彭記下了這個(gè)關(guān)鍵的內(nèi)容,開(kāi)始認(rèn)真琢磨有無(wú)好的辦法。小彭從來(lái)就不是一個(gè)空想派,說(shuō)干就干。從項(xiàng)目文檔中拿出了近3年的項(xiàng)目及需求列表,從頭梳理其實(shí)現(xiàn)方式,評(píng)估需求的共性及特點(diǎn)。
02挑戰(zhàn)
小彭帶領(lǐng)團(tuán)隊(duì),重新審視了最近收到的項(xiàng)目及需求,發(fā)現(xiàn)約有40%的需求相似性比較高,需求抽象后基本可以描述為“基于一定組合的業(yè)務(wù)條件下”,“執(zhí)行特定領(lǐng)域的業(yè)務(wù)動(dòng)作”??雌饋?lái)和規(guī)則引擎的匹配度相當(dāng)高。但是綜合分析后,發(fā)現(xiàn)實(shí)施難度存在2類挑戰(zhàn),均需要有對(duì)應(yīng)的解決方案。
性能挑戰(zhàn):小彭負(fù)責(zé)的業(yè)務(wù)領(lǐng)域有點(diǎn)特殊,所有商城的每一個(gè)訂單都會(huì)流向他負(fù)責(zé)的系統(tǒng),峰值時(shí)一天處理超億級(jí)訂單。傳統(tǒng)意義上的規(guī)則引擎,應(yīng)用的都是低流量的業(yè)務(wù)場(chǎng)景。在這種大數(shù)據(jù)量,高并發(fā)的場(chǎng)景下,怎么保障性能是個(gè)問(wèn)題,需要有對(duì)應(yīng)的解決方案。
價(jià)值挑戰(zhàn):引入成熟的規(guī)則引擎,假定可以解決目前的應(yīng)用場(chǎng)景。但是一般規(guī)則引擎都會(huì)有其獨(dú)立的領(lǐng)域描述語(yǔ)言(DSL Domain Specific Language),這類語(yǔ)言的使用門(mén)檻一般都比較高,交給研發(fā)人員維護(hù)還處于勉強(qiáng)可以接收的程度,交給產(chǎn)品或者業(yè)務(wù)人員去維護(hù),初步看可能性較低。那么引入規(guī)則引擎后,如何實(shí)現(xiàn)一種方案,可以讓產(chǎn)品、業(yè)務(wù)、研發(fā)均可以快速參與進(jìn)來(lái),均可以使用此產(chǎn)品功能進(jìn)行快速交付,就是此產(chǎn)品要解決的核心問(wèn)題了。
03方案
經(jīng)過(guò)幾天連夜的奮戰(zhàn),小彭總算把相關(guān)的解決方案敲定了具體的可行性方向,與上級(jí)主管沛公約好了匯報(bào)討論的時(shí)間。與前幾天心驚肉跳的討論不同,在大的討論開(kāi)始之前,小彭的心反而沒(méi)有那么緊張了。小彭就是這樣,越是難的事情,越覺(jué)得有挑戰(zhàn)。即使再難的事情,在心里過(guò)一過(guò),總可以想得明白。他是使萬(wàn)物回歸其本源,而種子總能突破土地的束縛,慢慢長(zhǎng)成誰(shuí)也無(wú)法阻擋的參天大樹(shù)。
落地層面,小彭從來(lái)不擔(dān)心。雖然可以預(yù)判到實(shí)施的過(guò)程中會(huì)有這樣或者那樣的難題。但是小彭和其合作的團(tuán)隊(duì)的戰(zhàn)斗力,是小彭信心高昂的一切來(lái)源。這是一支不同的尋常的團(tuán)隊(duì),支撐的也是不同尋常的業(yè)務(wù)。業(yè)務(wù)上,小彭負(fù)責(zé)了商城所有訂單的履約生產(chǎn)過(guò)程,為每一個(gè)訂單實(shí)時(shí)高效的制定好最優(yōu)的生產(chǎn)計(jì)劃,在過(guò)程中發(fā)出多個(gè)如拆單、轉(zhuǎn)倉(cāng)、補(bǔ)貨等多個(gè)快速指令,為在商城中消費(fèi)的每一個(gè)客戶提供最優(yōu)服務(wù),并最大可能性的降低履約生產(chǎn)過(guò)程中的生產(chǎn)成本。過(guò)去幾年多次一起并肩作戰(zhàn)的戰(zhàn)斗與沖鋒,早就鍛造了這只團(tuán)隊(duì)獨(dú)特的戰(zhàn)斗力。
和沛公的交談如預(yù)期中順利,但是沛公說(shuō)他還是要再認(rèn)真考慮一下。是的,是要認(rèn)真考慮一下,成熟的人總是要三思而后行,而一但確定好后就毫不猶豫的堅(jiān)決執(zhí)行。這個(gè)事情,風(fēng)險(xiǎn)和收益同樣巨大。干好了后面研發(fā)交付的工作可以發(fā)生變革式的變化,產(chǎn)品、業(yè)務(wù)來(lái)完成需求交付不再是個(gè)可望不可即的事情了;但是如果干不好,比如過(guò)程中遇到了無(wú)法突破的難題,或者交付后出現(xiàn)業(yè)務(wù)使用不佳的情況,辛辛苦苦投入的精力可能就會(huì)存在白費(fèi)的情況,特別是面對(duì)如此高的交付壓力,一旦失敗,對(duì)上對(duì)下,都不好交代。
變革的過(guò)程總是很痛苦,而有先見(jiàn)之明的人在經(jīng)歷痛苦后才能有機(jī)會(huì)涅槃重生。做,還是不做,這是一個(gè)擺在沛公面前的難題。在經(jīng)過(guò)一個(gè)晚上的深思熟慮后,沛公心中就有了預(yù)判和決斷。這個(gè)事情是一個(gè)長(zhǎng)期的事、有價(jià)值的事情,現(xiàn)在不做,將來(lái)我們也會(huì)要做。等將來(lái)項(xiàng)目及需求的壓力變得不可阻擋,不得不做的時(shí)候,重重壓力下執(zhí)行的動(dòng)作反而會(huì)變形。最好的時(shí)機(jī)就是當(dāng)下,沛公已暗暗下定了決心。至于困難,總會(huì)有的,但是只要信心在,辦法總比困難多。敢于沖鋒,直面失敗,這也是這個(gè)團(tuán)隊(duì)難以磨滅的特質(zhì)。
沛公找到了供應(yīng)鏈負(fù)責(zé)整體效能同時(shí)身為首架的林老師溝通。林老師最近也一直在思考,如何將供應(yīng)鏈高頻共性的研發(fā)動(dòng)作進(jìn)一步抽象、打造出合適的Y工具產(chǎn)品,并將工具提供開(kāi)放給業(yè)務(wù)角色,來(lái)降低研發(fā)的需求數(shù),提升交付效率,部門(mén)也一直在做這樣的探索,正好最近零(低)代碼解決方案也初步有了成果,與沛公提到的想法不謀而合。兩個(gè)部門(mén)立刻決定,共同推進(jìn)落地。
一個(gè)小的分隊(duì)很快就成立了,兩個(gè)團(tuán)隊(duì)都挑選了一些精兵強(qiáng)將,共同負(fù)責(zé)功能的設(shè)計(jì)、開(kāi)發(fā)及運(yùn)維,具體帶隊(duì)的分別是小麗,小徐,小彭,總體架構(gòu)師是林老師,部門(mén)中一些架構(gòu)師和研發(fā)也自愿的踴躍參加,例如 小孫,小馬,小丁,小夢(mèng),小張,小喜等等。大家除了日常需要支持的本質(zhì)工作外,其余的時(shí)間都一頭撲在了這個(gè)新產(chǎn)品能力的打造上了。和一般偉大的事業(yè)開(kāi)啟必然附加有華美的篇章不同,研發(fā)的工作總是這樣,樸實(shí)而無(wú)華。沒(méi)有激情澎湃的贊歌,也沒(méi)有千里不留行的豪邁,只是一個(gè)接一個(gè)的不眠之夜。看似枯燥的工作,和冷冰冰的代碼,但總難澆滅大家心中火熱的激情。每每深夜里有一些靈光乍現(xiàn)的新思路,每個(gè)人總會(huì)趕緊拿手機(jī)記下來(lái),再倒頭躺下。想到新的一天可以和團(tuán)隊(duì)一起,討論新的思路和落地方式,大家按捺不住激動(dòng)的內(nèi)心,久久不能入睡。
一個(gè)月后,產(chǎn)品雛形已初步完成,小彭拉上業(yè)務(wù)線對(duì)口的產(chǎn)品和業(yè)務(wù)來(lái)試用,算是毀譽(yù)參半,小彭沒(méi)有泄氣,收集了大家的問(wèn)題和反饋,并開(kāi)始快速迭代。又半個(gè)月過(guò)去,產(chǎn)品總算達(dá)到了可用、可交付的狀態(tài)。經(jīng)過(guò)一段時(shí)間的試點(diǎn)使用后,一些業(yè)務(wù)、產(chǎn)品開(kāi)始主動(dòng)來(lái)尋求合作和反饋??偹阈纬闪苏蚍答?。
3、核心原理介紹
看了這么多,那這個(gè)產(chǎn)品到底是如何完成的呢,其中的原理和亮點(diǎn)分別是什么,讓小分隊(duì)的成員帶領(lǐng)我們來(lái)一窺究竟。
提高交付效率、保證交付質(zhì)量,擴(kuò)大交付角色,是業(yè)界追求的最高目標(biāo),也是是小彭及其小分隊(duì)追求的最終目標(biāo)。為保障產(chǎn)品功能可安全、可靠的交付給業(yè)務(wù)角色,小分隊(duì)探索出了一個(gè)帶可視化界面、研發(fā)和產(chǎn)品可共同參與開(kāi)發(fā)的通用性規(guī)則平臺(tái),并在平臺(tái)內(nèi)設(shè)定了一系列的規(guī)范化約定,計(jì)劃提供沙箱模式、錄制與回放驗(yàn)證等機(jī)制來(lái)保證交付的質(zhì)量,并提升聯(lián)調(diào)與驗(yàn)證的效率。
而其核心原理,簡(jiǎn)而言之可以表述為:平臺(tái)提供可視化設(shè)計(jì)器,業(yè)務(wù)角色在可視化界面沉浸式式編排業(yè)務(wù)規(guī)則,即可完成所有業(yè)務(wù)功能的新增、變更、修改與發(fā)布。與之相對(duì)應(yīng)的,平臺(tái)在功能后臺(tái)自動(dòng)生成規(guī)則引擎描述文件,待業(yè)務(wù)角色審核完成后自動(dòng)化的同步給應(yīng)用系統(tǒng)。應(yīng)用系統(tǒng)通過(guò)SDK對(duì)擴(kuò)展點(diǎn)進(jìn)行攔截,并在擴(kuò)展點(diǎn)執(zhí)行生效的規(guī)則編排。
海納低代碼規(guī)則引擎工作示意圖如下所示:
對(duì)于適用于業(yè)務(wù)規(guī)則類的業(yè)務(wù)場(chǎng)景,小分隊(duì)的成員很快就發(fā)現(xiàn)存在共性特點(diǎn):“當(dāng)滿足部分特定業(yè)務(wù)條件時(shí),執(zhí)行特定業(yè)務(wù)動(dòng)作的一組規(guī)則集合”。
小分隊(duì)成員對(duì)此特點(diǎn)深入研究,發(fā)現(xiàn)市面上常見(jiàn)的規(guī)則引擎提供的技術(shù)規(guī)則內(nèi)容太深?yuàn)W、太專業(yè),對(duì)于普通的業(yè)務(wù)人員理解難度太高,導(dǎo)致市面的規(guī)則引擎產(chǎn)品主要在研發(fā)內(nèi)部使用。為解決這一難題,小分隊(duì)在平臺(tái)中除了提供純技術(shù)規(guī)則注冊(cè)外,還提供了業(yè)務(wù)規(guī)則注冊(cè)與組合編排。使得平臺(tái)的用戶不光可以覆蓋至研發(fā)角色,還可以覆蓋至業(yè)務(wù)角色。業(yè)務(wù)交付需求時(shí),只需關(guān)注其業(yè)務(wù)規(guī)則與業(yè)務(wù)編排,而其背后支撐的復(fù)雜技術(shù)規(guī)則則可完全對(duì)業(yè)務(wù)角色透明。最終業(yè)務(wù)像畫(huà)流程圖一樣在平臺(tái)進(jìn)行操作即可自助式完成需求交付。
伴隨著需求的交付個(gè)數(shù)的增長(zhǎng),系統(tǒng)中的業(yè)務(wù)規(guī)則和業(yè)務(wù)行為不斷地?cái)U(kuò)充,后續(xù)的需求交付可復(fù)用之前沉淀確定的業(yè)務(wù)規(guī)則,包括如“自營(yíng)”、“廠直”、“醫(yī)藥”等統(tǒng)一的業(yè)務(wù)含義,均可統(tǒng)一在后續(xù)需求進(jìn)行復(fù)用。可進(jìn)一步提升交付速度。
下邊我們以一個(gè)實(shí)際的例子展示下海納規(guī)則引擎的主要特色功能。為了讓大家有直觀的感受可視化規(guī)則編排和執(zhí)行過(guò)程,先展示下規(guī)則編排結(jié)果:
從規(guī)則流程圖可以看到主要的元素就是菱形和矩形。菱形表示條件,類似于我們代碼中的if;而矩形則是動(dòng)作,就是我們具體做的一個(gè)動(dòng)作,比如更新數(shù)據(jù)庫(kù)、遠(yuǎn)程接口調(diào)用等任何想做的事。
那么規(guī)則流程是如何被編排出來(lái),編排出來(lái)后又是如何運(yùn)行的呢?下圖描述了主要過(guò)程。
注冊(cè)擴(kuò)展點(diǎn):
擴(kuò)展點(diǎn)是規(guī)則要執(zhí)行的切入點(diǎn),在平臺(tái)注冊(cè)擴(kuò)展點(diǎn)后,可圍繞該擴(kuò)展點(diǎn)進(jìn)行業(yè)務(wù)規(guī)則流程編排。
業(yè)務(wù)模型注冊(cè):
業(yè)務(wù)模型是業(yè)務(wù)數(shù)據(jù)的載體,確保引擎正確識(shí)別并訪問(wèn)模型以進(jìn)行邏輯運(yùn)算;
技術(shù)規(guī)則注冊(cè):
主要面向研發(fā)人員,主要包括方法的簽名信息,和系統(tǒng)中的代碼方法對(duì)應(yīng),提供最基礎(chǔ)的規(guī)則。
平臺(tái)還內(nèi)置了豐富的技術(shù)規(guī)則,如下圖所示,對(duì)于一般業(yè)務(wù)而言,預(yù)制的規(guī)則可以滿足80%及以上的場(chǎng)景。對(duì)于其余個(gè)性化場(chǎng)景,平臺(tái)也提供了可擴(kuò)展的能力。
業(yè)務(wù)規(guī)則注冊(cè):
業(yè)務(wù)規(guī)則是對(duì)技術(shù)規(guī)則或業(yè)務(wù)規(guī)則的組合,形成具有業(yè)務(wù)語(yǔ)義的規(guī)則,最終用于業(yè)務(wù)規(guī)則流程編排。為了實(shí)現(xiàn)復(fù)雜業(yè)務(wù)條件,我們提供and/or/not/group等多種組合形式,方便業(yè)務(wù)靈活配置。
業(yè)務(wù)規(guī)則編排:
對(duì)業(yè)務(wù)規(guī)則進(jìn)行組合,以流程圖的方式展現(xiàn)業(yè)務(wù)流程,最終形成規(guī)則流程描述文件。
規(guī)則引擎執(zhí)行:
SDK將規(guī)則流程描述文件解析成規(guī)則引擎能執(zhí)行的腳本,規(guī)則引擎通過(guò)執(zhí)行腳本完成業(yè)務(wù)規(guī)則的運(yùn)行。
小結(jié):
對(duì)業(yè)務(wù)角色而言,海納平臺(tái)提供可視化規(guī)則編排能力,業(yè)務(wù)規(guī)則主要是由具有業(yè)務(wù)語(yǔ)義化的條件規(guī)則和動(dòng)作規(guī)則組成,因此產(chǎn)品業(yè)務(wù)人員可以輕松地自助完成業(yè)務(wù)規(guī)則編排。隨著規(guī)則豐富度持續(xù)提升,業(yè)務(wù)人員也可以對(duì)已有規(guī)則進(jìn)行組合或通過(guò)自定義規(guī)則方式實(shí)現(xiàn)新業(yè)務(wù)規(guī)則創(chuàng)建,實(shí)現(xiàn)全面自助。
對(duì)于研發(fā)角色而言,應(yīng)用系統(tǒng)只需引入SDK并定義要執(zhí)行規(guī)則擴(kuò)展點(diǎn)即可完成集成工作。后續(xù)需求業(yè)務(wù)實(shí)現(xiàn)自助化交付后,整個(gè)交付的過(guò)程從原來(lái)的10天,可縮短至最快0.5天,達(dá)成了提效的目的。
01亮點(diǎn)
01輕量化
海納規(guī)則引擎以對(duì)業(yè)務(wù)系統(tǒng)無(wú)侵入,只需引入規(guī)則引擎SDK,添加注解即可完成接入,對(duì)于存量系統(tǒng)具有友好的支持。一般而言,1天即可快速完成集成工作。
02高性能
海納平臺(tái)是去中心化的設(shè)計(jì),平臺(tái)只負(fù)責(zé)流程編排,編排后的結(jié)果以流程描述文件的方式同步給業(yè)務(wù)系統(tǒng),應(yīng)用系統(tǒng)通過(guò)SDK解析并執(zhí)行,采取本地化執(zhí)行方式,沒(méi)有性能瓶頸,并通過(guò)了京東訂單履約核心系統(tǒng)11.11大促驗(yàn)證。平臺(tái)提供的能力支持峰值一天處理超億級(jí)訂單平穩(wěn)運(yùn)行,單個(gè)規(guī)則運(yùn)行的耗時(shí)在納秒級(jí)別內(nèi)完成。
03研發(fā)和業(yè)務(wù)實(shí)現(xiàn)分離
海納規(guī)則引擎將研發(fā)角色和業(yè)務(wù)角色分離,在技術(shù)領(lǐng)域和業(yè)務(wù)領(lǐng)域間建立規(guī)則適配,屏蔽技術(shù)細(xì)節(jié),讓業(yè)務(wù)角色更關(guān)注業(yè)務(wù)規(guī)則,提高業(yè)務(wù)角色的使用體驗(yàn)。
04可視化
面向業(yè)務(wù)語(yǔ)義的流程編排,流程的編排可以向畫(huà)流程圖一樣方便,實(shí)現(xiàn)所見(jiàn)即所得的業(yè)務(wù)體驗(yàn)。
05技術(shù)資產(chǎn)沉淀
通過(guò)在平臺(tái)上注冊(cè)業(yè)務(wù)規(guī)則和業(yè)務(wù)行為,可實(shí)現(xiàn)技術(shù)資產(chǎn)沉淀,隨著業(yè)務(wù)規(guī)則的擴(kuò)充,可支持更為豐富的業(yè)務(wù)流程。
4、總結(jié)
時(shí)間又回到了當(dāng)下,產(chǎn)品小李找到了小彭,同步了近期業(yè)務(wù)提過(guò)來(lái)的幾個(gè)需求,均已經(jīng)在海納規(guī)則引擎低代碼平臺(tái)自助化實(shí)現(xiàn)了,單個(gè)需求差不多5到10分鐘即可完成配置,全程在平臺(tái)上沉浸式操作即可。但最終上線需要小彭幫忙審批一下。仔細(xì)檢查了業(yè)務(wù)規(guī)則條件,確認(rèn)業(yè)務(wù)邏輯符合預(yù)期后,小彭快速移動(dòng)鼠標(biāo),輕輕點(diǎn)擊了“發(fā)布生效”,新配置的規(guī)則就如同打一個(gè)響指一樣,秒級(jí)的速度就更新至線上生產(chǎn)環(huán)境,并全面運(yùn)行了。送走小李后,小彭看著線上平穩(wěn)的監(jiān)控曲線出神,這個(gè)手段確實(shí)挺有效,省去了需求評(píng)審、業(yè)務(wù)功能開(kāi)發(fā)、業(yè)務(wù)功能內(nèi)部測(cè)試的時(shí)間,業(yè)務(wù)角色可以快速自助化交付。那么其余60%的需求如何提效呢?是否有其他的解決方案呢?小彭又陷入了沉思。
看到了這里,您是不是對(duì)海納規(guī)則引擎低代碼平臺(tái)有了更多的了解了呢?您在日常的工作中,是否遇到了類似的場(chǎng)景,可以復(fù)用此解決的方案么?如果有,歡迎多多交流。
在項(xiàng)目需求日趨增加,而人力資源逐步成為瓶頸的時(shí)候,采用多種方式來(lái)達(dá)成提效的效果,是擺在所有人面前的一個(gè)難題。希望本文章可以以一個(gè)視角和解決方案,以拋磚引玉的方式,引起大家更多的共鳴和思考。
審核編輯 :李倩
-
引擎
+關(guān)注
關(guān)注
1文章
361瀏覽量
22559 -
代碼
+關(guān)注
關(guān)注
30文章
4788瀏覽量
68603 -
應(yīng)用程序
+關(guān)注
關(guān)注
37文章
3268瀏覽量
57704
原文標(biāo)題:履約核心引擎低代碼化原理與實(shí)踐
文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論