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