中國東方電氣集團有限公司 劉宏志
SAP接口技術綜述
中國東方電氣集團有限公司 劉宏志
隨著SAP系統的廣泛應用,新系統與SAP的集成已成為眾多企業迫切的需求。SAP不斷發布了多種接口標準,技術越來越先進,如何選擇和實施成為了產業界的難題。本文將對當前使用較為普遍的幾種SAP接口技術進行介紹和分析。
SAP;接口技術;系統集成
SAP是當前世界上適用范圍最為普遍、采納人數最多以及技術最為先進的應用系統。一般說來,SAP系列的SAPR/3在進行針對性的提供API應用編程的接口數據處理上也同樣達到了最為先進的業內水平。
當前較為常用的SAP接口技術包括ALE/IDocs、BAPI、RFC以及SAP-DCOM接口,現對其分別進行進一步的介紹和分析。
ALE(Application Link and Enabling)是為系統之間通信所設計的。其中的IDocs(Intermediate Document)屬于系統之間專門的數據/消息格式,二者均由SAP設計提供。在SAP3.0版本之后,ALE成為SAP中非常重要的一個部分,在他的引導下,整個數據自身的交換系統模式獲得了一種十分可靠以及安全的通信機制構架。在最開始,ALE的設計目的就是基于兩個不同的SAP流程構建下的環境中進行提供消息傳遞服務,使其雙方之間的業務流程的數據可以進行在不同模式下的高效交換構架,最終實現兩個相對獨立的SAP系統進行對應的集成。但是伴隨著腳本程序的不斷優化以及當前科技發展速度的不斷提升,ALE/IDOS自身的接口反饋機制也不再局限于SAP系統之間的集成,在非SAP系統之間也形成了新的集成方式。
如果我們對ALE自身的結構進行設計層面上的分析和處理,我們可以把他們分成三個相對獨立的,但是又互相關聯的部分,也就是應用層、數據以及消息的分配層還有通訊層這三個部分。其中的通訊曾是SAP系統中最為基礎的部分,SAP系統的通信功能模塊就是靠這部分的功能來實現的。而對于數據/消息分配層而言,其功能和服務為:根據數據自身的分配模型構建來進行數據的接受者傳輸和確定;對數據信息進行過濾以及對應的轉換變化,還有把數據或者是信息進行一定的壓縮處理,實現高效傳輸。應用層主要功能在與接收其它系統的消息文本上,在這其中最為關鍵的部分包括接受者自身的名稱、數據獲取方要求發送的信息數據種類以及對于信息進行針對性的處理這樣的幾個部分。
ALE獨特構建下的的這種機制讓原來的SAP通訊處理方式發生了根性的變化,以前的BDC(Batch Data Communication)方式逐漸的被其所替代。專門對BDC進行了分析和研究,BDC在使用功能上仍舊有著許多的不足,嚴格來說其還不能夠稱為中間件技術,只是具備一些較為簡單的數據批處理功能,并沒有在系統之間的管理、維護以及改錯方面提供相應的功能。經過對SAP的ALE進行總結分析,主要具備著下面幾大優點:
首先,ALE技術自身是不受到SAP自身版本升級的干擾的,相對來說它提供了針對版本的向上兼容性構建。ALE自身定義在SAP框架基礎上的應用層范圍上,對應的和SAP的自身邏輯層進行了相對獨立的構建,因此整個ALE自身的中間件是可以獨立于整個發送以及接收系統之上的。
其次,ALE自身的消息邏輯設計構架可以對信息的獨一性進行保證,也就是所謂的“一次,并且只有一次”。ALE自身采取的信息技術就是不可進行備份復制的“存儲以及發送”技術,這種技術可以確保即使是接受方自身的系統出現了重大的故障,或者是信息還沒有到準備接受的程度的時候,消息也可以進行順利的傳達。這樣可以保證信息不會被重復發送多次,也不會導致不同時間的同一信息贅余發送。
第三,ALE自身還提供了IDocs的管理思路。這個管理方式主要有以下的三個重要組成部分構建而成:首先是文本的縮減,其次是文本自身的版本控制,最后是針對文本數據的自動過濾功能。這三種控制機制的交叉配合可以使得SAP的開發人員根據當前的實際需要進行基于IDocs的文本運行動態模塊處理。
第四,ALE自身還提供了對應的系統管理思路構建,這個系統允許自身進行啟動以及復位等的對應的操作思路。在這種多方面的操作控制友好輔助下,開發人員可以進行更深層次的管理控制構架處理,極大地提升了靈活性和便于維護性。
Idocs構建的基礎就是字符,因此相對來說可讀性很高。一般說來這種模式有著以下的三種記錄類型構建。首先是控制記錄,對于文本信息進行有效控制,比如發送方和接收方的信息控制和文本標志。第二種就是數據記錄,這其中含有管理部分和實際進行操控的部分。最后一種就是針對性之下的狀態記錄,這種記錄可以用來進行文本追蹤處理,對語文本的各自節點的狀態進行追蹤和分析,比如狀態碼構建、系統時間的研究和針對性的錯誤標志構建等等框架進行處理。
BMPI最大的特點就是在當前業務對象界面方向上運用接口,這項功能一般要高于SAP3.0的版本上才可以使用。在SAP3.0版本號以上的軟件中采用了面對對象的技術構建,并且對SAPR/3的自身系統進行了針對所有業務對象的定義構架,并且把所有的對象都和BAPIs進行了存儲處理到企業自身的對象庫,也就是BOR當中。一般說來,SAPR/3真身的業務對象類型的自身概念差不多等同于面向對象設計語言中的類(Class),由基本數據和接口界面兩部分定義而成?;緮祿ㄋ蠴T的通用屬性,從而實現SAP應用系統之間在數據/邏輯層上及時有效的集成。BAPIs技術提供了標準的、平臺獨立的接口,在SAP開發過程中得到廣泛的使用。
RFC(Remote Function Call)遠程功能調用是集成SAP或非SAP應用系統間的雙向接口技術,由SAP設計制定,由于使用簡單,RFC接口在系統集成中使用較多。但它也有明顯的缺點:第一,沒有系統級的日志監控,容易造成安全隱患;第二,占用系統資源較多,容易影響系統負載。因此,在使用RFC技術時需要更加謹慎。
我們通過對DCOM連接端口的訪問,可以利用各種簡單的語言,比如VB或者是C++等常用程序腳本,通過DCOM目標訪問的構建方式來對SAP的數據進行處理。一般說來在問應用角度上,我們也可以使用各種腳本語言,比如VBS或者是JS等腳本語言,以ASP或DHTML頁面方式訪問SAP數據。另外,利用DCOM也可以間接訪問SAP的業務對象庫BOR。DCOM不限制系統性質,即非SAP系統也可使用,比SAP系統專用的BAPI技術使用范圍更加廣泛。
經過長時間的檢驗,SAP/R3已經被確定為一套非常成功的ERP系統,利用該套軟件系統的多種功能交錯使用,可以完美的實現對應的SAP系統之間以及SAP和其他的系統之間的數據集成構架。當然,由于SAP自身的系統應用高度個性化和定制化,直接導致了系統自身的集成難度大幅度增加。因此對于該系統的使用用戶來說,選擇最為正確的集成技術就是合理利用這套系統的核心和關鍵。
[1]劉洋. SAP接口技術研究與實現[D].武漢理工大學,2009.
[2]李志超.基于SAP接口技術的研究與應用[D].武漢理工大學,2013.
[3]唐亮.SAP接口技術研究與開發[D].同濟大學,2006.
[4]范維.SAP接口技術及其開發實現研究[J]. 計算機光盤軟件與應用,2014,05:106-107.