SOAの本

NAgile勉強会ROA(リソース指向アーキテクチャ)が面白いという話が出ていて、SOA(サービス指向アーキテクチャ)もよく分かっていないのに次の言葉が出てきたなぁ。ということで、あらためてSOAについて読書。

基礎からわかるSOA(サービス指向アーキテクチャ)

基礎からわかるSOA(サービス指向アーキテクチャ)

忘れないようにメモすると

  • SOA(Service-Oriented Architecutre)とは
    • コンセプトというか思想のようなもの
    • 機能的に意味のある単位で稼働させておくサービス
    • 呼び出し情報を記述しておき、それらの情報を利用して結合する
    • 最初の開発から生産性が高まるものではなく、利用することでメリットを得れる
  • SOAの技術
    • SOAP(Simple Object Access Method)
    • WSDL(Web Services Description Language)
      • データ交換の仕様
        • データ型
        • メッセージ
        • インターフェース
        • バインディング(結合方法)
        • エンドポイント情報(サービスの場所)
  • サービス開発の指針
    • 初期コストはかかる(ツール・ソフト・インフラ準備)
    • サービス課金は困難(サービスの場所が明確ではない)
    • 再利用しやすいインターフェースにする(単純・わかりやすい)
    • サービスの粒度(ステートレス前提・パフォーマンス)を考慮
    • すべてをSOAにする必要はない(疎結合はパフォーマンスが悪い)。サービスという切り口を作り、システムで効率的に利用できれば良い。
  • その他のキーワード
    • ESB(Enterprise Service Bus)
      • サービスの仲介、伝達、変換などを行う
      • サービスを提供しているサーバが引っ越してもサービスが使えるよう
        • URI(Uniform Resource Identifiers)でサービスを識別する
        • すべてのサービスには一意のURIがふられている
      • レガシー(3270)をラップしたサービスを呼び出したりできる
    • UDDI(Universal Description Descovery and Integration)
      • B2B取引用の企業登録サービス
    • BPM(Business Process Management)
      • プロセス定義(ワークフロー)によって動作するITシステム
    • BPEL(Business Process Execution Language)
      • プロセス定義を記述するためのフォーマット
    • BPMN(Business Process Modeling Notation)
      • 業務担当者でもまとめることができるプロセス図。BPELに変換可能。
    • WS-I(Web Services Interoperability)
    • 保障処理(コンペイセイション)
    • HTTP課題
      • リトライによる重複(WS-RM/RS-R/HTTPR)

解釈の広いSOAという言葉を具体例を含めて良くまとめられている本でした。