Java+CORBA
この本、当時のオープン系エンジニアなら誰しも手にとったことがあるのではないでしょうか。私の周りでは、「ほら、あの、ミドリの宇宙人の本」でたいてい通じます。
言わずと知れたJava+CORBAのバイブルですが、「これからの企業システムがどうなっていくか」なんていうことも示唆していて、当時はとても新鮮な気持ちで読みふけったものでした。
Javaアプレット
この官庁システムでは、Javaはクライアント画面として採用されました。Java=アプレットのイメージが強かったときのことです。当時のアプレットは表現も乏しく、とにかく重い!一般に普及していたパソコンのスペックでは、開発ツール(Visual Cafe)もロクに動かないくらいでした。正直、Microsoft系の技術には全然追いついていなかったように思います。
しかしながら、
- ウェブブラウザ上で動く
- ブラウザさえあればクライアントは自動的に配信される
という点では、とても革新的かつ確信的なアイディアでした。このあたりに、インターネット(www)の普及に対するJavaの戦略がありました。
2006年現在では、そういったアイディアは当たりまえに使われています。アプレットと同様に、ブラウザ上で動作するものには、Flash や Curl などがあります。最近では Ajax といったブラウザプラグインが不要な技術も出てきました。
いろいろありますが、コトの本質は「ブラウザを使って使いやすい画面を提供すること」にあります。もっと短くいえば「ブラウザであること」が重要だったのです。そのことをJavaは最初から知っていました。
分散オブジェクト CORBA
アプレットの役割は、データの表示と入力だけです(シンクライアント)。データの計算や保存などの処理(業務ロジック)はネットワーク上のどこかに作り、アプレットからソレを呼び出すようにします。
この「どこかに作って、呼び出すしくみ」を提供してるのが 分散オブジェクト技術 と呼ばれるもので、その最高峰がCORBAです。
CORBAでは、関数の定義(IDL)をして、コマンドを叩けば、クライアントが呼び出すためのコード(スタブ)と、業務ロジックを作るための雛形(スケルトン)が出来上がります。あとは、それぞれの表示ロジックや業務ロジックを作りこめば分散オブジェクト型のC/Sシステムは完成します。
このようなスタブ&スケルトン型の開発モデルや、クライアントと業務ロジックを接続するため仕組みは、そのあと新しく登場した分散オブジェクト技術(EJBやWebサービス)でも、ほとんど同じなんです。
Java+CORBAが確立したこと
2006年現在、「Webアプリケーション」の時代が一息ついて、クライアントサーバ型のシステムがまた復興してきました。今流行の技術を並べてみると、
- クライアント→ Ajax Flash Curl
- プロトコル → REST SOAP
- サーバ → Webサービス
この数年、いろんな技術や用語が次から次へと出ては消え、エンジニアは振り回されっぱなしでした(あたま掻きむしりたくなりますよねぇ)。でも冷静に見てみると、変わってないものもあります。Javaアプレット-IIOP-CORBAで作ってた1998年と、2006年、何が変わって何が変わってないのでしょうか。
下巻もあります
最近の技術書は、誰でも簡単に使いこなすためのサンプル集のようなものが多い気がします。「この技術は、何を目指しているか?」なんていう解説はあんまり書かれてない。
むしろ、インターネットが普及し始めたころの本って、夢をかたる技術者が多くて面白かったし、今でも通用することがたくさん書いてありますよ!