1.SOAP的引入
SOAP(Simple Object Access Protocol,簡單對象通路協定)以XMI。的形式提供了 一個簡單的、用于分散或分布環境中交換結構化類型資訊的機制。SOAP本身并沒有定義任何應用程式語義,如程式設計模型或特定語義的實作,實際上,它通過提供 一個有标準元件的包模型和在子產品中編碼的機制,定義了一個簡單的表示應用程式語義的機制,這使SOAP能夠被用于從消息傳遞到RPC的各種系統。
SOAP由4個部分組成包括:
. SOAP封裝(Envelope),定義一個消息中包含什麼内容,是誰發送的,誰來處理這些内容以及如何處理的架構。
. SOAP編碼規則(Encoding Rules),定義表示應用程式需要使用的資料類型的執行個體。
. SOAP RPC表示RPC Representation,定義一個用來表示遠端過程調用和應答的協定。
. SOAP綁定(Binding),使用底層協定交換資訊。
這 4個部分都作為SOAP的一部分一起描述,它們在功能上類似,同時又是彼此獨立的。特别是封裝和編碼規則是在不同的名域中定義的,這種定義方法增加了簡單 性。在SOAP封裝、SOAP編碼規則和SOAP RPC協定之外,還定義了兩個協定的綁定,描述了在有或沒有HTTP擴充架構的情況下,中國自學程式設計網 整理釋出,zxbc.cn,SOAP消息如何包含在HTTP消息中并被傳送。
SOAP的主要設計目标是簡單性和可擴充性,這意味着傳統的消息傳遞系統和分布對象系統的某些性質不再是SOAP規範的一部分。這些性質包括:
·分布式碎片收集(Distributed garbage collection):
· 成批傳送消息(Box carting or batching of messages):
· 對象引用(Objects—by—reference)要求分布式碎片收集;
·激活機制(Activation)要求對象引用。
SOAP主要應用于應用程式之間的通訊: SOAP規範從釋出以來,其加密性、認證和授權等安全機制一直受到人們的廣泛關注。這3個方面對于任何的B2B來說都是很重要的,但SOAP在制定時并沒 有過多考慮安全性要求。因為SOAP的一個很重要的設計目标就在于它的簡單性,盡可能的利用已有的标準和協定來實作相應的功能,而不是另起爐竈。因為重新 定義一個嶄新的協定,會大大的降低它的實用性和相容性。SOAPl.1協定進行了加密性擴充,當然這些方案有待讨論,SOAPl.2新的标準也正處于不斷 修改的過程中。作為.NET安全的一個重要的部分,SOAP的安全性的研究也相當重要,關于利用SOAP進行電子商務的安全性工作正不斷引起人們的興趣, 也處于不斷的研究和探索中。