エンタープライズ領域にも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 マーケティング」新着記事

ブランドにとってのTwitterの価値は「オーディエンス」 『カメ止め』女優や経沢香保子氏らが語る
映画『カメラを止めるな!』に出演した女優しゅはまはるみ氏、アーティスト和田永氏、キ...

世界の顧客満足度は下降傾向に――Zendesk調査
Zendeskの「カスタマーエクスペリエンス傾向分析レポート2019年版」より。

ツイートから見る訪日外国人の高評価観光スポット――東京海上日動火災保険とNTTデータ調査
ソーシャルビッグデータを活用した全国インバウンド観光調査の結果です。