OverView

Feature

LuRuJuの主な特徴は以下になります。

Rubyのコード上でJUDEのモデルを操作できます。

  • JUDEが提供する機能の一つにJUDE API(JUDEのモデルデータを参照し活用するためのJavaインターフェース群)があります。このJUDE APIをRubyのコード上で扱うことが可能になります。
  • JUDEのモデルデータをDSL(ドメイン特化言語)と親和性が高いRubyで表現できることで、開発の現場でさまざまな応用が容易になり、設計と実装、モデリングとコーディングとの距離を大幅に縮めることができます。
  • LuRuJuではJUDE APIが提供するAPIと同等のAPIを提供しています。また、利用者の使用性を高めるために、追加のAPIを提供しています。(tagged, kind_of_XXX?, find_XXX_by_YYY, ...etc)
  • JRuby上だけではなく、本家CRuby上でもモデル情報を扱うことができます。(LuRuJuライブラリの内部処理では、JRuby経由でJUDE APIを使用しているのでJRubyのインストールは必要です)
  • LuRuJuライブラリのモデルローダーを通すことで、PureなRubyオブジェクトとしてモデルデータを操作することができます。
  • APIを追加しているぶん、プログラマの負担が軽減され、より楽しくプログラミングできるかもです。。
  • JUDEファイルを開いている状態でモデルをロードすることができるので、開発時のスピード感が損なわれません。

Operating Environment

個人で作成しているライブラリなので、推奨環境を提示することはあっても基本的には動作保障はしません。 作者の最近の開発環境、動作確認環境は以下です。

Platform WindowsXP ServicePack2
Java J2SE JRE/JDK 1.6.0
JUDE Community JUDE Community 5.0.2 モデルバージョン25
JUDE Professional JUDE Professional 5.1.0 モデルバージョン26
JRuby JRuby 1.1-b1
CRuby 1.8.6

以下のダイアグラムの動作確認を行いました(ただし、ハイパーリンク[IHyperlinkOwner,IHyperLink]に関しては動作未確認)。アルゴリズム上、ほかのダイアグラムでも動作する可能性はあります。順次ほかのダイアグラムの対応も実施する予定です。

JUDE Community クラス図
JUDE Professional クラス図, ER図

JavaはJUDE API、JRubyを動作させる為に必要です。両方とも動作するバージョンである必要があります。

プラットフォームはJavaが動作する環境であればどのOSでも問題ないかと思われます。 JUDEは基本的にWindows環境でのみ動作保障をしていますが(詳しくはこちら )、JUDE APIのライブラリをCLASSPATHに含めれば他のプラットフォームでも動作することが予想されます。

今後、段階的にいろいろな環境で動作確認をしようかと考えています。『こんな環境で動いたよー』という報告があれば歓迎します。

TODO

今後主にチャレンジしたいことは以下になります。

  • クラス図,ER図以外のダイアグラムの対応
    • LuRuJu On Railsに必要なダイアグラムはクラス図,ER図で十分なので、そのほかのダイアグラムはそれほど優先度は高くはないのですが、要望があれば順次対応します。