2014-07-26 228 views
0

昨天我瞭解了面向服務的體系結構,我對此有個疑問。Web服務可以與其他Web服務交談嗎?

爲了與網絡服務提供商交談,初始通信必須由服務消費者啓動。那麼這是否意味着Web服務提供者不能直接與另一個Web服務交談(因爲它不是消費者)?

回答

-1

任何一款軟件都可以與Web服務進行通話,只要它能夠到達它即可。

+0

好吧,如果客戶端軟件與Web服務對話以完成工作,並且如果該服務無法單獨完成,該服務是否可以與其他服務對話並完成工作,然後將其返回給客戶端? – DesirePRG

+0

是的,它可以做到這一點。 –

+0

當然,它可以,但在面向服務的體系結構的情況下,您必須問自己,您是否應該這樣做 – user1431072

0

我沒有足夠的信息來準確掌握您所獲得的完整範圍。不過,我可以說,這種說法:

那麼這是否意味着Web服務提供者不能跟直接在另一Web服務(因爲它不是消費者)

是不是真的。程序可以(以編程方式)訪問由Web服務提供的數據。網絡服務並沒有真正意識到「消費者」是什麼。它只能看到(以編程方式)客戶端提供的數據(通常是瀏覽器數據,Cookie,緩存等)。但是這並不能阻止任何人打開bash shell和網站。

這將檢索服務器靜態提供的任何數據。請注意,可能會使用JavaScript對數據進行模糊處理,以採取措施阻止瀏覽器環境之外的任何程序訪問其關鍵數據。

所以這個問題的答案是是沒有

0

您應該在https://softwareengineering.stackexchange.com/上提問這個問題,因爲它與有關編程概念的問題更相關。

無論從技術和建築的角度來看,服務當然都可以打電話給另一個。簡而言之,它正在改變自己的角色,作爲第二項服務的消費者。請注意,如果兩種服務都通過雙方調用來完成單個客戶端請求的任務,情況可能會變得混亂。雖然這種行爲通常有效的場景,但如果兩個服務都由同一個實體管理,那麼其值得查看的任務不應該移動或合併服務,因爲這可能表明設計決策不好。

+0

或者在兩個服務協調的基礎上創建一個門面? – Namphibian