最新トレンドやキーワードをわかりやすく解説
WCR Watch [16]
エンタープライズ Web 2.0は本物か?
ナレッジオンデマンド宮下知起
2006/10/5
いまインターネットには「Web 2.0」というキーワードが氾濫している。もともとは米国の出版社オライリーの社長ティム・オライリーが言い出した言葉だが、分かりづらいキーワードであるだけに、さまざまな人たちの手によって解釈が拡大しているように思える。まるでファッションであるかのように、ITのさまざまなキーワードの後ろに「2.0」をつける傾向もあるようだ。海外のサイトを見ていると「grid 2.0」「VoIP 2.0」「BPM 2.0」など、なんでも「2.0」をつければよいものでもなかろうと思えてくる。
「Enterprise Web 2.0」というキーワードも、最近耳にすることが多い。広義にはWeb 2.0の企業システムでの活用を指す。それは例えばビジネスブログであったり、ビジネスSNSであったりする。しかしより狭義には、AmazonやFrickr、Yahoo!などが提供するWeb APIを活用した「マッシュアップ」でのサイト構築を、企業システムにも活用しようという考え方のようだ。
Enterprise Web 2.0が結果として生み出すものについて、米ネクサウェブCTO コーチ・ウェイ氏は「リッチなユーザーエクスペリエンスの提供、双方向コミュニケーションのサポート、信頼性の高いメッセージング、モバイルデバイスの対応、オフラインへの対応」だと定義している。そしてそのアーキテクチャは下図のようなものだと示す。
図1 Enterprise Web 2.0のアーキテクチャ |
このアーキテクチャで要となるのは「Enterprise Mashup Server:エンタープライズ・マッシュアップ・サーバ」だ。さて、ここでも「マッシュアップ」という言葉が登場したが、あらためて「マッシュアップ」について整理しよう。
米ネクサウェブCTO コーチ・ウェイ氏 |
■マッシュアップはWebをプラットフォームにする考え方
もともとマッシュアップとは、AmazonやFrickr、Yahoo!、Google Mapsなどが提供するWeb APIを複数組み合わせてロジックを構築し、独自の機能をもったWebサイトを構築することを指す。とくにGoogle Mapsなどは、国内でも不動産情報サイトやグルメサイト等で活用している例が多いので、目にしたことがある方も多いだろう。
公開されたさまざまなWeb APIをファンクションとして呼び出し、サービスを組み上げていく。この考え方はSOAと似ている(広義には同じといってもよいだろう)。エンタープライズの世界で言われているSOAと大きく異なるのは、これらのWeb APIはPHPやAjaxといったライトウェイトな言語によって利用されることを前提としていることだ。しかも、もともとWebとして表現されることを前提としている。
■Enteprise Mashupはシステム連携の新しい可能性
「Enterprise Mashup(エンタープライズ・マッシュアップ)」とは、マッシュアップがWeb APIを組み合わせて新たなサービスを組み上げるのと同様に、社内のシステム間連携をWebベースで連携したり、あるいは社内システムと社外のサービスを組み合わせてシステムを構築することを指す。例えば、社内の営業支援システム(SFA)とGoogle Mapsを組み合わせて、顧客の住所から実際の地図が参照できるような仕組みを作ることもできるだろう。
図2 社内システムとGoogle Mapsをマッシュアップした例。これはEclipseベースのNexawebの開発画面。左側がコードで、右側がプレビュー画面 |
ポイントはレガシーからERP、CRM、データベースまでをハードコーディングによって連携させるのではなく、Web APIというライトウェイトな連携手段でラッピングし、それを組み合わせることだ。従来まで、J2EE、.NET、PHPといった要素技術の上でカスタムコーディングを行っていた世界では、時間とコストがかかり、開発も大きな苦労が伴うものだった。それに対してEnterprise Web 2.0アーキテクチャは、さまざまなサービスをEnterprise Mashup Server上で組み上げる。開発はブロックを組み上げるように非常にシンプルなコーディングで済む。そしてプレゼンテーション層はオフラインでも利用でき、リッチなユーザーエクスペリエンスを提供する実装方法で提供する。実装はAjaxでもよいし、Javaや.NETによるリッチクライアント技術を使ってもよい。
コーチ・ウェイ氏は、Enterprise Mashupの実装として自社製品のNexaweb Serverを紹介する(図3)。Nexawebのリッチクライアント技術は、クライアントにダウロードされたレンダラがサーバとクライアント間でやりとりされるXMLによる画面情報をレンダリングしてリッチなUIを実現する。XMLはDOMによってキャッシュされ、差分情報のみをやりとりするのでクライアント・サーバ間の通信は非常に高速だ。また、Internet Messaging Bus(IMB)はサーバからのデータのPush配信を実現するもので、例えば金融・証券のトレーディングデータのリアルタイム配信を実現する。
図3 Nexaweb ServerはEnterprise Mashup Serverの実装の1つだという |
コーチ・ウェイ氏は「マークアップ言語は、今後ますます重要度を増してくる。マークアップ言語はシンプルで、非常に分かりやすい。純粋にHTMLを使ったサイトはなくなるが、マークアップ言語がコアとなったリッチクライアント技術は普及するだろう。将来のWebアプリケーションは100%がそうなるといっても過言ではない」と述べる。
Enterprise Web 2.0では、WebブラウザのかわりにConductorがプレゼンテーションを担う。それはAjaxであったり、NexawebであればJavaアプレットで作られたXMLレンダラである。コーチ・ウェイ氏はさらに加えて「将来NexawebはAjaxにも対応する。Javaプラットフォームにこだわっているわけではないので、.NETにも対応する。Enterprise Web 2.0のアーキテクチャに対応していることが重要なのだ」と語る。
特定の言語やミドルウェア、パッケージアプリケーション、OSはサービスプロバイダのレイヤに。そしてサービスプロバイダが提供するサービスによってビジネスロジックを組み立てて、プレゼンテーションを実現するのは上位のレイヤ。そしてそこでは、Web標準のテクノロジ(とくにXMLを中心とするマークアップ言語)のみが用いられ、マッシュアップとリッチクライアントによるプレゼンテーションを実現するのが、コーチ・ウェイ氏が語るEnterprise Web 2.0である。
Enterprise Mashup Serverというまだ聞き慣れない実装が、果たして普及するのか。リッチクライアント技術の今後の方向性とともに興味ある分野だ。
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|