エンタープライズ領域にもRuby普及か

独SAP、自社VMでRuby処理系のサポート追加へ

2009/04/01

 Java VM、.NET Frameworkに続いて、エンタープライズアプリケーションで使われてるもう1つのメジャーなバーチャルマシン(VM)、「ABAP VM」上でもRuby言語がサポートされる可能性が出てきた。

 独SAPは3月27日、同社のWebアプリケーションサーバで動くRubyの実験実装「Blue Rubyプロジェクト」について明らかにしている。ABAP(Advanced Business Application Programming)は、独SAPが提供するWebアプリケーションサーバ「SAP NetWeaver Application Server」は、J2EEと独自言語ABAPによるアプリケーション開発が可能なVMを備えている。

 Blue Rubyプロジェクトは、開発効率が高くアジャイル開発に適したRubyの世界と、すでに実績があり堅牢なSAPのWebアプリケーションサーバの世界をつなぐもの、という。DSL(Domain Specific Languages)を作成する環境も、Rubyによって実現できる。

Rubyソースコードを中間言語にコンパイル

 具体的にはRubyで書かれたコンパイラを使い、Rubyで書かれたソースコードをBRIL(Blue Ruby Intermediate Language)と呼ぶバイトコードに変換。これをBlue Ruby VMと呼ぶスタックマシン上で走らせる。このBlue Ruby VMは、ABAB VM上で動くプロセスの1つで、同じABAPのVM上に載ることから、Rubyアプリケーションから、ABAPのすべてのオブジェクトにアクセスできるほか、オブジェクトの生成や、それらオブジェクトへのメッセージの送信が可能という。逆に、ABAPアプリケーションからRubyのメソッドを呼ぶこともできる。Rubyのソースコードは、仮想ファイルシステムシステムを通してデータベースに保存される。また、RubyソースコードのBRILへのコンパイルは、セーブ時に毎回行われるため、起動時のオーバーヘッドはないという。

 BRILはBlue Ruby向けに作られたバイトコードで、動的言語の特徴を持っている。例えば文法エラーがあっても、コンパイル時にエラーを出すのではなく、実行時に例外を上げるといった違いがあるという。

blueruby01.png ABAPが提供するAPI(RFC)をRubyで利用する例。「1」という名称を持つビジネスパートナーを表示している
blueruby02.png Blue Ruby VMは、既存のVM環境の中で1つのプロセスとしてサンドボックス化されて動く
blueruby03.png Rubyのソースコードと対応するBRILの例(クリックで拡大)

 RubyからABAP、ABAPからRubyの双方向の呼び出しには制限もある。Ruby側からは、ABPA側のすべてにアクセスできるできるわけではなく、とりわけ、データベースアクセスに関しては、ブリッジと呼ばれるインターフェイスを通しABAPアプリケーションからのみ可能。これは、Ruby開発者が既存のプラットフォームを破壊しないようにするための設計で、こうしたコントロールがなければ、業務目的での利用は望めないだろうとしている。

 Blue Rubyは、2009年3月27日時点でRubyの互換性を検証するrubyspecテストに70%程度パスしているという。ただし、OSに依存するプロセス関連や、低レベルなネットワーク関連ライブラリはなく、I/O関連も仮想化ファイルシステムのライブラリとして実装されているなどの違いがある。

 このBlue Rubyプロジェクトは、動的言語をサポートするための汎用的なアプローチであるため、Blue Rubyがうまくいけば、今後はBlue PHP、Blue Pythonなども計画しているという。

 すでにマイクロソフトは.NET上のRuby実装としてIronRubyを提供しているほか、サン・マイクロシステムズはJava VM上のRuby実装としてJRubyの開発を支援している。SAPのRuby言語サポート追加が実現すれば、エンタープライズ用途へのRuby普及が加速するかもしれない。

関連リンク

(@IT 西村賢)

情報をお寄せください:

Coding Edge フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

注目のテーマ

ソリューションFLASH

「ITmedia マーケティング」新着記事

「ECプラットフォーム」 売れ筋TOP10(2024年3月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

GoogleがZ世代のローカル検索でInstagramやTikTokに敗北 なぜこうなった? これからどうなる?
Googleは依然として人気の検索サイトだが、ことZ世代のローカル検索に関しては、Instagra...

DE&Iに関する実態調査 「公平」と「平等」の違いについて認知度は2割未満
NTTデータ経営研究所がNTTコム オンライン・マーケティング・ソリューションと共同で実施...