SOAの技術的基盤
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/03 07:14 UTC 版)
「サービス指向アーキテクチャ」の記事における「SOAの技術的基盤」の解説
現在提唱されているSOAが前提とするシステム連携用の技術的基盤は、ほとんどの場合Webサービスである。Webサービスは、XMLやHTTPなどのインターネット標準技術を元にしており、SOAの実現に必要な事柄を技術的に支えている。純粋な概念的議論をするならば、SOAを実現する技術をWebサービスに限定する必要はない。しかし、ESBのような技術を利用せずに、SOAの実現に必要なインタフェースの標準化や製品実装の進んでいない業界動向からかんがみて、Webサービスの使用が事実上必須の状況となっている。ただし、Webサービスは単にSOAの技術的な一要素にすぎない。Webサービスを利用しただけで、SOAであると言うことはない。 Webサービスにおいては、以下の三つが基本的な技術要素とされている。これらはいずれも、メッセージや定義の記述にXMLを使用している。 SOAP : サービス間の呼び出し、応答のプロトコル(下位プロトコルとしてHTTPなどを使用する。HTTP以外のプロトコルも使用可能ではあるものの、ファイアウォールをまたぐシステム連携においては困難が伴う。ほとんどの製品実装はHTTPを基本としている)。 WSDL (Web Services Description Language) : SOAPによるサービスの呼び出し、応答のインタフェースなどを定義する言語。 UDDI (Universal Description, Discovery, and Integration) : WSDLで記述されたサービスの情報を登録、検索可能とする技術(UDDI自体もWebサービスとして提供されており、SOAPによって呼び出し、応答を行う)。 これらに加え、多数のサービス間の複雑な連携を設計するための技術仕様として、BPEL (Business Process Execution Language) やBPMN (Business Process Modeling Notation) が登場している。また、その設計したサービス連携を実行するための技術として、ESB (Enterprise Service Bus) が登場している。 BPELは、業務処理のプロセス(サービスを連携する順序やルール)を記述する言語である(これもXMLを使用している)。サービスの連携について記述すると同時に、個々のサービスのインタフェースを記述したWSDL形式のデータも指定する。BPELとWSDLによって、サービス連携の記述と個々のサービスとを分離させた上での、柔軟で容易な疎結合が可能となる(とされている)。BPEL形式の記述に従ってサービスの連携を実行するソフトウェアはBPELエンジンと呼ばれる。 BPMNは、業務処理のプロセス(サービスを連携する順序やルール)を図として記述するための可視化表記法である。BPMNを用いて作成した図は、BPEL形式の記述へ変換することが可能である。そのような変換を自動化するツールも提供されている。 ESBは、サービス間をつなぐ中継バスとしての役目を担う技術あるいはその実装製品を指す言葉である。サービスを1対1で直接P2P接続する場合と比べて、ESBを使用すれば、多数のサービス間接続を集中して管理、監視できるようになる。複数のESBを接続して連携させ、ルーティングやプロトコル変換などの役割を持たせることも可能である。 BPMN、BPEL、ESBや、それらの基礎となるWebサービスを完全に活用できている状態においては、BPMN形式のビジュアルな図を描くだけでシステム連携が可能となり、その図を描き換えるだけで業務処理の変更に対応できる(とされている)。 なお、個々のサービス(ソフトウェア)の実装においては、任意の技術を使用可能である。ただし、WebサービスあるいはSOAの製品実装においては、Java あるいは .NET の使用が先行している。既存の技術(たとえばメインフレーム系の技術)を使用しているシステムをサービスとして活用する場合、そのインタフェースの作成にはJavaなどを使用するのが通常である(こうした手法はレガシーラッピングと呼ばれる)。
※この「SOAの技術的基盤」の解説は、「サービス指向アーキテクチャ」の解説の一部です。
「SOAの技術的基盤」を含む「サービス指向アーキテクチャ」の記事については、「サービス指向アーキテクチャ」の概要を参照ください。
- SOAの技術的基盤のページへのリンク