これまでにも何度か取り上げてきたが,SOA を成功させる必須条件のひとつとして,IT 関連部門とビジネス部門の間での目的・目標の一致がある。今回の記事では IBM の Jens Andexer 氏と Standard Bank の Willen Bekker 氏が,ビジネスの側面から見た SOA のよい点,悪い点,そして最悪な点 について,実例をあげて紹介する。
氏らは SOA のビジネスへの影響を,いくつかのカテゴリ別に分析している。
- アジリティ
- よい点: SOA は,より柔軟で迅速なビジネスプロセスのサポートを通じて,ビジネス環境の変化に対する組織の適応性を高め,結果的に真の市場優位性を組織にもたらす。
- 悪い点: SOA の実施には,技術的ノウハウを全体に提供するための新しいエンティティ - Center of Excellence(COE) の導入を必要とする場合がある。この COE が組織全体に対してリソース配分と意思決定の影響力を持つようになると,時として他部署との衝突を引き起こす。
- 最悪な点:
縦割り(サイロ型)構成であった組織は,サービス志向の導入メリットを十分に受けるために組織構造の変更が必要となる。このようなシフトは複雑で費用もかかる上,変更に対する障害も少ないものではない。
- 連帯
- よい点: SOA は IT サービス機能とビジネス機能を一致させ,ビジネスの用語でそれを表現することによって,ビジネス部門と IT 関連部門の緊密性,協調性を促進する。
- 悪い点: SOA はサービスの所有権と制御権をビジネス側のドメインに置くことによって,組織の権力構造を変化させる。そのため既得権を持つ人々から,現状を維持しようという抵抗が起こる可能性がある。
- 最悪な点: SOA の実施には組織構造の変革 (それも抜本的な) が必要である。
アジャイルであるということの意味とアジャイル性(アジリティ)を最高に活用する方法について,組織は学ぶ必要がある。最悪なのは,これが最も習得の難しいレッスンである,という事実だ。
- ビジネスプロセス改善
- よい点: SOA の実施は概して一定レベルのプロセス・リエンジニアリングを伴う。これはビジネスの業務効率改善の好機となる。
- 悪い点: SOA はビジネス部門に,サービスの設計と拡張への必然的関与という新たな難題を突き付け,そのプロセスを実行するための開発と変化のサイクルを引き起こす。
これは通常は業務組織が担う役割ではないため,やっかいな問題になる。
- 柔軟性
- よい点: 優れたソフトウェアエンジニアリングは,製品とサービスのリリース期間短縮と開発コストの削減を通じて,IT にビジネスニーズをより反映させる。SOA の実施は,このようなソフトウェアエンジニアリングの実践なくしては実質的に不可能である。
- 悪い点: サービスの導入は,サービスインターフェースのバックエンドを隠蔽することによって,より安定した環境をサービス利用者に対して作り出す。その一方で SOA の実施は,一般的にビジネスプロセス実行エンジン (business process execution engine,BPEE),ESB といった一連の技術に依存している。
IT界において新技術の登場は,その利点がコストをはるかに上回る場合こそあれ,よりシンプルになることはない。それでも IT 界では,複雑さが増したからといってシンプルさをアピールできなくなる訳でもない。サービスの導入によって複雑性を隠すことができるためだ。
- 最悪な点: SOA 構想は,ビジネス価値をより迅速かつ安価に提供する,という約束の上に成立している。
技術指向の行き過ぎた SOA ではこの約束を果たせそうもない。ビジネス関係者が望むような価値を明確に示せていないからだ。柔軟性 (flexibility) というのは,ビジネス上の要請の実現化を促進することで,ないしは合理化の実現によりシステムの運用コストを削減することで,始めてビジネス価値として認識され得るものである。構想を主体とする SOA のような技術では,これは実現できない話だ。
- データ統合
- よい点: 相互運用可能なサービスの導入は,企業の統合データモデルを構築する機会となり得る。ここで言う統合とは,一般に以下のような意味である。
- 構造 - 項目間の構造関係が同一であること。
- セマンティックス - すなわち,データの意味と用法。データは一貫した意味を持たなくてはならず,また紛らわしい用法で使われてはならない。
- フォーマット - データの表現方法は重要である。
- タイプ - データ表現と,それに対して取りうる一連の振る舞いによって決定される。
- タイミング - いつ属性が更新されるか。
- ライフサイクル - どのような状況下でデータがデータベースに追加されるか,いつ更新されるか,そしていつ,どのようにして最終的にデータベースから削除されるか。
- 悪い点: このような統合データモデルは一般には存在していない。実際に開発しようとすると,組織内のデータがいかに不統一なものか思い知らされることになる。
- 最悪な点: すべてのデータ特性に一貫性を求めることは不可能に近い。
非一貫性を扱うことは,サービスインターフェースを設計する上での大きな挑戦目標のひとつだ。そして最悪なのは,統一されたサービスインターフェースの構築は非常に困難,という事実だ。
- よい点: 相互運用可能なサービスの導入は,企業の統合データモデルを構築する機会となり得る。ここで言う統合とは,一般に以下のような意味である。
- 業務監視
- よい点: ビジネスプロセスを監視することによって,組織がその戦略的目標に向けてどの程度機能しているかを測ることができる。SOA 方式はこのビジネスプロセス監視をシンプルなものにする。
- 悪い点: 組織の目標に影響するようなビジネスプロセス監視モデルの開発は,重要業務の部類に入るものであり,専門的なスキルを必要とする。
- 業務システムの活用
- よい点: SOA でサービスのビジネス機能を実装するためには,既存の業務システムが活用されることが多い。これによって既存システムへの投資が,サービスにパッケージし直された形で引き続き利用されることになる。
- 悪い点: 業務システムをサービスとして再パッケージする作業は容易ではない。
- 最悪な点: 場合によっては業務システムの変更や,ロジック/業務を追加する必要が発生する。
SOA を成功させるためには IT 関連部門が一連の SOA 技術を導入するだけでは不十分だ。具体的なビジネス目標と,期待と,ビジネス部門と IT 部門が協力し合う企業文化などが相まって,SOA を推進していく必要がある。