Oracle EBS作為Oracle公司的ERP產品,這個產品是十分龐大的,它可以對企業的各方面進行非常強大的管理,一般的大型企業都用到它的相關部分模塊,根據公司的性質不同,選擇的模塊也會有所不同。
對於生產型企業,所采購的模塊中都會包括產品及價格等管理模塊。
ERP屬於大型系統,能選擇Oracle ERP的企業,規模一般也不會太小,所以在IT方面,除了ERP產品本身,一般還會有其它一些小型的專有業務系統來支撐,這些系統有些是在ERP上線之前就在一直使用的,並不能簡單的用ERP產品來全部替換他們。
根據實際情況來看,少不了要在各個系統與EBS之間,實現部分信息的同步,特別是產品信息,一般將會選擇在ERP系統中維護,而其它系統可以直接引用ERP系統中的信息,這樣保證產品信息只有一套,不會出現冗余,也不會出現歧義。
我們公司在以前與ERP進行接口的時候,用到了很多的辦法,其中最常用的就是直接從ERP裡讀取信息,然後直接寫入業務系統,或者由業務系統發起,直接向ERP中寫入信息。對於簡單的信息,這種做法還基本能行的通,但是對於更復雜的業務邏輯,這種做法風險是不能小看的。
因為根據使用Oracle EBS的經驗來看,EBS的設計非常的復雜,表結構與套用關系也是錯綜復雜,有時感覺修改一個表就夠了,但是在真正使用的時候,或用過一段時間之後,才發現ERP的數據一致性已經被破壞,有時甚至會造成ERP系統出現問題,並且有時候已經很難恢復,所以這種做法並不可取。
EBS本身提供了一系列的接口表,所以向EBS寫入數據的過程,Oracle公司都建議使用接口表,在臨時數據寫入接口表之後,OracleEBS的產品中會有相應的接口程序來實現對接口表的描述及導入生產表,這樣會盡量維持EBS的數據完整性。當然從本質上來說,還是對數據庫表的操作,但是這種做法已經安全了很多。
以上所說的一般都是指應用系統與ERP系統都處於公司的同一個網段,這種情況下才有可能用數據庫連接的方式來集成,但是對於有些應用系統位於不同的地理位置,甚至位於海外的時候,這種方式就顯得力不從心了,因為從其它數據中心發起的請求是無法直接到達ERP的數據庫的。
其實很多系統的集成需求抽象出來,有很大的相似性,但是如果由各個廠商自己來制定標准,可能對Oracle EBS的影響比較大。出於此種情況,可以考慮將EBS的接口進行規范化。
在對EBS接口進行規范化的時候,需要考慮幾點問題
數據的安全性
接口只能開放相關系統需要的部分,不能讓更多的業務數據向外開放;
相關應用系統只能通過合法的手段進行接口驗證,未授權的系統不能使用該接口。
數據的一致性
EBS系統的結構相當復雜,在數據寫入的時候,一定要注意數據的完整性和一致性,如果系統中存在多個表的冗余,一定要把所有相關的表全部同時處理,如果所處理的表不全面,會造成EBS致命的錯誤。為了實現這個一致性,應該盡可能使用Oracle EBS自身的接口表系統,然後由EBS自身的標准請求來處理後續的工作。
系統的通用性
此接口系統需要考慮對目前需要接入的幾個系統的通用性支持,即此接口系統盡量要做到與業務系統無關,通過簡單的配置即可實現對不同的系統的支持;
另一個需要考慮的因素就是接入EBS的第三方系統,有些位於企業總部,可以直接連接到Oracle EBS的數據庫服務器,而有些系統位於海外,沒有能力直接與EBS的數據庫相連,為了實現這個通用性,考慮使用WebService的方式來處理,即發布一個公網的WebService,讓它與EBS的數據庫相連接,這樣就可以實現不同地理位置的系統的連接。