在企業(yè)的發(fā)展過程中,相繼實(shí)施了多個(gè)業(yè)務(wù)應(yīng)用系統(tǒng),每一個(gè)應(yīng)用系統(tǒng)都有自己的運(yùn)行環(huán)境和數(shù)據(jù)存儲方式。PLM系統(tǒng)在實(shí)施過程中,經(jīng)常需要與其他系統(tǒng)(OA、MES、ERP等等)交互數(shù)據(jù)。企業(yè)根據(jù)業(yè)務(wù)需求,有需要實(shí)時(shí)交互的數(shù)據(jù)報(bào)文,有大批量處理的數(shù)據(jù),目前比較常見的信息系統(tǒng)對接方式有Socket方式、ftp/文件共享服務(wù)器方式、數(shù)據(jù)庫共享數(shù)據(jù)方式、Message方式,每種方式各有利弊。
那么對接方式該如何確定?對接方式確定后,出現(xiàn)接口邏輯和傳輸?shù)膶傩园l(fā)生變更,造成的開發(fā)測試及運(yùn)維成本該如何避免?通過本文,天拓四方根據(jù)十幾年的工業(yè)行業(yè)經(jīng)驗(yàn)和對客戶的認(rèn)知,設(shè)計(jì)了西門子Teamcenter系統(tǒng)與其他系統(tǒng)對接方案,幫您快速解決以上問題。
接口方案架構(gòu)
下面通過Teamcenter的內(nèi)部實(shí)現(xiàn)和對外對接方式兩部分進(jìn)行描述,Teamcenter的內(nèi)部實(shí)現(xiàn)形成統(tǒng)一的數(shù)據(jù)讀取或設(shè)置方案,對外對接方式與第三方協(xié)商時(shí)給出原則和推薦方式。
接口在Teamcenter中的內(nèi)部實(shí)現(xiàn)
接口數(shù)據(jù)配置文件:以XML文件格式使用元素和屬性來描述數(shù)據(jù),定義Teamcenter系統(tǒng)中對象屬性與其他應(yīng)用系統(tǒng)需要交互數(shù)據(jù)的對應(yīng)關(guān)系。此配置文件由實(shí)施人員維護(hù),當(dāng)需求屬性發(fā)生變更時(shí)只需要調(diào)整此配置文件,無需修改代碼。開發(fā)人員也無需關(guān)心具體需要交互的數(shù)據(jù)屬性,只需解析配置文件輸出或設(shè)置定義的屬性。此XML配置文件在Teamcenter系統(tǒng)提供數(shù)據(jù)或接收數(shù)據(jù)時(shí)通用。
?
配置文件解析適配器:讀取XML配置文件,解析其他系統(tǒng)需要交互的數(shù)據(jù)對應(yīng)Teamcenter中的對象及屬性,并存放到自定義的公共類中,提供給需要調(diào)用此對應(yīng)關(guān)系的數(shù)據(jù)對接程序。
?
Teamcenter對外提供數(shù)據(jù)接口:調(diào)用配置文件解析適配器,根據(jù)適配中提供的對應(yīng)關(guān)系,在Teamcenter中取出相關(guān)的數(shù)據(jù),組織成與第三方約定的格式(如xml文件、Excel文檔等),提供給第三方系統(tǒng)。
?
Teamcenter接收外來數(shù)據(jù):調(diào)用配置文件解析適配器,根據(jù)適配中提供的對應(yīng)關(guān)系,創(chuàng)建或更改Teamcenter中對應(yīng)的對象及屬性。?
接口在Teamcenter中的內(nèi)部實(shí)現(xiàn)的優(yōu)勢
靈活性:與其他系統(tǒng)對接數(shù)據(jù),在Teamcenter系統(tǒng)內(nèi)部數(shù)據(jù)處理采用接口數(shù)據(jù)配置文件的方式,當(dāng)傳輸?shù)臄?shù)據(jù)要求發(fā)生變化時(shí)(對接數(shù)據(jù)的增、刪、改) 實(shí)施人員或用戶方管理員
通過修改配置文件即可,無需更改代碼,靈活定義。
?
適用性:只要涉及到Teamcenter與其他系統(tǒng)對接數(shù)據(jù)的要求,Teamcenter系統(tǒng)內(nèi)部數(shù)據(jù)處理均可采用此方式,無論是提供數(shù)據(jù)還是接收數(shù)據(jù),無論是客戶端開發(fā)還是SOA開發(fā),均適用。
?
公用性、可移植性:Teamcenter系統(tǒng)內(nèi)部數(shù)據(jù)處理程序邏輯可移植到任何與其他系統(tǒng)對接數(shù)據(jù)的程序,然后根據(jù)雙方約定的對接方式和規(guī)則輸出或?qū)霐?shù)據(jù)即可。
?
開發(fā)效率:開發(fā)時(shí)無需關(guān)心和明確具體需要對接交互的數(shù)據(jù)(有時(shí)前期需求不能確定,有些需要交互的數(shù)據(jù)信息太多而不能一一明確,有時(shí)Teamcenter數(shù)據(jù)模型尚未確定后續(xù)要持續(xù)調(diào)整),只要按照雙方約定的對接方式和規(guī)則即可提前進(jìn)入開發(fā)階段,開發(fā)完成后根據(jù)實(shí)際需要交互的數(shù)據(jù)進(jìn)行配置來滿足業(yè)務(wù)需求。
天拓四方對外接口方式原則及對接方式建議
總體原則:不暴露數(shù)據(jù)庫,越松耦合越好,能批處理就不要實(shí)時(shí)處理,能用數(shù)據(jù)交換就不用接口調(diào)用,能用異步接口就不用同步接口。
常見對外對接方式及優(yōu)劣勢
1、Socket方式:是最簡單的交互方式,如果需要同步的數(shù)據(jù)要求實(shí)時(shí)交互或者數(shù)據(jù)量小建議采用此種對接方式,實(shí)現(xiàn)方式推薦使用Webservice規(guī)范。
優(yōu)勢是易于編程,通用性比較強(qiáng),Webservice規(guī)范使得服務(wù)變?yōu)橥ㄓ茫o論客戶端是.net架構(gòu),java,python 等等都是可以的)。
劣勢是當(dāng)傳輸數(shù)據(jù)量比較大的時(shí)候,嚴(yán)重占用網(wǎng)絡(luò)帶寬,服務(wù)變得不可靠。
?
2、ftp/文件共享服務(wù)器方式:如交互的數(shù)據(jù)對實(shí)時(shí)性要求不高的情況下,建議使用此方案。優(yōu)勢是在數(shù)據(jù)量大的情況下,可以通過文件傳輸,不會超時(shí),不占用網(wǎng)絡(luò)帶寬,方案簡單,避免了網(wǎng)絡(luò)傳輸,網(wǎng)絡(luò)協(xié)議相關(guān)的概念。
劣勢是不適合做實(shí)時(shí)類的業(yè)務(wù)。
?
3、Message方式:算是一種比較理想的解決方案,但不推薦采取此方式。
優(yōu)勢是比較靈活,可以采取同步,異步。
劣勢是在大數(shù)據(jù)量的情況下,消息可能會產(chǎn)生積壓,導(dǎo)致消息延遲,消息丟失,甚至消息中間件崩潰,同時(shí)實(shí)現(xiàn)的細(xì)節(jié)對于雙方開發(fā)人員來講還有學(xué)習(xí)成本。
?
4、數(shù)據(jù)庫共享方式:如非特殊原因必須使用此對接方式,不建議采用此方案,因?yàn)殡p方對同一個(gè)數(shù)據(jù)庫進(jìn)行讀寫操作,出現(xiàn)問題時(shí)不好排查原因,當(dāng)數(shù)據(jù)變更時(shí)不好處理,使用時(shí)可能出現(xiàn)的結(jié)果是:一方統(tǒng)計(jì)另一方等待、一方鎖表另一方死機(jī)、一方改數(shù)另一方糾錯(cuò)。
綜上所述,根據(jù)接口交互數(shù)據(jù)的業(yè)務(wù)特點(diǎn),盡量采用Socket方式和ftp/文件共享服務(wù)器方式與其他系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的對接。
?
PLM項(xiàng)目的實(shí)施(本文針對西門子Teamcenter產(chǎn)品),幾乎所有的項(xiàng)目都需要與其他系統(tǒng)進(jìn)行或多或少的數(shù)據(jù)集成(與ERP、MES、OA等系統(tǒng))。本方案在眾多企業(yè)實(shí)施過程中已得到廣泛應(yīng)用,獲得了PLM系統(tǒng)實(shí)施人員和用戶的高度認(rèn)可。作為國內(nèi)先進(jìn)的智能制造和工業(yè)互聯(lián)的DEPC,智能制造及工業(yè)互聯(lián)網(wǎng)領(lǐng)域的高新技術(shù)企業(yè)。天拓四方將先進(jìn)技術(shù)和發(fā)展趨勢與我國工業(yè)企業(yè)實(shí)際相結(jié)合,推動智能制造與工業(yè)互聯(lián)網(wǎng)落地實(shí)施,助力客戶實(shí)現(xiàn)智能制造轉(zhuǎn)型升級與可持續(xù)發(fā)展。
如需了解更多企業(yè)系統(tǒng)集成技術(shù)解決方案,可關(guān)注微信公眾號bjttsf2013留言,我們會第一時(shí)間與您聯(lián)系。