2010-05-14 75 views
3

我正在尋找一種快速和高效的協議,可以在不同的Web服務之間使用發送文本數據(而不是二進制數據)。如果協議是二進制文本或文本庫,則無關緊要。我需要一個有效的協議,或多或少支持所有主要語言的網絡服務

一些條件:

  • 我不得不更加「高效」比正常的XML這增加了很多額外的數據和讀/寫的工具太重

  • 它具有被大多數主要語言「支持」,這意味着它不僅可以用於一種特定的語言。目前,Java和PHP都必須能夠使用該協議相互通話。

我已經看了看:

  • XML - 我目前使用。
  • 黑森州2哪位在Java中的作品完美,但PHP支持是過時的
  • JSON JSON和XML之間-THE不同的是,只有輕微的

任何建議,歡迎!

更新1:應該可以通過HTTP使用此協議。

回答

1

Protocol Buffers可能正是你想要的。這是一種Google創造,用他們的話說,它「是一種語言中立,平臺中立,可擴展的串行化結構化數據的方式,用於通信協議,數據存儲等。」

他們的官方文檔展示了Java,C++和Python的實現。但是,協議很簡單,並且已經在很多語言中實現(例如,我使用C#實現)。

恕我直言,在這方面還有其他的方法,但沒有什麼東西完全符合proto-在簡單性和跨多種語言的性能方​​面具有緩衝區。

2

我有兩個答案。

首先,REST服務是由任何能夠發出HTTP請求的堆棧「支持」的。如果你真的需要比SOAP更好的效率,只用REST自己做就可能是你最好的選擇。

其次,它真的需要比'普通XML'更高效嗎?你有分析過嗎?你確定你的服務和客戶之間的數據傳輸會成爲你的瓶頸嗎?有/無XML的有效載荷有多大?

+0

REST更多的是從網站獲取信息而不是真正的數據協議。 – corgrath 2010-05-14 13:39:20

+0

HTTP肯定是一個協議。你可以放任何你喜歡的東西在你的有效載荷。 – 2010-05-14 16:06:52

+0

你是對的。由於它會通過不同的Web服務,因此它已經在使用HTTP。但是,HTTP只爲我提供瞭如何通過Internet傳輸數據,而不是數據如何格式化。 我在尋找的是XML的替代方法,速度更快,大多數主流語言都沒有問題。 – corgrath 2010-05-15 07:58:48

相關問題