心智圖資源庫 サービス指向アーキテクチャ
これは、SOAリファレンスアーキテクチャ、SOAメインプロトコルと仕様、SOA設計パターン:サービスレジストリ、エンタープライズサービスバス、マイクロサービスなどを含む、サービス指向アーキテクチャに関するマインドマップです。
編輯於2025-06-01 22:04:02サービス指向アーキテクチャ
コンセプト
意味
サービス指向アーキテクチャ(SOA)
アプリケーション角
SOAは、毎日のビジネスアプリケーションに焦点を当て、それらを別々のビジネス機能とプロセス、いわゆるサービスに分割するアプリケーションフレームワークです。
ソフトウェア角度
SOAは、これらのサービス間の明確に定義されたインターフェイスと契約を通じて、アプリケーションの異なる機能ユニット(サービスになる)を接続するコンポーネントモデルです。
ビジネスプロセス
ビジネスプロセスとは、特定のビジネス目的を達成するために実行されるプロセスまたは一連のアクションを指します。
BPEL
(Webサービスのビジネスプロセス実行言語)Webサービスのビジネスプロセス実行言語
ユーザーはこの言語を使用して、Webサービスを組み合わせ、調整し、Webサービスを調整して、トップダウンからサービス指向のアーキテクチャを実装できます
既存のWebサービスを統合し、既存のWebサービスを必要なビジネスプロセスに従って新しいWebサービスに整理するために使用されます
例;
単純化された注文処理プロセスは、注文の受信、在庫のチェック、および処理の支払いの3つの主な手順で構成されています
開発段階
起源
会社のビジネスを独立した非常にスケーラブルなインターネットベースのサービスにパッケージ化するために、人々はWebサービスの概念を提案しました
芽
XMLテクノロジーによってマークされています
XMLは使用します
任意のドキュメントをXMLに変換してから、ネットワークを介して転送できます。 XML変換言語(XSLT、拡張可能なスタイルシート言語変換)を使用すると、受信者はXMLデータを解析および抽出できます
サービス間およびサービス内のデータ交換の形式と構造を指定します
XSDスキーマ
メッセージデータの整合性と有効性を確保します
XSLT
スキーママッピングを通じて、異なるデータ式を互いに通信する
標準化
Webサービスを標準化して、不均一なシステム間の簡単な相互作用を実現する
主な仕様
石鹸
Simple Object Access Protocal
WSDL
Webサービスの説明言語
uddi
普遍的な発見の説明と統合
成熟
主な仕様
SCA
(サービスコンポーネントアーキテクチャ、サービスコンポーネントアーキテクチャ)
これは、ゆるく結合された再利用可能なサービスコンポーネントを構築するために使用されるSOA(サービス指向アーキテクチャ)に基づくプログラミングモデルであり、複数のプログラミング言語(Java、BPEL、Cなど)および技術プロトコル(Webサービス、JMSなど)をサポートします。
コア機能
コンポーネント開発
ビジネスロジックをスタンドアロンコンポーネントにカプセル化したり、サービスや参照を通じて機能を公開したり、外部サービスに依存したりします
ゆるいカップリング
プロトコルの無関係性は、結合メカニズム(SOAP、REST、JMSなど)によって達成されます。
コンビネーションアプリケーション
コンポジット複数のコンポーネントを完全なアプリケーションに組み立てて、composite.xmlファイルで定義します
SCAコンポーネントは通常、標準データ形式としてSDOを使用して、コンポーネント間のデータ交換を有効にします。
SDO
(サービスデータオブジェクト、サービスデータオブジェクト)
SCAコンポーネント間のデータ転送によく使用される不均一なデータソース(データベース、XML、JSONなど)を操作するための統一されたAPIを提供するデータアクセスフレームワーク。
コア機能
統一されたデータモデル
基礎となるデータソースの違いをマスクし、データオブジェクトの形でデータを表します
追跡を変更します
データの変更(追加、削除、変更)を自動的に記録し、増分の更新をサポートします
動的/静的タイプ
動的アクセス(dataObject.get( "プロパティ")や静的コード生成など
ws-policy
(Webサービスポリシー)
通常はWSDLと組み合わせて使用されるWebサービス(セキュリティ、トランザクション、信頼性など)の非機能要件を説明するために使用されるXML標準です。
コア要素
ポリシーアサーション
特定の要件ステートメント(HTTPSなどを使用する必要があります)
ポリシーの添付ファイル
エンドポイントまたは操作に関連するポリシーを関連付けます
例:
SOAのマイクロサービス開発
SOAは、よりきめ細かい、より一般化されたレベルに向けて発展しています
SOAとマイクロサービスの違い
マイクロサービスはより洗練されており、互いに影響を与えることなく、独立したプロセスでマイクロサービスが存在します。
Microservicesが提供するインターフェイス方法は、HTTP Restfulメソッドなど、より一般的です
マイクロサービスは、分散型分散型展開を好みます
マイクロサービスアーキテクチャは、SOAのさらなる最適化であり、ESBエンタープライズサービスバスを削除し、分散化された分散アーキテクチャです。
SOAおよびマイクロサービスアーキテクチャ図
SOAリファレンスアーキテクチャ
典型的な例
IBMのWebSphereビジネス統合リファレンスアーキテクチャ(サービス中心のエンタープライズ統合アーキテクチャ)
コンセプト
サービス中心のエンタープライズ統合は、「懸念の分離」アプローチを採用しています
エンタープライズ統合におけるさまざまなアーキテクチャ要素の計画
各構造要素が提供するサービスを計画します
ある種の統合を達成するためにサービスをまとめる方法
狭い意味でのサービス(WSDL説明)
広い意味でのサービス(ある程度の能力)
エンタープライズ統合アーキテクチャのサービス分類
ビジネスロジックサービス
コンセプト
(ビジネスロジックサービス)
サービスとビジネスロジックを実装するためのビジネスロジックを実行する機能が含まれています
ビジネスアプリケーションサービス
パートナーサービス
アプリケーションおよび情報資産
既存のアプリケーション(アプリケーションと情報アクセスサービス)を統合する
アクセス可能なサービス
イベントディスカバリーサービス
新しく開発されたアプリケーション(ビジネスアプリケーションサービス)を統合する
コンポーネントサービス
コアサービス
インターフェイスサービス
顧客とビジネスパートナーを統合する(B2C/B2B)(パートナーサービス)
コミュニティサービス
ドキュメントサービス
契約サービス
制御サービス
コンセプト
(コントロールサービス)
人、プロセス、情報統合を実装するサービス、およびこれらの統合ロジックを実行する機能を含む
データ統合(情報サービス)
連邦サービス
さまざまなタイプのデータを集約する機能を提供します
サービスをコピーします
リモートデータへのローカルアクセスを提供します
自動リアルタイムの複製とデータ変換を通じて、データソースのコピーをローカルに維持します
変換サービス
検索サービス
プロセス統合(プロセスサービス)
オーケストレーションサービス
事前定義されたプロセスロジックを通じて、プロセスでのビジネスアクティビティの実行を制御し、ビジネスプロセスがエラーから回復するのに役立ちます
取引サービス
プロセス実行中のトランザクション特性(酸)を確保します
従来の「2段階の提出」テクノロジーは、短いプロセスでよく使用されます。
長いプロセスでは、多くの場合、「補償」方法を使用します
マニュアルサービス
ユーザーアクセス統合(インタラクティブサービス)
配達サービス
経験を体験してください
リソースサービス
接続サービス
コンセプト
(接続サービス)
エンタープライズサービスバスを通じて、さまざまな建築要素に配布されたサービス間の接続を提供します
エンタープライズサービスバス
(エンタープライズサービスバス、ESB)は、過去のメッセージミドルウェアの開発です
基本的な特性と能力
サービスのメタデータとサービス登録管理について説明してください
サービスリクエスターとプロバイダーの間にデータを渡し、これらのデータを変換する機能、および同期モード、非同期モードなど、実際に要約されたいくつかのパターンをサポートします。
サービス間の動的な相互作用をサポートし、サービスリクエスターとサービスプロバイダー間の動的な対話をサポートするために、発見、ルーティング、マッチング、および選択する機能
セキュリティサポート、サービス品質保証、管理性、負荷分散などの高度な機能。
ビジネスイノベーションと最適化サービス
コンセプト
(ビジネスイノベーションと最適化サービス)
ビジネスシステムランタイムサービスのビジネスパフォーマンスを監視するために使用され、ビジネスパフォーマンスと変化に基づいて、変化する市場に適応するための対策を講じる
パブリックイベントフレームワークサービス
収集サービス
監視サービス
開発サービス
コンセプト
(開発サービス)
要件分析からモデリング、設計、開発、テスト、メンテナンスへの包括的なツールサポート
モデリングサービス
デザインサービス
サービスを実装します
テストサービス
ITサービス管理
コンセプト
(ITサービス管理)
ビジネスシステムの運用をサポートするさまざまなインフラ管理機能またはサービス
セキュリティおよびディレクトリサービス
システム管理および仮想化サービス
SOA主要な契約と仕様
関連標準
それらのほとんどは、「ws-*」と総称される接頭辞として「ws-」を使用します。
基本契約
図
uddi
統一された説明、発見、統合プロトコル
ビジネスエンティティがお互いを発見できるようにする幅広いオープンな業界プログラムです
インターネット上でどのように相互作用するかを定義し、グローバル登録アーキテクチャで情報を共有する
WSDL
(Webサービスの説明言語、Webサービスの説明言語)
Webサービスを説明し、Webサービスと通信する方法を説明するために使用されるXML言語です
Webサービスの3つの基本プロパティを説明してください
サービスは何をしますか
サービスが提供する操作(方法)
サービスにアクセスする方法
サービスと対話するためのデータ形式とプロトコル
サービスはどこにありますか
URLなどのプロトコル関連アドレス
石鹸
XMLに基づいて、分散または分散環境で情報を交換するための簡単なプロトコル
構成
石鹸封筒
石鹸エンコーディングルール
石鹸RPC表現
石鹸結合
休む
表現状態転送
安らかな
レストスタイル
これは、休憩デザインのアイデアに従い、デザインの制約を満たす一種の建築設計またはアプリケーションの一般的な用語です。
リソース
リソース
RESTはリソース中心で構築されています
リソースは注文または写真です
インターネット上のクライアントにさらされるすべては、リソースと見なすことができます
リソースは複数のURIを設計できますが、URIは1つのリソースにのみ対応できます
表現
表現
ウェブ内の特定の時間にリソースの状態を説明してください
クライアントとサーバーは、RESTFUL APIを使用してデータを渡します。データは実際にリソース式と相互作用しています。
ステータス転送
状態転送
アプリケーションステータス
特定の時間内にセッション関連の情報を要求するユーザーのスナップショットは、クライアントに保存され、クライアント自体によって維持されます。キャッシュと協力して、サーバー上の同時リクエストの圧力を減らすことができます。
リソースステータス
サーバーに保存された特定の時間リソースリクエストステートメントのスナップショット
HTTPメソッドの助けを借りて状態転送が達成されます
get、post、削除など
ハイパーリンク
ページにリンクやその他のリソースを埋め込んで接続を構築する
SOAデザインパターン
デザイン原則
ステートレス
単一インスタンス
明確に定義されたインターフェイス
自己完結型とモジュール
粗粒サイズ
サービス間の緩い結合
再利用能力
相互運用性、互換性、およびポリシーステートメント
サービスレジストリモード
サービス登録
(サービスレジストリ)
主にSOAデザインで使用されています
主要な制御ポイント、またはポリシー執行ポイント(PEP)を提供します
主にSOAガバナンス機能をサポートしています
サービス登録
サービスプロバイダーとも呼ばれるアプリケーション開発者は、機能をレジストリに公開します
サービスの場所
サービスアプリケーション開発者、サービスと登録サービスを支援し、独自の要件を満たすサービスを見つける
サービスバインディング
サービス消費者は、検索されたサービス契約を使用してコードを開発します。コードは登録サービスにバインドし、登録サービスを呼び出し、それらと対話します。
エンタープライズサービスバスモード
考え
アーキテクチャの基礎となる標準ソフトウェアを提供します。ここでは、さまざまなプログラムコンポーネントをサービスユニットの形でプラットフォームに挿入でき、コンポーネントは標準のメッセージ通信モードで相互作用できます。
相互作用プロセス
例
サービスリクエスターは、インタラクティブなプロセスをトリガーします
サービスリクエストメッセージを生成します
メッセージはESBの要求に応じて標準化されており、標準化されたメッセージがサービスバスに送信されます
ESBは、リクエストメッセージのサービス名またはインターフェイス名に基づいてターゲットコンポーネントを検索します
宛先コンポーネントにメッセージを転送します
そして最後に、処理結果はサービスリクエスターに逆転します
これは、ポイントツーポイントの直接的なインタラクションモードではなく、コンポーネント間の依存関係を切り離すイベント駆動型メッセージインタラクションモードです。
バスに接続されているコンポーネントは、必要なサービスを取得するためにサービスバスにリクエストメッセージを送信するだけです
ESBは、ミドルウェアでサービスフォールトトレランス、負荷分散、QoS保証、管理可能な機能を提供します
マイクロサービスモデル
建築設計パターンソリューション
アグリゲーターマイクロサービス
複数のマイクロサービスを呼び出して、システムアプリケーションに必要な機能を実装してください
形状
取得したデータ情報を直接処理および表示します
取得したデータ情報にビジネスロジックを追加した後、高レベルのマイクロサービスとしてさらに新しいマイクロサービスにリリースされます。
エージェントマイクロサービス
アグリゲーターモードのバリアントです
クライアントは、実際のビジネスニーズに応じて異なる機能を呼び出すマイクロサービスを選択します。
ブランチマイクロサービス
アグリゲーターモードの拡張です
クライアントまたはサービスにより、2つの異なるマイクロサービスチェーンを同時に呼び出すことができます
チェーンマイクロサービス
リクエストを受け取った後、クライアントまたはサービスはマージされた応答を返します。
例:
サービスAは、リクエストを受け取った後にサービスを呼び出し、サービスBはサービスCを呼び出し、順番にリクエストを下流に送信します。結果がマージされて処理された後、リクエスト応答として上流のサービス発信者に返されます。
データ共有マイクロサービス
モノリシックアーキテクチャアプリケーションの移行段階でマイクロサービスアーキテクチャへの使用を許可する
非同期メッセージング
メッセージをメッセージキューに書き込み、非同期に実行しているビジネスロジックを実装し、システム応答を高速化する
一般的なメッセージキュー
ActiveMQ、RabbitmQ、RocketMQ、Kafkaなど。
SOA実装
SOAソリューションを選択してください
グローバルに計画できる計画を選択してみてください
ユーザー評価
すでにシステムがあります
使用できる数
どれだけ改装する必要がありますか
必要な新しいシステム
システムは将来どのようにニーズを満たしますか
どのくらいの資本が投資されています
選択をするときは、会社のニーズを考慮してください
プラットフォーム、実装、その他のテクノロジーの側面からの問い合わせ
ビジネスプロセス分析
サービスモデルを確立します
トップダウン分解
トップダウンドメイン分解
ビジネス分析から始めます
エンドツーエンドのビジネスプロセスを選択して、レイヤーごとにビジネスアクティビティにレイヤーを分解します
そして、それに関係するビジネス活動とビジネスオブジェクトの変更を分析します
ビジネス目標分析方法
ボトムアップ分析
既存の資産を使用してサービスを実現します
「法的資産分析」
既存の再利用可能なモジュールをサービスとしてパッケージ化します
ビジネスプロセスを確立します
ビジネスオブジェクトを確立します
サービスインターフェイスを確立します
サービスインターフェイスには通常、複数の操作を含める必要があります
運用は意味的に関連する必要があります
サービス間の交換は可能です
静的
サービスプロバイダーが、以前の操作コール中にサービスユーザーとサービスプロバイダー間の交換に関するデータ情報を保持する場合、サービスはサービス間のステートフル(または対話型)交換になります。
例:
最初にsetCustomernumberを呼び出して顧客番号を設定してから、getCustomerInfoに電話して、前の顧客番号に対応する顧客情報を取得します
ステートレス
ビジネスプロセスを確立します