鄧應卓 李一媛 鄭 凱 周 斌
([1]桂林電子科技大學藝術與設計學院 廣西·桂林 541004;[2]湖南文理學院計算機與電氣工程學院 湖南·常德 415000)
在一個典型的ERP應用系統中,可能包含很多個模塊,其中可能會有銷售管理、生產分配管理等等。通過常用的三層架構來組織代碼結構,然后進行開發、測試、交付上線并最終運行。但隨著時間的推移,系統中功能的不斷完善和豐富,開發人員的交替更迭,代碼質量的參差不齊,使得單體式架構應用的復雜度成倍增長,可維護性極其不理想。
隨著云計算、虛擬技術的不斷發展、成熟,這時候就需要一個新的平臺架構模式來解決這類問題。.Net Core平臺架構將表現層、業務邏輯層、數據訪問層分離,將每個模塊都進行拆分,那么每個功能都是獨立的,并且達到了高度重用。模塊拆分后,為大數據分析提供了巨大的發揮空間,可以無限級進行水平延展。不管企業如何發展、變化,都能夠很快適應變化,快速做出調整,減少了大型企業人員的管理成本、溝通成本、為企業創造出巨大的潛在價值。
.Net Core是開放源代碼通用開發平臺,由Microsoft和.Net社區在GitHub上共同維護,它跨平臺(支持Windows,macOS和Linux等),并且可用于生成設備、云和IoT應用程序,下面是官方給出的特性的具體介紹:
(1)跨平臺:可在Windows、macOS和linux等操作系統運行。
(2)跨體系結構一致:在多個體系結構(X64、X86和ARM)上以同樣的行為運行代碼。
(3)命令行工具:包括可用于本地開發和持續集成方案中易于使用的命令行工具。
(4)部署靈活:可以包含在應用或已安裝并行(用戶或系統范圍安裝)中。可搭配Docker容器使用。
(5)開放源代碼:.NetCore平臺是開放源代碼,使用MIT和Apache2許可證。.Net Core是一個.Net Foundation項目
(6)由Microsoft支持:.Net Core由Microsoft依據.Net Core支持提供支持。
以上這些特性已經能夠為云開發、云部署提供強大的動力。
Layui是一款采用自身模塊規范編寫的國產前端UI框架,遵循原生HTML/CSS/JS的書寫與組織形式。采用Layui可以縮減項目開發的周期。
基于.NetCore生產管理系統是管理生產車間的基礎信息化項目,將車間生產工藝流程的半成品和成品數據以軟件信息化的手段管理起來,通過軟、硬件支持,建立一條生產車間和管理層更直接、更簡捷的信息流通道,對車間生產實行數字化管理、信息化管理、生產透明化管理,實現數據共享,為公司管理層決策提供信息支持。
系統的用戶身份是可配置的,即按照菜單和權限去匹配不同角色,系統提供了基礎信息模塊、系統管理模塊、計劃管理模塊、生產分配模塊、生產檢驗模塊、倉庫管理模塊。可以滿足角色個性化管理、生產個性化管理、權限個性化管理。
系統總體架構是采用.NetCore架構,將模型層、數據訪問層、業務邏輯層和表現層分離,方便項目的開發。
其中數據模型是現實實體的抽象,數據訪問層負責從數據庫和數據模型獲取需要的數據,業務邏輯層主要用于實現系統的業務邏輯,通過調用數據訪問層的方法獲取相應的數據,業務邏輯層只要負責調用不同的業務邏輯,實現分發請求,表現層主要使用Layui框架進行前端頁面的渲染。
當表現層有用戶進行操作的時候,會向服務器發送相應的請求。例如管理員登陸的時候,回向服務端發送登錄請求,請求會根據配置文件找到相關Controller文件,并調用其中的login()方法,login()方法會調用業務邏輯中的方法查詢需要的數據,并在業務邏輯層完成必要的業務邏輯處理。同時,會調用數據訪問層的方法進行數據庫數據的查詢,將數據返回到業務邏輯層,并調用相應的視圖,而表現層會使用Layui框架進行最終的頁面渲染。這樣,一個登陸界面的完整流程就結束了,其他的操作流程與此類似。這樣幾個層各司其職,上層調用下層,下層返回數據給上層,共同實現系統的功能。
3.1.1 業務功能實現
權限模塊采用中間件模式,以角色為單個Schema,不同角色的功能權限相互獨立,互不影響。其中菜單是單個Schema中的子聚合,包含了接口和按鈕等實體,以保證聚合之間沒有業務耦合。
3.1.2 系統架構實現
技術棧選用了微軟公司的開源跨平臺框架.NET Core在保證工程化高效開發的同時也規避了可能的版權制裁風險。
平臺系統基于云原生架構實現,以微服務方式落地,同時引入DevOps概念,使得團隊成員在設計、構建、測試工作中可以高效規范的展開協作,在保證系統高效穩定的同時進一步提升了工作效率。平臺將行業資產與實際技術結合應用,基于數字孿生(Digital Twin)理念,實現了行業數字化與信息化轉型,提升了管理效率和生產效率,實現企業的價值最大化。
3.2.1 測試目的
系統在交付給客戶使用之前,嚴謹的系統測試是必不可少的一個環節,要盡可能的在用戶測試之前發現并糾正問題,確保系統的可靠性。
3.2.2 測試結果
用戶正在進行生產時,管理員進行角色修改,此時提示不成功。而當該用戶提交生產結果后,管理員可對其進行角色修改。管理員擁有著最高權限,而其他不同的角色,對應著不同的權限、不同的模塊。
除此之外,系統前端頁面可以隨著分辨率的變化而變換布局,信息在不同的分辨率下都能正常顯示。
基于.Net Core的生產管理系統,能夠實現多用戶、多角色、多權限、多菜單的功能,能對生產信息進行數字化管理、信息化管理、生產透明化管理,實現數據共享,為公司管理層決策提供信息支持,對車間進行有效的管理。