使用WebService与Oracle EBS进行集成(上)
一、概述
??? 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的數據庫相連接,這樣就可以實現不同地理位置的系統的連接。
??? 在下一期中,我們將討論一下實現集成的架構。
??? 未完
轉載于:https://www.cnblogs.com/isline/archive/2010/04/14/1711910.html
總結
以上是生活随笔為你收集整理的使用WebService与Oracle EBS进行集成(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序编码应保持良好的规范(C#)
- 下一篇: matlab学习:图像频域分析之Gabo