劉金才 王瑩
摘要
本文介紹了SAP與PDM實現(xiàn)文檔集成的技術(shù)實現(xiàn)方案,描述了SAP端接口程序開發(fā)方法和開發(fā)步驟。對SAP與其它系統(tǒng)集成開發(fā)具有借鑒和指導(dǎo)意義。
【關(guān)鍵詞】SAP PDM FTP XML 異步 系統(tǒng)集成
SAP是當(dāng)今最優(yōu)秀的ERP產(chǎn)品之一,為越來越多的大中型企業(yè)提供全面的業(yè)務(wù)解決方案,是支撐企業(yè)管理的核心信息化系統(tǒng)。不過SAP也不是萬能的,除了SAP之外,企業(yè)還可能部署PDM、MOM、QMS、SRM、MRO等信息化系統(tǒng),以全面支撐企業(yè)信息化管理。這些系統(tǒng)不可能互為孤島,獨立的運行。而應(yīng)該做系統(tǒng)的集成,把彼此孤立的系統(tǒng)全部打通,讓業(yè)務(wù)流程跨系統(tǒng)運行起來,實現(xiàn)數(shù)據(jù)的共享共用,流程的互聯(lián)互通,只有才能發(fā)揮信息化系統(tǒng)的最大價值。
系統(tǒng)集成接口的穩(wěn)定性對信息系統(tǒng)的穩(wěn)定性和效能影響很大,所以集成接口設(shè)計和開發(fā)是非常重要且有挑戰(zhàn)性的工作。系統(tǒng)集成的場景比較復(fù)雜,即要處理結(jié)構(gòu)化數(shù)據(jù),也需處理文檔等非結(jié)構(gòu)化數(shù)據(jù),既有大批量數(shù)據(jù)處理需求,也有實時地處理要求。SAP支持很多接口技術(shù),可根據(jù)實際場景需要進(jìn)行選用,以達(dá)到最優(yōu)化的效果。
1 集成方案設(shè)計
PDM系統(tǒng)實施過程中需要開發(fā)PDM與SAP的接口,將PDM中產(chǎn)生的文檔通過接口發(fā)布到SAP系統(tǒng),供下游用戶使用。接口運行的頻率不可控,每次發(fā)布文檔的數(shù)量級也不可控,單個文檔最大可能達(dá)到上百兆字節(jié)。因此文檔發(fā)布接口存在頻繁的大規(guī)模數(shù)據(jù)處理場景,對處理會話持續(xù)穩(wěn)定性要求很高。根據(jù)文檔發(fā)布接口的特點,決定采用異步處理方式,以避免處理超時的問題。對應(yīng)的詳細(xì)方案內(nèi)容如圖1所示。
(1)由PDM系統(tǒng)首先收集要發(fā)布的文檔數(shù)據(jù),并將文檔放置到FTP服務(wù)器中。
(2)文檔放置FTP成功后,PDM封裝數(shù)據(jù)并向SAP發(fā)送請求。
(3)SAP接到請求后,首先解析XML數(shù)據(jù),并向PDM反饋接收狀態(tài),如果XML解析出錯,SAP就不再做任何處理。如果XML解析成功,則會繼續(xù)處理數(shù)據(jù)。
(4)如果從SAP返回的接收狀態(tài)為失敗,則PDM中對數(shù)據(jù)做修正處理后可重新向SAP發(fā)送請求。如果SAP返回的接收狀態(tài)為成功,則PDM等待SAP最終的處理結(jié)果。
(5)如果SAP接收PDM請求成功,首先經(jīng)數(shù)據(jù)保存到臨時表中,通過調(diào)用后臺作業(yè)繼續(xù)處理數(shù)據(jù),在后臺作業(yè)中,首先將文檔從FTP服務(wù)器下載到SAP系統(tǒng)主目錄,然后從主目錄將文檔檢入到文檔主記錄中,再將文檔從主目錄中刪除掉。處理完之后,將處理狀態(tài)發(fā)送給PDM。如果狀態(tài)發(fā)送失敗,則保存狀態(tài)日志信息,后續(xù)可重試,直至發(fā)送成功為止。
(6)如果SAP最終處理成功,則PDM結(jié)束流程。如果不成功,則PDM按照消息提示的問題進(jìn)行處理后,可重新向SAP發(fā)送請求。
(7)數(shù)據(jù)接收和處理的狀態(tài)和結(jié)果都存儲在日志表中,并通過日志監(jiān)控程序監(jiān)控和分析接口運行狀態(tài)。
2 集成方案實施
2.1 定義接口規(guī)范,明確接口參數(shù),規(guī)范XML格式。保證系統(tǒng)之間能夠正確的勾通。
2.2 定義解析XML的XML轉(zhuǎn)換,用于接口運行期間將XML數(shù)據(jù)解析到SAP內(nèi)存。
2.3 定義接口函數(shù),該函數(shù)是用于接收PDM請求的功能模塊,功能模塊定義為允許遠(yuǎn)程訪問。定義用于接收XML格式數(shù)據(jù)的字符串類型的輸入?yún)?shù)。
2.4 接口函數(shù)程序開發(fā)。首先將接收數(shù)據(jù)保存到日志表中,然后調(diào)用XML轉(zhuǎn)換解析XML數(shù)據(jù)到內(nèi)表中。如果解析成功,則更新日志狀態(tài)為接收成功,否則更新日志狀態(tài)為失敗狀態(tài)。如果解析成功,則把數(shù)據(jù)保存到臨時表,然后立刻計劃后臺作業(yè)調(diào)用數(shù)據(jù)處理程序處理數(shù)據(jù)。
2.5 數(shù)據(jù)處理程序開發(fā)。讀取需要處理的數(shù)據(jù),對數(shù)據(jù)做規(guī)范性和正確性檢查,檢查全部通過后,開始處理數(shù)據(jù)。詳細(xì)數(shù)據(jù)處理過程如下。
(1)獲得當(dāng)前SAP實例的主目錄。主目錄的空間至少要保留50G以上,以保證有足夠的空間臨時存儲文檔。
(2)從FTP服務(wù)器下載文件到主目錄。首先要連接FTP服務(wù)器,然后下載指定的數(shù)據(jù)到當(dāng)前的主目錄。
(3)然后調(diào)用SAP的相應(yīng)BAPI對文檔進(jìn)行處理。無論是創(chuàng)建、修改還是升級文檔,調(diào)用相應(yīng)BAPI時,都需要正確的為BAPI的pf_ftp_dest和pf_http_dest參數(shù)輸入合適的值。
(4)刪除掉主目錄中的文檔。以釋放被占用的空間。
(5)調(diào)用WEB SERVICE向PDM反饋運行結(jié)果。當(dāng)調(diào)用失敗時,將當(dāng)前的狀態(tài)臨時存儲到日志表中,隨后定時重試,直至成功。
3 測試及運行
集成接口開發(fā)完成之后,要進(jìn)行全面的測試,以檢驗接口程序的正確性和健壯性。既要進(jìn)行功能測試,驗證數(shù)據(jù)規(guī)范性檢查、數(shù)據(jù)處理、容錯等方面功能正確性。還要通過壓力測試來驗證接口程序并發(fā)處理能力。測試全部通過后,可以上線運行。
4 接口運行監(jiān)控
通過接口運行監(jiān)控程序可實時監(jiān)控接口運行狀態(tài)。當(dāng)日志中發(fā)現(xiàn)錯誤狀態(tài),或用戶反映數(shù)據(jù)有異常時,可根據(jù)接口ID號查詢對應(yīng)的后臺作業(yè),并根據(jù)需要跟蹤后臺作業(yè)執(zhí)行過程,以進(jìn)一步分析發(fā)生異常原因。
5 結(jié)束語
SAP作為業(yè)界資深的ERP軟件,支持很多種系統(tǒng)集成技術(shù),我們可以根據(jù)實際業(yè)務(wù)場景需要,選擇最優(yōu)化的技術(shù)實現(xiàn)方案。實現(xiàn)穩(wěn)定的集成應(yīng)用系統(tǒng)。
參考文獻(xiàn)
[1]黃勁.SAP與PDM系統(tǒng)集成的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2010.