用JavaWeb服務打造聊天程序
|
Web服務是什么或者應該是什么有許多定義,每個或多或少都可以理解。很有趣的事情是最簡單的東西往往是最難描述的。眼前就有一個很好的例子:一個Web服務是一個可以和外部世界交換文檔的實體。這個實體是自我描述的并且擁有一個唯一的特性。
這個文檔內容是XML;嚴格來說是SOAP。SOAP(簡單對象存取協議)定義Web服務消費和生成的XML文檔的內部結構。SOAP被認為是一個行業標準并且被許多跨平臺軟件供應商、硬件平臺、操作系統或者編程語言廣泛地采用。
每個Web服務都有一個地址。這是它的ID。這個地址由一個URI(亦稱URL)定義。一個Web服務存在于并且被它的URI標識。這個地址經常被稱為一個終端。這個ID和內容的安全性毫無關系。本教程的服務存在于http://localhost:6060/ChatService/。
Web服務帶有它自己的描述。這告訴你它交換的是什么類型的文檔。它說明了服務存在于什么地方(URI地址)。并且它還說明了它可以使用哪個傳輸協議來交換文檔。Web服務描述使用的語言是WSDL(Web服務定義語言)。一個Web服務完全由它的WSDL文檔描述。為了和一個獨立Web服務通訊,你只需要WSDL文檔。即使WSDL在它自己的上下文中描述Web服務,它還是無法描述多個Web服務組合起來所形成的美妙的樂章。
Web服務有一個地址,但是為了訪問它,你需要發現它在哪兒。換句話說,你需要一個電話號簿列表Web服務。UDDI (通用描述、發現和集成)是行業標準的電話號碼薄。UDDI處理寄存器并且發現Web服務。
綜合起來,一個Web服務就是和現實世界交換SOAP文檔的一個實體,使用一些URI定位,使用WSDL文檔描述并且可以使用UDDI注冊來列出并發現。