SOA(Service Oriented Architecture)とは
SOA(Service Oriented Architecture)は、ソフトウェアを"サービス"として外部から呼び出し可能なインタフェースを備えた部品とみなし、再利用したり、分散したシステムを統合し管理するためのアーキテクチャです。
SOAの概念は決して目新しいものではありませんが、近年、システムの複雑化に伴い、様々な手法で統合・連携が行われてきている中、システム連携の標準技術であるXML Webサービスが成熟してきたことでSOAも現実的なものとなり、注目を浴びるようになりました。
これからのシステム構築はSOAに基き、サービスとして部品化・再利用を検討することで、下記のようなメリットを享受できます。
検討ポイント:
- 社内既存システムの機能を共有できないか
- 外部(取引先やサービスプロバイダ)のシステム機能を利用できないか
- 自社システムの機能を部品化、公開することで、他部門や他社システムから利用・連携できないか
- ビジネスプロセスの変更が多い業務はないか
SOAのメリット
SOAのメリットは、システム構築におけるコスト削減や構築スピードの向上と、変化に強い柔軟なシステムを築けることです。
| メリット |
 |
説明 |
|
- 業務をサービス単位で部品化することで、重複するシステム機能を削減するとともに、再利用性を高めることができます。
|
|
- 外部接続しやすい形で部品化されているため、新規システム構築において既存資産を有効に利用でき、構築を早めることができます。
|
|
- 部品化されたサービスを組み合わせることで、ビジネスプロセスを形成するため、業務の変更が容易です。
ビジネス環境の変化とは・・・
- ユーザニーズへの対応
- 商品やサービス提供までの待ち時間短縮要求 - 商品やサービスのカスタマイズやパーソナライ
- 物流や決済などの社会公共基盤の変化
- 取引先の変更やパートナ企業との提携
- 事業の開始/停止/統廃合
- 業務のアウトソーシング
- 企業や自治体の合併
など
|
SOAの実現手段として、インターネット経由で異種プラットフォーム間でもシステムを連携できるXML Webサービスが用いられることが一般的です。従ってSOAのメリットは、XML Webサービスの効果とも言えます。
SOAの導入アプローチ
SOAの導入には、状況に応じた様々なアプローチがあります。
- プロセス最適化アプローチ
まずビジネスプロセスを可視化・最適化し、他のアプリケーションから利用する価値のある(共有可能な)システム機能を切り出しサービス化します。これにより機能の重複を回避し、開発スピード向上とコスト削減を目指します。BPRを伴うため、強力なガバナンスが必要です。
- 課題解決アプローチ
システムが分断されていることによる再入力の手間やデータ不整合などの課題を解決するため、データ交換を自動化/リアルタイム化するようなケースです。システム連携部分をWebサービス化することからスタートし、徐々に範囲を拡大していきます。このアプローチの場合でも、始めからSOAの考えを取り入れ、システムの将来像を見据えた汎用性・拡張性の高いサービス設計が、導入成功のカギとなります。
- ビジネスモデル創出アプローチ
さらに今後は、新しいビジネスを立ち上げる際に、複数企業のビジネスを集約したビジネスアグリゲーションや各種手続きのワンストップサービスなど、複数企業に散在するデータや機能をサービスとして組み合せるマッシュアップ型ビジネスモデルが増えてくると予想されます。
プロセス最適化アプローチは、導入範囲で次のように分けることもできます。
- 全体最適(全社システムへの導入)
EAのもと、全社のBPRとシステムの全体最適を実現するための設計方法としてSOAを採用します。 そのためには、経営層の理解と全社組織にまたがる強力なガバナンスが必要です。 ビッグバン的に一気に導入するのは、あまり現実的とは言えません。
- 部分最適(特定ビジネスプロセス、特定システムへの導入)
一部の業務のビジネスプロセスから段階的に導入を進める方法です。ガバナンスの範囲、部門間の調整も一部に限られるため、敷居は低く、現実的なアプローチと言えます。効果を測定しやすい業務から、試験的に導入する企業も増えています。
SOAの設計原則
SOAの設計原則は、サービス化・粗粒度・疎結合の3点です。
| 設計原則 |
 |
説明 |
|
- ビジネス的に意味のある単位のシステム機能を、他のアプリケーションから呼び出し可能なインターフェースを備えたサービスとして部品化します。
|
|
- 再利用しやすく、ビジネス的に適切と思われる粒度(サービスの機能範囲)に抽象度を高めます。
|
|
- 部品化によりサービス内部を隠蔽することで、サービス提供側と利用側のシステム間の依存関係を最小限にし、再利用性を高めます。
|
SOA成功のポイント
SOA導入に当たっては、次のような要素が重要となります。
- 経営層の理解と、組織や企業をまたがるガバナンス
- 導入目的の明確化(IT上の効果だけでなくビジネス上の効果を重視)
- ビジネスパーソンと技術者のコミュニケーションと意識共有
- ロードマップを描き、段階的に導入
- サービスの所有者と責任の所在を明確化
- 標準技術の採用
- 企業間・企業内システム連携におけるデータ交換(メッセージ)の標準化
- 再利用性の高い粒度とインタフェースを持つサービス設計
- サービス管理(サービスレジストリ、QoS/SLA管理、例外処理、セキュリティ、サービスのライフサイクル管理、など)
SOA導入においては、開発環境も重要ですが、むしろ導入に向けたガバナンスや導入後の運用に成功のカギがあります。
|