




読者のみなさんが IT アーキテクト、開発者、管理者のいずれであっても、あるいはみなさんが単に SOA とは何か、そして SOA がどのように組織の役に立つのかを知りたいだけであっても、この記事をとおして架空の会社 JK Enterprises が SOA ソリューションを実装するプロセスを追いかけることで、たくさんのことを学ぶことができます。まずは SOA の概要について、そして SOA ソリューションを導入する上で役立つ IBM が提供している方法について学び、基本的な事柄を理解できたらそれをさらに進めて行きましょう。
SOA (Service-Oriented Architecture) は IT アーキテクチャー・スタイルの 1 つです。SOA は、ビジネスを互いに関連付けられた一連のサービス、すなわち繰り返し可能なビジネス・タスクに変換させ、必要に応じてネットワークを通じてアクセスできるようにします。これらのサービスは、ローカル・ネットワーク上にあるサービスの場合もあれば、インターネット経由でアクセスするサービスの場合もあります。あるいは、例えばニューヨーク、ロンドン、香港といった地理的に分散された場所で提供される、異なる技術を使ったサービスを組み合わせ、あたかもローカル・デスクトップにインストールされたサービスであるかのようにすることもあります。特定のビジネス・タスクを達成するためにこれらのサービスを連携させることにより、変化する状況と要件にビジネスを素早く適応できるようになります。
SOAの実装を戦略的なビジネス・ゴールに基づいて行うことにより、ビジネスをプラスに転換し、以下に示すSOAの最大のメリットを生かすことが可能になります。
- IT とビジネスとの協調
- IT アセットの最大限の再利用
上記の 2 つのメリットが同時にもたらされれば、コストのかかる IT プロジェクトへの投資がビジネスに持続的な価値をもたらすことは確実です。
このような SOA を導入するにはどうすればよいのでしょうか。そして SOA の導入はビジネスにどのような影響を与えるのでしょうか。IBM では、あらゆる SOA ベースのソリューションが真のビジネス価値をもたらすことを確実にするため、5 つのエントリー・ポイントを特定しています。それぞれのエントリー・ポイントには、技術を実装するシナリオ (定義された手法) が関連付けられており、その技術を実装することで、各エントリー・ポイントに定義されたビジネス価値ももたらされるようになっています。
IBM では、事前定義された SOA ソリューションを実装することによってお客様やお客様のビジネスにメリットがあるように、5 つのエントリー・ポイントを定義しています。顧客との実際の経験に基づいたこれらのエントリー・ポイントは、ビジネスのニーズ (人、プロセス、情報エントリー・ポイント) と IT のニーズ (接続および再利用エントリー・ポイント) の両方を主体にしたものです。以下に、5 つのエントリー・ポイントの概要を説明します。
- 人 (People): ユーザー・エクスペリエンスに重点を置いたこの SOA エントリー・ポイントは、イノベーションそしてより強力な連携を生み出すために利用されます。この強力な連携によって、人間とプロセスとの一貫性のある対話が可能になり、ビジネスの生産性が向上します。SOA を使用することで、例えばサービス・ベースのポートレットを作成して、この連携を強化することができます。
- プロセス (Process): プロセス・エントリー・ポイントは、企業がそのビジネスで何が起こっているのかを把握して既存のビジネス・モデルを改善できるようにする場合のエントリー・ポイントです。SOA を使用すると、ビジネス・プロセスを再利用可能な柔軟性の高いサービスに変換し、これらの新たなプロセスを改善、最適化することができます。
- 情報 (Information): この SOA エントリー・ポイントを使用すると、企業内の情報を目に見える一貫した方法で利用することが可能になります。この一貫性のある信頼できる情報をビジネスのあらゆる分野に提供することによって、企業のすべての分野がイノベーションを創出できるようにし、一層効率的に競争できるようにします。SOA を使用すると情報を制御しやすくなり、情報とビジネス・プロセスが連携されることによって、新たな興味深い関係の発見にもつながります。
- 接続性 (Connectivity): インフラストラクチャーに効率的に接続して、企業内の人、プロセス、情報すべてを統合するには、接続エントリー・ポイントを利用します。サービス間、そして環境全体に柔軟性の高い SOA 接続を用意することで、既存のビジネス・プロセスをさまざまなビジネス・チャネルで手軽に提供できるようになります。さらに、ファイアウォールの外側にいる外部パートナーにもセキュアな方法で接続することができます。
- 再利用 (Reuse): SOA でサービスを再利用することにより、企業が持つ既存のサービスを有効活用することができます。既存のリソースからサービスを作成することで、ビジネス・プロセスの合理化、企業内での一貫性の保証、そして開発時間の短縮化が可能になり、このすべてによって時間と資金が節約されることにもなります。また、サービス間での機能の重複も少なくなり、企業内の人々が慣れ親しんでいる実証済みのコア・アプリケーションを使用できるという利点もあります。
この後、JK Enterprises という架空の会社を例に、以上のエントリー・ポイントをさまざまなシナリオに適合させて特定の SOA 手法を実装します。その前に、まずはシナリオを検討してみましょう。
エントリー・ポイントは、顧客が SOA の概要を理解できるようにするために定義されています。しかし、顧客のビジネス・チームと IT チームが SOA への取り組みを開始できるようにするためには、さらに詳細な実装も必要でした。そこで登場するのが、より具体的なシナリオです。
この場合も同じく、IBM の技術エキスパートたちは実際の顧客での経験と長年の情報を基に、ビジネスが SOA ソリューションを設計および実装する際の傾向となっている共通シナリオをいくつか見つけ出しました。IBM ではこれらのシナリオを定義することによって、SOA ソリューションを実際に実装する方法を事前定義された形で提供しています。それぞれのシナリオにはテストを経て統合された製品オファリング (実現方法) が用意され、該当するシナリオを実装する際にこのオファリングを使用できるようになっています。そのため、シナリオを企業固有のゴールとニーズに対応付けることができ、どのようにすればこれらのシナリオを使うメリットが得られるかを十分に理解できるようになります。
- サービス作成 (Service creation): 柔軟性に優れたサービス・ベースのビジネス・アプリケーションを作成します。新しいサービス指向アプリケーションではビジネスの振る舞いをサービスとして公開すると同時に、サービスとして公開されたビジネス・ロジックを再利用します。
- サービス接続 (Service connectivity): ビジネスにおける人、プロセス、情報を、いつでもどこからでも、そしてあらゆる手段で送受信できるシームレスなメッセージのフローと情報により結び付けます。その方法として、各種のアプリケーションが使用できる一連のコア・サービスを、その間に介在するサービス・ゲートウェイまたはバスを使って評価できるようにします。
- 対話および連携サービス (Interaction and collaboration services): サービス、あるいはサービスのセットは、ブラウザー、PC、およびモバイル機器などの複数のデバイスを通じてユーザーである人間に提示する必要があります。対話および連携サービスもまた、一連のサービスをビューとして集約し、ビジネス・プロセスのコンテキストで情報と対話をもたらすことにより、人間の生産性を向上させます。
- SOAによって実現されるビジネス・プロセス・マネージメント(Business process management enabled by SOA): ビジネス・プロセス・マネージメントとは、ソフトウェアの機能とビジネス専門知識を組み合わせてプロセスの改善を促進し、ビジネス・イノベーションを促すという 1 つの専門分野です。
- サービスとしての情報 (Information as a service): サービスとしての情報は、企業内のさまざまな種類の複合データ・ソースへの情報アクセスを再利用可能なサービスとして提供します。
- SOA 設計 (SOA design): 一連の役割、メソッド、成果物によってビジネス設計と IT ソリューション設計のモデリングを連携させることにより、一連の明示的ビジネス・プロセスを最適化し、サービスの合成および統合を行います。
- SOA ガバナンス (SOA governance): SOA 開発およびランタイム・プロセスを規定し、実施します。サービスの所有者、サービスを使用できるユーザー、サービスの使用方法、そして必要とするユーザーにサービスを使用可能にするタイミングを管理するためのポリシー、プロセス、ツールを定義します。
- SOA セキュリティーおよび管理 (SOA security and management): ITSM (IT Service Management) の一環としての、サービスの発見、監視、セキュリティー保護、プロビジョニング、変更、およびライフサイクル管理です。
前述の 5 つの SOA エントリー・ポイントは、上記の最初に挙げた 5 つのシナリオに直接対応付けられます。つまり、エントリー・ポイントとこれらのシナリオには 1 対 1 の関係があるということです。(例えば、再利用エントリー・ポイントはサービス作成シナリオに、接続エントリー・ポイントはサービス接続シナリオに直接対応します。) この 5 つ以外の 3 つの SOA シナリオ (SOA 設計、SOA ガバナンス、SOA セキュリティーおよび管理) は、5 つのエントリー・ポイント全体での基礎となるもので、後ほど説明します。
ここで、実際のエントリー・ポイント、シナリオ、そしてその実現方法について簡単に説明しておきます。図 1 を見ると、再利用エントリー・ポイントはサービス作成シナリオに直接対応し、このシナリオには 3 つの実現方法が含まれていることがわかります。そのうちの 1 つは、「新しいサービスを一から作成する (Create new services from scratch)」というタイトルになっています。これを考え合わせると、この例では再利用エントリー・ポイントから SOA を開始して、企業内の既存のサービスを利用できるようにするということです。そして後から主要な SOA サービスが足りないことに気づいた場合には、「新しいサービスを一から作成する」実現方法によって新規サービスを作成する詳しい方法がわかります。
図 1. SOA エントリー・ポイントおよびシナリオ
以上の説明で、5 つの SOA エントリー・ポイントと 8 つのシナリオの内容、そして各シナリオには SOA ソリューションの実装を支援する複数の実現方法があることが理解できたはずです。図 1 には、これらの要素のミックス・アンド・マッチを行って、どの企業でも採用できるさまざまな SOA 手法を実現する例が示されています。これらの手法をさらに詳しく説明するため、この記事の残りでは、JK Enterprises が企業全体に SOA を実装することによってさまざまなメリットをもたらす過程を辿ります。
この例での架空の会社、JK Enterprises は、小売店、中小企業、そして法人を顧客に持つ主要な製品供給業者です。6 カ国に 11,000 人の従業員を持つこの会社では、顧客にスタッフが対応することでかなりの成功を収めています。また、小売客に付加価値を提供するための保険部門もあります。このセクションでは、JK Enterprises がさまざまなエントリー・ポイントを調べ、適用可能なシナリオを実装して SOA を導入する過程を追っていきます。
再利用: サービス作成
まず始めに検討するのは、SOA の再利用エントリー・ポイントです。このシナリオでは、JK Enterprises の既存のアセットを再利用します。JK Enterprises を再利用エントリー・ポイントに導くサービス作成シナリオには、JK Enterprises がこのシナリオを実装する上で役立つ複数の実現方法が含まれています。ここで言うサービスとは、必要なものをすべて備えた再利用可能なソフトウェア・モジュールで、そのそれぞれが特定のビジネス・タスクを実行します。サービスには明確に定義されたインターフェースがあり、サービスはそれが実行されるアプリケーションやコンピューティング・プラットフォームには依存しません。
サービス作成シナリオによって SOA 再利用を実装することで、JK Enterprises には以下の価値がもたらされます。
- 既存のアプリケーションを再利用することで、新しいアプリケーションを一から作成する場合よりもコストを削減することができます。
- 時間をかけてテストが行われ、有効性が証明されたアプリケーションを再利用するということは、リクスを減らし、開発時間を短縮することになります。
- 実績のあるテスト済みのコードを共通関数に積極的に使用することにより、保守のオーバヘッドが少なくなります。
IBM では、既存のアセットの再利用、外部サービスへのアクセス、そして新しいサービス作成を容易に行えるようにして、実際に存在しているメリットを短時間でビジネスに取り込めるようにしています。以下のセクションで、JK Enterprises が利用する再利用の実装について詳しく説明します。
JK Enterprises ではサービス作成シナリオ内に定義された 4 つの方法を実装して、このシナリオを実現することにしました。この 4 つのメソッドはすべてテスト済みの実証された手法です。それでは、詳細を見ていくことにしましょう。
既存のアセットをサービスとして有効にする
JK Enterprises がサービスを作成するために使用できる 1 つの方法は、間接的公開という手法で既存のアセットをサービスとして有効にすることです。例えば、口座利用照会プロセスをサービスとして有効にするには、企業はその会計アプリケーションをセッション Bean として実装された SOAP (Simple Object Access Protocol)/HTTP Web サービスとして公開します。この手法で使用する CICS トランザクションには、CICS のアダプターによってアクセスします。この場合、サービスのコンシューマーとプロバイダーはファイアウォールの内側にいます。この方法の詳細について学ぶには、以下の資料を読んでください。
新しいサービスを一から作成する
JK Enterprises では当然、一から新しいサービスを作成するという方法も採れます。この場合に必要となるのは、口座開設適格性判定サービスを作成し、顧客の口座開設申し込みのデータを審査することです。また、複数のシステムで情報を調べて信用報告書が必要かどうかを判断するためのサービスも必要になります。このサービスは、セッション Bean として実装された Web サービスとして公開されることになります。サービスを記述するために必要な WSDL (Web Services Description Language) は WS-I (Web Services – Interoperability) 準拠で、これには口座開設申し込みの適格性判定サービスに対応するサービス定義およびスキーマが含まれています。生成されたスケルトン EJB (Enterprise Java™ Bean) にはビジネス・ロジックが追加され、クライアントは .NET となります。
この手法についての詳細は、以下の資料を調べてください。
外部サービスを利用する
サービスを作成するには、会社独自の IT インフラストラクチャー外部にあるサービスを探し出して利用するという方法もあります。JK Enterprises では外部のアドレス検証サービスを使用したいと考えています。それには、WS-I および JAX-RPC に準拠した WSDL ファイルを作成しなければなりません。プロバイダーがファイアウォールの外側にどのように位置しているかによっては、ゲートウェイは必要ありません。しかし、相互に認証された SSL を使用してセキュリティーを実装する必要はあります。クライアントは Java で作成しました。
以上が、JK Enterprises がサービス作成シナリオを実現するために使用したオプションの説明です。続いて、JK Enterprises が実装する次のシナリオを検討します。
接続: サービス接続
この段階で、JK Enterprises では既存の IT アプリケーションをサービスとして公開し、外部サービスへのアクセス、そしてギャップを埋める新しいサービスの作成を完了しました。そこで、次はこれらのサービスを企業の枠を超えて相互に接続します。そのために必要となるのは、一般に接続エントリー・ポイントから SOA に取り掛かる方法となる、サービス接続シナリオの側面を実装することです。
JK Enterprises はサービス接続シナリオによって SOA 接続を実装することで、以下の価値を実現することになります。
- カスタムで作成した接続や従来の接続よりもコストを節約することができます。
- IT アセットを複製するのではなく拡張することで冗長な部分がなくなります。
- 新しいビジネス・チャネルおよびデバイスを使って同じプロセスを公開することにより、セキュアで一貫性のあるユーザー・エクスペリエンスがもたらされます。
- 管理されたサービス・ベースの接続により、取引相手との関係が強化されます。
JK Enterprises はシステム内での接続を可能にするために、従来の接続より明らかに低コストの接続を実現する ESB (Enterprise Service Bus) を実装することにしました。ESB を使用すると、企業内外のインフラストラクチャー全体をセキュアでスケーラブルに接続することができます。
サービス作成と SOA 接続は JK Enterprises に、一層優れたビジネスの柔軟性だけでなく、さらに SOA プロジェクトを追求するための確固たる基礎を与えます。このセクションではこの後、JK Enterprises が利用しようとしている 3 つの接続実装を説明します。
ESB インターオペラビリティーについての詳細は、以下の資料を読んでください。
オープン・スタンダードをベースにビジネス・システムを接続する
JK Enterprises にとって第一に必要となる仕事は、誰にどの情報がいつ必要になるかを判断して、ESB (Enterprise Service Bus) での情報の流れ全体をモデル化することです。ESB はビジネス内のサービス、アプリケーション、リソースを一元管理して接続することによって、さまざまなプラットフォームで並行して動作する、プログラミング言語の異なるソフトウェアの接続を可能にします。JK Enterprises では、既存のメインフレーム情報を利用するとともに、この情報を Web でもアクセスできるようにするために、このオープン・スタンダード・ベースの手法を使用して一連の Web サービスを作成することにしました。
JK Enterprises のサービスに必要なすべての情報は、ESB が自動的に中央サービス・レジストリーで検索します。JK Enterprises では、この情報の流れを管理して適切に機能していることを確実にするための自動コンソールも実装することになります。
この実装方法についての詳細は、以下の資料を参照してください。
既存のプロセスを新しいビジネス・チャネルで提供する
JK Enterprises ではすでに顧客の口座開設をサポートする各種の事務処理システムを配備しています。しかし再設計されたビジネス・プロセスには、Web ポータルを追加して新しいビジネス・チャネル (JK Enterprises が顧客とやり取りし、製品を売るための方法) を開発する必要があります。これは、例えば携帯端末を使用できるようにするなど、顧客へのサービスを改善するためです。さらに一貫したユーザー・エクスペリエンスを確実にするために、この Web ポータルから既存の事務処理システムにアクセスに行くようにしなければなりません。
この目的を達成するために JK Enterprises がしなければならないのは、拡張 ESB 機能を実装することです。この段階で ESB を全体像に組み入れておけば、後でキオスク端末や携帯端末を使うにしても、事務処理システムを変更する必要がなくなります。
この手法についての詳細は、以下の資料を参照してください。
外部のサード・パーティーおよび取引相手にセキュアに接続する
最後に JK Enterprises に必要となるのは、供給業者やサービス・プロバイダーなどの外部の取引相手にセキュアに接続するためのゲートウェイをセットアップする手段です。これらの接続は一元管理して、サービス・レベル・アグリーメントとポリシーを確実に守らなければなりません。
JK Enterprises は取引相手との接続に SOA アプライアンスを使用することにしました。この簡単に追加できるデバイスは、JK Enterprises が大量のタスクを迅速に処理するために必要となるセキュリティーと接続の両方を提供します。また、これらの対話動作は自動的に監視および管理されることになるため、取引相手が約束どおりのサービスを提供することを確認できます。
詳細については以下を参照してください。
人: 対話および連携サービス
JK Enterprises が作成した SOA サービスは相互に接続されるようになりました。次の段階としては、これらのサービスをユーザーに提示する方法に目を向けなければなりません。ユーザーはサービスにアクセスする手段として、PC、モバイル機器、さらには音声応答システムを使う場合もあります。そこで、今度は対話および連携サービス・シナリオを使用して人のエントリー・ポイントから SOA を導入することで、アプリケーションとコンテンツを使いやすいものにします。こうすることで、社内の従業員にとってもアプリケーションとコンテンツのユーザビリティーが改善されることになります。
対話および連携サービスから JK Enterprises にもたらされるメリットには以下のものがあります。
- 新しいワークフローと管理ツールを含め、口座開設プロセスを SOA を使用して新規に作成すると、プロセスの迅速化、IT コストの削減という結果になります。
- ポータルとフォームを使用した新しい顧客アプリケーションを開発することで、処理時間が短縮され、顧客満足度が向上します。
- モデルと IDE を使用すると、新しい機能やアプリケーションを作成する際の時間と経費を節約することができます。
- データ・ガバナンス・ポリシーを配備し、新たなレコード管理技術を使用することにより、JK Enterprises では法規制準拠およびセキュリティーの管理を強化することができます。
以下に、JK Enterprises がサービス作成シナリオを実現するために実装したメソッドを説明します。メソッドはいずれも、試験された実証済みの手法です。
サービスを集約して単純なポートレットから呼び出す
JK Enterprises には、クライアントが口座を開設し、JK Enterprises の製品を購入する際の信用枠を得るための手段が必要です。JK Enterprises が考えているサービスは、この会社の適切な従業員がポートレットを使用して特定の口座のあらゆる側面を表示し、口座に関連するすべてのアクティビティーを行うというものです。
これに対処するため JK Enterprises は Workplace Forms クライアント・インターフェースを使用して顧客の信用枠要求を入力することにしました。このフォームのデータを実行依頼すると、データは DB2® Content Manager に送信され、IBM WebSphere® MQ タスク・キューに実行依頼の通知が置かれます。これで、JK Enterprise の口座審査ページですべての新規要求を表示できるようになります。JK Enterprises では WebSphere Portal インスタンスも作成しました。ユーザー・ログイン情報の検証には Tivoli® Access Manager (WebSeal) を使用し、WebSphere Portal と連動させてカスタマイズしたページを生成します。このホーム・ページを構成する各種のポートレットは、WebSphere Portlet Factory、Workplace Designer、または Rational® Application Developer for WebSphere Software で作成されています。これらのポートレットが JK Enterprises の WebSphere Enterprise Services Bus を使って、DB2、IMS (Information Management System) などのシステムを使用するサービスに対して SOAP/HTTP リクエストを行います。
この実装についての詳細は、以下の資料を参照してください。
WebSphere Portal にポートレットとしてデプロイされたリッチな Web ベースのアプリケーション
JK Enterprises は、口座を審査する際のエクスペリエンスを改善することに決めました。現在、口座開設の実行依頼すべてに対処しきれずに苦労しているからです。現状では口座審査ページを更新表示しないと新しい情報は表示されませんが、JK Enterprises では新しい要求がすぐにページに表示されるようにして、顧客が店内にいる間に満足させられるようにしようと考えています。
応答時間を短縮し、ユーザー・エクスペリエンスを改善する方法として、JK Enterprises は口座開設要求ポートレットに、自動的に最新表示される AJAX 表示を追加しました。口座審査ページは WebSphere Portal によってホストされます。口座開設要求ポートレットは Rational Application Developer で作成された JSR-168 ポートレットで、ここに含まれるウィジェットは、Dojo ツールキットで開発された AJAX ウィジェットをラップする JSF コントロールです。これらのウィジェットが行う JSON リクエストは DataPower XI50 アプライアンスに送信されて、CICS でホストされたサービスに対する SOAP/HTTP リクエストに変換されます。
この手法についての詳細は、以下の資料を参照してください。
WebSphere Portal でのビジネス・プロセス統合
JK Enterprises は、この口座開設プロセスにまだ満足していません。そこで、実行依頼/承認プロセスに実際のプロセス・フロー機能を追加することにしました。JK Enterprises が決定した内容は、そのままハードコーディングされたワークフローを WebSphere Process Server に置き換え、BPEL フローを作成するというものです。新しいプロセスでは、ルーティングを自動的に決定するフローに実行依頼をルーティングします。ルーティングの決定は、口座および信用枠要求の承認または拒否について定義されたヒューマン・タスクによって行われます。
再設計されたプロセスは WebSphere Business Modeler で作成し、WebSphere Integration Developer によって BPEL 定義を形式化およびデプロイして、JK Enterprises の Tivoli Identity ソリューションが組み込まれた IT インフラストラクチャーに統合されました。この新しいプロセスは JK Enterprises のポータル、つまりバックエンド CICS システムである DB2 Content Manager の Forms ストレージに表示されたタスク・リストを自動的に更新し、Lotus® Notes で受信可能な E メールを送信します。
この手法について詳しく学ぶには、以下の資料を参照してください。
フェデレーテッド・ポータル・サーバーを使用した分散ポートレット
JK Enterprises では、新規顧客を対象としたイニシアチブを開始することにしました。彼らが決定したのは、インドにある一時的なコール・センターで、件数の増加が見込まれる電話の問い合わせに対応することです。迅速な対応が必要なことを踏まえ、さらに IT セキュリティーを念頭に置いた上で、別個の WebSphere Portal Server をインストールすることにしました。
JK Enterprises は、そのインフラストラクチャー内で実行されているいくつかのポートレットを WSRP (Web Services for Remote Portlets) によって公開していますが、新しいイニシアチブのポートレットは jail 環境にデプロイすることにしました。つまりこれはリモート・ポートレットということです。このポートレットではメインのポータル・システムに影響を与えることなく、WebSphere Application Server の新しいインスタンスを実行してテストを行うことができます。インドの WebSphere Portal インスタンスには一連のWSRP Proxy ポートレットが含まれ、これらのポートレットが VPN ネットワークを介して JK Enterprises の WSRR に登録されたポートレットに対して SOAP/HTTP リクエストを行います。
この手法についての詳細は、以下の資料を参照してください。
管理対象クライアント
JK Enterprises は現行のインフラストラクチャーの大部分をサービスとして有効にしてポータル化しましたが、数年前に構築し、ピオリア支社で実行している Visual Basic アプリケーションと PHP アプリケーションに関してはまだ再設計を行っていません。SOA ソリューションを実装したいことには変わりありませんが、この支社が位置するショッピング・センターの帯域幅は限られていて、回線が頼りないためです。イントラネット接続がダウンしているときでも、この支社は変わらず機能しなくてはならないため、中央管理機能を使用したソリューション、つまり管理対象クライアント・ソリューションを実装するという決定に至りました。
JK Enterprises は Lotus Expeditor を使用して、SOA ソリューションをデスクトップ、ラップトップ、キオスク端末、携帯情報端末 (PDA)、そしてスマート・フォンに拡張することにしました。これにより、JK Enterprises の従業員はリッチ・クライアントやモバイル・クライアントのアプリケーションのなかでも、ブラウザー以外のアプリケーション、あるいは必要に応じて接続されるアプリケーションを使用して SOA サービスにアクセスできるようになります。Lotus Expeditor には管理対象クライアントのプラットフォームとツールが用意されている他、常時接続または必要に応じて接続されるアプリケーションを素早くビルドしてデプロイするオプションのサーバー・コネクターもあります。
この手法に関する詳細は、以下の資料を参照してください。
プロセス: ビジネス・プロセス・マネージメント
JK Enterprise のアプリケーションとコンテンツの利用数は増え、そのユーザビリティーも改善されました。次に目を向けるのは、既存の融資申し込みプロセスを修正する方法です。現状のプロセスはあまりにも複雑でコストも時間もかかり、管理するにも困難です。そこで、このプロセスを合理化してコスト管理、販売改善、リスク管理、そして顧客の満足度向上を図る必要があります。そのための支援として頼ることのできるのが、ビジネス・プロセス・マネージメント (BPM) のシナリオです。
ビジネス・プロセス・マネージメントは、組織の部門間にまたがる中核的ビジネス・プロセスを制御するためのツールと方法を結合した 1 つの専門分野です。ビジネス・プロセス・マネージメントでは、組織全体に散らばるリソースを、顧客に価値をもたらす効率的なプロセスに直接投入するという方法で戦略的なビジネス目標を達成することに重点を置いています。ビジネス・プロセス・マネージメントの基本方針は、継続的改善により絶えず生み出される価値を高め続け、市場での競争力を維持することです。
SOA によってビジネス・プロセス・マネージメントを可能にすると、基礎となる技術を大々的に再設計することなくビジネス・プロセスを変更できるようになります。また反対に、ビジネス・プロセスに影響を与えずに技術インフラストラクチャーを変更することも可能です。JK Enterprises では、以下のようにしてビジネス・プロセス・マネージメントのシナリオを利用することができます。
ビジネス・プロセスのモデリング
JK Enterprises のような会社に対してプロセスをその意思決定点と併せて視覚化する方法を提供することが、プロセス・マネージメントの基礎です。会社のプロセス・フローをモデル化することによって、JK Enterprises はプロセスにおけるボトルネック、切断、そして非効率性を特定できるようになり、その結果、改善およびオートメーションが必要な分野を素早く見分けられるようになります。
この手法についての詳細は、以下の資料を参照してください。
ビジネス・アクティビティーの監視と分析
JK Enterprises のビジネス・プロセスを完全に制御するための重要な要素は、プロセスのパフォーマンスを監視し、パフォーマンスに影響を与える可能性のあるイベントを検出する機能です。それにはプロセスの効率性を分析するソフトウェアを使用し、その分析結果を基に会社のゴール、目的に合わせてプロセスを改善するという方法があります。ソフトウェアによる分析結果をダッシュボードに統合して視覚的に監視できるようにすれば、個々の作業項目のリアルタイムでの進捗管理を改善することができます。
この手法の詳しい内容については、以下の資料を読んでください。
プロセスの実行とオートメーション (ヒューマン・ワークフローを含む)
JK Enterprises のビジネス・プロセス・マネージメントのほとんどのケースでは、人間が主体となって行うプロセスのステップを、システムによる自動化ステップと情報フローと連携させて実行する必要があります。大幅なエラーの削減およびコスト節約の可能性のいくつかは、人間のワークフロー、そして人間とシステムによるワークフローを自動化することでもたらされます。
この手法についての詳細は、以下の資料を参照してください。
コンテンツ管理
あらゆるビジネス・プロセスでは、作業を進めるなかで情報が作成されたり、使用されたりします。これは、JK Enterprises にももちろん当てはまります。プロセスの関係者には、新しいコンテンツを作成する機能、そして既存のコンテンツにアクセスして利用する機能も必要です。正しい情報が適切なタイミングですぐに使用できることが、プロセスの成功には欠かせません。
詳細については以下の資料を参照してください。
ルール
JK Enterprises がアジリティーの向上を目指す過程で重要となってくるのは、リアルタイムでルールを変更する能力です。大抵の場合、プロセス、アプリケーション、またはシステムのアクションの部分を対象としてルールを変更することになりますが、ルールはビジネスや技術的イベントでの例外や大幅な変更を監視したり、予想された状況やあるいは予期せぬ状況に応じてビジネス・モデルを調整する必要を示したりするためにも適用できます。
詳細については以下の資料を参照してください。
連携
JK Enterprises がチームワーク、スループット、そしてチームの想像力を促進させ、関係者がいる場所がどこであろうとルールのプロセスとルールを変更できるようにするには、ユビキタス・コンピューティングを組み合わせた連携機能が必要です。グループの協力的な対話を広範なビジネス・プロセスにしっかりと組み入れていくことにより、生産性が大きく向上することになります。
この手法についての詳細は、以下の資料を参照してください。
情報: サービスとしての情報
適切なビジネス・プロセスが配備されたと確信した JK Enterprises は、次に、情報を収集する方法、情報の配信手段、そして社内でどのように情報が伝わるかを詳細に検討しました。SOA 情報エントリー・ポイントを使用する際に大いに役立つのは、サービスとしての情報のシナリオです。
サービスとしての情報シナリオを利用することで JK Enterprises にもたらされるメリットは 1 つだけではありません。
- 新しい SOA ベースの顧客口座開設プロセスにより、JK Enterprises では口座での売上が増加し、売上 1 件あたりのコストを削減し、そして IT 側から請求されるコストのパーセンテージを抑えることができます。
- 顧客情報をマスター・データ管理に統合し、ビジネス・インテリジェンス技術による新しい可能性を識別することで、JK Enterprises ではビジネス機会に関する理解が深まり、口座を利用する価値をより高めることができるようになります。
- 新しいポータル・アプリケーションを開発することによって、JK Enterprises は内部プロセスに新たにイノベーションをもたらし、それによって顧客満足度を高め、開発コストを削減することができます。
ここからは、JK Enterprises がサービスとしての情報シナリオをどのように実装するかを見ていきます。
単純な情報サービス
JK Enterprises が持つ 1 つの顧客データベースには、顧客および口座開設申し込みデータを保管するテーブルが含まれています。JK Enterprises ではデータ・エントリーの検証が含まれるフォームを使用し、単一の信用情報を基に申し込みを承認するかどうかを決定します。
この情報に SOA プロセスでアクセスできるようにするために、JK Enterprises は DB2 と Rational Application Developer を使用することにしました。その上で、Web サービス・オブジェクト・ランタイム・フレームワーク (WORF)、または IBM Information Server に含まれるモジュール、WebSphere Information Services Director を利用します。IBM がさまざまな企業の研究所と買収企業からの技術を組み合わせて 2006年後半に導入した IBM Information Server プラットフォームは、クライアントが信頼性と一貫性に優れた再利用可能な情報をアプリケーションとビジネス・プロセスに提供することを可能にします。この手法で JK Enterprises は DB2 の情報をサービスとしてパッケージ化し、Web サービスとして呼び出せるようにして、SOA システムの一部としました。
この手法についての詳細は、以下の資料を参照してください。
フェデレーション: 複数ソースからのデータ取得
JK Enterprises では、勘定残高情報をリアルタイムで取得するには、顧客の口座情報を 1 つにまとめて表示できる必要があります。そこで JK Enterprises が実装したのが、リアルタイム・フェデレーションです。リアルタイム・フェデレーションは、複数の個別情報ソースのデータを仮想化し、データを重複させることなく、分散された情報を 1 つのビューに統合して提供します。
JK Enterprises が実装することに決めた IBM WebSphere Federation Server 製品は、3 つのデータ・ソースに直接、SQL でリアルタイムにアクセスします。この 3 つのデータ・ソースとは、DB2 zOS、DB2 for Linux, UNIX, and Windows、そして Oracle v9.2 です。WebSphere Federation Server を使用することにより、JK Enterprises が目指す生産性、柔軟性、パフォーマンスの改善という SOA 目標は達成されます。
この手法についての詳細は、以下の資料を参照してください。
統合: 分散した情報の制御
JK Enterprises では融資申し込みを DB2 バージョン 9 と DB2 for Linux, UNIX, and Windows に保管するため、この顧客情報を統合して制御できるようにする必要があります。このようなデータを統合して表示する機能は、素早く確実なビジネス決定をするためには欠かせません。このデータが、完全かつ正確な JK Enterprises データの基礎となるためです。
データの統合を可能にするには、JK Enterprises では WebSphere DataStage コンポーネントを使用することができます。これは IBM Information Server に付属のコンポーネントで、情報をしっかりと統合します。WebSphere DataStage を使用してマスター・データベースを作成すると、そのデータベースには参照データの完全一致レコードを収容することも、JK Enterprises のデータベースにある ID の相互参照テーブルだけを含めることもできます。
この手法について詳しく学ぶには、以下の資料を参照してください。
クレンジング: データおよびフォーマットの標準化
JK Enterprises は、自分たちの持つ情報が複数のソースから、しかも異なるフォーマットで提供されるという事実に対処しなければなりません。情報はすべて、顧客データ・ストレージ・システムとアプリケーションに提供する必要があります。そのため JK Enterprises はこの情報を正規化し、検証し、そして標準化する必要があります。
情報の正規化、検証、標準化のすべてに対処するには、QualityStage および WebSphere Customer Center 製品を利用できます。IBM Information Server の WebSphere QualityStage は顧客サポートとサービスを改善し、その企業に最も利益を生み出す顧客を特定するのに役立ちます。一方の WebSphere Customer Center は、トランザクション用顧客データ統合 (CDI) をリアルタイムで行い、JK Enterprises が単一の完全かつ正確な顧客レコードを維持できるようにします。
以上の作業についての詳細は、以下の Web 資料を参照してください。
マスター・データ管理
JK Enterprises の顧客情報はさまざまなソースにあります。そのため顧客データを、基準ソースとなる単一の最も信頼のおけるマスター・ソースと一致させる必要があります。そのためには、リポジトリー、モデル、そしてデータを取得して管理するためのプロセスが必要になりますが、このすべてを提供できるのが、マスター・データ管理ソリューションです。
マスター・データ管理ソリューションを実装することで、JK Enterprises では業界と並ぶマスター・データ・サービスと管理インフラストラクチャーを実現できるだけでなく、マスター情報とビジネス・プロセスをさまざまな異種のソースで管理できるようになります。これらの作業を行うために JK Enterprises がインストールしたのは (リアルタイムでトランザクション用顧客データを統合するための) WebSphere Customer Center と (正確で一貫性のある中央リポジトリーのアセンブルを支援するための) WebSphere Product Center です。
以上の作業についての詳細は、以下の Web 資料を参照してください。
コンテンツの統合
JK Enterprises は、顧客の外部信用度 (クレジット・スコア (訳注: 消費者個人に与えられる信用評価点のこと。米国で個人の信用度を評価する際に近年特に用いられている。)) が新規口座の承認基準となる特定の範囲内にあるかどうかを判断します。現在、このサービスは単にクレジット・スコアを採点するだけで、データをそれ以上深く分析することはしません。JK Enterprises では、この詳細な分析を可能にするために共有コンテンツ・サービスを作成することにしました。共有コンテンツ・サービスにより、あらゆるロケーションで同じようにコンテンツを読み書きできるようになり、各種のストレージ・メカニズムでのコンテンツの見解を統一することができます。
JK Enterprises は IBM WebSphere Information Integrator Content Edition をインストールすることによって、複数の個別コンテンツ・ソースからのコンテンツを、1 つの統一システムに保管されたコンテンツであるかのように扱えるようにすることにしました。Content Edition は、本質的に異なるコンテンツ・ソースとワークフロー・システムに対する単一のインターフェース、すぐに使用できるコネクターとカスタム・コネクター用のツールキットを提供します。さらに、カスタム・アプリケーションを構築し、それを WebSphere Information Integrator Content Edition ラッパーを使用して IBM Information Server に接続するための開発コンポーネントおよび API も用意されています。
これらの作業についての詳細は、以下の Web 資料を参照してください。
SOA 設計
JK Enterprises は、コスト削減、そして社内での IT 統合の効率性増進には SOA 設計が重大な要素になるという認識を持っています。JK Enterprises でもその他の企業でも、SOA ソリューションを実装するために該当するサービスの作成に取り掛かる前に、まずは主要な新しいコンポーネントのインターフェースをモデル化および定義し、既存のコンポーネントを再利用しなければなりません。
IBM では、このように SOA シナリオの実装を開始できるよう、以下の製品を用意しています。
SOA ガバナンス
JK Enterprises では SOA ガバナンスの重要性も認識しています。つまり、企業の重要メンバーが連携して SOA システムを計画、監督する方法を制定し、実行することの重要性です。企業の重要メンバーは、綿密な SOA ガバナンス・ポリシーの実装計画に取り掛かりました。ガバナンスには、以下の 2 つの側面があります。
- 責任、権限、コミュニケーションのチェーンを規定して人々に権限を与え、誰にどの決定権があるのかを判断します。
- 方策、ポリシー、制御メカニズムを規定し、人々がそれぞれの役割と責任を果たせるようにします。
ガバナンスを管理と取り違えることは珍しくありませんが、この 2 つは一般的に以下の点で異なります。
- ガバナンスは、決定を行う権限および責任を誰が持つかを規定し、決定を行うためのフレームワークを提供します。
- 管理は決定を行い、その決定を実践するプロセスに関わるものです。
つまり、ガバナンスは決定を行う方法を規定する一方、管理は決定を行ってその決定を実行に移すということです。
SOA ガバナンス・スキームは、企業の IT ガバナンスの枠内に収まらなくてはなりません。IT ガバナンスは以下のことを行います。
- IT に関連した決定を行う権限を規定します。
- IT 関連の決定を行い、それを実行する方法を測定および制御するためのメカニズムとポリシーを規定します。
このように、ITガバナンスとは IT 部門で誰にどの部分の責任があり、これらの責任が果たされていることを IT 部門がどのようにして把握するかということに関するものです。
SOA は、ガバナンスに以下の独特の側面を追加します。
- IT ガバナンスの拡張として機能し、サービスのライフサイクルに重点を置いて SOA のビジネス価値を確実にします。
- 企業内の既存のサービスに対する変更の監視、定義、許可を誰が行うのかを決定します。
SOA ガバナンスについての詳細は、以下の資料を参照してください。
SOA セキュリティーおよび管理
JK Enterprises は SOA ソリューションを実装することで大きなメリットを得られましたが、それでも情報をセキュアにし、管理していかなければならないことに変わりはありません。SOA サービスをセキュアにするには、ポリシーと決定を評価するとともに、これらのポリシーが実効力を持つように管理する必要があります。
JK Enterprises では、SOA のタイムライン全体をとおして効果的に SOA を管理することの重要性もよく理解しています。そのため JK Enterprises は SOA 管理を実装して、確実にすべてのコンピューティング・リソースが有効に利用されるようにし、システムを稼働状態に維持するようにしています。また、問題が持ち上がったときのトラブルシューティングを行うにも、ユーザーに必要なパフォーマンスを提供するとともに、リソースすべての使用状況を調整して JK Enterprises のサービス・レベル・アグリーメントに適合させるためにも、SOA 管理の実装が役立ちます。
SOA セキュリティーおよび管理のシナリオは、SOA システムのセキュリティーを実装し、管理する際の経路となります。
SOAサービスをセキュアにして管理する支援として、IBM では以下をはじめとするさまざまな製品を用意しています。
以上の説明でおわかりのように、JK Enterprises は IBM が提供する多数の SOA シナリオを実装することで、さまざまな面でメリットを得られました。この記事で説明したシナリオを使用した SOA の特徴については、さらに踏み込んで詳細を調べることができます。まずは図 1 に記載されているさまざまな要素を見回して、IBM が提供する SOA エントリー・ポイントとシナリオ全体を把握してください。
Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およびその他の国における商標です。 DB2、Lotus、Rational、Tivoli、および WebSphere は、International Business Machines Corporation の米国およびその他の国における商標です。 他の会社名、製品名およびサービス名等はそれぞれ各社の商標です。 他の会社名、製品名およびサービス名等はそれぞれ各社の商標です。 |