Restlet Frameworkの概要
Restlet Framework(レストレットフレームワーク)は、RESTFulなアーキテクチャスタイルに従ったWeb APIの構築を、Javaで実現するための最も広く使用されているオープンソースのソリューションです。
包括的かつ軽量なフレームワークであり、シンプルさとスケーラビリティのメリットを得ることができます。また、Webサービス、Webサイト、Webクライアントを一つのWebアプリケーションに融合させることができます。
完全にオープンソースで、自由にダウンロードでき、Apache Licenseなどの条件下で使用することができます。
Restlet Frameworkの強力なルーティングとフィルタリング機能、統合されたクライアントとサーバーJava APIにより、開発者は安全でスケーラブルなRESTfulなWeb APIを構築できます。主要なプラットフォーム(Java SE / EE、Google AppEngine、OSGi、GWT、Android)で使用でき、開発者のニーズに合わせたさまざまな拡張機能を提供しています。
Restlet Frameworkを使用して構築されたAPIは、どのプラットフォームにもデプロイできますが、Web API専用のPAAS(Platform-as-a-Service)であるAPISparkと統合することで、API用のSDKの作成やドキュメント化の時間を節約できます。
現在の最新バージョンはRestlet Framework 2.3.12です。(2019年2月現在)
Restlet Frameworkのライセンス
Restlet Frameworkのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)などのライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。
Restlet Frameworkの類似ソフトウェア
Restlet Frameworkは、JavaにおけるRESTfulなWebサービスの実装に関するJavaの仕様JAX-RS: Java API for RESTful Web Services (JAX-RS)の参照実装です。
Restlet Framework の他にもオープンソース JAX-RS 実装 として、Jersey、JBoss RESTEasy、Apache Winkなどがあります。この中で最初に作られたものがRestlet Frameworkであり、JAX-RS自体よりも歴史があります。
Restlet Frameworkの主な特徴
Restlet Frameworkは、小さなコアと多くのオプションの拡張機能をベースにしており、クロスチャネルのWebサイトやアプリケーションを含むあらゆる種類のWeb APIの開発に適しています。
主な機能と特徴は以下の通りです。
Web APIサポート | 再利用・拡張可能なJavaクラスとインタフェースを提供し、効率的にRESTfulなアプリケーションを構築可能です。また、クライアントサイドとサーバーサイドの両方のアプリケーションで同じAPIを使用可能です。 |
---|---|
Webサーバーを内蔵 | Restlet Frameworkは、APIを構築するためだけのフレームワークではなく、それらを実行するためのフレームワークです。Webサーバーが内蔵されており、Tomcatなどのアプリケーションサーバーを別に用意しなくても動作します。 |
幅広いプラットフォームサポート | 対応するプラットフォームをサポートする6つのエディション(Java SE/EE、GWT(Google Web Toolkit)、GAE(Google App Engine)Android、OSGiにより、多用途なアプリケーションを構築できます。 |
拡張性 | HTTP、ファイル、SMTP/POP(S)、JDBC、クラスローダーなど多種多様なコネクタがあり、幅広いユースケースに対応します。 また、Spring、Servlet、Velocity、FreeMarkerなどと統合するための多数の拡張機能も用意されています。 |
サーブレット互換 | RestletアプリケーションはJava EEアプリケーションサーバーまたはサーブレットコンテナに配置することが可能です。 |
セキュリティ | HTTPベーシック認証、ダイジェスト認証、HTTPS、OAuth 2.0認証、Amazon S3認証、Windows Azureクライアント認証、Microsoft Shared Key / Shared Key Lite認証、SMTPS、SMTP-STARTTLS、POPSなどをサポートしています。 |
スケーラビリティ | サーブレットのスケーラビリティにとって大きな問題の1つであるHTTPセッションを意図的に排除し、RESTによるステートレスなクライアント通信を実現します。 |
Restlet Frameworkのダウンロード
関連OSS
- FreeMarker
- Spring Framework
- Apache Lucene
- Apache HTTP Server
- Jetty
- Velocity
Restlet Frameworkのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。