1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 2971字,需瀏覽 6分鐘

         ·

        2021-10-20 23:09



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


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

        需求描述:

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

        • 收到評論

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

        • 定時(shí)器事件

        • 收到停用


        架構(gòu):

        ??? 底部是一個(gè) Kafka 事件流,負(fù)責(zé)傳輸所有事件??蛻敉ㄟ^ React UI,將事件提交給審查服務(wù)。

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

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

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


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


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

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



        建模分析:

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

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

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


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

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


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

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

        • 發(fā)送消息

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

        • 接收觸發(fā)消息

        消息映射流程變量

        消息過濾條件


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

        • 接收Kafka消息并啟動流程

        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

        測試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.本來案例創(chuàng)建應(yīng)該嵌入到用戶注冊邏輯中,由于是演示,我們以啟動表單的形式指定案例歸屬于哪個(gè)用戶。

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


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

        kafka消息內(nèi)容

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

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

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


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


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


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

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

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



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

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



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

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

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日无码| 草骚比影视 | 少妇人妻无码AV片在线蜜芽 | 免费操逼网站 | 国产一级AAAAA片免费 | 成人电影高清无码在线观看 | 欧美午夜精品久久久久久免费 | 久久久午夜| 偷拍自拍在线 | 亚洲操逼国产 |