独SAP、自社VMでRuby処理系のサポート追加へ − @IT(情報元のブックマーク数)

ABAPRubyを使えるようになる?!SAPが

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によって実現できる。

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

すげぇなぁ、RubyからABAPの全てのオブジェクトにアクセス可能との事。

具体的にはRubyで書かれたコンパイラを使い、Rubyで書かれたソースコードをBRIL(Blue Ruby Intermediate Language)と呼ぶバイトコードに変換。これをBlue Ruby VMと呼ぶスタックマシン上で走らせる。このBlue Ruby VMは、ABAB VM上で動くプロセスの1つで、同じABAPVM上に載ることから、Rubyアプリケーションから、ABAPのすべてのオブジェクトにアクセスできるほか、オブジェクトの生成や、それらオブジェクトへのメッセージの送信が可能という。

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

RubyでのSAP ERP外付けシステム開発とかもできるってことでしょうね。便利なRuby公開!とかやりそうw

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

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

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

screenshot