1 引言
產品生命周期管理系統PLM(Product Life-cycle Management)自20世紀末提出以來,便迅速成為制造業關注的焦點。PLM結合電子商務技術與協同技術,將產品的開發流程與SCM、CRM、ERP等系統進行集成,將孤島式流程管理轉變為集成化的一體管理,實現從概念設計、產品設計、產品生產、產品維護到管理信息的全面數據管理。大型PLM系統一般是指具有高并發用戶、參與部門多、日數據量大、系統邏輯復雜等特點的PLM系統。
作為貫穿整個企業研發、銷售、生產、配套、物流、售后整套體系的企業級信息系統,對其穩定性及高性能的要求相對較高。如何在滿足業務部門性能及穩定性需求的前提下,盡可能降低硬件設備的投入,避免一次性大量采購成本高昂的高檔次服務器及存儲?如何避免今后因擴容需求或硬件更換造成原有投入的資源浪費?
在PLM系統上線前期,是可以通過收集整理業務部門的需求,制定合理的系統架構,做系統資源分配測算等一系列方法,設計出一套投入較小,穩定性高,可持續擴展的系統架構規劃方案。本文總結了作者在廈門金旅公司PLM項目及國內其他公司PLM系統實施過程中經驗,提出了一個清晰合理的硬件規劃操作方法,具有很強的可操作性。
2 需求分析
在做系統架構設計及硬件規劃前,需同PLM用戶及所在公司的IT部門充分溝通,形成系統性能需求分析文檔。此文檔將作為下一步驟:系統架構設計的重要設計輸入;需求分析過程中,主要需了解的業務需求詳見表1。
表1 需求分析內容項目
調研數據需按照規范化寫法整理出需求分析報告文檔,使用表格的方式體現業務數據增長。
3 系統架構說明、設計
目前世界上主流的PLM產品均具備較為優秀的可擴展式多層架構,以Siemens公司的TeamCenter產品(以下簡稱TC)為例,介紹其系統基礎架構。
3.1 TC兩層富客戶端架構說明
TC兩層客戶端必須同卷服務器、數據庫服務器部署在同一局域網內。在兩層環境下,系統架構分為客戶層與資源層兩個部分:
1)客戶層包含基于Java為核心的圖形化應用程序、業務邏輯服務器(又稱企業服務器)和文件客戶端緩存組件(FCC,File Cache Client),這些組件均運行在客戶端的計算機上。
2)資源層包含數據庫與卷服務器(文件服務器)。數據庫一般采用Oracle數據庫作為核心;卷服務器一般運行在帶有企業級存儲的服務器上,要求有較大的容量與較快的文件尋址速度;
TC兩層架構的客戶端直接與數據庫通訊,無需架設業務邏輯服務器和Web中間層服務器,對服務器資源的需求較小。一般用于小型PLM系統部署,如系統同時在線用戶數不多(少于30人),數據量小于50G,業務模型較為穩定(一年3-10次小更改)的業務場景下,使用兩層客戶端可以快速進行PLM系統部署實施;兩層架構的組件鏈接圖表請參加圖1。
圖1 TeamCenter系統兩層基礎架構
但TC兩層架構的缺點也非常明顯:因為業務邏輯處理運行在客戶端環境上,一旦遇到業務模型更新或業務邏輯變化,需要逐臺客戶端去更新業務模型和程序;并且因為客戶端和資源層服務器必須在同一局域網內,對網絡要求較高,且無法跨區域,跨防火墻進行訪問;再次因為客戶端上需要同時運行TC富客戶端、處理業務邏輯、工程師一般還需要打開CAD類軟件對設計進行修改和創建,對客戶端計算機的硬件要求也較高。為了解決這些問題,TC系統還提供了一種更加靈活、擴展性強大的四層架構。
TeamCenter系統兩層架構模塊圖表說明:
①系統數據庫(可為 Oracle、SQL Server、IBM DB2等數據庫引擎)
②系統文件服務(Teamcenter File Management System簡稱FMS,是TC系統基于http及https協議獨有的文件傳輸服務)
③系統客戶端(TC客戶端是一個以Java為核心的圖形化應用程序,包含三大模塊:RichClient、FCC、tcserver。RichClient通過IIOP協議與處理業務邏輯的tcserver進程通訊,tcserver進程則通過TCP/IP與數據庫進行數據傳輸,用于根據業務模型和業務邏輯處理客戶端提交的請求,是客戶端與數據庫之間的橋梁;FCC即文件客戶端緩存,通過http/https協議與FMS通訊,用于傳輸文件數據)
3.2 TC四層客戶端架構說明
TC四層架構是在TC兩層架構的基礎上,在資源層與客戶層之間,增加了應用層與Web層;同時將TC兩層客戶端上需要運行的tcserver進程遷移到應用層上,客戶端與服務器之間的通訊更改為SOA總線形式,通過http或https協議進行。如此設計,在TC四層環境下的客戶端,只需要一個提交和接收請求的基于Java的輕量化應用程序(UI同TC兩層富客戶端,但是所有占用CPU資源的業務邏輯處理遷移至企業層上完成)以及負責文件傳輸的FCC組件即可運行。TC四層架構的組件鏈接圖表請參見圖2。
圖2 TeamCenter系統四層基礎架構
TeamCenter系統四層架構模塊說明:
①系統數據庫(可為 Oracle、SQL Server、IBM DB2等數據庫引擎)
②TC系統服務池進程,在企業服務器上一個用戶對應一個獨立的tcserver進程
③TC系統池服務管理器,用于管理企業服務器上啟動的tcserver進程
④中間件服務器,負責客戶端與tcserver之間的通訊
⑤卷服務器與系統文件服務(Teamcenter File Management System簡稱FMS,是TC系統基于http及https協議獨有的文件傳輸服務)
⑥TC瘦客戶端,基于網頁形式的TC客戶端,可以使用任何瀏覽器登陸進行TC日常使用操作
⑦TC四層客戶端程序和FCC組件
3.2.1 應用層包含組件說明
在TC系統企業層服務器上,運行有一個TC服務池管理器。此管理器管理著tcserver進程的新建,關閉,讀寫狀態切換。當用戶登錄時,池服務管理器會為用戶啟動對應的tcserver進程,用于提供業務邏輯服務,并會根據系統后臺的設置,自動保持一定量的暖進程,用以處理短時間密集用戶登錄的場景。tcserver進程產生的臨時文件數據(書簽數據,運算輸出數據,文本報告等)會通過Transient FSC(File Server Cache)組件傳送給客戶端的FCC組件。這里的FSC類似于資源層卷服務器上的FMS組件,它也提供了文件的讀寫及高速緩沖功能,唯一的區別是,它不作為文件的長久保存基地,僅是臨時文件和高頻率讀寫數據的緩存空間。
3.2.2 Web層包含組件說明
TC系統Web層一般來說是運行在基于J2EE的web中間件服務平臺上,如常見的Oracle Weblogic,IBM WebSphere和免費的JBoss;中間件也可以運行在基于Windows Server.Net框架平臺的IIS服務器上。
3.3 系統架構設計
3.3.1 系統架構的選擇
在進行系統架構設計初期階段,需要進行TC系統架構選擇。考慮因素可以參考從本文第二章節介紹的需求分析報告;以下給出幾種常見場景的分析說明供參考:
●如果企業PLM系統還處于初級階段,并未走出研發部門,可以考慮僅采用兩層架構。能有效的降低項目初期設備投入,降低部署和維護難度,使PLM項目快速部署上線。
●如果企業PLM系統已在多個部門使用,與研發相關的業務流程正在逐步向PLM系統遷移,建議采用四層客戶端。四層客戶端可以減少Consumer用戶對同時在線許可證點數的要求,方便查詢用戶使用瀏覽器方式登錄PLM系統進行數據查閱;同時,四層客戶端也降低了業務模型部署難度,避免因頻繁的業務模型變更造成處理邏輯不同步,數據出錯的概率。
●如果企業PLM系統應用已較為深入,開始使用數字樣機評審、項目管理、異地協同等模塊,并且業務模型也相對穩定,就可以采用兩層與四層架構并行部署;本地站點的CAD設計師,BOM工程師等工作流程穩定的角色,計算機配置較好,對速度要求高,即可使用兩層客戶端;而研發流程簽核人員、配套、生成部門等流程查詢用戶,要求輕量化、可在多設備、多平臺下運行的客戶端,可以采用四層客戶端;對異地站點人員,也必須使用四層客戶端;
3.3.2 各層組件的架構分配
此處以Siemens TeamCenter系統的四層架構為例,對幾種場景的架構場景優勢劣勢繼續說明:
●資源層兩組件分開放置:因為數據庫組件和卷組件對于服務器CPU、內存、磁盤IO、磁盤容量、網絡帶寬等資源的需求差異非常大,且都是注重穩定性和安全的重要組件。同時,考慮到數據庫的性能對PLM系統的響應速度影響巨大,升級擴容更換數據庫和卷服務器必定帶來系統停機,而且數據遷移都需要很長的時間等因素,故建議數據庫和卷服務器組件兩臺獨立的服務器放置。
●應用層和Web層在硬件資源運行的情況下,可以放置在同一臺服務器上;因為應用層組件對CPU、內存IO、與數據庫間網絡帶寬資源較為敏感,而web層中間件服務相對資源占用較少。所以在用戶數不多,系統資源富裕的情況下,可以部署在同一臺服務器上。即節省資源,又能減少tcserver和中間件服務通訊的網路延遲。
●對于大型PLM系統部署或需要高可用擴展的部署,必須將Web層和應用層放置在兩臺不同的服務器上。只有做好硬件上的分離,才可通過應用服務器或中間件服務的集群功能,避免單點故障。如果企業部署了云計算,分開部署Web層和應用層還能根據忙時和閑時,實現服務器資源動態調配,能有效的降低對電力的消耗,達到節能減排的環保目的。
●如果卷服務器單獨部署在一臺計算機上,可以將分發服務器和卷服務器整合。
3.3.3 系統架構高可用性、容災的考慮
●PLM系統的高可用性包含中間層故障遷移、企業服務器層故障遷移的兩個方面,圖3給出了基于中間層組件提供的高可用性負載均衡及故障遷移的示例。
圖3 基于中間件服務的高可用性擴展示例圖
●通過中間件提供的服務代理器(tcproxy)可以將多個中間件服務和多個應用層池服務資源匯集,組成一個性能強大的服務器集群,并可以根據用戶數的多少,隨時擴展或減少服務器。同時,也提供了故障遷移的路徑,如果其中的任意服務組件發生故障,均可以將用戶遷移到其他服務器上繼續運行,不會造成服務的中斷。
●PLM系統的容災處理主要體現在資源層的卷服務組件和數據庫組件上,圖4為IBM官方提供的一種異地容災的解決方案。對于一般企業進行PLM系統部署的實際情況,卷和數據庫均會運行在較為穩定的專業級存儲設備上。而且企業級存儲一般都會部署相應的備份設施,除非遇見無可抗拒的自然災害,比較少發生數據丟失的情況。所以在PLM項目初級階段和中期階段,可以考慮將資金投入更能帶來效益的項目實施經費。
圖4 IBM官方異地災難備份方案圖例
PLM系統架構規劃、優化方法及案例分析(中篇)
PLM系統架構規劃、優化方法及案例分析(下篇)
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文網址:http://www.guhuozai8.cn/html/solutions/14019312186.html