2001年3月8日、OMG(Object Management Group) が、 MDA(Model Driven Architecture) の採用を発表した。 3月20日には、OMG Japan のウェブサイトで日本語の 解説資料を公開した。
OMGは、オブジェクト指向を踏まえ、ネットワーク上に分散している オブジェクト(データやプログラム)を利用したり参照したりする 方法の標準規格である CORBA(Common Object Request Broker Architecture) を定めているところから始まり、 現在は、OMG が規定している、 オブジェクト指向のモデル図の記述方法の標準である UML(Unified Model Language) が普及している。
MDA は、直訳すると「モデル駆動アーキテクチャ」となるが、 具体的には、UML や MOF(Meta Object Facility) や CWM(Common Warehouse Meta-model)で 記述したモデルに対して、CORBA, .NET(COM+, SOAP), Java(EJB) などのネットワーク接続ミドルウェアが 規定する、データなどの仕様記述言語(IDL)などを 生成するものらしい。 それだけでなく、CAD/CAM, XML など、 ネットワーク接続ミドルウェア以外のオブジェクトに対する ファイルの生成もサポートするらしい。 ここが、MDA の大きな特徴だろう。
標準化は、それぞれのミドルウェアへマッピングするときの 仕様について行われているようだが、具体的には (筆者の知る限り)分かっていない。 それぞれのミドルウェアへのマッピングは、UML をサポートする CASE ツールに組み込まれるらしいのだが、 そもそも、マッピングのソース(元)が UML など、デスティネーション(先)が CORBA など、 というように具体的に決まっているのだから、 各ツールが独自に実装しても、互換性が保たれるはずなので、 標準化する必要が無いと思われる。
MDA は、OMG の方向性を示しただけのものかもしれないが、 少なくとも UML が適用できる範囲が将来に渡り 広がり続けることは確かだ。 言いかえれば、現在も生み出される様々な規格や言語は、 オブジェクト指向のモデリング言語で記述できる範疇であるので、 氾濫する規格に1つの歯止めをかけるものであると言えよう。
2001年3月15日、米Microsoftは、米IBMなど24社とともにWebサービス 記述言語仕様「Web Services Description Language (WSDL)」をW3Cに 共同提出し、承認したと発表した。
インターネットでは、メールのプロトコル(MIME)、 ブラウザのプロトコル(HTTP)、SOAP、など様々なプロトコルがある。 しかし、これらはすべて、構造化されたデータを転送する プロトコルである。 WSDL は、これらのプロトコルをメタ的に記述したものであり、 それにより様々なプロトコルにサーバが自動的に対話を行って 対応しようとするものである。
WSDL は、おおよそ次のようなデータ構造であるらしい。 (筆者が短時間で理解したものなので間違いがあるかもしれない。 これらのデータが具体的にどのように利用されるかは、 Microsoft の公式ページを参照のこと)
ここからは、私見であるが、 WSDL という言語は、その言語で、様々な Web サービス(プロトコル)に 対応しようということであるが、実は、別に言語で解決しなくとも、 それぞれのサービス(プロトコル)に対応した通信コンポーネントを ネットワーク共有すれば済む話である。 つまり、現在ある、特有の Web サービスは、ActiveX やアプレットで 作られており、それ自信が通信を行っているということである。
しかし、ActiveX は、ご存知の通り x86 系 CPU しか動かない。 各種プロトコル(サーバ)のバイナリももちろん、サーバの ソフトウェアによってまちまちだ。 ということは、バイナリではダメで、たとえば、HTML のような 言語仕様で標準化を行ったのが WSDL だろう。 言語仕様は、インターフェイスのみ規定することになるので、 標準化には適していることを改めて示したことになる。 言語仕様は、特許にならないということも、標準化に適している。 問題は、仕様を記述したドキュメントだ。これが論理的に正しくて、 必要十分でなければ一般に受け入れられない。
WSDL は、.NET の重要な技術である。Microsoft は、 .NET の中心が XML や SOAP であると主張してきたのだが、 WSDL も含め、このような言語仕様は、 Netscape と行った HTML の標準化からブラウザ戦争に 勝ったときに学んだ連合戦略であるという見方もできよう。 つまり、WSDL は Microsoft のものでは無いことに 注意しなければならない。そして、テスト・プログラムを 握っている者は、細かい仕様のデファクト・スタンダードに 従う必要がなくなるという優位点があることにも 注意しなければならない。
2001年3月9日、株式会社テクノロジックアートの長瀬嘉秀代表取締役らが 「日本XPユーザグループ(XPJUG)」を発足した。 XPJUG は、XP に関する技術交流会を開催していくという。 会費は無料で誰でも参加できる。しかし、まだ発足したばかりなので、 活発になっていくかどうかは、これからの活動次第であろう。
XP は「エクストリーム・プログラミング(Extreme Programming)」 の略で、直訳すると「究極のプログラミング」と大げさなのだが、 要は、ソフトウェア開発方法についていくつかのルールを 集めたものである。オージス総研の特集で扱われたりして、 オブジェクト指向に興味がある開発者に 注目されているプロセスである。
オブジェクト指向に関連した方法論では、 スパイラル開発という、分析、設計、実装、試験を繰り返して 開発を進めていく方法が推奨されている。 それを更に発展させ、ラショナル統一プロセス(RUP)では、 開発の初期フェーズでは、分析や設計が中心となり、 徐々に、実装、試験が中心となっていくフェーズに移行していく。 XP では、分析を通じて試験仕様を初めに作成し、 それに基づいて必要な機能だけ設計、実装、試験をしていく。 つまり必要最低限の機能を開発をするための方法である。
XP の特徴は、ペアプログラミングである。 簡単に言えば、一人でプログラミングするより、二人で知識を 共有しながらプログラミングしていった方が、 常にレビューしていることになるというものである。 また、各部品を常に統合し、ソースをオープンにしていくことで、 結合テストという大きなフェーズを無くしながら、 知識を共有していく。 (これは宣伝であるが、その多人数開発における 結合作業などを自動化するツール「Module Mixer」を 現在開発中である。このページで公開されているβ3から 大幅に進化したβ4.2が私の勤務先で公開されているが、 著作権の関係で、現在このページでは公開されていない)
多くのプログラマは、次々に増えてくる要求と、 品質を保証するための多くの手続きの間で 厳しい労働時間を強いられている。 XP では、簡単な手続きで品質を保証し、 自然に必要最低限の機能のみを開発する方法を示している。 さらに、直接「週40時間」というルールも設けている。 このように、全体的にプログラマを擁護する主張となっている。
私も少し前にこの流れを受けて XP の入門書を読んだことがある。 確かに言及されている方法は開発の効率を上げるものだ。 しかし、視点がプログラマを中心になっており、 実際にビジネスとしてお客と交渉すること(営業さん向けの視点) に関しては、プログラマには関係無いから営業さんが 何とかしてくれ、という感じで書かれている。 これでは、プログラマのわがままな主張と捕らえられかねない。 営業さん(お客さん)が納得できるような見積りを 提示する方法や、 開発する各機能に対してどのように開発者リソースを 割り当てるかという管理方法に関連した内容が、 「計画ゲーム」で言及されてはいるが、抽象的であるし、 あまり効果的であるとは言えない。 その辺はあまり実践されていないように思える。 XP は、その辺をもっと洗練させ、 厳しい現場を理解してくれる優秀な営業さんが育たなければ、 いくら開発効率の高い優秀なプログラマであっても 開発スピードは有限なので、 その主張は通らないだろう。
2001年 3月 1日、日本の“Yahoo!オークション”において、 オフィシャルバンクの銀行口座またはクレジットカードで 参加費を支払う本人確認システムを4月中旬に導入すると発表した。
ネットワークの世界では匿名性がある(本人が誰かを 特定することができないようにできる)ため、 「見つからなければいいじゃん」という心理が働き、 容易に犯罪行為に移してしまう。 しかし、今回の本人確認システムの導入によって 簡単に犯人が見つかる。 これにより、気軽に起こしてしまう犯罪が 減るのではないかと期待している。
被害は、支払う方だけでなく、出品する方にもある。 たとえば、買う意思も無いのに無責任に入札するときだ。 この被害を無くすためにも、本人確認システムが使用される。
少々本格的に詐欺を起こすときは、 商品を受け取る前に架空口座に振り込ませるという手口が取られる。 これは、毎月1回参加費を継続的に引き落とすことにより、 多くの架空口座を持つと損するような仕組みに なっていることで、防ぐことができる。 もちろん、口座を作ることから警察が犯人を突き止めることもできる。
参加費さえ苦にならない本格的な詐欺を起こすときは、 おそらく大金が支払われることになるのだが、 このときは、有料オプションで提供される エスクローサービスを利用すると良い。 一度商品が第三者に渡るため、怪しいものが 送られてくる可能性も低い。 また、代金の支払いや払い戻しは、 商品の無い方に金が行くようにするため、詐欺は起きない。
取引相手が怪しいために個人情報を知らせたくないときにも エスクローサービスを利用すると良い。 それでも、犯罪が起きてしまった場合は、その金額が補償される。
Yahoo! オークションは、会員制にすることにより 被害を減らしていく形になった。しかし、そのようになっていない 個人間の取引の場合、よく使われる手口は、 自分の免許証やパスポートのコピーを送り信用させて 振り込ませる方法だ。 しかし、これは、信用できるようで実は信用できない。 なぜなら生きた情報ではないからだ。 警察に免許の提示を求められたとき、警官が無線で署に連絡して 本人の確認をしているのに気づいただろうか。 これこそ「生きた情報」を取得しているのだ。 紙だけではあまり信用ができない。 そこから認証を受けて初めて信用ができるのだ。
ここで、「生きた情報」と言ったのだが、その意味で言えば、 信頼のある URL(ホームページ)の情報も生きた情報であるから、 信頼できる情報である。 信頼のある URL から偽のページを見せることは システム的に不可能である。 たとえ、不正アクセスがあっても、多くの人がページに 訪れているので、不正がすぐに誰かが見つけてくれるというわけだ。
自分が以前から知っている第三者から得られる「生きた情報」から 相手がどういう人かを確かめることによって、 インターネット時代の犯罪を未然に防ぐことができるだろう。 その1つの形が、今回の本人確認システムだ。