我是C#開發人員和動態GP的eConnect和Web服務的新手。從某些資料來源中,我發現Web服務在功能上有所限制,有時需要或希望在eConnect之上構建自己的Web服務。在Dynamics GP eConnect上創建您自己的Web服務?
我想知道,有人可以解釋什麼會在高層次?
我是C#開發人員和動態GP的eConnect和Web服務的新手。從某些資料來源中,我發現Web服務在功能上有所限制,有時需要或希望在eConnect之上構建自己的Web服務。在Dynamics GP eConnect上創建您自己的Web服務?
我想知道,有人可以解釋什麼會在高層次?
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。
我什麼時候需要擴展一個Web服務以及何時需要創建一個新的Web服務?用你的例子說,我想包括銷售訂單的稅收。我可以通過擴展Web服務來做到這一點,還是需要創建一個新的Web服務? – James 2016-12-20 21:52:13