2011-03-31 142 views
1

我正在寫一個應用程序,它從MS AX Dynamics中一次性提取數據,同時實現客戶端/服務器通信的最簡單方法?

AX(或與我工作的公司)的問題是AX不允許交叉域連接。

目前,我們在Active Directory(AD)上有2個域名country1.company.com和country2.company.com,該應用程序旨在在兩個域上運行,但AX在country1.company.com上運行。事實上,所有的country2用戶在需要使用AX時都需要RDP到country1,而且考慮到我們的地理距離,它非常慢。

爲了解決這個問題,我正在考慮編寫一個在country1上運行的單獨(控制檯)程序,以便用戶可以將數據發送給它並讓它查詢AX並通過網絡返回結果。

的一大問題是:

我必須寫這樣一個客戶端服務器的東西應用程序或我可以騎在現有的Windows功能acheive同樣的事情?由於我沒有網絡編程經驗,所以我希望我不必這樣做......感謝任何建議。

回答

2

而不是寫一個控制檯應用程序和套接字,你應該使用WCF類。是的,這是網絡連接,但任何與任何其他計算機交談的東西都是。您可能需要爲這種功能設置WCF web service。這是一個不錯的starter app as an example

1

您可以使用節儉Link。 它可以跨編程語言進行高效可靠的通信。 您只需要在IDL文件中定義數據結構和服務接口。 Link

然後使用thrift編譯器以您選擇的其中一種支持的編程語言生成RPC和數據序列化代碼。

因此,您配備了序列化數據和RPC所需的基礎架構。現在,您可以專注於您的業務邏輯。

P.S:這不是一個Windows功能。

+0

+1爲好的建議,但不幸的是我無法滿足服務器上的運行時要求。感謝您的知識。 – Jake 2011-04-28 06:57:59

+1

如果您正在創建.NET應用程序,thrift.dll是唯一的運行時需求。 thrift.dll可以通過svn倉庫中的源代碼構建:[thrift-trunk](http://svn.apache.org/repos/asf/thrift/trunk/)。 _lib/csharp/src/Thrift.csproj_是MS Build任務創建Thrift.dll – sree 2011-04-29 06:30:56

+0

感謝提示我錯過了..我會再次審查這種可能性。謝謝。 – Jake 2011-04-29 14:28:42

相關問題