MS InfoPath
が近ごろ流行っているようですね。こちらの記事などを見て思ったのは、クライアントを握っている Microsoft としてはしごく当たり前の展開だとは思いつつ、その革新性はどこにあるんだろうか?ということ。
僕なりの理解では、InfoPath とは、
- XML オーサリングツールであり、
- FORM 作成/実行ツールである。
というもの。先に紹介した記事でも、「InfoPathは、定形フォームを使ったデータ入力の支援ツールだといえる。」とあり、最後は「一言でいって『もはやクライアント・アプリケーションを開発する必要はない』ということだ。」とまで言っており、つまりは現在 SIer が各企業にカスタム・メイドしている業務系のアプリケーションのクライアント部分に位置づけられる製品/技術であることが分かります。
さて、まず最初に僕が考えたのは、「MS ワールドの外に同等の位置づけの製品はあるだろうか」という点です。同じような業務アプリケーションのクライアント側技術としては、最近は Web ベースとされることも多く、そこで用いられる技術としては Struts/Tiles や JSF、オーサリング環境という意味では Project RAVE が対応することになるのでしょうか。Web ベースの UI はクライアント環境への依存度と機能性がトレードオフとなっており、依存度を低くしようと思えば使える機能は非常に限定されてしまう、という欠点があります。クライアントをガッチリ握っている Microsoft としては、思いっきりクライアント環境に依存する代わりに極めてリッチな UI を提供する、というアプローチはある意味王道と言えます。
しかしそう考えていくと、「それってちょっと前に流行った Client/Server システム (いわゆるクラサバ) とどこが違うの?」という気がしてしまいます。C/S 時代も、クライアント側 UI は VB 等を用いてペタペタ form 部品を貼付けていくだけで作成することが出来ました。また、バックエンドシステムとの間は、ODBC を使って RDBMS 中立を保ちつつデータをやりとり、というのが定番でした。
それら過去の仕組みに対して InfoPath では、XML という中立なデータ構造外部化形式が挟まっていることによって、Client-Server 間のみならず、Client 内に閉じたデータも中立的に、抽象化された形で扱うことが出来る、という点が新しいのかな?構造化された情報自体をユーザが意識しやすくなっている点が革新的?確かにかつてのシステムではユーザが扱っている情報の構造全体を明確に意識することは難しかったですが、反面あえて見せないことでシステムに最適化された形のハンドリングも可能だったわけです。
それに、いわゆる C/S システムから Web ベースシステムへの大きな流れを作った原因の一つである、「クライアント環境への依存度」はまた元の状態に戻ってしまいますよね?いくら XML がシステム中立なデータ構造とはいえ、その中身に何らかの意味を与え動作させる以上、それを読んで動くプログラムのバージョンにまったく依存しないように保つことは至難の技のように思えます。比較的後方互換性が重要視されている Web ブラウザの HTML レンダリングですら、バージョン間非互換性には皆泣かされてきているわけで。
単なる「リッチなコントロールが使える XML オーサリングツール」という存在としては、実はかなりレアだったりしますから、価値あるものだと思います。マルチメディアを扱える特定業務向け XML オーサリングツールを Java (Swing+JAXP) で作っているのを見ていたことがありますが、やっぱりそれなりにめんどくさそうでしたから…。
すなわちそういうことなのかな?上記記事の「もはやクライアント・アプリケーションを開発する必要はない」っていうのが言い過ぎなだけ?
追記。クライアント環境への依存性、という点では、XML Schema という標準準拠なデータファイルを用意するだけで最低限のフォームは自動生成出来るようですね。でも、妥当性チェックなどの少し突っ込んだ処理を記述するためにはやっぱり JScript や VBScript を用いるようで、この辺は結構微妙。
XML Schema (+妥当性チェックのための独自ロジック) を用意するのと、例えば Struts で入れ物の JSP+form オブジェクト+Validator クラスを用意するのって、前者の方が圧倒的に簡単、ってことは必ずしもない気がするがなぁ。
歩きタバコ
会社帰り、団地に向かう道を歩いていると、歩きタバコしている人を小走りに追い抜く若い女性を見かけ。うーん気持ち分かるなぁ。
体調がいい時はあんまり気にならないけど、すごく疲れている時とかって結構ツライんですよね。しかも帰る方向が一緒だったりするとずっと煙を吸わされちゃったりして。タバコを吸う人にはこういう感覚はよく分からないかもしれませんが、例えて言えば口臭が超臭い人の吐く息を家に歩いて帰る間中吸わされているような感じ、かなぁ。言葉は悪いですが…。