SOA -> SOAとは?

SOA入門

SOAとは?

SOAについての定義は以下の考えをもとにした手法とされています。
・疎融合
・再利用可能
・サービスの抽象化

SOAに関する製品は既に広範囲でかなりの種類が出回っていますが、
目的としては複数のサービスを自由に組み合わせる。
組み合わせたサービス間のインタフェースを構築し一連の処理を人手を介さずに自動化する。
これらを実現する為の製品であるといえるでしょう。

SOAとしてのシステムである為には以下の事が必要です。
サービス(アプリケーションプログラム等)の細かな仕様は見せずに
インタフェースのみを公開する。(サービスの抽象化)
サービス間の依存性をなくし個々のサービスで処理が完結する。(疎融合/再利用可能)

以上の内容を実現する為にSOAとしてのシステム構築にあたり用いられている
キーワードについて主に以下のものがあります。




SOAに関する用語

WSDL (Web Searvice Discription Language )

XMLで記述されたサービスのインタフェースを記述する言語 WSDL は webサービスの仕様を記述する言語で、 メソッド、パラメータ、URI 等を記述して公開します。

ESB (Enterprise Service Bus)

ESBとはサービス間の伝送路(バス)である。 サービス同士を直接接続するとサービスの数が増えると伝送路が複雑になるので、 ESBがサービス間のバスとしての役割を果たす。 また、ESB(バス)同士を連携させると他のバスに接続しているサービスを呼び出す事もできる。
各社のESB製品
Oracle Oracle Enterprise Service Bus
IBM WebSphere Enterprise Service Bus
SonicSoftwareSonic ESB

BPEL (Bussiness Process Enterprise Language)

ビジネスプロセスを定義するXML形式で記述する言語。 BPELとはサービスを呼出す順番(フロー)を記述する言語である。 複数ベンダ間の異なる環境下でのビジネスプロセスを実行する際の標準化言語。 BPELに記述された通りサービスを呼出し実行するエンジンの事をオーケストレーションと言う。 (IBMではコレオグラフィー[Choreography]と呼んでいる)
各社のBPEL製品
Oracle Oracle BPEL Process manager
IBMWebSphere Business Modeler

SOAP (Simple Object Access Protocol)

SOAPとは SOAP/HTTP プロトコルを使用して web サービスを呼出す機能を提供する。 SOAPメッセージは の全体は Envelope という要素で、ヘッダ部と ボディ部に分かれています。 ボディ部にはメソッドとパラメータを記述します。 SOAPメッセージ例:
POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"

<SOAP-ENV:Envelope
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
   <SOAP-ENV:Body>
       <m:GetLastTradePriceDetailed
         xmlns:m="Some-URI">
           <Symbol>Yokohama</Symbol>
           <Price>10000</Price>
       </m:GetLastTradePriceDetailed>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Apache-SOAPについて サービスを提供する側は提供する情報としてインタフェースをWSDLで記述する。 クライアント、サービスプロバイダ間の通信はXML文書で、SOAPプロトコルによって行われる。

ビジネスプロセスのモデル化

ビジネスプロセスをモデル化する各社の製品
Oracle Oracle Business Rules
IBM WebSphere Business Modeler
プロセスモデリングツール ペトリネットのサイト。
http://is.tm.tue.nl/staff/wvdaalst/pn_applet/pn_applet.html ビジネスプロセスモデリング例 シミュレーション例

その他

SOAに関する製品

SOA開発環境

SOA開発環境
Oracle Oracle JDeveloper
IBM WebSphere Integration Developer

管理・モニタリングツール

管理・モニタリング製品
Oracle Oracle Business Activity Monitoring
Oracle Oracle Application Server Service Registory
IBM WebSphere Business Monitor

アプリケーション(フレームワーク)

アプリケーションサーバ
Oracle Oracle Application Development Framework
IBM WebSphere Process Server


      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google