隨著計算機技術的不斷發展,現代企業面臨的環境越來越復雜,其信息系統大多數為多平臺、多系統的復雜系統。這就要求今天的企業解決方案具有廣泛的兼容能力,可以支持不同的系統平臺、數據格式和多種連接方式,要求在
Internet 環境下,實現系統是松散耦合的、跨平臺的,與語言無關的,與特定接口無關的,而且要提供對Web 應用程序的可靠訪問。
隨著異種計算環境的不斷增加,各種系統間的互操作性就愈顯得必要,要求系統能夠無縫地進行通信和共享數據,從而在Internet環境下,消除巨大的信息孤島,實現信息共享、進行數據交換,達到信息的一致性。Web services 希望實現不同的系統之間能夠用“軟件-軟件對話”的方式相互調用,打破了軟件應用、網站和各種設備之間的格格不入的狀態,實現“基于WEB無縫集成”的目標。
什么是SOAP?
SOAP(Simple Object Access Protocol )簡單對象訪問協議是在分散或分布式的環境中交換信息的簡單的協議,是一個基于XML的協議,它包括四個部分:SOAP封裝(envelop),封裝定義了一個描述消息中的內容是什么,是誰發送的,誰應當接受并處理它以及如何處理它們的框架;SOAP編碼規則(encoding rules),用于表示應用程序需要使用的數據類型的實例; SOAP RPC表示(RPC representation),表示遠程過程調用和應答的協定;SOAP綁定(binding),使用底層協議交換信息。
雖然這四個部分都作為SOAP的一部分,作為一個整體定義的,但他們在功能上是相交的、彼此獨立的。特別的,信封和編碼規則是被定義在不同的XML命名空間(namespace)中,這樣使得定義更加簡單。
http://www.pconline.com.cn/pcedu/empolder/wz/xml/0404/348921.html?
SOAP=RPC+HTTP+XML SOAP簡單的理解,就是這樣的一個開放協議SOAP=RPC+HTTP+XML:采用HTTP作為底層通訊協議;RPC作為一致性的調用途徑,XML作為數據傳送的格式,允許服務提供者和服務客戶經過防火墻在INTERNET進行通訊交互。RPC的描敘可能不大準確,因為SOAP一開始構思就是要實現平臺與環境的無關性和獨立性,每一個通過網絡的遠程調用都可以通過SOAP封裝起來,包括DCE(Distributed Computing Environment ) RPC CALLS,COM/DCOM CALLS, CORBA CALLS, JAVA CALLS,etc。
SOAP 使用 HTTP 傳送 XML,盡管HTTP 不是有效率的通訊協議,而且 XML 還需要額外的文件解析(parse),兩者使得交易的速度大大低于其它方案。但是XML 是一個開放、健全、有語義的訊息機制,而 HTTP 是一個廣泛又能避免許多關于防火墻的問題,從而使SOAP得到了廣泛的應用。但是如果效率對你來說很重要,那么你應該多考慮其它的方式,而不要用 SOAP。