本節介紹sun的RESTful Webservice的實現框架jersey,以及RESTful Webservice的理論知識。做為該系列的第一篇,本節會介紹后續的內容。
什么是RESTful Web Services?
RESTful web services是表象狀態傳輸的web服務。REST的基礎是適用http創建一個簡單的web服務體系架構。它為http數據傳輸提供了統一的接口。rest有五個關鍵性原則:
- 所有資源都有唯一的URI:所有的數據都在唯一的URI標識。
- 將所有的事物鏈接在一起:由于是URI,在任何的可能的情況下,適用鏈接指向被標識的事物。
- 適用標準方法:同一個資源適用不同的verb可以獲得不同的結果,在接下來的例子中可以得到驗證。這里的verb除了常用的GET和POST,還有PUT,DELETE。每一個動詞剛好對應著數據庫的基本操作:GET對應獲取數據,就是查詢;POST對應的更新數據UPDATE;PUT對應著insert;DELETE就對應這數據庫刪除。這樣的定義不僅能更語義化動詞,更重要的是他定義的一種標準,有了這個標準,可以跨應用,跨域,跨系統的調用。
- 資源的多重表述:資源的獲取會隨著請求的head而不同。
- 無狀態通信:REST要求狀態要么被放入資源狀態中,要么保存在客戶端上。換句話說,服務端不能保持除了單詞請求之外的,任何與其通信的客戶端的通信狀態。這樣做的理由一是可伸縮性,他可以使服務端的變化對客戶端是不可見的。
jersey介紹
jersey是sun的RESTful web service實現。他使用jdk5的新特征anotation。其參考站點是https://jersey.dev.java.net/其他的參考資料:
rest介紹:http://www.infoq.com/cn/articles/rest-introduction
下面幾個家伙就是jersey的開發者
■ Earthly Powers, by Paul Sandoz, at http://blogs.sun.com/sandoz/category/REST.
■ MarcHadley's Blog, at http://weblogs.java.net/blog/mhadley/
■ Japod's Blog, by Jakub Podlesak, at http://blogs.sun.com/japod/category/REST.
本系列索引:
使用eclipse創建restful webservice 工程。