0

我正在開發嵌入式Linux設備,需要與在Windows桌面環境中運行的系統交換數據。我的團隊正在開發嵌入式設備上的軟件並設計API以與設備交換數據。我想就數據交換架構提出一些想法。我希望架構遵循SOA原則。哪種體系結構可用於在嵌入式Linux設備和桌面Windows之間交換數據?

這裏是重要的規格:

  • 數據庫:該設備將在本地運行一個SQL數據庫服務器。
  • 網絡:設備和桌面系統將通過WLAN 或LAN連接。如果 是一個令人信服的理由,那麼在設備上運行Web服務器也是可能的。
  • 數據將在兩個方向交換。文本客戶信息和jpeg圖像文件(每天大約1MB數據)。

我首先想到的是一種傳統方法:在Linux設備上運行一個進程,該進程通過TCP套接字與Windows進程進行通信。在這種情況下,我的團隊需要編寫一個Windows DLL(.NET庫或Win32)來實現API。我認爲這裏的數據格式應該是XML,不過,我不確定如何使用這種方法傳輸.jpg圖像文件。

我想更現代的方法是在Linux設備上運行Web服務器,並提供一組Web服務來處理與外部系統的交互。我在這方面沒有太多經驗,所以我不確定這是否適合我們的情況。

您對這些方法的想法非常感謝。我相信,這裏關於SO的集體智慧將幫助我做出明智的決定。謝謝你的幫助。

回答

1

我也願意使用網絡服務。如果你使用原始的TCP連接,你最終可能會遇到編碼問題,甚至可能會出現endianess(你談論的是嵌入式linux,你可能在嵌入式處理器上有不同的字尾)。

我的經驗是:

  • SOAP:巨大的窗戶上,C#有很多的IT工具。在Linux上,除非你想自己編寫一個解析器,否則你必須使用gsoap,但這通常是一件壞事。 gsoap的作品,但很難學習。
  • REST:它比較容易實現,以爲我不知道任何爲您生成代碼的程序。我從來沒有使用它在Windows端,但據我所知,Visual Studio支持它。
  • JSON-WSP:它是非常容易實現和輕。我在Python上使用ladon,它真的讓我開心。

Ladon也支持SOAP,但是如果你想交換文件,它有一些小的限制。看看this

+0

感謝您的好點子。 JSON-WSP方法看起來非常有趣 - 我必須閱讀這個。 – PIntag 2012-02-09 16:51:27

相關問題