調べものをしていたらたまたまDropwizardを見つけたので試してみました。 Dropwizardとは? Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services. 公式サイトにある通り、「運用に優しく、ハイパフォーマンスな、RESTful Webサービスを作るためのJavaフレームワーク」のようです。 依存関係としてdropwizard-coreを一つ追加すると、Jetty, Jersey, Guava, Logback/slf4jなどのよく使うライブラリが含まれます。 単純な実行(アプリケーションの起動)なら、Javaがインストールされている環境なら、ビルドしたjarファイルと設定ファイルがあれば、 java -jar {jar file} se
2014年にブレイクすると聞いたのでDropwizardのHello Worldを動かしてみた。 Getting Startedを上から順番に進めていく。 プロジェクト作成 サンプルとは違ってMavenではなくGradleでプロジェクトを作る。 全体的にパッケージは変更してある。 あとfatjarを作るための設定も含めておく。 apply plugin: 'idea' apply plugin: 'java' def defaultEncoding = 'UTF-8' def jdkVersion = '1.7' repositories { mavenCentral() } dependencies { compile 'com.yammer.dropwizard:dropwizard-core:0.6.2' } compileJava { options.encoding = defa
Dropwizardのview こちらに説明があります。 FreeMarkerとmustacheしかなかったので、Springと仲の良いThymeleafを使えるようにしてみた。 https://github.com/deffence1776/dropwizard-views-thymeleaf Thymeleafはテンプレートが通常のHTMLとして、表示できるのがいいところ。JavaScriptなんかもアプリを通さず利用できて欲しいところなので、やってみた。 Application public class ExampleBootstrapAppication extends Application<ExampleBootstrapConfigration>{ public static void main(String[] args) throws Exception { new Ex
javaでもrailsのようなmigrationをするツールはいくつかあります。 Liquibase,Flyway,MyBatis Migrationsなどです。 今回は、以前説明したDropwizardがLiquibaseを同梱しているので、そのサンプルを使って説明したいと思います。 ちなみにLiquibaseとFlywayの違いはこちらにわかりやすく書かれていました。 概要 Liquibaseを一言で説明すると「DBスキーマの変更管理を行うツール」になります。 アジャイルで開発していくとコードはどんどん変更されていきますし、それと同じようにDBスキーマも変更されていくことになります。 そういう場合にこういうツールがないと変更が面倒で、開発スピードが落ちたり、最悪の場合は、変更したくないために間違った方向へプロダクトを誘導しかねません。 現在のように、柔軟で迅速に開発できなければ生き残れ
Dropwizardについての続きです。 前回は以下の説明をしました。 mavenでのbuild Configurationクラス Applicationクラス Resourceクラス Representationクラス HealthCheck機能 今回は前回のサンプルに以下を追加していきます。 静的ファイルの表示 テンプレートエンジンによる動的ファイルの表示 ssl通信 認証 静的ファイルと動的ファイル maven設定 静的ファイルはdropwizard-assets 動的ファイルはdropwizard-views-freemarker、またはdropwizard-views-mustache に依存させます。 <dependency> <groupId>io.dropwizard</groupId> <artifactId>dropwizard-assets</artifactId>
Javaが動く環境だけあればOKなWebサービスフレームワーク また新しいJavaのフレームワークかよ!と思ったのですが、 実際に少し使ってみると、いままでにない(自分が知らなかった)タイプのフレームワークでした。 今回は、(一部で)今年大ブレイクが予想されているらしい、「Dropwizard」というフレームワークの紹介をします。 Dropwizardは元々YammerのバックエンドWebサービスを提供するために作られたフレームワークだそうです。 このフレームワークが持つ基本的な機能は以下のとおりです。 組み込みWebサーバ(Jetty) JaxRSベースのRESTフレームワーク(Jersey) ORM Metricsを収集するためのライブラリや監視ツール 機能だけを見るとどこにでもあるようなフレームワークかと思いますが、 特徴的なのはこのフレームワークを使用したアプリのデプロイ方法です。
Dropwizardについて3回に渡って説明したいと思います。 今年に入ってリファクタリングなどで有名なマーティン・ファウラーらが所属するthoughtworks社のTechnology RadarのLanguages & frameworksでADOPT(つまりプロジェクトで採用すべきプロダクト)に入りました。 他に入っているものが、Clojure,Scala,Sinatraなので、それらと同じくらい注目すべきプロダクトということになります。 他のプロダクトに比べると日本語の記事が少なく、また、バージョンも上がり変わった部分もあるので記述しました。 なお、Dropwizardは日々進化しているので、この記事の内容もすぐに古くなるかもしれません。 概要 DropWizardは、YammerのWebサービス部分で利用するために作られたフレームワークでした。 自分が思う一番の特徴は、 **「1
最近Dropwizardというフレームワークが海外のJavaおよびJVMベース言語界隈で流行り始めている感しがします。 Thought Works Technology Reader でも Traialに入ってきています。 http://dropwizard.codahale.com/ このフレームワークはYammerのバックエンドWebサービスを提供するために作られたフレームワークで、アプリケーション開発者からみると、 JaxRSベースのREST提供フレームワーク ORM Jettyベースの組み込みWebサーバ Metricsを収集するためのライブラリ、管理ツール等 といった機能があります。 ここらへんまでは普通のフレームワークと基本的には違いが無く、むしろWebサービスに特化しているため物足りなく感じるのですが、特筆すべきは、このフレームワークが推奨するデプロイ・運用方法にあります。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く