序言

本文分享一個通過數(shù)據(jù)庫(ORACLE)的存儲過程,遵循“對修改封閉,對增加開放”的開閉原則,實(shí)現(xiàn)的可擴(kuò)展性極強(qiáng)的靈活接口方案。

背景

本人從事離散型MES系統(tǒng)的開發(fā)工作,近期負(fù)責(zé)了一個PCBA(電子、手機(jī))行業(yè)的MES系統(tǒng)二開工作。PCBA行業(yè)使用ATE工具(自動測試工具)進(jìn)行寫號、查號、置標(biāo)志位等工作,寫號查號等相關(guān)數(shù)據(jù)需要與MES系統(tǒng)進(jìn)行數(shù)據(jù)交互,同時MES系統(tǒng)也需要管控ATE工具的作業(yè)流程。如查號必須在寫號后,沒有寫號的工具不能進(jìn)行查號等流程管控。由于ATE工具的測試不須人員參與,所以MES系統(tǒng)需要開發(fā)相關(guān)接口給ATE工具端調(diào)用,進(jìn)行數(shù)據(jù)交互和流程管控等工作。

MES系統(tǒng)前期已有途程檢查,分配IMEI、MAC、BT數(shù)據(jù),過站等相關(guān)基礎(chǔ)接口可供ATE工具調(diào)用,基本能滿足要求。但在面對某些客戶定制化的需求時(如上傳軟件版本、記錄測試內(nèi)容),就必須在原有接口的基礎(chǔ)上增加或修改程序,然后把C#編寫的dll封裝成COM組件(因?yàn)锳TE工具使用C++編寫的),更新文檔,再通知ATE工具編寫人員重新連入新版本進(jìn)行編寫和調(diào)試,最后再更新現(xiàn)有工具的所有版本。別看流程描述起來比較簡單,但實(shí)際操作起來涉及到溝通、部門協(xié)作等問題,非常繁瑣累人。

基于上述原因,筆者思考是否有一個方案能夠靈活面對客戶的定制化需求,又不需涉及到太多變更,特別是重新編譯、重新連入和更新等操作。有志者事竟成,經(jīng)過一番研究與思考后,筆者決定采用“存儲過程”來進(jìn)行實(shí)現(xiàn)。

整體方案

電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式