SOA(サービス指向アーキテクチャ)とは?メリットと活用事例紹介

2023/07/25

SERVICE ORIENTED ARCHITECTURE

SOA(サービス指向アーキテクチャー)とは

SOAとはService Oriented Architectureの略語で、「エスオーエー」または「ソーア」と発音します。日本語では「サービス指向アーキテクチャー」と訳されます。

SOAとは特定の製品やサービス単体を指すものではなく、大規模なシステムを構築する際の設計思想や開発手法を指します。もっとも特徴的なのは、ユーザー視点で切り分けられた「サービス」を組み合わせてシステムを作り、必要になったら外部から必要な「サービス」を呼び出して使うという考え方です。

この場合の「サービス」は、「会員登録申請」や「在庫確認」などビジネス上の業務がわかれる単位で切り分けられるため、エンジニアではない業務担当者にもわかりやすいという利点があります。

SOAのメリット

SOAの考え方に基づいてシステムを構築すると、様々なメリットがあります。どのようなメリットがあるのかを見ていきましょう。

市場投入までの時間を短縮

SOAの考え方では、ビジネスプロセス単位で切り出された「サービス」を組み合わせてシステムを構築します。その際、各ビジネスプロセスで共通する「サービス」については、新たにコーディングをしなくても再利用することが可能です。

SOAに基づくシステムは、新しいビジネスプロセスが必要となった際も、既にあるサービスを再利用することで時間とコストを節約することが可能です。

効率的なメンテナンス

SOAの考え方では、アプリケーションの変更や改修が必要な場合も「サービス」単位での作業となります。一部のビジネスプロセスのみに影響を絞ることができるため、業務システム全体に影響が及ぶ危険性は低いといえます。また、データのフォーマットやデータ連携方式の変更等は連携基盤が吸収してくれるため、影響を最低限に抑えることが可能です。

SOAに基づくシステムは、アプリケーションの変更や改修による影響を最小限にとどめられるため、効率的にメンテナンスを行うことができます。

適応性の向上

SOAの考え方では、アプリケーションの実装を気にせずにシステムを連携することが可能です。新しい技術やサービスが登場した際も、一部のビジネスプロセスでのみ試験的に利用し、稼働中の古いアプリケーションとの連携を行うといった運用ができます。

SOAに基づくシステムは、新技術や新サービスを部分的にとり入れたいという要望があっても、すぐに対応できる適応性を備えています。

柔軟性の高いシステム開発ができる

SOAの考え方では、ビジネスプロセスごとに作った「サービス」単位でシステム開発が行えます。たとえば「顧客情報照会」のように、いろいろな業務で行われる「サービス」を再利用し、新規で作成する「サービス」を組み合わせて、新しいシステムを作ることも可能です。

SOAに基づくシステムは、「サービス」の組み合わせを変えるだけで様々なシステムを構築することができるため、柔軟性の高いシステム開発を行うことが可能です。

変更対応が容易にできる

SOAの考え方ではビジネスプロセスごとに「サービス」を作り、その「サービス」を組み合わせる形で全体のアプリケーションを作ります。「サービス」同士は依存性が低いため(疎結合であるため)、一部の「サービス」に不具合があった場合でも、その「サービス」のみを差し替えたりするといった運用が可能です。たとえば、実運用に入った後でユーザーからの要望を受け、システムを変更するのはよくあることです。そういった細かな修正変更、デバッグ、デプロイなども「サービス」単位で調整が行えるため、短期間・低コストで対応できる点が強みです。

SOAに基づくシステムは、修正や変更が必要な「サービス」のみに絞って対応が行えるため、システムの変更がしやすいといえます。

SOAとマイクロサービスとの違い

サービス単位でシステム変更がしやすい設計思想として、マイクロサービスがあります。マイクロサービスはSOAよりも細かい単位のサービスで構成され、SOAの進化形とも言えるでしょう。マイクロサービスは、サービスごとにサーバー、DB、ストレージを個別化することが多い一方、SOAはサーバー、DB、ストレージを複数のサービスで共有することが多いです。

SOAとESBとの違い

SOAは「システムをどのように設計するか」という設計思想であり、実際に実現するための具体的な手法には、いくつかの種類があります。SOAを実現するための要素技術のひとつが、ESB(Enterprise Service Bus)と呼ばれるシステム同士をつなぐ連携基盤です。

SOAに基づくシステムを運用するには、「サービス」として切り出したそれぞれの機能を連携させる必要があります。SOAでは、「どんな言語で書かれた、どんな作りのアプリケーションか」といったエンジニア目線の情報がなくても、連携ができることが求められます。そこで、ESBのような連携基盤を間に介在させ、アプリケーションの実装について詳細がわからなくても、連携を可能にしているのです。

ESBは以下の記事で詳しく解説しています。

連携基盤には、ESBの他にもEAI(Enterprise Application Integration:企業アプリケーション統合)、ETL(Extract、Transform、Load)、EDI(Electronic Data Interchange:電子データ交換)などが使われます。システム間での連携を実現するという目的は同じですが、実現方式や連携の範囲に細かな違いがあります。連携させたデータの集約も目的とするETL、社外システムとのデータ連携が主目的のEDIなど、それぞれに特徴が異なります。自社で実現したいデータ連携の種別を整理し、適切なソフトウェアを選定すると良いでしょう。

EAI、ETL、EDIについてはそれぞれ以下の記事で解説しています。

「ASTERIA Warp」のSOA(サービス指向アーキテクチャー)の事例紹介

SOAに基づく考え方でシステムを構築する際、データ連携基盤として活用できる製品のひとつが「ASTERIA Warp」です。Excelはもちろん、G Suite、Salesforce、kintoneなどの100種類以上の連携アダプターを備えており、様々な形式のデータフォーマットやプロトコル、システムに対応しています。SOAに基づき、「ASTERIA Warp」を利用してシステムを構築されたお客様の実例を見てみましょう。

株式会社 スタッフサービス・ホールディングス

株式会社スタッフサービス・ホールディングス様は人材総合サービスを展開しており、グループ全体では100万名を超える個人情報を保有しています。これらの個人情報は多くの社内業務で使用されていましたが、セキュリティへの配慮から、情報の一部をマスキングする作業を行う必要がありました。

社内の31のシステムからビジネスプロセスの呼び出しが行われるため、共通のサービスとして構築し、各システムから呼び出す設計へと見直しが図られました。

「ASTERIA Warp」の活用により、業務要件を満たしながらも、メンテナンスコストを抑えたシステムの構築に成功しました。多くの社内システムから参照される共通サービスとして、様々なデータフォーマットへの対応や高い処理性能が求められた事例です。

株式会社ゴルフダイジェスト・オンライン

株式会社ゴルフダイジェスト・オンライン様は、様々なゴルフ関連事業を展開しており、ゴルフ用品のEコマースや、ゴルフレッスン・ゴルフ場の予約などのサービスを行っています。

300台に及ぶ社内サーバーの運用や、顧客データベースの処理負担が課題となっていたため、すべてのサーバーをパブリッククラウド上へ移行することが検討されました。

移行前から「ASTERIA Warp」を活用してデータ連携先を一元管理していたため、移行時のDNSサーバー切り替え等も時間を大幅に削減できました。データベースについても、MySQLからAmazon Auroraへスムーズに切り替えが完了しました。

まとめ

SOAは1990年代からある考え方であり、クラウドの登場など技術の発展に応じて、その価値が見直されてきました。システムを「サービス」という単位の部品を組み合わせたものとして捉えるため、拡張や修正が容易で、開発や運用のコストを低減できるメリットがあります。SOAに基づくシステム構築というと難しく考えられがちですが、SOAに対応した製品やサービスを部分的に利用することから始める企業は多いようです。

SOAに基づくシステムの要となるのが、データ連携基盤です。データ連携基盤となるソフトウェアについては様々な種類があり、自社システムの状況に合わせて適切に選定することが必要です。「ASTERIA Warp」は100種類以上の連携アダプターを備え、様々な形式のデータフォーマットやシステムなどに対応しているため、多くの企業でデータ連携基盤としてご採用いただいています。

本記事では、SOAの概要やSOAに基づくシステムのメリットを解説し、「ASTERIA Warp」の活用でSOAを実現した例をご紹介しました。「ASTERIA Warp」については下記サイトで、他にも機能の詳細や導入事例を多数ご紹介しています。SOAの考え方でシステム構築を行いたいとお考えでしたら参考にしてみてはいかがでしょう。

関連資料



クラウド版

使い方いろいろ!
手ぶら de ASTERIA Warp
体験 5日間

サーバー準備の手間なくデータ連携ツール「ASTERIA Warp」の
全ての機能を5日間お試しいただけます。

今すぐ体験してみる 書籍の詳細についてはこちらをご覧ください。
基礎と実践 使い方マニュアル

ASTERIA Warp 関連サイトのご紹介

X ASTERIA Warp Developer Network(ADN)サイト

技術情報をお探しの方

ASTERIA Warp Developer Network
(ADN)サイト

ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。

X ASTERIA Warpユーザーグループ(AUG)

ASTERIA Warpデベロッパーの方

ASTERIA Warp オンラインコミュニティ
ADN slack

ASTERIA Warpデベロッパー同士をつなげ、技術情報の共有やちょっとしたASTERIA Warpの疑問解決の場とすることを目的としたコミュニティです。

X ASTERIA Warpユーザーサイト

ASTERIA Warpユーザーの方

ASTERIA Warpユーザーサイト
Login

製品更新版や評価版のダウンロード、各種ドキュメントのご提供、また 技術的なお問合せもこちらで受付ています。

X ASTERIA Warpパートナーサイト

ASTERIA Warpパートナーの方

ASTERIA Warpパートナーサイト
Login

パートナーライセンスの発行や各種ドキュメントのご提供をしています。

ページ先頭へ