基于ESB的集成式PLM系統(tǒng)實(shí)現(xiàn)
隨著技術(shù)的不斷發(fā)展,Web Services、JMS等的不斷出現(xiàn),一種實(shí)現(xiàn)SOA系統(tǒng)架構(gòu)的方案出現(xiàn)了:ESB,即開發(fā)出一個(gè)轉(zhuǎn)化、處理的綜合性平臺(tái),實(shí)現(xiàn)各個(gè)軟件之間數(shù)據(jù)的“黑盒”聯(lián)系。不論采用何種技術(shù)方式向“總線”提交請(qǐng)求,“總線”都能成功地應(yīng)答并返回相應(yīng)的數(shù)據(jù)。對(duì)現(xiàn)存的企業(yè)應(yīng)用軟件進(jìn)行ESB系統(tǒng)架構(gòu)改造時(shí),可以將各個(gè)軟件與其他軟件進(jìn)行數(shù)據(jù)關(guān)聯(lián)的地方進(jìn)行必要的、不改變技術(shù)手段的改造,使之連接到ESB中。這種改造的改動(dòng)非常小,因此成本也很低,就使得SOA系統(tǒng)架構(gòu)的實(shí)現(xiàn)成為可能。ESB需要實(shí)現(xiàn)對(duì)于消息的控制、傳送、分派、解析。
圖3是一個(gè)常見的對(duì)現(xiàn)有系統(tǒng)進(jìn)行改造的ESB系統(tǒng)架構(gòu)。
圖3常見的對(duì)現(xiàn)有系統(tǒng)進(jìn)行改造的ESB系統(tǒng)架構(gòu)在這個(gè)架構(gòu)中,每個(gè)組成部分稱之為一個(gè)服務(wù)。不同的相關(guān)服務(wù)的組合,就形成一個(gè)相對(duì)完整的系統(tǒng)。這種系統(tǒng)結(jié)構(gòu)的優(yōu)點(diǎn)在于服務(wù)的組合、發(fā)布、重用,具有依賴性低;能夠同時(shí)運(yùn)行不同的軟件版本;相對(duì)獨(dú)立,便于團(tuán)隊(duì)的開發(fā)和理解;與原系統(tǒng)集成的成本低廉。集成式PLM系統(tǒng)就是要在企業(yè)原有的管理和信息軟件基礎(chǔ)上,根據(jù)實(shí)際的需要,將各類企業(yè)軟件系統(tǒng)封裝成一個(gè)個(gè)服務(wù)并通過ESB集成的方式,整合到一個(gè)平臺(tái)下,這樣可以有效地利用原有資源,也可以在此基礎(chǔ)上進(jìn)行后續(xù)開發(fā)。
2 集成式PLM系統(tǒng)實(shí)現(xiàn)
通常公司或企業(yè)里最常用的莫過于資源管理系統(tǒng)(ERP)和客戶管理系統(tǒng)(CRM),下面就以這兩種系統(tǒng)的集成為示例,介紹一下基于ESB解決方案的集成式PLM系統(tǒng)的部分實(shí)現(xiàn)。這兩個(gè)系統(tǒng)的功能在某些方面是重合的,但是側(cè)重點(diǎn)和系統(tǒng)開發(fā)商不同。如果沒有一個(gè)統(tǒng)一的理念來(lái)管理這兩個(gè)系統(tǒng)或更多的系統(tǒng),想結(jié)合起來(lái)使用,難度很大。如果再加上公司的其他系統(tǒng),那么整個(gè)系統(tǒng)簡(jiǎn)直就是一團(tuán)亂麻。
對(duì)CRM和IERP系統(tǒng)的整合內(nèi)容主要包括:客戶管理、產(chǎn)品管理、工作流管理、工作人員管理、營(yíng)銷管理、銷售管理、客戶服務(wù)和支持、訂單管理、信息交流、決策支持等。如果要新增加一個(gè)客戶或者一個(gè)產(chǎn)品,需要保持兩個(gè)系統(tǒng)里面的數(shù)據(jù)的一致性。如果軟件不是來(lái)自同一個(gè)廠商,兩者不能在數(shù)據(jù)庫(kù)層面集成,可以使用下面的方法解決此類問題。
2.1 建立ESB系統(tǒng)總線
利用ESB總線的思想,采用JMS平臺(tái)進(jìn)行消息傳遞,可以實(shí)現(xiàn)對(duì)系統(tǒng)的整合,ESB總線傳遞的是消息,需要實(shí)現(xiàn)消息(信息)的轉(zhuǎn)換、訂閱、發(fā)布、傳送、分派、事件解析、事件通知、事件注冊(cè)、事件儲(chǔ)存等功能,如圖4所示。
信息轉(zhuǎn)換和時(shí)間訂閱/發(fā)布等,需要寫代碼完成,本例中外部全部使用Web Services,可以不進(jìn)行信息轉(zhuǎn)換的工作。事件的存儲(chǔ)、注冊(cè)、訂閱、發(fā)布等,在JMS中有比較完整的實(shí)現(xiàn),由于篇幅的限制,在此不再贅述。
評(píng)論