jruby on merb : install
遅くなりましたが、明けましておめでとうございます。本年もよろしくお願いします。
今年はjruby-users.jpのコンテンツをちゃんとつくります
Rails3でマージされることになったMerb。
面白そうなので、触ってみようと思います。もちろんJRubyで。今回はとりあえずインストール
MerbはデフォルトではORMにDataMapperを使用しますが、DataMapper(以下DM)のDBドライバがまだJRubyに対応していないため,ORMにはActiveRecordを使用することにします。またこの関係で、通常の
jruby -S gem install merb
ではdo_sqlite3(DMのsqlite3用ドライバ)のインストールにこけてしまうので、インストールにも一工夫必要です。
ではインストール
開発サーバとしてglassfish、dbとしてsqlite3を使うので、インストールしていない場合はインストール。また(jdbc-)activerecordもインストールしていない場合はインストールします。
jruby -S gem install glassfish activerecord activerecord-jdbcsqlite3-adapter
インストール後、merbをインストール。
jruby -S gem install merb-core merb-more merb_activerecord
これでDM以外のMerbに必要なモジュールとMerbからactiverecordを使うモジュールがインストールされます。
ということで実際のアプリケーション作成は次回!
2009/01/07 by Tomo Nozawa
glassfish gem v.0.9.1 release
glassfish gem の最新版v.0.9.1がリリースされました。
今回の最大の目玉は、
Rails2.2を完全サポート、スレッド・セーフ/ノン・スレッド・セーフ設定両方に対応
もちろんバグフィックスも含まれていますので、お使いの方は、
gem update glassfish
でアップデートを!
2008/12/07 by Tomo Nozawa
Glassfish problem with Netbeans 6.5 RC1 on mac
Netbeans6.5RC1がリリースされましたが、RC1にバンドルされているGlassfish v.3prelude b28にはバグがあるようです。
Mac版だけなのですが、このb28ではupdatetoolをインストールしようとすると、
⁞/Applications/NetBeans/glassfish-v3-prelude-b28/bin% ./updatetoolThe software needed for this command (updatetool) is not installed.
If you choose to install Update Tool, your system will be automatically
configured to periodically check for software updates. If you would like
to configure the tool to not check for updates, you can override the
default behavior via the tool's Preferences facility.When this tool interacts with package repositories, some system information
such as your system's IP address and operating system type and version
is sent to the repository server. For more information please see:http://wiki.updatecenter.java.net/Wiki.jsp?page=UsageMetricsUC2
Once installation is complete you may re-run this command.
Would you like to install Update Tool now (y/n): y
Software repository: http://mercurial1.foundry.sun.com/glassfish/v3prelude/dev/mac/
Software repository: http://pkg.glassfish.org/v3prelude/contrib/mac/
Software repository: http://mercurial1.foundry.sun.com/glassfish/v3prelude/contrib/mac/
Software repository: http://pkg.glassfish.org/v3prelude/dev/mac/
Software repository: http://pkg.glassfish.org/v3prelude/release/mac/
IOException: Connection failed: 503: Service Temporarily UnavailableCould not download application packages. This could be because
you are using a proxy server to access the internet.
このバグは最新のb28cでfixされておりますので、Macでお使いになる場合は、こちらからb28cをダウンロードして、お使いください。
2008/10/24 by Tomo Nozawa
Project Kenai
先日、弊社のオープンソースホスティングサービス
Project Kenai
がサービスインしました。このProject Kenai(キーナイ)はsubversionとMercurialに対応したコードホスティングで、メーリングリスト、フォーラム、wikiを提供します。また近日中にgitとJIRAがサポートされる予定です。
登録すればどなたでもアカウントを作ることができます。現在ベータのため、新規プロジェクトの登録にはinvitationが必要です。新規プロジェクトを登録したい方は、僕にメール(名.性アットマークSun.COM)していただければ、少し時間をいただきますが、招待させていただきます。
現状ではGoogle Codeやgithubと同様のサービスとなっていますが、将来的にはSNS機能やクラウドコンピューティングを使ったテスト環境の提供なども行う予定のようです。
このサイト自体は、Apache + mod_proxy_balancerをフロントエンドにたて、そのバックで、Glassfish v2 + JRuby on Rails + MySQL + Warblerで稼働しています。H/WはSunFire T-2000 + X4500(ストレージとして)、OSはNevada 70bです。
これからどんどんKenai自体の開発も進んでいくようなので、その変化にも注目してください。
2008/09/16 by Tomo Nozawa
JRuby Japan Tour
もうすでにかなり前にC・ナッターのブログで話題になっていたのでご存知の方もいらっしゃると思いますが、今月来日します。
6月20-22日のRubyKaigi2008はもちろん、その後島根、福岡、東京と回る予定。
まさにツアーです。
また福岡では、Ruby ビジネス・コモンズの「イケテル"JRuby"勉強会」に講師として登場予定。
そして26日には弊社セミナーにてJRubyの最新動向を講演する予定です。詳細は下記参照
そのセミナーでは僕もNetbeansを使った、Ruby on Railsについてしゃべります。NetbeansによるRuby Platformやgem/プラグイン管理、オートコンプリート、スニペット、DB管理などを紹介いたします。ぜひご参加ください。
申し訳ございませんが、今回は無料セミナーながら、人数多数の場合は抽選となりますので、ご了承ください。
JRuby の最新動向と NetBeans, GlassFish, Solaris on Sun サーバ
2008年06月26日(木)
サン・マイクロシステムズ株式会社 用賀本社27階セミナールーム
1. NetBeans 6.1 で加速する Ruby on Rails 開発
JRuby エバンジェリスト
野澤 智(のざわ とも)
Java の開発環境としてだけではなく、(J)Ruby の開発環境としても有効な NetBeans 6.1。Ruby on Rails の開発での gem やプラグインの管理、rake タスクの実行、デバッグ、スニペットなど、NetBeans6.1 の特徴をご紹介いたします。NetBeans 6.1 を使うことでよりアジャイルに開発を加速します。
2. GlassFish で安心、エンタープライズ Ruby
Java エバンジェリスト
岡崎 隆之(おかざき たかゆき)
GlassFish は Java EE だけのアプリケーションサーバだと思っていませんか?実は GlassFish では JRuby を使って Ruby on Rails 実行環境を構築できるだけでなく、クラスタ環境などへの配備もサポートしています。ミッションクリティカル環境で使われている GlassFish の安心感をエンタープライズ Ruby でもご堪能ください。
3. JRuby 最新動向
4. (J)Ruby on Rails Tuning Tips
Solaris エバンジェリスト
河原一哉(かわはら かずや)
(J)Ruby on Rails でアプリケーションを構築する際の Tuning Tips をご紹介いたします。Web サーバの設定、データベースサーバの設定、OS のチューニング、アプリケーションのボトルネック解析など、さまざまな角度からチューニングを行うノウハウをご紹介いたします。
2008/06/06 by Tomo Nozawa
Glassfish gem v.0.2.0
約2週間GWでお休みしていましたが、再開します。
この2週間で、JavaOne2008が開催され、JRuby関連でも注目の話題がいくつか登場しました。
これから数日はJavaOne2008の新しい話題について取り上げたいと思います。
まず今日は
GlassFish Gem v.0.2.0リリース
コードベースがJavaOneで発表されたGlassFish v.3. TP2にアップグレード。
旧バージョンをお使いの場合は、
でアンインストール後
でインストールし直してください。
2008/05/12 by Tomo Nozawa
JRoR with JNDI Connection Pool
先日のセミナーのアンケートでもいくつかご意見いただいた中にJRuby on Railsでのコネクションプーリングの話がありましたので、取り上げたいと思います。
設定を変更するのはdatabase.ymlのみです。
database.ymlを以下のように変更します。
production:
adapter: jdbc
jndi: <コネクションプール名>
driver: <JDBCドライバクラス名>
今回はproductionを変えましたが、developmentでもtestでも同様です。
後はアプリケーション側でConnection Poolをつくってやれば、JRoRアプリからコネクションプーリングが利用でき、通常のrailsアプリでよく問題になるデータベースの接続コストを削減できます。
[4/30追記]もうしわけございません。訂正します。
高井さんのコメント通り、ActiveRecordはコネクションをはりっぱなしにするので、接続コストは関係ないです。詳細は次記事をご覧ください。
2008/04/28 by Tomo Nozawa
WorldxChange : JRoR Showcase

JRuby on Rails with GlassFishでの新たな導入事例。
ニュージーランドのWorld xChange Communicationsというテレコム企業のオンラインビリングサイトで導入。
構成は、JRuby1.1RC2+ GlassFish v2、DBはMS SQL server2005でJDBC接続。
NetBeans6.1beta+WEBrickで開発し、GlassFish gemで最終テスト。
まだまだ世界的にみてもJRubyを使った事例は少ないですが、今後は増加していくのではないでしょうか。
2008/04/23 by Tomo Nozawa
Java Hot Topic Seminar April 2
同じ話題を繰り返して申し訳ないですが、明日Java Hot Topic SeminarにてJRuby on Rails with GlassFishについて話させていただきます。
内容は以前にポストしたのと若干変更になりました。
こんなかんじです。
- Introduction
- Introduction to Ruby on Rails
- What’s JRuby ?
- JRoR on GlassFish
- Warbler
- glassfish gem
- JRoRとJ2EEのintegration
- Q&A
MonkeybarsなどのJRuby用のSwing Frameworkを扱おうかと思っていましたが、時間の関係で見送りました。RubyからJavaの呼び出しはオーソドックスなSwingになります。
GlassFish v3のRoRデプロイ時のアーキテクチャなども紹介いたします。
またFastladderを使って、warとディレクトリベースのデプロイデモを行います。
では、明日よろしくお願いします。
プレゼン資料はこのブログもしくは、Java Evangelistブログで公開予定です。
2008/04/15 by Tomo Nozawa
Java Hot Topic Seminar April
先日も少し書きましたが、来る4月16日(水)に弊社で開催するディベロッパ向けのセミナーで、JRubyについて話させていただくことになりました。
初心者のための実践 JRuby on Rails 講座という案内がJavaエバンジェリストブログにのっていますが、具体的には
Ruby on Rails を使って開発したアプリケーションが Java 環境さえあれば
どこででもサクサク動きます。
その秘密は Java で書かれた Ruby の処理系 JRuby と最新のアプリケーションサーバ
GlassFish の絶妙なコンビネーション。
Ruby と Java どちらか一方は初心者という方は是非ご参加ください。
- Rubyってなに?
- JRubyってなに?
- Java <=> JRubyの連携
- (J)Ruby on Railsってなに?
- 事例紹介
- JRoRとJavaの連携(サーブレットの呼び出し、JPAやactive_hibernate)
- javaアプリケーションサーバにRoRアプリをデプロイする方法
- glassfish gemの紹介
- OpenFL(Fastladder)のデプロイデモ
18:30からと時間が早いですが、ぜひ来てみてください。
なお参加される際には、こちらからご登録後、ご来場ください。
2008/04/09 by Tomo Nozawa
Java Hot Topic Semminar
またしばらくあいてしまいましたが、ちょっとした告知です。
4月16日に弊社用賀オフィスで行われるJava Hot Topic SeminarというちょっとしたセミナーでJRubyのことを話すことになりました。(現状まだ情報はのっていません。もうすぐアナウンス予定)
JRubyの紹介やJRubyをGlassFishにデプロイする時の方法やアーキテクチャ、さらに多分問題がなければFastladderを使って、実際にデプロイして動作させるデモをやる予定です。
詳細は追ってお知らせいたしますが、ぜひ来てみてください。
2008/04/03 by Tomo Nozawa
Warbler
最近v.0.1.2が出たGlassfish gemを使えば、JRuby on Railsの開発/テストフェーズでは非常に簡単にGlassfishにデプロイすることができます。
しかしたとえば、Glassfishではなく、既存のJava アプリケーションサーバにデプロイしたいといった場合、glassfish gemを使うことができません。そこで、(J)Ruby On RailsのアプリケーションからWarファイルを生成するgemをご紹介。
そのgemはwarbler
中身はgoldspikeというRoRのアプリケーションをwar化するプラグインと最新のJRubyでできています。
goldspikeを使っても、もちろんwarファイルを作り、デプロイすることができますが、goldspikeでつくられたwarファイルは非常に巨大で、生成にもデプロイにもコンパイルにも非常に時間がかかるものとなってしまうという弱点がありました。その弱点を改善し、さらにrubyでjava アプリケーションとしての設定も行えるようにしたのが、warblerです。
では実際に使ってみます。
まずはインストール。注目すべきは、warblerはJRubyはもちろんC-Rubyでも動作します。つまり既存のRoRアプリに一切手を加えることなく、war化することが可能です。
gem install warbler
これでインストールは完了です。インストール後、warbleというコマンドが使用可能になっているはずです。このwarbleでwar化します。まずRoRアプリのトップディレクトリに移動し、configファイルを生成します。
cd <hoge>
warble config
そうすると<hoge>/config/warble.rbというファイルが生成されます。
このファイルにはdevelopment,testといった実行時環境やRailsのバージョン設定などRoRの設定はもちろん、JNDIのデータソース名などJava アプリケーションとしての設定も含まれています。この設定ファイルを編集することで、パラメータを変更することが可能です。
次にwarファイルを生成します。
warble war
でhoge.warというwarファイルが<hoge>ディレクトリに生成されます。このwarファイルを利用することで、さまざまなJavaアプリケーションサーバにデプロイすることが可能です。
2008/03/28 by Tomo Nozawa
Glassfish+MySQL
弊社がMySQLを買収しておそらく初めての成果物。
Glassfish v.2. &MySQL
が公開。
Glassfish v.2.U1とMySQL Community サーバー5.0.51a、そしてMySQL用JDBCドライバ5.1.6をバンドルして提供しています。
アップデートセンターを利用すれば、JRuby On RailsのアプリケーションをWar化して、デプロイすることが可能なプラグインをGlassfishにインストール可能です。
そのあたりの詳細は後日記載予定。
2008/03/27 by Tomo Nozawa
nginx + glassfish
おそらく世界最速のウェブサーバー”nginx”(エンジンエックス)とGlassfish gemを組み合わせて使う方法。
nginxはロシアで開発されているオープンソースのウェブサーバー。日本では最近ようやく日の目を見始めました。
特徴としては
- 非常に軽量(使用メモリ約2M)
- 高速(Apache,lighttpdより若干速い)
- 優れたProxy 機能(HTTPだけでなく、POP/IMAPなどのproxyも可能)
Proxy機能を使って、JRuby On Railsのアプリケーションの処理のみをGlassfishに
リダイレクトする方法を紹介します。
(後日、nginxの詳細やインストール方法、thinとの組み合わせなどを書く予定)
nginxの設定ファイル、nginx.confを以下のように設定します。
nginxはport80でリッスンするものとします。
upstream glassfish {
server 127.0.0.1:3000; #proxyされる先のGlassfishのアドレス
}
server {
listen 80;
server_name <サーバー名>;
access_log <logディレクトリ>/access.log;
error_log <error ディレクトリ>/error.log;
root <Railsアプリケーションルートディレクトリ>/public;
index index.html;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect false;
if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}
if (-f $request_filename.html) {
rewrite (.*) $1.html break;
}
if (!-f $request_filename) {
proxy_pass http://glassfish;
#上記に、upstreamで設定したproxy先を設定
break;
}
}nginx -t
そして、エラーがなければ
glassfish_rails <アプリケーションディレクトリ>
でglassfishを起動後、
nginx
でnginxを起動。そして
http://<ホスト名>
でアクセスすると、リクエストがGlassfishにリダイレクトされ、Railsアプリケーションが起動します。
Glassfishはフットプリントが大きいので、nginxのようなスモールフットプリントのウェブサーバーと組み合わせれば、限られたリソースのマシンでもうまく動作するでしょう。
2008/02/22 by Tomo Nozawa
Fastladder on JRuby on Rails
最近オープンソースとなったサーバインストール型のRSSリーダ、OpenFLことFastladderをJRuby on Rails + glassfish gemで動作させてみたいと思います。
OSはubuntuを使用し、Rails 2.0.2およびglassfish gemはインストール済みとします。
またホームディレクトリ上で作業しているものとします。
1.ソースの取得
subversionで最新のソースを取得します
svn co http://fastladder.googlecode.com/svn/trunk/ fastladder
2. 必要なgemのインストール、およびライブラリのインストール
sudo gem install rfeedfinder
sudo gem install feed-normalizer
sudo gem install opml
sudo apt-get install libfreeimage3
3.DB用の設定と作成
本当はJavaDB(Derby)を使いたかったのですが、うまくいかなかったので、今回はMySQLを使用します。
そのためactiverecord-jdbcmysql-adapterをインストールし、databese.ymlを編集します。
sudo gem install activerecord-jdbcmysql-adapterでactiverecord-jdbcmysql-adapterをインストール。続いて~/fastladder/fastladder/config/database.ymlを下記のように編集します。
development:
adapter: jdbcmysql
database: fastladder_development
user: ユーザ名
password: パスワード
rakeタスクでdbの作成を行います
rake db:migrate
4.CrawlerとGlassFishの起動
cd ~/fastladder/fastladder
script/crawler > /dev/null &
cd ..
glassfish_rails fastladder
5. ブラウザでアクセス
ブラウザで
http://<ホスト名>:3000
にアクセスすると、サインアップフォームにリダイレクトされ、サインアップすればFastladderを使うことができます。
パフォーマンス的にも体感的にはhinやmongrelと比べても問題のないレベルだと思われます。
Ruby On Railsのアプリケーションでもdatabase.ymlを修正してあげれば、このようにJRubyで動作させることは非常に簡単に行えます。
2008/02/20 by Tomo Nozawa
メイン | 次のページ »