『終戦』
先日の4月2日、歴史的な事件とも言えるような出来事がありました。犬猿の仲であったSun MicrosystemsとMicrosoftが提携したのです。
どのぐらい犬猿であったかは、みなさんご存知かと思いますが、Sunは1997年に、自社のJava技術を不正に使用したとしてMicrosoftを告訴しました。この訴訟は2001年、Microsoftが2000万ドルを支払い、争点となっていたJVM製品の提供を段階的に中止することで両社は和解しています。マルチプラットフォームが売りであるJavaの技術を利用し、MicrosoftがWindows NativeなJava製品を作成したとして、多くのJavaユーザ、オープンソース支持者からMicrosoftが非難を浴びていましたが、その批判的代表を担っていたのがSunだったわけです。
この2社の10年間にわたる提携は、「Technical Collaboration Agreement」と呼ばれる契約を通じて両社の独自技術を共有するというもので、これによりSunとMicrosoftのサーバとの相互運用性ならびに、MicrosoftのクライアントとSunのサーバとの相互運用性が改善されるものと期待されています。両社はJavaおよび.NETについても緊密に協力するようです。
まだまだWindowsプラットフォームが根強いユーザクライアントPCにおいて、Javaによって開発するにしてもWindowsNativeなものは無視できないものです。先月お伝えしたSWTもJavaによるWindowsNativeメソッドをコールできるGUIでしたね。この提携はよりよいソフトを提供するSE・PGにとって朗報であると思っています。これから少しずつ私達の環境のその変化が現れてくるものと思いますが、よい変動であることを期待しています。
『日本発』
さて、今月はもうひとつご紹介しておきます。先日の4月10日、東京都内でオープンソースIoCコンテナSeasar2(沖縄のシーサーと発音する)の説明会が開催されました。去年の11月にご紹介したAOP(アスペクト指向プログラミング)と最近SpringFrameWorkやPicoContainerで話題のIoCコンテナの組み合わせという日本発信の最先端機能!オープンソースのアプリケーション・サーバー「Seasar」です。
開発現場におけるAOPやIoCの浸透はまだこれからと思われるこれらの先端技術ですが、それぞれの詳細や開発導入におけるメリット等は機会があればご紹介したいと思います。ソフト開発を行う上で、精度の高いものを提供しなければならいなことは言うまでもありません。そのための開発手法が現在ではいくつかの定義としてまとめられていますが(eXtreme programming等)、Unitテストを利用した自動テストはもっともみじかに浸透し始めている手法ではないでしょうか?EJBのように設計・テストが不自由なソースコードとそうでないものがありますが、このIoc+AOPに基づいた設計は設計・テストに向いたものと考えています。自動テストが可能=精度が高いソフトウェアを提供できるということになります。"="というと大げさにも聞こえるかもしれませんが、バグと呼ばれる不具合をできるだけ少なくした状態で提供できることは発注者にとっても開発者にとっても大きな利益となる事と思います。
ご紹介だけですが、興味をもたれた方はSeasar、Ioc、AOPについて掘り下げてみて下さい。
<参考URL>
http://itpro.nikkeibp.co.jp/free/JAV/J2EE/20040412/1/