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

可配置化代碼快速響應客戶需求

開發 項目管理
使用現代化的開發工具和技術:使用現代化的開發工具和技術,如云計算、容器化、微服務等,可以幫助開發團隊更快速地開發和部署軟件。

1. 項目背景

快速響應客戶需7求是企業成功的關鍵之一。在現代競爭激烈的市場中,客戶需求不斷變化,企業需要快速響應這些需求以保持競爭優勢。常見的快速響應并滿足客戶通常有如下方案:

采用敏捷開發方法:敏捷開發方法強調迭代、快速響應和持續改進,可以幫助開發團隊更快速地開發和交付軟件。

自動化測試和部署:自動化測試和部署可以幫助開發團隊更快速地檢測和解決問題,并將軟件快速部署到生產環境中。

使用現代化的開發工具和技術:使用現代化的開發工具和技術,如云計算、容器化、微服務等,可以幫助開發團隊更快速地開發和部署軟件。

靈活的軟件架構:采用靈活的軟件架構,可以幫助開發團隊更快速地進行功能擴展和改進。

以上方法是工程、基礎建設和架構設計等方面的最佳實踐,但是即便如此,開發的工作量也是以人/日計算,而且需要重新部署上線。有沒有一種不需要部署,只需要配置即可實現的設計和方法呢。

2. 預期目標

快速響應滿足客戶需求,快速開發上線,設計一個系統,使頻繁變更的需求,更改上線按小時級計算。一般一個需求,需要設計開發、測試、發布上線等流程,整個過程至少需要1-2天,而且頻繁上線,且發布上線一般要選擇在晚上,等用戶使用低峰期,因此我們希望能達到以下目標:預期實現從需求提出,到發布上線,按小時計算,可快速完成需求開發、上線、交付。

3. 技術選型

為了實現預期目標,筆者做了深入的技術調研,動態語言可以實現這一目標。動態語言可以實現熱加載,從而免去了部署的麻煩。熱加載是指在應用程序運行過程中,可以動態地加載新的代碼或修改已有代碼,而無需停止或重新啟動應用程序。

熱加載還可以帶來如下好處:

  • 快速迭代:開發人員可以在運行時修改代碼,無需停止應用程序,從而快速迭代和測試新功能。
  • 減少停機時間:熱加載可以減少停機時間,從而提高應用程序的可用性。
  • 簡化部署:熱加載可以免去部署的麻煩,從而簡化部署和維護工作。

總的來說,熱加載可以提高開發效率、減少停機時間和簡化部署工作。

熱加載主要有如下實現方式:

1)使用JEXL動態執行表達式:

? 優點:可以動態執行Java代碼,調用Java Function(Function需先傳入JexlContext)

◆缺點:只能執行一個“表達式”,而不是Function,所以有很多語法局限,不是真正執行一個Function

2) 使用Java動態編譯:

? 優點:功能強大,能夠真正實現完整的動態執行功能,能夠動態調用全部系統功能和IO操作。

◆ 缺點:雖然功能強大,可以編譯.java文件,但是還是很難在運行時替換框架級的類文件。此外,因為能動態調用全部系統功能和IO操作,但與一般代碼環境沒有隔離,這可能會成為項目中非常嚴重的安全隱患。

3)使用Java ScriptEngine:

? 優點:可以執行完整的JS方法,并且獲取返回值;在虛擬的Context中執行,無法調用系統操作和IO操作,非常安全;可以有多種優化方式,可以預編譯,編譯后可以復用,效率接近原生Java;所有實現ScriptEngine接口的語言都可以使用,并不僅限于JS,如Groovy,Ruby等語言都可以動態執行。

◆ 缺點:無法調用系統和IO操作 ,也不能使用相關js庫,只能使用js的標準語法。

?在如何快速響應客戶需求,快速變化的技術選型時,我們先后對以上幾種技術進行了需求和技術調研分析得出如下:

1)JEXL動態執行表達式,功能簡單,支持有限,不滿足日常需求。

2)動態編碼需要熱部署與熱加載,這個在之前的單機時代還可以,現在是微服務,云服務的時代,大量機器熱部署和熱加載成本高昂且代價巨大。

3)ScriptEngine,可以動態的執行腳本語言,同時無法調用系統操作和IO操作,非常安全,這個給我們帶來了巨大的便利,我們選擇了 JavaScript 作為可以動態執行的腳本語言,主要還有以下原因:

JavaScript 足夠簡單和強大,可以滿足我們的需求。

JavaScript 作為互聯網時代的主流語言,為廣大技術人員必備技能,易于使用。

開發使用環境簡單,一個文本編輯器就可以寫代碼,一個瀏覽器就可以調試,非常方便。

以下是一個簡單的 Java ScriptEngine 示例:

圖片

在這個示例中,我們使用 ScriptEngineManager 創建了一個 JavaScript 的 ScriptEngine,并執行了一段簡單的 JavaScript 代碼,輸出了變量 z 的值。

除了執行 JavaScript 代碼,ScriptEngine 還可以將 Java 對象傳遞給 JavaScript 代碼,從而實現 Java 和 JavaScript 之間的數據交互。以下是一個示例:

圖片

例中,我們將 Java 對象 name 和 age 傳遞給了 JavaScript 代碼,并在 JavaScript 中輸出了一個字符串。

從以上示例可以看出,ScriptEngine功能強大,不僅支持簡單的計算,而且可以支持復雜的業務計算,完全可以滿足我們日常的需求開發。

4. 設計優勢

選定ScriptEngine后下一步是如何實現快速響應,實現日常需求。是否能實現片段代碼的可配置化,配置完后可以直接運行,免發布上線。是否有必要實現代碼的可配置化,可配置化主要有如下優勢:

可配置化代碼可以靈活、快速地響應客戶的需求。通過將軟件系統的各個模塊進行拆分,將其變成可配置的組件,然后根據客戶的需求,選擇合適的組件進行組合,就可以快速地定制出符合客戶需求的軟件系統。

可配置化代碼的優點在于它可以大大提高軟件開發的靈活性和效率。比如,當客戶提出新的需求時,只需要在已有的組件庫中選擇相應的組件進行組合,就可以快速地完成新功能的開發。這種方式大大縮短了軟件開發的周期,同時也降低了開發成本。

可配置化代碼還可以提高軟件系統的可維護性和可擴展性。由于各個模塊都是獨立的可配置組件,因此可以很容易地進行單獨的維護和升級。同時,由于組件是可配置的,因此可以很容易地進行擴展和替換,以適應不同的需求。

總之,可配置化代碼是一種非常靈活,高效的技術手段,可以幫助我們快速響應客戶需求,提高軟件開發效率和質量。

下面,筆者從汽車之家的幾個項目,實踐了代碼可配置化:

對接二手車經銷商車源數據,二手車經銷商車源數據格式各不相同,要求快速接入,快速上線展示。

導出車源信息到第三方網站展示,做推廣。第三方網站要求的格式也各異,而且導出格式也經常變化,如何快速響應變化,滿足客戶需求上線。 

5. 系統設計

系統設計要考慮基于變和不變,變化頻度比較大的計算模塊通過JS腳本運行,不變的部分,即整體部分通過Java設計編寫,JS腳本可通過數據庫存儲,以方便進行更新。 每次將待運算的數據通過接口傳給程序,程序通過調用JS代碼計算,得出計算結果,存入數據庫,具體設計如下。

圖片

圖1 利用ScriptEngine 動態計算過程

6. 系統設計以及腳本的編寫

 6.1腳本設計準則以及適用場景

當需要針對一個場景需求頻繁變化,規則隨時調整,上線要求時間短,有明顯的根據輸入參數,返回結果時,比較適合動態腳本的引入。

以筆者第一個項目庫存導入為例,其場景如下:

 A. 經銷商會定期上傳庫存文件,各個經銷商的庫存文件格式各不相同。

 B. 經銷商會不定時調整自己庫存的格式,比如增加一個字段、減少一個字段、字段格式變化等。

 C. 整體汽車參數基本不變,能覆蓋所有經銷商提供庫存文件的格式。

7. 具體場景實施

此場景比較適合動態腳本解析庫存,以下是項目引用JS代碼片段截圖:

圖片

JS腳本保存數據庫,可以隨時動態靈活的新增,更新,避免上線。數據庫配置如下:

圖片

庫存導出的JS代碼片段:

圖片

庫存導出配置示例:

圖片

初始化ScriptEngine 引擎代碼如下:

圖片

 

調用JS代碼解析庫存示例代碼如下:

圖片

根據以上代碼截圖,以及流程圖,可以總結得出,整體流程如下:

1)建立經銷商賬號。

2)根據經銷商庫存文件編寫 JS 解析腳本,保存入數據庫。

3)根據經銷商的賬號,找經銷商配置的導入Rule (javascript 代碼)。

4)把經銷商傳入的庫存文件數據傳入 ScriptEngine 執行 JS 解析腳本,獲得標準庫存數據。

8. 實現效果和收益

 1)庫存導入JS動態腳本上線后,庫存導入需求效率提高400%,由原來的 2人/日, 提高至 0.5人/日。

  2)庫存導出JS動態腳本上線后,庫存導入需求效率提高600%,由原來的 3人/日, 提高至 0.5人/日。

  3)在線評分系統JS動態腳本上線后,庫存導入需求效率提高600%,由原來的 3人/日, 提高至 0.5人/日。

  4. 極大的提高了經銷商庫存接入,導出效率,和庫存導出效率,給客戶帶來了非常好的體驗。

9. 總結

  以上是我們實踐中根據業務的實際需求,經過深入的調研和分析后做出的技術方案和實踐,并取得了很不錯的效果。這樣的場景以后還有很多,本文給快速響應客戶需求,高效完成實際工作提供一種思路和方法。相信隨著技術的發展也許會有更好的方案和技術,我們不斷探索,不斷追求進步,歡迎有興趣的同學一起探討和學習。

作者簡介

圖片

陳培鋒

■ 經銷商事業部-經銷商技術部-新產品技術團隊。

■ 2019年加入汽車之家,負責智慧診斷產品研發,熱衷于以客戶價值為本,解決客戶痛點,做給客戶帶來價值產品。

責任編輯:武曉燕 來源: 之家技術
相關推薦

2015-11-10 13:55:47

華為

2011-06-30 10:45:00

云計算WideXS成功案例

2011-10-21 09:06:41

Better Net銳捷網絡

2009-08-07 10:12:13

博科資訊物流管理

2023-09-04 15:31:54

軟件開發敏捷開發工具

2017-11-29 16:40:36

敏捷開發鏈接

2013-05-15 10:49:36

華為全景智真視訊終端

2009-06-15 15:10:59

JBoss5時代

2011-11-18 10:07:52

蘋果企業客戶

2013-09-26 17:40:12

華為ICT華為

2012-11-26 16:53:56

營銷Adobe

2010-04-21 12:57:33

RAC負載均衡配置

2011-06-08 22:06:04

工作站解決方案

2015-09-16 14:09:05

中國計算機報

2023-03-07 16:06:58

iOS蘋果快速安全

2012-07-17 10:22:12

施耐德電氣電源保護

2020-02-28 16:02:21

MySQL異構同步

2023-06-20 16:17:41

智能建筑可持續發展

2010-01-25 10:45:25

服務器虛擬化硬件配置需
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91在线精品秘密一区二区 | 亚洲一区中文字幕 | 国产一级片免费看 | 久久国内精品 | 午夜成人免费电影 | 浴室洗澡偷拍一区二区 | 精品视频国产 | 亚洲一区二区av | 亚洲一区视频 | 久久精品这里精品 | 97精品超碰一区二区三区 | 免费精品一区 | 97视频免费 | 国产sm主人调教女m视频 | 日韩在线视频网址 | 久久国产精品无码网站 | 可以在线观看av的网站 | 香蕉超碰 | 亚洲成人免费在线观看 | 日韩精品在线视频免费观看 | 欧美激情欧美激情在线五月 | 国产 欧美 日韩 一区 | 中文字幕亚洲精品在线观看 | 四虎免费视频 | 欧美不卡一区二区三区 | 国产a区 | 日韩国产欧美视频 | 国产精品日韩在线 | 天天摸天天干 | 奇米久久久 | 一级黄色毛片子 | 男女羞羞视频在线观看 | 久草综合在线 | av日韩在线播放 | 久久国产欧美日韩精品 | 99精品欧美一区二区三区综合在线 | 欧美精品一区二区三区在线四季 | 国产精品99久久久久久久久 | 亚洲成人精品在线 | 欧美一区二区三区在线观看 | 午夜精品久久久久久久星辰影院 |