2012-12-22 67 views
11

我正在選擇寧靜服務的框架。 Restlet看起來很有前途。不過,我想挑選一些足夠主流的產品,以免它過早地退出支持/開發。我知道restlet已經存在很多年了。不過,我想知道它是否足夠受歡迎。我的問題是,restlet有多受歡迎?

  1. 任何大公司使用它?
  2. 默認的http服務器是否足夠用於生產?

感謝

+1

您是在談論一種語言結構或使用REST的一般概念?在前一種情況下,您缺少語言標記 –

+0

有沒有考慮使用SOAP? –

回答

0

article

在Servlet API於1998年發佈,其核心設計沒有 自那時起顯著改變。它是成功的Java EE API中最成功的一個,但它受到幾個設計缺陷和限制。例如,URI模式和處理程序之間的映射是有限的,並集中在一個配置文件中。此外,它還將套接字流的控制權直接發送給應用程序 開發人員,從而防止了像Servlet容器 一樣的IO優化,就像完全使用NIO功能一樣。最後,它不能很好地支持HTTP緩存,內容協商和內容壓縮 等功能,給開發人員帶來太多的痛苦,並阻止他們將注意力集中在他們的應用程序特定代碼上。

另一個主要問題是 Java EE堆棧中缺少現代HTTP客戶端API。 JDK的HttpURLConnection類很難使用,並且 會留下太多不受支持的HTTP功能,例如表示客戶端內容協商的首選項 。

通常,人們依靠第三方HTTP客戶端API來解決 這些限制。再次,NIO不支持 HttpURLConnection。

2005年,我看到了一個超越所有這些限制的機會,並且根據REST原則設計了一個新的API。對於 第一次,我們有一個API來統一客戶端和服務器端的Web應用程序,一個完全支持NIO的API和一個API,讓開發人員以編程方式控制其容器,連接器和 已部署的應用程序,而不必不斷依靠XML 描述符。

4

最主流的你可以得到的是Jersey。它是java中的其餘部分的官方實現。 Restlet出現在澤西島之前。但澤西超越了他們(以我的愚見)。我已經在嚴肅的項目上使用了Jersey和Restlet。他們都很好。不過,你會在澤西島找到更多的支持,更多的書籍和更多的例子。

+6

確實,我們沒有Oracle的市場推廣能力,但從技術上講,這對Restlet框架來說是一個機會,使我們能夠更自由地進行創新(比如支持Android,GWT和GAE等Google技術,Jersey relunctanty呢)。我們現在有我們自己全面的'Restlet in Action'這本書,還有一些包括Restlet,其中包括O'Reilly的聖經:'RESTful Web Services'。另外,我很想知道我們的澤西在技術上是優越的:) –

2

這是關於Java的?在這種情況下,JAX-RS就是一個非常棒的新API。最好的書是Restful Java with JAX-RS。我最喜歡的實現是澤西島,但也有其他人擁有自己的獨特功能。所有JAX-RS實現都是兼容的,如果你不使用它們的獨特功能(無論如何都是次要的)。本書解釋了核心API,REST理念以及不同實現獨有的一些功能。這是一本很好的書。我喜歡這篇介紹,作者介紹了他如何習慣於傳統的遠程過程調用(如SOAP,WCF和普通的OO語義),但後來又看到了REST原理的簡單性和優雅性。

我使用Tomcat作爲HTTP服務器(servlet容器)。它是輕量級的,並且是Amazon Beanstalk使用的(您可以將您的應用程序,WAR文件上傳到它並且它正常工作)。您還可以使用支持更多JavaEE功能的GlassFish,或將Apache用於靜態頁面和其他事物,並將REST請求轉發給Tomcat/GlassFish。

關於JAX-RS的煩人的事情是,它非常強大和容易,你很想寫出意識形態化的REST服務。不幸的是,JavaScript無法使用許多REST功能(設置Accept標頭,除GET/POST之外的任何其他功能),但這不是什麼大不了的事。

如果您的客戶端是Java,Jersey也有一個夢幻般的客戶端Java API,它反映了JAX-RS並重用相同的帶註釋的類。

27

從2005年起,Restlet Framework就成爲第一個適用於Java的RESTful Web框架。它支持JAX-RS API,但它自己的Restlet API自第一天開始就是客戶端和服務器端,更加全面和可擴展。基於我們的社區反饋,我們可以自由創新,無需經歷漫長的JCP標準化流程。

另外,我們剛剛在去年九月發佈了「Restlet in Action」一書,其版本2.1。我們的內部連接器是完全異步的,基於NIO,即使它尚未準備好大量生產(使用Jetty連接器或Java EE容器而不更改您的Restlet應用程序),我們仍在不斷地穩定它。

其對Java SE/EE,OSGi,Android,GAE和專用版本的GWT的一致支持是獨一無二的。 JS(Node.js + AJAX)的端口也在進行中。我們還開始了第一個里程碑版本2.2的發佈(完整的Java 6支持,基於最終規範的OAuth 2.0擴展等)。我們有很多大公司在使用它,包括LinkedIn(請參閱他們的GLU開源項目),IBM,NVidia,ForgeRock,NASA,Sonatype,Apache Camel,Mule ESB等。Google一直在使用它內部也是如此。看到一些報價在這裏: http://restlet.com/discover/quotes

在一月份,我們將推出一個新的社區網站以及APISpark,所有功能於一身的平臺創建,主機,管理和使用網絡的API,直接基於的Restlet框架(PaaS),因此該項目非常活躍,並且擁有令人振奮的未來!

最好的問候,

傑羅姆Louvel

PS:我Restlet框架的創建者和主要開發者。

+2

這是一個有點舊的帖子,但我必須說我剛剛發現了Restlet,我很驚訝它是多麼的乾淨,精心思考和靈活。它絕對值得更受歡迎。 – Red

+0

非常感謝您的反饋! –