sap系統的eai技術分析研究

sap與 eai 概念綜述

sap已經成為當今 erp 的代名詞。它佔有全球企業應用軟體市場份額的54%,財富 500強中有80%以上的公司正在運用這個軟體。1992年sap公司開始進入中國市場,並已為一汽大眾、海爾、聯想等各行業的優秀企業成功實施了sap軟體。eai(enterprise application intergration)即企業應用集成。最初提出此概念是為了實現企業內部不同應用系統之間的互連,通過應用集成實現數據在多個系統之間的同步和共享。伴隨著eai技術的不斷發展,它所被賦予的內涵變得越來越豐富,並已經被擴展到業務集成(business intergration)的範疇。eai 技術層次結構體系

從普遍意義上說,eai 概念被認為可以包括數據集成、應用集成和業務流程集成等方面。具體到技術層面上,一般認為一個完整的eai技術結構體系應該包括應用介面層、應用集成層、流程集成層和用戶交互層4個大的層面,它們的層次關係如圖1所示。

從結構圖中可以看出:應用介面層位於eai層次結構體系的最底層,它用於解決應用集成伺服器與被集成系統之間的連接和數據介面的問題;應用集成層是用於解決被集成系統的數據轉換問題,通過建立統一的數據模型來實現不同系統間的信息換;流程集成層用於將不同的應用系統連接在一起,進行協同工作,並提供商業流程管理的相關功能,包括流程設計、監控和規劃,實現業務流程的管理;用戶交互層則為用戶在界面上提供一個統一的信息服務功能入口,通過將內部和外部各種相對分散獨立的信息組成一個統一的整體,保證了用戶既能夠從統一的渠道訪問其所需的信息,也可以依據每一個用戶的要求來設置和提供個性化的服務。sap系統中主要的eai 介面

sap系統本身提供了優秀的eai解決方案,它主要通過ale、idocs和bapi技術實現與外部系統的連接、數據交換(edi)和流程集成(bpi)等業務功能,如圖2所示。

ale(application link and enabling)是 sap 專門為 sap 與非 sap 系統以及 sap 與 sap 系統之間所設計的集成中間件。從 sap 3.0版本開始,ale已作為 sap 整個應用體系的一部分,為分散式數據交換提供了安全可靠的通訊機制。隨著應用的發展,ale/idocs介面機制已成為與其它非 sap 系統介面的標準集成方式。ale的設計結構可以分為3層,即應用層,數據/消息分配層和通訊層。如圖3所示。

idoc是 sap 提供系統集成專用的數據/消息格式。它幾乎可以傳送任何 sap 應用數據。idocs以文本字元為基礎,因而編製方便。idocs中的信息從記錄類型上分為控制記錄、數據記錄和狀態記錄3種。控制紀錄主要是文本信息,如idoc, 類型、發送/接收方信息以及文本標識;數據紀錄為管理和實際數據部分;狀態紀錄用來追蹤文本傳遞各點的狀態,如狀態碼、系統時間、錯誤標識等。圖4描述了sap 系統與外部系統通過idoc, 進行數據交換的過程。其中圖 4(a)是 sap 通過兩種不同的路徑向外部系統發送數據,圖 4(b)是 sap 系統以兩種不同的方式接收數據的過程。

bapi(business application programming interface)是 sap 為 3.0 以上版本提供的基於企業目標(business object)技術的介面應用界面。sap 在 3.0以上版本採用了面向對象(object-oriented)技術,邏輯地定義了 sap g97 系統的所有功能目標,並且將所有的對象(objects)和 bapis 存儲於企業對象庫bor(business objects repository)中。因此,利用bapi開發人員可以實現對 =dg 進行實時訪問,從而實現應用系統之間在數據 9 邏輯層上的有效集成。因此,針對這種方案要實現 sap 系統與非 sap系統以及 sap 與 sap 之間的 eai 技術,我們需要知道怎樣在 sap 中創建和配置 ale、idocs 和edi文件,並利用abap語言進行程序開發。

應用介面層在 sap 中的實現

從與 sap 建立通信連接的方式上看,應用介面層的實現方法有:直接連接和通過中間件連接兩種。

與 sap 系統直接連接

要直接調用非 sap 系統中的程序,可選擇幾種不同的方法。第一種利用 sap rfc 協議直接與sap 連接;第二種方法是利用分散式公共對象模型(dcom)協議來調用外部程序;第三種方法是利用 http 協議,它支持 abap、sap r/3 enterprise 和sap 系統通訊。其中,rfc 技術是非 sap 和 sap系統之間通訊的核心,它提供雙向連接功能,同時,rfc 技術還可讓外部程序直接執行 sap 事件所選模塊。sap 系統也可用 rfc 協議來存取外部程序。

sap 交換基礎設施

sap 交換基礎設施(sap xi-exchange infrastructure)作為中間件,可全力支持 sap 產品之間或 sap 產品與其他系統之間的集成。這種中介軟體可以讓信息交換更平順,更可預測,在最理想的狀態下,中介軟體可支持非常簡單的協議,如http,以便能與外部系統進行通訊。sap 與非 sap 系統之間的edi

不同的系統之間之所以要進行集成,其根本原 因在於系統之間要進行數據交換。異構數據系統之間的信息交換需要考慮數據交換的實時性,即數據同步的程度和數據交換量的大小。根據這兩個方面,數據集成可以分為數據共享和數據遷移兩類。

數據共享

數據共享是為了實現不同系統間一些實時數據的交換,包括讀寫操作。其主要特點就是:數據交換實時性強、數據交換量小和穩定性高。根據 sap 系統構架,數據共享操作可以發生在兩個層面:數據層和業務邏輯層。發生在數據層意味著:直接向資料庫中寫入數據,繞開業務邏輯層,這樣做的優點是:數據交換速度快、操作簡單;缺點是:對於業務邏輯複雜的系統,由於業務邏輯對數據格式的種種限定,導致這處操作有可能無法完成,或系統出現業務邏輯問題,甚至可能導致系統崩潰。發生在業務邏輯層意味著:通過業務邏輯向資料庫中寫入數據,輸入的數據經過業務邏輯層的檢驗。這種操作的優點是:數據準確、安全穩定;缺點是:實施起來比較複雜,周期較長。邏輯層的數據共享集成方法有:通過應用編程介面(bapi)、基於組件(如:docm、ejb )或中間件(如:ale )方法的功能調用以及基於 web 服務(如:xml 4.0)的功能集成。

數據遷移

數據遷移是將一個系統中的數據部分或全部導入到另一個系統中。這種數據集成一般發生在企業安裝新系統時,需要從原有系統中一次性裝載大量數據。它的主要特點就是:交換量大,實時性較弱。從系統本身講,數據的遷移可以分為彈性遷移和非彈性遷移。彈性遷移是指遷移的目標系統事先沒有確定的數據格式。非彈性遷移是指數據遷移的目標系統事先有確定的數據格式。在 sap 這樣複雜的系統環境下,由於數據格式的轉換,數據冗餘以及完整性等約束,數據遷移一般都要求通過業務邏輯層。實現與sap集成的簡單實例與 sap伺服器建立連接

與 sap 伺服器建立連接,也就是前面提到的應用介面層的集成。它是整個數據交換的先決條件。在這一階段主要是通過程序獲取 sap 的配置信息,並進行用戶身份驗證。在建立有效連接之後, sap 伺服器會根據用戶許可權與外部系統進行通信。圖5是與 sap 建立連接的程序框圖。

數據交換過程

正如前面講到的一樣,兩個異構數據系統在集成的時候,必須注意資料庫的一致性和完整性的特點。所以在這裡我們採用中介文檔(idoc)的方法來轉換數據格式。整個流程可以描述為:當外部系統數據更新以後,根據預定義格式自動生成中間文檔,並觸發 update 事件通知 sap 伺服器。sap 伺服器獲得中間文檔後,開始遍歷 idoc 並寫入資料庫,最後完成對資料庫的更新。與 sap 數據交換的流程框圖如圖6所示。

結 論

本文介紹了 sap eai 技術。企業應用軟體之間的集成,它不僅會對軟體的本身產生影響,而且會給整個企業帶來衝擊和巨變。因此在進行企業應用集成時,必須充分考慮到它會帶來的費用問題和風險。所以,在計劃對 sap 進行 eai 設計之前,有必要根據自己企業的具體情況擬訂合適的集成方案,以確保數據的有效性、實時性、安全性。同時也可以向專門的 sap 顧問公司獲得技術支持,組建強大的技術團隊,只有這樣才有可能使成本與風險降到最低,達到集成後的效果。


推薦閱讀:

全語言觀念引領下的幼兒園語言教育體系研究
語言與語言研究(一)
中國史學研究如何「走出去」
轉載:中藥石斛的應用歷史演變及本草學研究(作者順慶生)
唐朝飲食風尚 - 歷史研究 - 龍騰國學論壇 國學網站|國學經典|古籍|民國書籍|學術交流...

TAG:技術 | 技術分析 | 系統 | 研究 | 分析 |