« 機能モデルのデータモデル | トップページ | オープンソースと「オープンデザイン」が出会うとき »

2006.05.14

Ajaxで業務マニュアルサーバ

◆システムの設計情報は業務マニュアルのデータベース

 何回かに渡って説明したように、業務システムの設計情報には「業務マニュアル」が含まれている。そして、それらの情報が的確に構造化されているならば、システムの設計情報はそのまま「業務マニュアルのデータベース」となり得る。

 XEADのコンテンツファイルも「業務マニュアルのデータベース」である。それを専用のAjaxモジュールとともにWEBサーバにアップロードすれば、たちどころに次のような「業務マニュアルサーバ」が出来上がる。XEADをインストールしてある読者は「サンプル社販売管理システム(sample.xead)」のXEAD上での業務定義の見え方と比べてみてほしい。

 「サンプル社販売管理システム」の業務マニュアル(IE6専用Chrome専用)

 Ajaxアプリとしてはひどく単純だし華やかさにも欠ける。しかし、いくつも定義される業務単位毎のマニュアルが、業務システムの設計情報からダイナミックに生成されているという点でインパクトがある。Ajaxアプリとして実現されたことに意味があるのではなく、業務システム開発の上流工程成果物が業務マニュアルのデータベースとして扱え得る形に構造化されている点に意味がある。

 なお、このサンプルではわからないが、各パネルイメージ向けに規定名でハードコピーイメージがアップされていれば、そちらが優先されてサムネイル表示されるようになっていたりする。そのような準備をしたうえで、特定職務の業務一覧ページを表示するURLを各職務毎に実装されるはずのメニューのヘルプキーあたりに関連付けさえすれば、業務マニュアルと統合された業務システムが完成する。システム設計の行為が(初版の)業務マニュアルの開発を兼ねているというわけだ。専用のAjaxモジュール(javascript,スタイルシート,ベースとなるhtml)を含むXEADは近日公開予定である(追記 2006/05公開済)。

◆イントラネット向け実装技術としてのAjax

 さて、Ajax(エイジャックス)はJesse James Garett氏によって名づけられて普及したjavascriptベースのWEBアプリ構築技法だ。必要なデータを非同期のHTTP通信で受信することで、フルGUIのような動きとレスポンスを実現している。有名なGoogle Mapsでもその優雅さを体感できる。データはXMLやJSON形式で通信されることが多く、もともとXMLでコンテンツを保持しているXEADとは相性がいい。

 ただし、開発してみて知ったのだが、さまざまなブラウザの特性に合わせたハッキングが必要になるのが難点だ。たとえば、ベースとなるHTMLファイルの内容はjavascriptのメモリ空間ではDOM形式で展開されている。マイクロソフトのIEがブラウザだとすると、DOM要素にclassという名前の属性がある場合、これを検索したり更新したりするためには'class'ではなくなぜか'className'という表現を使わないとアクセスできなかったりする。

 いろいろなブラウザで動かすためには、こういったブラウザ毎のわけのわからない特性(バグだったり、仕様だったりする)に合わせたコードを用意する必要があってけっこうウザいというかバカバカしい。だから上記のモジュールもIE6.0専用として作ってある。他のブラウザではまともに動かない。

 そういうわけなのでAjaxは、基本的に特定のクライアント構成を前提とすることが許されるイントラネット環境用のWEB実装技術として捉えたほうがいいんじゃないかと思う。各クライアントがjavascriptの実行を許しているかとか、ブラウザは何でバージョンはどれかをケース分けしながらアプリ開発するなんて、考えるだけで気疲れする。しかしイントラネットで使うアプリであれば、クライアント環境を相当なレベルまで限定した形で開発を進められる。

 XEAD用のAjaxモジュールもイントラネット用として位置づけられている。そもそも社内システムの業務マニュアルをインターネットで公開しようと考える企業があるとは思えない。必要ならばXEADに添付されているモジュールをカスタマイズして、独自環境用に作り変えてもらえばいい(じっさい、ページ上の提案送付用のメールアドレスがカスタマイズ前提のダミー値になっていたりする)。XEADユーザとして、これを機会に流行りのAjaxを学んでみるのもムダではないだろう。

|

« 機能モデルのデータモデル | トップページ | オープンソースと「オープンデザイン」が出会うとき »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Ajaxで業務マニュアルサーバ:

« 機能モデルのデータモデル | トップページ | オープンソースと「オープンデザイン」が出会うとき »