分散トランザクションに思いを馳せる

JBossがArjunaのトランザクションモニタを買収したニュースを聞いてから、Java Transaction Processing : Design and Implementation を読み返しています。面白いです。

J2EEトランザクション管理ではJTA, DataSource, ConnectionPool, JDBCなどが複雑に絡みあっていて、しかもそこがユーザからは隠されているというところが、全体像を分かりにくくしている原因だと常々思っています。

で、この本を読んで思うのですが、学校とか企業の新人教育とかでは、出来上がった製品の使い方を学習するのではなく、トランザクション・マネージャを自作で作ってしまうというのはどうでしょう(もちろん、もともとそういう研究をしているところもあるでしょうが、ここで言っているのは教育用です)。

全部Javaで書きます。DBも自分で作る。ただし、DBはオンメモリで動く最少限のもの(データはファイルに書く)。SQLもサポートしない。DBドライバも自分で作る。データソースも自分で作る。トランザクション・マネージャはJTA/JTSをサポート。ここは頑張る。これらができたらJBossEJBコンテナに組み込む。そうそう。