このウィキの読者になる
更新情報がメールで届きます。
このウィキの読者になる
カテゴリー
最近更新したページ
最新コメント
Menu
ここは自由に編集できるエリアです。

第3章 用語の定義

第4章 SOA,Webサービス,Web 2.0の関係性

 昨今、Web 2.0/SOA/Webサービスといった用語を取り上げ「何が違うの?」「どれが良いの?」「今後どれを選択すればいいの?」などのご質問をうけることがある。
上記に例示した質問はどれをとっても、Web 2.0/SOA/Webサービスを同じ土俵のものであるとの誤解の上に立って比較をする質問である。確かに、Web 2.0/SOA/Webサービスといったキーワードだけでは、それぞれが比較できるものなのかも判断ができない。
 本章では、集合知の代表であるWikipediaでの定義を抜粋しながら、Web 2.0/SOA/Webサービスを明確にし、相互の関係を述べる。

【Webサービス】

 Webサービスとは、「HTTPなどのインターネット関連技術を応用して、SOAPと呼ばれるXML形式の標準プロトコルを用いメッセージの送受信を行う技術、またはそれを適用したサービス。(省略)」(Wikipediaより抜粋)と定義されているように、「技術」を指す場合と「その技術を適用したサービス」を指す場合がある。

 しばしば誤解される一般のWebサイトとWebサービスとの違いは、Webサイトがビジュアルな表現力を重視し、人間にとって読みやすいように作成されているのに対して、Webサービスはメッセージ(=システムとシステムの情報のやりとり)形式が標準化されており、コンピュータにとって読みやすいように作成されていることである。そのため、サービス間の連携が容易になることが期待されている。

 なお、後述するWeb2.0のムーブメントを受けて、通信プロトコルにおいてSOAPではなくREST(Representational State Transfer)と呼ばれるよりシンプルな手法およびメッセージ形式を使ったものもWebサービスと呼ばれることがある。これらはWebの標準技術を用いてシステム連携を容易にするという点で共通している。

 技術としてのWebサービスは、2000年に登場した後、しばらく普及が停滞していたが、現在ではSOAやWeb 2.0の基盤技術となっており、ブロードバンド・インターネットの普及や、標準化の成熟を受けて、今まさに花開こうとしている。

【SOA(Service Oriented Architecture; サービス指向アーキテクチャ)】

 次に、SOAとは、「ソフトウェア工学において、SOAとは、大規模なコンピュータ・システムを構築する際の概念あるいは手法の一つであり、業務上の一処理に相当するソフトウェアの機能をサービスと見立て、そのサービスをネットワーク上で連携させてシステムの全体を構築していくことを指す言葉である。(省略)」(Wikipediaより抜粋)と定義されているように、システム構築の際の「概念」あるいは「手法」である。また、そうした「概念」および「手法」に基づくアーキテクチャをコンピュータ・システムとして実現する際には、一般的にWebサービス技術が採用されることが多い。

SOAという言葉や概念自体は、1996年にIT系リサーチ会社Gartner社が提唱したもので、10年以上の歴史があるが、実際にコンピュータ・システムへの導入が始まったのは、各種のWebサービス技術が成熟し、セキュリティや信頼性の高い利活用が可能になってきた2004年頃からである。Webサービスの登場以前にも、分散コンピューティングシステムを連携するための様々な取り組みが存在したが、技術基盤の異なるコンピュータ・プラットフォーム間を連携するのは容易ではなかったものが、Webサービスというプラットフォームを越えてシステム連携に優れた標準技術が登場することによって、SOAの実現がようやく可能になったのだとも言える。

SOAでは、システム間インタフェースの標準化とともに、ビジネスプロセス(業務の流れ)の記述の標準化が進められており、代表的なものとして、BPMNとWS-BPELと呼ばれるものがある。BPMN(Business Process Modeling Notation)は、ビジネスプロセスをグラフィカルな形で記述する仕様であり、WS-BPEL(Web Services Business Process Execution Language)は、ビジネスプロセスをXMLで表現するための仕様である。また、このBPMNからWS-BPELでビジネスプロセスをコンピュータで実行可能な形で自動生成することが可能になりつつある。こういった仕様や技術を活用することで、業務部門とIT部門が共通のコミュニケーション言語を持ちながら、業務を可視化し、自動化できる部分を情報システムを活用して効率化しつつ、PDCAサイクルにより業務を最適化していく動きが出てきている。

一般にSOAは、政府・自治体や企業の業務を実現する情報システムの構築手法の文脈で取り上げられることが多いが、ある業務機能を標準的なインタフェースを持つサービスとして公開し、それを組み合わせてより複雑なシステムを効率よく実現するといったSOAの考え方はインターネットにおいても利用できるものであり、そうしたエッセンスはWeb 2.0にも取り込まれている(Web 2.0の文脈では一般的に「マッシュアップ」と呼ばれている)。

【Web 2.0】

 最後にWeb 2.0であるが、「Web 2.0 とは、World Wide Webの様々な点での進化を総称したものであり、アーキテクチャやアプリケーションを含んでいる。(省略)」(Wikipediaより抜粋)と定義されているように、World Wide Webの進化の総称として定義されている。

 もともと、Web 2.0はGoogleなどの企業に代表されるように、インターネットバブル崩壊後に起きてきたWebのトレンドを指す言葉が模索される中で出てきたものであり、IT業界の論客であるTim O‘Reilly氏が2005年9月30日に発表したレポート、What Is Web 2.0 -Design Patterns and Business Models for the Next Generation of Software-(http://www.oreillynet.com/pub/a/oreilly/tim/news/2...で認識が共有され、議論が広く行われるようになった。Tim O‘Reilly氏のレポートでは、

  • The Web As Platform (プラットフォームとしてのWeb)
  • Harnessing Collective Intelligence (集合的知性)
  • Data is the Next Intel Inside (データが重要)
  • End of the Software Release Cycle (ソフトウェアリリースサイクルの終焉)
  • Lightweight Programming Models (軽量なプログラミングモデル)
  • Software Above the Level of a Single Device (単一デバイスを超えたソフトウェア)
  • Rich User Experiences (リッチなユーザ体験)

といった7つの要素が挙げられているが、日本においては、SNS(ソーシャルネットワークサイト)やブログなど、特にWebの社会的な側面が注目されているのが特徴である。

 中でも、「双方向コミュニケーションの活性化」と「オープン性」が取り上げられることが多い。しかしながら、実はこれはWorld Wide Webの登場初期の頃から理念として掲げられていたものである。そもそも、なぜWWWの最後がWebなのか?それはWWW初期に、世界規模で情報ネットワークが蜘蛛の巣のように張り巡らされた状態が近い将来訪れるとして、名づけられたものである。我々は直近のムーブメントに強い影響を受けるが、この二点のみを取り上げて、Webのトランスフォーム状態を表現するには時系列的な要素が欠落していると言える。

 Web2.0とは、ブロードバンドインターネットの普及や、インターネット利用者の増加、およびインターネットリテラシーの向上を背景としながらも、AJAX代表されるリッチクライント技術によって実現されたユーザビリティの向上とそこから非同期に呼び出される「柔軟なサービス連携」という二つの技術要素を基本として、進化しつつある新たなWeb形態である。

 背景が潜在的なものであったとすれば、技術要素面からのリードによって背景となる「場」の拡大、深化が齎された。更に、そこにアフィリエイトの形態をとる広告とメディアの変化、それに伴い利用者を増大させるための仕掛けが施された結果、ムーブメントととも言える状態変化を引き起こした。

 進化しつつあるこのWeb形態は利用者をベースとした集合知を形成しながら、メディアとの融合がはかられつつもあるが、技術面からはWebサービス技術といったシステム連携を容易にする標準の普及とスマートクライアントに代表されるリッチクライアント技術の成熟によって、更なる発展と形態変化が訪れつつある。これによってインターネット利用者の更なる拡大と利用形態の変化を巻き込みながら増大する情報基盤のニーズに応えようとしている。
2007年02月16日(金) 10:23:51 Modified by adachi_mi




スマートフォン版で見る