EOInspiredTools
2007/03/30 (Fri) 22:07:46 JST
EOFは複雑なシステムですが、EOFを参考に作ったツールは結構あるようです。ただし、wotonomyを除きほとんどは?DisplayGroupなどビューに関する部分までは実装していません。
GNUStepDatabaseLibrary (Objective-C)
GNUStepのデータベースライブラリ。現在バージョン2.0を開発中と書いてありますが、ダウンロードはできないようです。 バージョン1.0のドキュメントとソースコードを見るところ、ほとんとEOFと同じようです。
?ObjectPod (Objective-C)
現在私が開発しているライブラリです。 開発言語はGNUStep Database Libraryと同じObjective-Cですが、こっちはMac OS X専用です。CoreDataが登場したので開発を中止しました。
?Cayenne (Java)
これもほぼEOFの中核と同等の機能を実装している模様。 EOModelerにあたるGUIのツールもあるようです。 Tapestryと組み合わせると面白そうですが、 残念ながら?DisplayGroupがないので、WebObjectsほどには連携できなさそう。
API見るとクラス名の省略が多いですね。 Object -> Obj とか、 Utilities -> Utilとか。
?wotonomy (Java)
?OpenStepに影響を受けたWebとGUIアプリケーションのためのフレームワーク。 WebObjectsやEOFの単なるクローンというより、GNUStepのJava版のような感じです。 FAQにこんなことが書いてあります。
WO5 is pure java, so why do I need wotonomy anymore?
You don't: WO5 is what wotonomy wants to be, and $499 is an absolute steal.You should run and not walk to your workstation and buy a license.
この中で唯一?EODisplayGroupを実装していますが、O-Rマッピングを実現するよりもデータを表示するのに重点を置いているらしく(動作環境にWindowsとX Window Systemが入っている)、アクセスレイヤーをまったく実装していません。 データベースではなくJava Beanを使うようです。
Foundationのクラスまで実装してあってかなり気合いが入っているのですが、残念なことに最後のアルファリリースが2002年7月で止まっています。
?ModelingFramework (Python)
こちらもEOFの中核をほぼ実装しています。 ?DisplayGroupまではありませんが、かなりの出来です。 Zopeと連携することができるようです。
ただし、シングルトンのオブジェクトを利用することまで倣って実装されているので、 mod_pythonなどインタプリタを共有する状況で使えるかどうかはわかりません。
TapKit (Ruby)
上記のModeling Frameworkの実装を参考にして私が作ったものです。 mod_rubyでも使えるようにシングルトンの利用を避けています。 まだ?DisplayGroupまで実装していませんが、いずれ作ってCGIKitと連携できるようにする予定です。
?SDS (Ruby)
EOFを、?EditingContextを中心にしてコンパクトにまとめたようなライブラリです。 作者の方はWebObjectsライクなSWSというライブラリも開発されています。
Inverse Pages: EOWithoutWO WebObjects基礎研究室