TOPRubyチャンネルRubyの魅力を探る
Ruby人気過去記事一覧
Ruby人気過去記事一覧

Rubyの魅力を探る

2007/9/7
1   2  次のページ

人気のRuby、Ruby on Railsをマスターするために

   まつもとゆきひろ氏により開発され、国内外で高い評価を受けているオブジェクト指向スクリプト言語Ruby。また、Rubyにより構築されたアプリケーションフレームワークRuby on Railsもその開発効率の高さから、Ruby同様に注目を集めている。

   ここではRubyおよびRuby on Railsについて解説した記事をいくつか紹介しよう。

Ruby、Railsをマスターする秘訣
Rubyで探るシステム統合への道
Ruby on Railsを知る


Rubyで探るシステム統合への道

   最新のRubyの魅力は特集記事で知っていただくとして、ここではエンタープライズ規模のシステム統合において「Rubyははたして有効だろうか」という点について考えてみよう。

   以下の記事ではRubyをエンタープライズで利用することに着目し、解説を行っている。

Toward Integration/システム統合への道 Toward Integration/システム統合への道
第2回:Rubyを使ったエンタープライズ・インテグレーション
著者:IONA Technologies  Steve Vinoski
訳者:日本アイオナテクノロジーズ  江川 潔

ダイナミックなスクリプト言語

   もし皆さんが、インテグレーション・プロジェクトを担当させられるとすると、「エンタープライズ・インテグレーション」という言葉は嫌な記憶を思い起こさせるかもしれません。残念なことにプロジェクトマネージャーや開発担当者は、プロジェクトが期限に間に合わないことや予算をオーバーしてしまうこと、あるいは要求された機能をリリースできないことの言い訳のために、エンタープライズ・インテグレーションに対する、そんな思いを利用して、プロジェクトの重要性や状況が悪いことを意図的に助長しています。

   この傾向は、IT業界のどこでも見られるようです。ある開発者は、そのことを軽蔑的なニュアンスの言い方で「enterprisey」と表現します。幸いにもすべてのエンタープライズ・インテグレーションがenterpriseyであるわけではありません。多くのプロジェクトは新しい機能を予定通りリリースして、コストの節約に貢献しています。

   インテグレーションのためのダイナミックなスクリプト言語についてのコラムとして、今回はMaik Schmidt氏の新しい本である「Enterprise Integration with Ruby」を詳細に調べてみました(訳注:原書では、本原稿以外に同様のコラムが2回あります)。

Toward Integration/システム統合への道 Toward Integration/システム統合への道
第3回:Rubyの拡張によるアプローチの違い
著者:IONA Technologies  Steve Vinoski
訳者:日本アイオナテクノロジーズ  江川 潔

Rubyをエンタープライズで使う

   ここではレガシーなサービスがJavaやC++、C言語といった従来のミドルウェア言語で開発されている場合、プロジェクトにRubyなどを利用することで既存のサービスにアクセスするダイナミック言語のアプリケーション開発に直接的な効果があることを説明します。

   データベースのドライバやネットワークのコネクションのように、確実に分離できるアクセス方法のみでサービスを利用するのと同様、通常このアプローチではダイナミック言語のアプリケーションが利用するサービスのアドレススペースから分離されているのです。しかしすべてのエンタープライズ規模のシステム統合プロジェクトで明確に区別されているとは限りません。ではRubyのようなダイナミック言語の有効な使い方として、ダイナミックなコードとレガシーのコードを直接組み合わせることが必要なのかを考えてみました。

   筆者自身、最近まで既存のC++のミドルウェアシステムへRubyをスムーズに統合する方法を模索していました。そこで今回は、実際の調査の中で浮かび上がってきた問題や、より優れていると思われる方法の詳細をご紹介します。

必要なものを簡単に作る

   ここで1つの例をあげます。筆者が原稿執筆に利用しているPowerBook G4は、時々AC電源コードが抜けてバッテリ動作となっていながらも、バッテリ低下のアラームが鳴るまで気が付かないことが多々あります。

   そこでMac OS X 10.4のIOKitフレームワークを使って、バッテリや電源に関する情報を得るアプリケーションを作成しました。C++やC、Object-Cを使ってこのような処理を実行するアプリケーションを書きたいとは思わなかったので、Rubyを使って書くことに決めました。ここではRubyのレベルのフレームワーク機能があるSWIGを使うことにしたのです。

   このフレームワークを使うことにより、動作しているのがAC電源なのかバッテリかが判別できる以外にも、バッテリ残量までもわかります。さらにAC電源からバッテリに切り替わったときにポップアップして警告することもできます。

1   2  次のページ

INDEX
Ruby、Railsをマスターする秘訣
Rubyで探るシステム統合への道
Ruby on Railsを知る