2013-05-10 59 views

回答

3

eConnect中提供的大多數功能都通過適用於Dynamics GP的Web服務公開,但有一些例外。例如,使用GP Web服務不可能明確指定銷售訂單的稅收,但這可以使用eConnect完成。我鼓勵您查看GP Web服務文檔,以確保涵蓋您的集成需求。

GP Web Services在eConnect上添加了一個附加層。它在後端使用eConnect。它提供了一個單獨的安全層和異常處理程序。如果您有這些需求,這可能對您的環境有好處,但由於GP Web服務的安裝和維護不是微不足道的,因此這需要付出代價。

我有幾次發展了你所問的。我只是創建了封裝eConnect調用的C#WCF服務。安裝和維護更容易,因爲我自己控制服務的細節。另外,我能夠更好地封裝我的邏輯並將其從任何其他應用程序混淆。當然,您需要考慮安全和異常處理邏輯,就像您創建的任何其他服務一樣。

例如,我的WCF服務可以有一個非常簡單的操作,如:

string CreateCustomer(name, address); 

在我將執行所有eConnect調用和返回所創建的客戶號碼的服務的邏輯。

最終答案是「這要看情況」。如果我需要以實體爲基礎的實體(訪問銷售訂單,而不是基於用戶的用戶購買訂單),或者如果我正在構建我想要安裝的商業產品,我會選擇GP Web服務在多種不同的Dynamics GP安裝上。如果GP Web服務已經安裝並在客戶所在地使用,我會盡可能使用它們來保持一致的環境。

如果客戶端還沒有安裝GP Web服務,並且他們需要一個簡單的界面來與Dynamics GP進行交互,那麼我可能會選擇創建自己的WCF來封裝邏輯併爲消費者儘可能簡化集成的服務。

要考慮的另一件事是,動態GP中有幾件事情不能用eConnect或GP Web服務完成,例如現場服務或製造集成。在這些情況下,我會經常創建自己的WCF,並儘可能使用eConnect和SQL更新,但eConnect不涵蓋該功能。

一定要考慮您今天的集成需求以及您將來可能需要的內容,以便您的架構決策能夠長期保持。

有關在eConnect和GP Web服務之間進行選擇的更多詳細信息,請閱讀此優秀article

+0

我什麼時候需要擴展一個Web服務以及何時需要創建一個新的Web服務?用你的例子說,我想包括銷售訂單的稅收。我可以通過擴展Web服務來做到這一點,還是需要創建一個新的Web服務? – James 2016-12-20 21:52:13