5.KWEOF

WineStyleのデータベースについて書こうと思ったら、私の記憶が飛んでいたのに気がつかされた。開発当時からNeXTのWOF(Web Objects Framework)を使っていたように書き出そうとしてWOFの歴史をWikipediaを開いたら、なんとWOFは1996年からだという?、エッという感じ。

MacExpo2001(うーん、どんな会だったか記憶にない)での発表資料の中にあった原稿に以下のように記されていた。

スクリーンショット 2019-09-14 16.18.39

確かに、Wikipediaに記載されていた通り、WebObjectsは1996年からだった。それ以前は、WOFの中でのデータEOF(Enterprise Objects Framework)の前身となるIndexingKitを使ってデータベースとのやり取りをしていたのだった。しかし、この時代の理解は表面的なものだったので、詳細は覚えていない。それでも、私の外来にくる患者さんのデータの管理ができていたことは確かだ。

この記載にある通り、前職の中小病院で外来部門(内科、外科、整形外科)でWineを走らせるために睡眠時間4時間で半年ほどがんばったのを覚えている。WOF, EOFがNeXTからリリースされたので、なんとか組み上げた。

EOF

EOFをざっくり言えば、EOObjectというRDBのレコードと一対一で対応する、NSObjectのDataObjectをEOFフレームワークは入出力してくれる、データベースごとに提供されるDatabaseAdaptor(データベースとSQLでやり取りをして、その結果をEOObjectに変換、それをクライアント側でハンドリングする。詳しくはWikipediaを参照してください。

このEOFも2007年には、Appleのサポートが終了してしまう。2、3年前からObjective-Cのインターフェースは隠され、Javaが前面に出てきていたが、Objective-C使いの私としては、Wine存続のためになんとかEOFを使える形にしなければいけない状況だった。2004年頃、Alex J.Raftis(AJR Database)のページにEOFがオープンソースとして作成されていた。私もこれに挑戦したが、なかなか簡単に動くものではなかったのでこれをforkしたKWEOFを1年弱の時間を費やしてなんとか動くようにする事が出来た。AJR databaseは現在、GitHubでも公開されている。

KWEOFはOpenBaseをデータベースとして実働にまで漕ぎ着けた。Database AdaptorはOpenBaseとMySQLだけだったので、PostgreSQL用を自作して現在に続いている。

EOObjectは何が便利

データベースのレコードと対応といっても、レコードの一部のみを参照することもできるし、また、extensionで必要な応用機能を追加することもできる。リンク先のデータも一つのオブジェクトとして単純化してアプリケーションの中で扱えるようになる。そもそもオブジェクト思考というのは、データオブジェクトだけでなくロジック部分にしても同じように、抽象化して単純化できるので大規模なプロジェクトの基礎部分として大いに役立つってわけ。

WineStyleの商品化

2000年前後からフリーでネットワークからダウンロードして電子カルテを構築できるようにしていたが、50箇所ぐらいでダウンロードされたが、それを実用できるようにシステムを構築できる、ドクターはなかなかおらず、しっかり食いついていらした10箇所くらいがなんとか動いている状態だった。やはりサポートがないと動かせない現状を、当時のサンジャパンの阿久澤氏の尽力で、2002年に商品化することとなり、WINE STYLEの商標を取り、製品化したのでした。(チャンチャン)

おまけ、 Zushi Regatta 2019

私の所属する逗子マリーナヨットクラブが主催、運営する、相模湾の初秋のレガッタが今日から開催されている。私は、今日は診療があったので、若手に運営をお願いしているが、乾杯部長を仰せ使っているので、これから会場に向かうことにします。私のパートナーが写真班をやっているのだけど、EOSが壊れたっていうので、かわりのEOSをこれから持っていきます。

画像2

古いけど丈夫なEOF-1 MkII持って行きます。


この記事が気に入ったらサポートをしてみませんか?