<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          工作流引擎技術(shù)介紹-Flowable例子(五)

          共 2971字,需瀏覽 6分鐘

           ·

          2021-10-20 23:09



          ?? ?? 初創(chuàng)公司,其首要任務(wù)是客戶滿意度。我們將構(gòu)建一個(gè)軟件解決方案,讓用 戶可以評(píng)價(jià)他們的滿意度??蛻艟涂梢酝ㄟ^(guò)我們的網(wǎng)站提供評(píng)論。然后通過(guò)應(yīng)用程序?qū)⒋嗽u(píng)論發(fā)送到 Kafka 隊(duì)列。在我們的主要客戶應(yīng)用程序中,我們?yōu)槊總€(gè)客戶提供了一個(gè) CMMN 案例。這使我們能夠?qū)μ囟蛻舻乃性u(píng)論進(jìn)行分組,啟動(dòng)評(píng)價(jià)分析流程。如果我們收到差評(píng),我們會(huì)為其中一名員工啟動(dòng)一項(xiàng)任務(wù),以便他們能夠糾正與客戶的關(guān)系。


          五、客戶關(guān)系維護(hù)系統(tǒng)

          需求描述:

          ? 每當(dāng)注冊(cè)新客戶時(shí),我們都會(huì)創(chuàng)建一個(gè)案例。此案例將在“活動(dòng)訂閱”階段開(kāi)始并等待相關(guān)的可能事件:(演示,我們只實(shí)現(xiàn)了“收到評(píng)論”事件)

          • 收到評(píng)論

          • 收到客戶業(yè)務(wù)支持請(qǐng)求

          • 定時(shí)器事件

          • 收到停用


          架構(gòu):

          ??? 底部是一個(gè) Kafka 事件流,負(fù)責(zé)傳輸所有事件。客戶通過(guò) React UI,將事件提交給審查服務(wù)。

          • UI客戶端服務(wù)(Review Service – Spring Boot 應(yīng)用程序),它使用 Spring WebFlux 從我們的 UI 接收評(píng)論并將它們傳輸?shù)?Kafka。

          評(píng)論將寫入Kafka消息隊(duì)列。

          {  "userId": "tdx",??"stationId":?5,?//站點(diǎn)ID??"rating":?5,?//評(píng)分-5星好評(píng)??"comment":?"滑板車很好用?。?!"?//評(píng)論}
          • 客戶關(guān)系維護(hù)服務(wù)(CustomerRelationShipService – Flowable - Spring Boot 應(yīng)用程序),啟動(dòng)客戶案例以及客戶的流程。將接收客戶評(píng)價(jià)和發(fā)出分析請(qǐng)求并獲取到評(píng)價(jià)分析結(jié)果。(這里我們只關(guān)心客戶評(píng)價(jià)事件)


          • 公司后臺(tái)任務(wù)管理(FlowableTaskApplicationFlowable - Spring Boot 應(yīng)用程序),連接到與客戶關(guān)系維護(hù)服務(wù)相同的數(shù)據(jù)庫(kù),員工可以在其中與客戶案例進(jìn)行交互。當(dāng)收到差評(píng),我們會(huì)為其中一名員工啟動(dòng)一項(xiàng)任務(wù),以便他們能夠糾正與客戶的關(guān)系。


          • 評(píng)價(jià)分析服務(wù) (SentimentAnalysisService – Flowable - Spring Boot 應(yīng)用程序),使用一個(gè)流程來(lái)執(zhí)行評(píng)論分析。

          • 網(wǎng)關(guān)? Spring Cloud API Gateway – 用于將流量從 UI 重定向到適當(dāng)?shù)奈⒎?wù)。



          建模分析:

          1.案例模型中接收客戶評(píng)價(jià)事件

          同樣需要配置Kafka參數(shù)映射到流程變量,以及條件過(guò)濾。

          只有用戶ID和啟動(dòng)案例模型用戶ID相等的Kafka消息才會(huì)被消費(fèi)。


          2.消費(fèi)到消息后,會(huì)執(zhí)行評(píng)價(jià)分析流程。

          這里將用戶ID和評(píng)價(jià)作為參數(shù)


          3.子流程啟動(dòng)被進(jìn)入第一節(jié)點(diǎn),發(fā)送評(píng)價(jià)分析請(qǐng)求,并等待分析結(jié)果

          同樣需要配置發(fā)送消息、接收觸發(fā)消息事件

          • 發(fā)送消息

          發(fā)送消息-流程變量映射Kafka消息內(nèi)容

          • 接收觸發(fā)消息

          消息映射流程變量

          消息過(guò)濾條件


          4.評(píng)價(jià)分析服務(wù)

          • 接收Kafka消息并啟動(dòng)流程

          Kafka消息映射流程變量


          • 將分析結(jié)果發(fā)送回Kafka

          流程變量映射到Kafka消息內(nèi)容


          演示運(yùn)行:

          環(huán)境:

          安裝kafka

          安裝zookeeperdocker?run?--privileged=true?-d?--name?zookeeper?--publish?2181:2181?-d?zookeeper:latest
          安裝kafkadocker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=localhost --env KAFKA_ADVERTISED_PORT=9092 wurstmeister/kafka
          安裝kafkaManagerdocker run -d --name kafka-manager --link zookeeper:zookeeper --link kafka:kafka -p 9001:9000 --restart=always --env ZK_HOSTS=zookeeper:2181 sheepkiller/kafka-manager

          測(cè)試kafka是否安裝成功//創(chuàng)建topicbin/kafka-topics.sh?--create?--zookeeper?zookeeper?:2181?--replication-factor?1?--partitions?1?--topic?mykafka//查看topicbin/kafka-topics.sh?--list?--zookeeper?zookeeper?:2181//創(chuàng)建生產(chǎn)者bin/kafka-console-producer.sh?--broker-list?zookeeper?:9092?--topic?mykafka?//創(chuàng)建消費(fèi)者bin/kafka-console-consumer.sh --zookeeper zookeeper :2181 --topic mykafka --from-beginning

          flowable配置


          2.本來(lái)案例創(chuàng)建應(yīng)該嵌入到用戶注冊(cè)邏輯中,由于是演示,我們以啟動(dòng)表單的形式指定案例歸屬于哪個(gè)用戶。

          這樣,我們就啟動(dòng)了一個(gè)屬于用戶【土豆仙】的用戶關(guān)系 維護(hù)案例,案例處在[激活訂閱]這一階段


          3.UI界面提交評(píng)論,并將數(shù)據(jù)傳輸?shù)絢afka

          kafka消息內(nèi)容

          {    "userId":2,    "stationId":1,    "rating":5,    "comment":"非常好用!"}

          案例接收到消息,流轉(zhuǎn)到[調(diào)用評(píng)價(jià)分析流程]節(jié)點(diǎn)

          查看活動(dòng)的流程,確實(shí)已經(jīng)啟動(dòng)


          3.完成對(duì)應(yīng)任務(wù),流轉(zhuǎn)到[請(qǐng)求評(píng)價(jià)分析]節(jié)點(diǎn),會(huì)自動(dòng)向kafka發(fā)送一條消息


          同時(shí),評(píng)價(jià)分析會(huì)接收到kafka消息,啟動(dòng)分析流程,完成該任務(wù)審核


          4.由于處理評(píng)價(jià)識(shí)別,我們是模擬的隨機(jī)

          random.nextBoolean() ? "negative" : "positive";

          這一次的評(píng)價(jià),隨機(jī)判定為積極的評(píng)價(jià),則不做處理。



          (重新發(fā)送一條評(píng)價(jià),并完成對(duì)應(yīng)審核)

          當(dāng)判定為消極評(píng)價(jià),我們會(huì)流轉(zhuǎn)到應(yīng)對(duì)消極評(píng)價(jià)的處理分支中去。



          ? 實(shí)際生產(chǎn)環(huán)境,可以去掉上面的兩步審核,并完善針對(duì)評(píng)價(jià)語(yǔ)句的自動(dòng)分析識(shí)別邏輯。這樣,我們就完成了一套針對(duì)客戶評(píng)價(jià)自動(dòng)識(shí)別,并作出即時(shí)響應(yīng)的客戶關(guān)系維護(hù)系統(tǒng)。一旦識(shí)別到客戶不滿意,則會(huì)走人工聯(lián)系處理。

          瀏覽 122
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  在线观看 禁无码精品软件小说 | 一级免费卜片 | 俺去也俺来也 | 日韩美逼 | 伊人在线免费视频 |