レベル: 中級 Muhammed Yaseen Muriankara (muhammedyaseen@in.ibm.com), SOA Architect, IBM
2008年 05月 15日 サービス指向アーキテクチャー (SOA) は、ビジネスと IT のニーズと目標を連携させることによって、ビジネスにアジリティーをもたらすことを約束します。けれども適切なガバナンスがなければ、SOA の実装は将来的には関連性がなくなってしまうかもしれないサービスの集まりに過ぎず、持続可能な価値は何ももたらしません。SOA 実装を確実に成功させるためには、企業での SOA イニシアチブの一環として、SOA ガバナンスを順調に開始させることが不可欠となります。それには、IBM® WebSphere® Service Registry and Repository を SOA 構築プロセスに組み込むタイミングを認識することが必要です。この記事を読んで、SOA ガバナンスについて学び、WebSphere Service Registry and Repository が SOA 実装の取り組みにどのように貢献するかを理解してください。
はじめに
ビジネスで日々実行している業務手順とそのゴールは、必ず何らかの形で文書化されます。この文書は、ビジネスで行われている内容を明らかにし、どのようにビジネスが行われているのかを新しい従業員に教えるための手段となります。通常、この文書には主要なビジネス・プロセス、組織構造、財務管理、ゴールと目的、そして他にも関連する方針が記載されますが、これらの項目すべてがビジネスの内容と仕組みを明確に把握するためには不可欠です。さらには、非公式なビジネス・プロセスでさえもビジネスの構成要素であり、ビジネスがどのように機能して顧客に対応するかを決める一因となります。こうした文書化が、ビジネス設計と呼ばれるものです。
ビジネス設計のどの部分を自動化し、どの部分を手動で行うかは、IT とビジネス両方のリーダーが協力して判断することが理想です。この両者の協力が、最終的にはビジネス・ゴールを達成する際の効率性を向上させることになるからです。ビジネスはその性質上、運営方法を絶えず変更せざるを得ません。競争、市場の動向、技術革新、顧客の要件など、ビジネスの変化に影響を及ぼす要因はさまざまにあります。ビジネスと IT が協力関係にあり、一方がもう一方のニーズに合わせて変化できれば、そのビジネスにはアジリティーと柔軟性が備わり、それによってビジネスの成長は確実になります。このような IT とビジネスの連携を約束するのが SOA です。そして SOA ガバナンスが、この約束を確実に実現する手段となります。
SOA
大まかな一般論で言えば、サービスとはビジネス・プロセスのなかで反復可能なタスクのことです。ビジネス・プロセスが一連のタスクで構成されている場合には、これらのタスクはサービスであると言うことができます。ビジネス・プロセスはこれらのサービスの複合体です。そして、互いにリンクした一連のサービスを 1 つのビジネスとして統合する方法が、サービス指向です。
SOA とはエンタープライズ IT アーキテクチャーに適したアーキテクチャー・スタイルのことです。このアーキテクチャーではサービス指向の原則を利用して、ビジネスとそれをサポートする情報システムとの間により緊密な関係を築きます (IBM developerWorks の SOA concepts についての wiki から引用)。
一般企業にはビジョンがあり、企業が成長していく段階のなかでそのビジョンを実現させるための戦略があります。これらの戦略は、企業がこの成長の各段階を乗り越えて行けるよう、段階ごとの指針として考え出されるものです。戦略の一環となるアセットには、主要なビジネス・プロセス、組織のアセット、ビジネス・モデル、IT などがあります。
さまざまな組織部門が実行する一連のサービスに依存する典型的な企業を考えてみてください。図 1 に示すように、これらの企業のプロセスとそのプロセスに伴う相互作用には、顧客 (Customer)、社内の各部門 (Division(s))、共有サービス (Shared services)、供給業者 (Supplier)、委託先パートナー (Outsourced) が関わってきます。
図 1. 標準的な企業のプロセスと相互作用
通常、ビジネスはプロセスに投資してビジネスを成長させようとします。プロセスを利用することによる効率化はビジネスの成長には不可欠ですが、それには組織のアジリティーを強化するためにビジネス機能と IT 機能を連結させなければなりません。このようなイノベーションがあってこそ、組織にアジリティーがもたらされます。図 2 に、エンタープライズ・エコシステムのなかでビジネスの成長とアジリティーが達成される流れを示します。
図 2. ビジネス・エコシステムにおける企業の拡大
企業がこの種の拡大に乗り出す場合、SOA を利用することによって極めて効果的に拡大を推し進めることができます。SOA が実現しようとするのは、ビジネスと IT との連携です。この連携によって最終的には、必要なアジリティーと柔軟性がもたらされます。そのために SOA が取る手段は、明確に定義された方法を適用して、ビジネスとそのプロセスをサービスに分解し、それぞれのサービスを適切なサポート環境で公開することです。
SOA ライフサイクル
ほとんどの企業では SOA にライフサイクルの手法を用いる傾向があります。ライフサイクルはモデル・フェーズから始まります。このモデル・フェーズでは、ビジネス要件を収集し、目的とするビジネス・プロセスを設計して最適化します。ビジネス・プロセスを最適化した後、次のフェーズでは新しいサービスと既存のサービスを組み合わせてビジネス・プロセスを実装します。これに続くのは、作成したアセットをセキュア環境にデプロイするフェーズです。アセットをデプロイした後は、IT 機能とビジネス機能の両方を考慮してアセットを管理しなければなりません。この管理フェーズでビジネス・プロセスの内容を十分に伝え、賢い決定を行えるようにするのは情報です。これらのフェーズのすべてで、SOA ガバナンスが中心的役割を果します。図 3 に、ライフサイクルと各フェーズでの重要なアクティビティーを示します。
図 3. SOA ライフサイクル
SOA ガバナンス
SOA ガバナンスは企業全体に適用されるため、SOA ガバナンスを定義する前にこれが何であるのかを理解する必要があります。IBM ではガバナンスを「各人に権限 (決定権) を持たせるための責任、権限、コミュニケーションの連鎖を確立すること」であり、「各人がそれぞれの役割と責任を果せるようにするための測定、ポリシーおよび制御メカニズムを確立すること」であると定義しています。
ガバナンスの次の段階は IT ガバナンスです。IBM によると、IT ガバナンスとは「組織の情報技術プロセスに関するガバナンスの側面と、これらのプロセスがビジネスのゴールをサポートする方法」のことです。
最後に、IBM では SOA ガバナンスを「IT ガバナンスでの主要な決定事項をサービス・コンポーネント、サービス、そしてビジネス・プロセスのライフサイクルというコンテキストに適用した IT ガバナンスの特殊化であり、このライフサイクルを効果的に管理することが、SOA ガバナンスの重要な鍵である」と定義しています。
SOA の導入
通常は企業の成長戦略の一環として、SOA の導入が決定されます。例えば、企業が SOA を導入することにして、その導入にふさわしい開始点を特定したとします。この SOA 実装の開始にあたって考慮しなければならない重要なポイントとしては、以下の内容があります。
- 十分に把握されているビジネス問題に対処して、SOA の導入によって即刻もたらされるメリットを明らかにすること
- 事業部門別 (LOB) 目標と IT の目標を含めること
- ギャップ (スキルとプロセスとの間のギャップなど) に対処するため、現在の機能を実現可能な範囲で拡張すること
- 企業がそのビジネス・アクティビティーの一環として使用するものにすること
- ビジネスと IT の目標に関するロードマップ全体の一部としての SOA の段階的導入計画に、必ずその SOA 実装プロジェクトを組み込むこと
SOA の本質的構成要素の特定
SOA を適用して、再利用 (一例) によるアジリティー、柔軟性、生産性の向上、そして新製品を市場に出すまでの時間短縮を図ると、IT とビジネス双方の業務に目に見えるメリットが現れてきます。一方、サービス指向にするだけでは、生産性の向上、商品化までの時間短縮、そして再利用などの効果を妨げる力として働く他の要素が出てきます。
サービス指向にするのみで、サービスを識別し、公開する場合には、以下のリスクが加わります。
- 再利用可能という点で、作成されたアセットの価値が低かったらどうするか
- ソリューションが標準とベスト・プラクティスに従っていなかったらどうするか
- さらに悪いことに、サービス指向への取り組みの結果、SOA に適切ではないサービスが作成されたらどうするか
- 誰がサービスを所有し、誰がサービスに資金提供するのか
- 誰がサービスを使用するのか
- どのようにすれば、サービスをサブスクライブすることができるのか
- サービスの変更を管理して新しい要件を満たすためのプロセスが用意されているか
- 十分にセキュアなソリューションかどうか
- 十分にテストするにはどうすればよいか
SOA ベースのプロジェクトを開始する前に、以上の問題すべてに対処しなければなりません。
企業に SOA を実装するために考え出された戦略では、最初にこれらの問題に対する答えを出す必要があります。ここが SOA ガバナンスの適用を検討し始める必要がある重要なポイントです。SOA ガバナンスを適用するとなると、別の重要な問題が出てきます。それは、ガバナンス・モデルの資金を誰が、いかにして供給するかという問題です。そのようなフレームワークがなければ、SOA アーキテクトが戦略を見直し、その戦略で資金供給の要件が対処されるかどうかを判断しなければなりません。
このガバナンス・モデルは、責任、決定権、権限、コミュニケーションの連鎖を確立し、サービス指向に必要な変更を行う権限と、行った変更を維持する権限を各人に与え、組織がいつものようなビジネスに戻らないようにする必要があります。
SOA ガバナンスの導入
SOA ガバナンスは段階的に導入した場合に、最もその効果を発揮します。SOA ガバナンスには以下の 2 つの側面があります。
SOA ガバナンスを導入する際の IBM の方法とモデルは、SGMM (SOA Governance and Management Method) と呼ばれます。SGMM はそれぞれのプロジェクトのスコープに合わせて調整できます。この方法 (SOA governance methodology) によって生まれるのが、関連する SOA ガバナンスの懸念事項に対処する SOA ガバナンス・フレームワーク (SOA governance framework) です (図 4 を参照)。
図 4. SOA ガバナンス・フレームワークの作成
SOA ガバナンスの実装方法がもたらすフレームワークは、SOA ライフサイクルのフェーズに上手く織り込まれたものとなり、チェックポイント、チェックリスト、適用ポリシー、品質チェック・ゲートによって、SOA がビジネスのアジリティーと柔軟性を低コストで実現することを確実にします。
IBM Rational® Method Composer 向けに文書化された方法をダウンロードしてください。IBM Rational® Method Composer は柔軟なソフトウェア開発プロセス・プラットフォームで、カスタマイズしながらも一貫性のあるプロセス・ガイダンスをプロジェクト・チームに提供するのに役立ちます。この Rational Method Composer を対象とした SGMM プラグインは、それぞれのプロジェクトの要件に合わせて調整することができます。SGMM の詳細についてはこの記事では説明しませんが、図 5 にその概要を示します。SOA ガバナンス・フレームワークも同じく、反復型ライフサイクルを適用して作成されます。図 5 には、ライフサイクルの間に対処される重要な側面が示されています。
図 5. SOA ガバナンスのライフサイクル
プラットフォーム
ガバナンス・フレームワークを構成するプロセスは、折に触れてその有効性を測定しなければなりません。リソースとアセットをより明確に把握するために、一部のプロセスは自動化することができます。これにより、プロセスの可視性が向上すると同時に、プロセスを簡単に管理、測定できるようになります。定義された方法の公開や、適切なコミュニケーション・チャネルの確立、さらには SOA 実装のライフサイクルにリンクしたプロセスの自動化の確立などが必要になりますが、プロセスが自動化されることにより、SOA ガバナンスが SOA ライフサイクルに確実に組み込まれるようになります。自動化は通常、プラットフォームで行われます。要するに、SGMM 実行の一環として構築されたガバナンス・フレームワークは、ソフトウェアおよびハードウェアのプラットフォームによって自動化されるということです (図 6 を参照)。
図 6. SOA ガバナンス・フレームワークとプラットフォーム
プラットフォームは、ガバナンス方法を用いて得られたガバナンス・フレームワークを自動化する機能を備えていなければなりません。以下に、新規プロジェクトに最低限必要な自動化機能のいくつかを挙げます。
- 成果物とメタデータに関連するサービスを見つけて公開するための中央レジストリーおよび中央リポジトリー。これは以下のために必要です。
- 許可された適切なサービスを見つける
- 作業の重複をなくす
- 再利用を促進する
- SOA ライフサイクルでのサービスの現行状態を識別する
- サービスの加入者に可視性を提供する
- 関連するサービスとサービスの変更による影響を見つける
- サービスに行われた変更を伝える
- サービスに適用可能なポリシーを関連付け、実施するためのメカニズム。ポリシーは、ガバナンス・フレームワークを使用することによって定義されます。
- カスタマイズ可能なライフサイクル対応システム。このシステムがライフサイクル内でのフェーズ変更時に検証機能を呼び出し、フェーズごとのガバナンス検証を自動化できるようにします。
- レジストリーはできれば SOA ランタイム用に最適化し、レジストリーに保存されたメタデータを使用して、実行中の動的ルーティングによる機能強化を実現できるようにします。
ガバナンス・フレームワークを自動化するには、上記の機能が必要です。自動化のためのこれらの機能を備えている製品には一例として、WebSphere Service Registry and Repository があります。戦略は、SOA の導入と同じく SOA ガバナンスを段階的に組み込むようにバランスの取れた範囲で定義しなければなりません。企業内で SOA が成熟していくと同時に、SOA ガバナンスも成熟していきます。図 6 に示したソリューションは、ビジネスに IT ガバナンスを使用していない初歩的なソリューションですが、IT ガバナンスを組み込むことによって、考えられるさまざまな側面に対応可能なことを示しています。
まとめ
SOA 導入の戦略にはできるだけ早い段階で SOA ガバナンスを組み込むことが重要です。ガバナンス・フレームワークとプラットフォームを段階的に配置することで、SOA は価値あるビジネス・アジリティー、そして柔軟性をもたらします。
参考文献 学ぶために
製品や技術を入手するために
議論するために
著者について  | 
|  | Muhammed Yaseen Muriankara は、インド・バンガロールにある IBM India Software Lab の SOA アーキテクトです。10 年以上のソフトウェア開発経験を持つ彼は、ここ 7 年の間はソリューションの設計に携わっています。IBM に入社する前は、ESB ならびにサービス・レジストリーおよびリポジトリーのアーキテクトでした。現在は、システム・インテグレーターとパートナーを SOA と IBM WebSphere 製品で支援する IBM Business Partner Technical and Strategic Enablement に取り組んでいます。SOA Leadership Center Bangalore では、SOA Governance Program のリーダーを務めています。 |
記事の評価
|