« 2005年11月 | トップページ | 2006年1月 »

2005年12月

2005/12/28

PEAAにある.NET特有のアーキテクチャパターン

 仕事納めの今日、仕事の手も空いたので、「エンタープライズ アプリケーションアーキテクチャパターン」(マーチン・ファウラー著、通称「PEAA」)を一通り読み通した。
 すごく面白い!

 業界のアーキテクトやモデラーが、以前から注目していた本。
 PEAAは、業務系システムの設計パターンのうち、ORマッピング、トランザクション、WebUIなどを詳しく解説している。
#余談だが、Amazonの感想文のうち、プロモデラーさんと奥村さんの感想がまさに的確。

 僕の場合、「AAfN(Aplication Architecture for .NET)を理解したいなら、PEAAを読むべき」と同僚から薦められたきっかけもあった。

 長年Javaで開発してきたので、J2EE特有のアーキテクチャ(ドメインモデル、データ変換オブジェクト、ページコントローラ)は自然に理解できた。純粋なオブジェクト指向開発者なら、これらのアーキテクチャは無意識でも使っている。

 特に目を引いたのは、.NET特有のアーキテクチャを説明している所。
 第1部では、ドメインモデルとテーブルモジュールの比較は目から鱗が出た。
 ORマッピングは、JavaとADO.NETで発想が全く違う。DataSetは、確かにテーブルオブジェクトそのものゆえ、DOAに近いと言っていい。DataSetは使いにくいのかと思ったら、むしろ、DataGridにDataSet丸ごと渡せるので、プログラムはすごくすっきり書ける。
 VBでは、DataSetやDataGridのAPIがないから、データ検索の結果一覧をFormへ表示するだけのロジックがすごく面倒。
 でも、DataGridもやはり機能が足りないので、FlexGridのようなサードパーティのモジュールを使う時も多い。
 
 Javaにはテーブルモジュールと言う発想はなく、ドメインモデルという発想。
 J2EEでオブジェクト指向をフルに使った開発では、RDBを意識することなく、POJOで処理を考えるのが普通。だから、コストがかかるEJBを使わない場合、DAOを自作することになる。そして結局、ORマッピングがボトルネックになり、Hibernate、TorqueなどのオープンソースのORマッピング・フレームワークが乱立している状況にある。
 
 また、EJBにはトランザクション管理だけでなく、分散オブジェクトの一面も持つのがいつも開発のボトルネックになる。
 だから、データ変換オブジェクトを使って、ドメインへの問い合わせ内容を一括して直列化するのが普通のやり方。いわゆるDTOパターンだが、Javaの場合自作するケースが多いから手間がかかる。

 では、.NETの場合どうするのか、と疑問に思っていたが、Webサービスを使うのが自然に設計に出てくる。「Webサービスとは単にリモート用途のインターフェイスにすぎない」という一節は、まさにその通り、と思わず相槌を打った。。
 VisualStudio.NETならば、Webサービスはウィザードで簡単に作れるし、クライアントは公開されたWebMethod属性のメソッドを単なるAPIとして利用するだけでいい。
 
 他にもなるほどと考えさせられる所はあるが、.NETのアーキテクチャは、純粋なオブジェクトのモデルを志向するJavaと違い、APIが多少複雑になろうとも使いやすさを優先しているという感想を持った。
 丸半日しか読んでいないのに、腑に落ちて理解できた所や重要そうな所に付箋を貼り付けたら、20本以上貼り付けてしまった。。

 Javaに限らず、.NET開発者にもお勧めの本です。

| | コメント (0) | トラックバック (0)

2005/12/23

何故Webサービスはキラー技術にならないのか?

 とある勉強会後の飲み会で、ある人から、今年は技術の世界でキーワードとなるようなワクワクする技術が出なかった、せいぜいAjaxぐらいだ、と言われた。確かに、Aspect、DI、Tiger(Java)は昨年からずっと続いているだけであって、今年に一気に爆発した技術ではない。

 一番不思議なのは、Webサービスは何故出てこないのだろうか?
 3年前にSOAPやWSDLとかあれだけ騒がれたのに、何故、IT業界でWebサービスはキラー技術にならないのだろうか?

 技術的難点とすれば、サービスを提供する側がXMLデータを吐き出すインターフェイスになっていない、或いはサーバー側に負荷がかかりコストがかかること。
 ビジネス上の難点とすれば、クライアントがWebサービスを使おうとする時、成功したのか失敗したのかに関わらず課金せざるを得ないこと。
 
 多分、根本の理由はWebサービスを使ったキラーサービスが出ていないからではないか?

 Blogのように、プッシュ配信サービスは昨年から一気にインターネットの世界を変えた。Webサービスもうまく使えば、サーバー側から情報をプッシュするサービスとか考えられないだろうか?
 Webサービスはサーバーとクライアントが完全に分離して、Bestに近い技術なのに。

| | コメント (0) | トラックバック (0)

2005/12/13

ムーアの法則が経済ルールを支配する?

 今頃になって、「新・資本論」―見えない経済大陸へ挑む(大前研一)を読んでいる。
 読み出した理由は、今年になって、技術やビジネスの流れが急激に変わりつつある予感がして、その予兆を既に予見していたと言うこの本が紹介されていたから。

 本に出てくるビジネスの例は、6年以上前のことだから古い。
 ボーダーレス経済、サイバー経済、プラットフォーム、色んな単語が出てくるが、僕には本質が読み取りにくかった。

 以前のケインズ経済理論が成り立たなくなった理由は、梅田さんが言ったように、IT業界で生まれたムーアの法則が全ての産業に波及したからではなかろうか?
 「半導体の集積度は1年半で2倍になる」ことから始まって、「1年半で製品の値段は半額になる」ことまで行き着く。つまり、世の中の全てのモノ、情報の値段が1年半には半額になるとしたら、数年後には殆どタダになってしまう。
 だから、世の中の競争がどんどん激しくなっているように感じる。
 しかもその競争は、全てを無にしてしまう。

 かと思えば、はてなの近藤さんが実行しているように、情報を隠すよりもオープンにしてしまう方が実は力になる、という例もある。
 例えば、不具合を起こしたプロセスをオープンにするとか、はては、新規ビジネスの企画会議までオープンにしてしまうとか、今までは考えられないことをやっている。
 記事を読んだら、情報を隠すのはコストがかかる、しかも、情報を公開して外部リソースを使う方がはるかに有用だ、という内容だった。昔のビジネススタイルでは考えられないやり方。

 オープンソースも、ネット上のコミュニティ運動も、いずれも、コミュニケーションや情報を公開することのコストが下がったおかげで成り立ち、コミュニケーションのプロセスを公開することで更に信頼を得て、ネットワークを広げているように思える。
 それによって、無数の人が集まり、そこにリソースが集まるのを目ざとく見つけた人は、ビジネスのマーケットを嗅ぎ取る。

 ムーアの法則と経済理論について、本質的な洞察をした人はいないのだろうか?

| | コメント (0) | トラックバック (0)

« 2005年11月 | トップページ | 2006年1月 »