22 June 2006

[Magma] Magmaを試す


巷で話題(にはなっていませんが)のMagmaを心に隙間ができたので試してみました。100% Pure SqueakによるOODBです。

Magma:
http://minnow.cc.gatech.edu/squeak/2665

インストール

Monticello経由で行います。Monticelloのリポジトリを下記のように設定してOpenします。
MCHttpRepository
    location: 'http://www.squeaksource.com/MagmaTester'
    user: ''
    password: ''

MagmaServerLoaderの最新バージョン(17)を選択してLoadです。私の場合、スタンドアロンでの利用を考えているので、MagmaServerLoaderを選択しましたが、クライアントサーバで複数Magmaクライアントからアクセスという場合には、MagmaTesterLoaderあたりを選んでおくと良いでしょう。

私はSqueak3.8+日本語環境インストーラという環境に入れました。2005Jにもきっと入るでしょう。

お試しコード


directory _ './magmaDb/' asDirectoryEntry assureExistence. "リポジトリのパス"

MagmaRepositoryController
    create: directory pathName
    root: Dictionary new. "リポジトリ作成"

myMagmaSession := MagmaSession openLocal: directory pathName.
myMagmaSession connectAs: 'ume'. "セッションを開始"

myMagmaSession commit: 
    [ myMagmaSession root
      at: 'strings'
      put: (OrderedCollection with: ('うああ')) ]. "データ登録"


myMagmaSession root at: 'strings'. "データ参照(inspect it)"

myMagmaSession disconnect; closeRepository. "セッション閉じて、リポジトリも閉じる"

リポジトリ作成は最初の一度だけです。えらく時間がかかるのでビビリます。あとは総じてスムーズに動きますが、OmniBaseにくらべると若干重い気もします。日本語文字列もパッチを当てることなく入るのがすばらしいですね。