目次
SOAとはService Oriented Architectureの略語で、「エスオーエー」または「ソーア」と発音します。日本語では「サービス指向アーキテクチャー」と訳されます。
SOAとは特定の製品やサービス単体を指すものではなく、大規模なシステムを構築する際の設計思想や開発手法を指します。もっとも特徴的なのは、ユーザー視点で切り分けられた「サービス」を組み合わせてシステムを作り、必要になったら外部から必要な「サービス」を呼び出して使うという考え方です。
この場合の「サービス」は、「会員登録申請」や「在庫確認」などビジネス上の業務がわかれる単位で切り分けられるため、エンジニアではない業務担当者にもわかりやすいという利点があります。
サービス単位でシステム変更がしやすい設計思想として、マイクロサービスがあります。マイクロサービスはSOAよりも細かい単位のサービスで構成され、SOAの進化形とも言えるでしょう。マイクロサービスは、サービスごとにサーバー、DB、ストレージを個別化することが多い一方、SOAはサーバー、DB、ストレージを複数のサービスで共有することが多いです。
SOAは「システムをどのように設計するか」という設計思想であり、実際に実現するための具体的な手法には、いくつかの種類があります。SOAを実現するための要素技術のひとつが、ESB(Enterprise Service Bus)と呼ばれるシステム同士をつなぐ連携基盤です。
SOAに基づくシステムを運用するには、「サービス」として切り出したそれぞれの機能を連携させる必要があります。SOAでは、「どんな言語で書かれた、どんな作りのアプリケーションか」といったエンジニア目線の情報がなくても、連携ができることが求められます。そこで、ESBのような連携基盤を間に介在させ、アプリケーションの実装について詳細がわからなくても、連携を可能にしているのです。
連携基盤には、ESBの他にもEAI(Enterprise Application Integration:企業アプリケーション統合)、ETL(Extract、Transform、Load)、EDI(Electronic Data Interchange:電子データ交換)などが使われます。システム間での連携を実現するという目的は同じですが、実現方式や連携の範囲に細かな違いがあります。連携させたデータの集約も目的とするETL、社外システムとのデータ連携が主目的のEDIなど、それぞれに特徴が異なります。自社で実現したいデータ連携の種別を整理し、適切なソフトウェアを選定すると良いでしょう。
SOAの考え方に基づいてシステムを構築すると、様々なメリットがあります。どのようなメリットがあるのかを見ていきましょう。
SOAの考え方では、ビジネスプロセス単位で切り出された「サービス」を組み合わせてシステムを構築します。その際、各ビジネスプロセスで共通する「サービス」については、新たにコーディングをしなくても再利用することが可能です。
SOAに基づくシステムは、新しいビジネスプロセスが必要となった際も、既にあるサービスを再利用することで時間とコストを節約することが可能です。
SOAの考え方では、アプリケーションの変更や改修が必要な場合も「サービス」単位での作業となります。一部のビジネスプロセスのみに影響を絞ることができるため、業務システム全体に影響が及ぶ危険性は低いといえます。また、データのフォーマットやデータ連携方式の変更等は連携基盤が吸収してくれるため、影響を最低限に抑えることが可能です。
SOAに基づくシステムは、アプリケーションの変更や改修による影響を最小限にとどめられるため、効率的にメンテナンスを行うことができます。
SOAの考え方では、アプリケーションの実装を気にせずにシステムを連携することが可能です。新しい技術やサービスが登場した際も、一部のビジネスプロセスでのみ試験的に利用し、稼働中の古いアプリケーションとの連携を行うといった運用ができます。
SOAに基づくシステムは、新技術や新サービスを部分的にとり入れたいという要望があっても、すぐに対応できる適応性を備えています。
SOAの考え方では、ビジネスプロセスごとに作った「サービス」単位でシステム開発が行えます。たとえば「顧客情報照会」のように、いろいろな業務で行われる「サービス」を再利用し、新規で作成する「サービス」を組み合わせて、新しいシステムを作ることも可能です。
SOAに基づくシステムは、「サービス」の組み合わせを変えるだけで様々なシステムを構築することができるため、柔軟性の高いシステム開発を行うことが可能です。
SOAの考え方ではビジネスプロセスごとに「サービス」を作り、その「サービス」を組み合わせる形で全体のアプリケーションを作ります。「サービス」同士は依存性が低いため(疎結合であるため)、一部の「サービス」に不具合があった場合でも、その「サービス」のみを差し替えたりするといった運用が可能です。たとえば、実運用に入った後でユーザーからの要望を受け、システムを変更するのはよくあることです。そういった細かな修正変更、デバッグ、デプロイなども「サービス」単位で調整が行えるため、短期間・低コストで対応できる点が強みです。
SOAに基づくシステムは、修正や変更が必要な「サービス」のみに絞って対応が行えるため、システムの変更がしやすいといえます。
SOA(サービス指向アーキテクチャ)には多くのメリットがある一方で、注意したい点も存在します。
ひとつずつ説明しますので、導入前に対策をご検討ください。
SOAでは機能ごとに独立したサービスを選定し、統合するため、システム全体の設計が複雑になります。
たとえば、サービス同士の依存関係やデータフローを綿密に計画しないと、後々のメンテナンスや拡張が困難になります。また、設計ミスに気付かないまま運用すると、思わぬトラブルが発生する可能性もあります。
そのため、基本的には経験豊富なエンジニアのサポートが不可欠であり、社内エンジニアがシステムの運用・保守で手一杯になっている場合や、エンジニアが不足している場合は自社のみで対応することは難しいかもしれません。
SOAを導入すると、多くのサービスを管理・運用する必要があるため、運用コストが増える傾向にあります。また、各サービスのモニタリングやバージョン管理、さらには定期的なメンテナンスも行わなければならず、継続的な負担の増加も考慮しなくてはなりません。
サービスが複数に分かれていることで、異常が発生した際の原因特定に時間がかかり、業務全体に影響が出るリスクも考えられます。
SOAを導入する際におすすめしたいのが、17年連続で国内シェアNo.1を獲得しているデータ連携ツール「ASTERIA Warp(アステリアワープ)」です。
ASTERIA Warpは、専門知識がなくても様々なシステムやサービスと簡単に連携できるノーコードツールです。
ExcelやGSuite、Salesforce、kintoneなど100種類以上の連携アダプターが用意されており、SOAに基づく考え方のシステム構築をスムーズに実現します。
SOAで課題となりがちな複雑な設計も、アイコンをドラッグ&ドロップするだけで操作できるため短期間でシステムを完了させることができます。
さらに、ASTERIA Warpは月額3万円のプランをはじめ、5つのプランが用意されています。初期費用が不要なため、ご利用用途に合わせた最適なプランをスモールスタートで導入することが可能です。
ここからは、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に基づくシステム構築をご検討中の担当者様は、ぜひお気軽にお問い合わせください。
PM・SE・マーケティングなど多彩なバックグラウンドを持つ「データ連携」のプロフェッショナルが、専門領域を超えたチームワークで「データ活用」や「業務の自動化・効率化」をテーマにノウハウやWarp活用法などのお役立ち情報を発信していきます。
ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。
アステリア製品デベロッパー同士をつなげ、技術情報の共有やちょっとしたの疑問解決の場とすることを目的としたコミュニティです。