(57)【特許請求の範囲】
【請求項１】
ビジネスプロセスのための仕様にアクセスする段階と、
セキュリティアノテーションに関連付けられたセキュリティパターンを起動する段階と、
起動されたセキュリティパターンをベースとして、セキュリティ意図を満足する外部サービスに関連付けられたサービスプロバイダを特定する段階と、
前記特定されたサービスプロバイダを使用して前記ビジネスプロセスを起動する段階と、を具備し、
前記仕様は、前記セキュリティ意図を定義する前記セキュリティアノテーションと、少なくとも前記ビジネスプロセスの一部分を定義するとともに、前記外部サービスを呼び出すタスクと、を具備し、
サービスプロバイダを特定する段階は、
サービスプロバイダの一覧のためのサービスアクセス情報にアクセスする段階と、
前記サービスプロバイダの一覧内の前記サービスプロバイダの各々に対して、格納されたセキュリティ目的及び格納されたセキュリティ機能にアクセスする段階と、
前記サービスプロバイダの各々に対する前記格納されたセキュリティ目的及び前記格納されたセキュリティ機能と、前記セキュリティ意図に関連付けられたセキュリティ目的及びセキュリティ機能とを比較する段階と、
前記サービスプロバイダの各々に対する、前記格納されたセキュリティ目的と前記格納されたセキュリティ機能との比較をベースとして、選択されたサービスプロバイダを選択する段階と、
前記特定されたサービスプロバイダとして、知識ベース内に選択された前記サービスプロバイダを格納する段階と、
選択された前記サービスプロバイダを格納する段階をベースとして、サービスプロバイダ選択プロセスが完了したことを指示するイベントを生成する段階と、をさらに具備し、
前記サービスアクセス情報はサービスエンドポイント及びサービス動作署名を具備することを特徴とするコンピュータで実施される方法。
【請求項２】
前記セキュリティアノテーションは、ポリシードメイン固有の言語を使用して表現されることを特徴とする請求項１に記載の方法。
【請求項３】
前記セキュリティアノテーションをパースする段階をさらに具備することを特徴とする請求項１に記載の方法。
【請求項４】
前記セキュリティアノテーションをベースとしてセキュリティポリシーデータベースを更新する段階をさらに具備することを特徴とする請求項１に記載の方法。
【請求項５】
特定された前記サービスプロバイダを使用して前記ビジネスプロセスを起動する段階は、
前記セキュリティ意図をベースとして、前記特定されたサービスプロバイダに対して、セキュアなサービスプロキシを生成する段階と、
前記セキュアなサービスプロキシを使用して前記外部サービスを呼び出す段階と、をさらに具備し、
前記セキュアなサービスプロキシは、前記外部サービスへのセキュアなサービス呼び出し動作を管理することを特徴とする請求項１に記載の方法。
【請求項６】
前記セキュアなサービスプロキシを暗号化する段階と、
暗号化された前記セキュアなサービスプロキシを格納する段階と、
をさらに具備することを特徴とする請求項５に記載の方法。
【請求項７】
格納された前記セキュアなサービスプロキシを回収する段階と、
前記セキュアなサービスプロキシに関連付けられたセキュアなサービス呼び出し動作を起動する段階と、
前記外部サービスから応答を受信する段階と、
前記セキュアなサービスプロキシを使用して前記応答を処理する段階と、
をさらに具備することを特徴とする請求項６に記載の方法。
【請求項８】
前記サービスはバックエンド企業サービス、外部ビジネスツービジネスサービス、又はローカルサービスであることを特徴とする請求項１に記載の方法。
【請求項９】
前記セキュリティアノテーションは、前記セキュリティ意図を表す変数を具備するとともに、前記セキュリティパターンは、前記変数を使用して起動されることを特徴とする請求項１に記載の前記方法。
【請求項１０】
前記セキュリティ意図は、外部Ｗｅｂサービスを使用するときに外部実施ポリシーを宣言し、起動されたビジネスプロセスをＷｅｂサービスとして公開するときにポリシーを宣言し、前記タスクが人間による相互作用を要求するときに、タスクベースの承認要件を宣言するとともに、前記タスクが実行される順序を指定するタスクベースの承認制約を宣言することを特徴とする請求項１に記載の方法。
【請求項１１】
前記セキュリティ意図は、前記タスクを実行することが可能である職務を指定することを特徴とする請求項１に記載の方法。
【請求項１２】
前記セキュリティ意図は、前記タスクが実行される順序を指定することを特徴とする請求項１に記載の方法。
【請求項１３】
前記ビジネスプロセスを起動する段階は、前記タスクを実行する段階をさらに具備することを特徴とする請求項１に記載の方法。
【請求項１４】
前記セキュリティパターンは、
前記サービスプロバイダが特定される前に、前記セキュリティ意図の実施をトリガするのに使用される第１エントリポイントと、
前記タスクが実行される前に、前記セキュリティ意図の実施をトリガするのに使用される第２エントリポイントと、
前記タスクが実行された後に、前記セキュリティ意図の実施をトリガするのに使用される第３エントリポイントと、
を具備することを特徴とする請求項１３に記載の方法。
【請求項１５】
前記ビジネスプロセスを起動する段階は、
もし前記サービスプロバイダが未だ特定されていないならば、前記第１エントリポイントを選択する段階と、
もし前記タスクが未だ実行されていないならば、前記第２エントリポイントを選択する段階と、
もし前記タスクが実行されたならば、前記第３エントリポイントを選択する段階と、
をさらに具備することを特徴とする請求項１４に記載の方法。
【請求項１６】
前記セキュリティ意図は、メッセージ機密性、暗号化セキュリティ意図、インテグリティ意図、職務割り当て意図、又はタスク実行順序の意図を定義することを特徴とする請求項１に記載の方法。
【請求項１７】
機械読み取り可能な媒体内に具体的に実現されるコンピュータプログラムであり、機械によって読み出されたときに、データ処理装置に、
ビジネスプロセスのための仕様にアクセスさせ、セキュリティアノテーションに関連付けられたセキュリティパターンを起動させ、起動された前記セキュリティパターンをベースとして、前記セキュリティ意図を満足する外部サービスに関連付けられたサービスプロバイダを特定させるとともに、特定された前記サービスプロバイダを使用して前記ビジネスプロセスを起動させるように動作する命令を具備し、
前記仕様は、セキュリティ意図を定義する前記セキュリティアノテーションと、前記ビジネスプロセスの少なくとも一部分を定義するとともに、前記外部サービスを呼び出すタスクと、を具備し、
サービスプロバイダを特定することは、
サービスプロバイダの一覧のためのサービスアクセス情報にアクセスすることと、
前記サービスプロバイダの一覧内の前記サービスプロバイダの各々に対して、格納されたセキュリティ目的及び格納されたセキュリティ機能にアクセスすることと、
前記サービスプロバイダの各々に対する前記格納されたセキュリティ目的及び前記格納されたセキュリティ機能と、前記セキュリティ意図に関連付けられたセキュリティ目的及びセキュリティ機能とを比較することと、
前記サービスプロバイダの各々に対する、前記格納されたセキュリティ目的と前記格納されたセキュリティ機能との比較をベースとして、選択されたサービスプロバイダを選択することと、
前記特定されたサービスプロバイダとして、知識ベース内に選択された前記サービスプロバイダを格納することと、
選択された前記サービスプロバイダを格納する段階をベースとして、サービスプロバイダ選択プロセスが完了したことを指示するイベントを生成することと、をさらに具備し、
前記サービスアクセス情報はサービスエンドポイント及びサービス動作署名を具備することを特徴とするコンピュータプログラム。
【請求項１８】
ビジネスプロセスのための仕様を格納するストレージ媒体と、
セキュリティアノテーションに関連付けられたセキュリティパターンを起動し、前記起動されたセキュリティパターンをベースとして、セキュリティ意図を満足する外部サービスに関連付けられたサービスプロバイダを特定するとともに、特定された前記サービスプロバイダを使用して前記ビジネスプロセスを起動するように構成されたプロセッサと、を具備し、
前記仕様は、前記セキュリティ意図を定義する前記セキュリティアノテーションと、前記ビジネスプロセスの少なくとも一部分を定義するとともに、前記外部サービスを呼び出すタスクと、を具備し、
サービスプロバイダを特定することは、
サービスプロバイダの一覧のためのサービスアクセス情報にアクセスすることと、
前記サービスプロバイダの一覧内の前記サービスプロバイダの各々に対して、格納されたセキュリティ目的及び格納されたセキュリティ機能にアクセスすることと、
前記サービスプロバイダの各々に対する前記格納されたセキュリティ目的及び前記格納されたセキュリティ機能と、前記セキュリティ意図に関連付けられたセキュリティ目的及びセキュリティ機能とを比較することと、
前記サービスプロバイダの各々に対する、前記格納されたセキュリティ目的と前記格納されたセキュリティ機能との比較をベースとして、選択されたサービスプロバイダを選択することと、
前記特定されたサービスプロバイダとして、知識ベース内に選択された前記サービスプロバイダを格納することと、
選択された前記サービスプロバイダを格納する段階をベースとして、サービスプロバイダ選択プロセスが完了したことを指示するイベントを生成することと、をさらに具備し、
前記サービスアクセス情報はサービスエンドポイント及びサービス動作署名を具備することを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全般的に、セキュアなコンピューティングに関する。 
【背景技術】
【０００２】
複合アプリケーションとは、サービス指向アプリケーションプラットフォーム及び既存のパッケージ化及びカスタム構築されたアプリケーションによって、Ｗｅｂサービスとして提供されるデータ及び機能を使用するアプリケーションである。複合アプリケーションは、それら自体のビジネスロジック及びユーザインターフェースによってサポートされ、これらのＷｅｂサービスを使用中心の（ｕｓａｇｅ−ｃｅｎｔｒｉｃ）処理及び閲覧と組み合わせる。この点で、複合化によって、発展段階の複合アプリケーション内でそれらを再配置することで既存のコンポーネントが再使用されることが可能になる。従って、複合アプリケーションによって、複数の職務区域にまたがるビジネスシナリオ及び／又はユーザ固有の処理が可能になる。
【発明の開示】
【課題を解決するための手段】
【０００３】
基礎とするセキュリティポリシー、目的、又はインフラの詳細を抽象化することによるような、セキュリティ目的の、スクリプトベースの、軽量複合アプリケーションへの直接的な統合を可能にするモデル駆動のセキュアな複合化フレームワークが、複合アプリケーション開発者に提供される。
【０００４】
１つの一般的実施によると、コンピュータで実施される方法は、ビジネスプロセスの仕様にアクセスする段階を具備し、仕様は、セキュリティ意図を定義するセキュリティアノテーションと、ビジネスプロセスの少なくとも一部分を定義するとともに外部サービスを呼び出すタスクとを具備する。セキュリティアノテーションに関連付けられたセキュリティパターンが起動されるとともに、セキュリティ意図を満足する外部サービスに関連付けられたサービスプロバイダが、起動されたセキュリティパターンをベースとして特定される。ビジネスプロセスは、特定されたサービスプロバイダを使用して起動される。
【０００５】
実施は、１つ又は複数の次の特徴を具備しても良い。例えば、セキュリティアノテーションは、ポリシードメイン固有の言語を使用して表現されても良い。セキュリティアノテーションは、パースされても良い。セキュリティポリシーデータベースは、セキュリティアノテーションをベースとして更新されても良い。特定されたサービスプロバイダを使用してビジネスプロセスを起動する段階は、セキュリティ意図をベースとして、特定されたサービスプロバイダに対するセキュアなサービスプロキシを生成する段階をさらに具備しても良く、セキュアなサービスプロキシは、外部サービスへのセキュアなサービス呼び出し動作を管理するとともに、セキュアなサービスプロキシを使用して外部サービスを呼び出す。セキュアなサービスプロキシは、暗号化されるとともに格納されても良い。格納されたセキュアなサービスプロキシは回収されても良く、かつセキュアなサービスプロキシに関連付けられたセキュアなサービス呼び出し動作が起動されても良い。応答は、外部サービスから受信されるとともに、セキュアなサービスプロキシを使用して処理されても良い。
【０００６】
さらなる実施例では、サービスプロバイダを特定する段階は、サービスプロバイダの一覧のためのサービスアクセス情報をアクセスする段階と、サービスプロバイダの一覧内の各サービスプロバイダに対して格納されたセキュリティ目的及び格納されたセキュリティ機能にアクセスする段階と、各サービスプロバイダに対する格納されたセキュリティ目的及び格納されたセキュリティ機能を、セキュリティ意図に関連付けられたセキュリティ目的及びセキュリティ機能と比較する段階と、をさらに具備しても良く、サービスアクセス情報は、サービスエンドポイント及びサービス動作署名を具備する。サービスプロバイダを特定する段階は、また、各サービスプロバイダに対して、格納されたセキュリティ目的及び格納されたセキュリティ機能を比較することをベースとして選択されたサービスプロバイダを選択する段階と、選択されたサービスプロバイダを特定されたサービスプロバイダとして知識ベース内に格納する段階と、選択されたサービスプロバイダを格納する段階をベースとして、サービスプロバイダ選択プロセスが完了したことを指示するイベントを生成する段階と、を具備しても良い。
【０００７】
追加の実施例では、サービスは、バックエンド企業サービス、外部ビジネスツービジネスサービス、又はローカルサービスであっても良い。セキュリティアノテーションは、セキュリティ意図を表す変数を具備しても良く、セキュリティパターンは、変数を使用して起動される。セキュリティ意図は、外部Ｗｅｂサービスを使用するときに外部実施ポリシーを宣言しても良く、起動されたビジネスプロセスをＷｅｂサービスとして公開するときにポリシーを宣言しても良く、タスクが人間相互作用を要求するときに、タスクベースの承認要件を宣言しても良く、タスクが実行される順序を指定するタスクベースの承認制約を宣言しても良い。セキュリティ意図は、タスクを実行することが可能な職務を指定しても良い。
【０００８】
さらに、他の実施例では、セキュリティ意図は、タスクが実行される順序を指定しても良い。ビジネスプロセスを起動することは、タスクを実行することをさらに具備しても良い。セキュリティパターンは、サービスプロバイダが特定される前にセキュリティ意図の実施をトリガするのに使用される第１エントリポイントと、タスクが実行される前にセキュリティ意図の実施をトリガするのに使用される第２エントリポイントと、タスクが実行された後にセキュリティ意図の実施をトリガするのに使用される第３エントリポイントと、を具備しても良い。ビジネスプロセスを起動する段階は、もしサービスプロバイダが未だ特定されていないならば、第１エントリポイントを選択する段階と、もしタスクが未だ実行されていないならば、第２エントリポイントを選択する段階と、もしタスクが実行されていないならば、第３エントリポイントを選択する段階をさらに具備しても良い。サービスプロバイダを特定する段階は、サービス要求を生成する段階と、セキュリティパターンをベースとして、サービス要求をセキュリティ強化する段階とを具備しても良い。セキュリティ意図は、メッセージ機密性、暗号化セキュリティ意図、インテグリティ意図、職務割り当て意図、又はタスク実行順序の意図を定義しても良い。
【０００９】
他の一般的実施によると、コンピュータプログラム製品は、機械読み取り可能な媒体内に具体的に実現される。コンピュータプログラム製品は、機械によって読み出されたときに、データ処理装置にビジネスプロセスのための仕様にアクセスさせるように動作する命令を具備し、仕様は、セキュリティ意図を定義するセキュリティアノテーションと、ビジネスプロセスの少なくとも一部分を定義するとともに外部サービスを呼び出すタスクとを具備する。プログラム製品は、データ処理装置に、セキュリティアノテーションに関連付けられたセキュリティパターンを起動させ、セキュリティ意図を満足する外部サービスに関連付けられたサービスプロバイダを、起動されたセキュリティパターンをベースとして特定させるとともに、特定されたサービスプロバイダを使用してビジネスプロセスを起動させるように動作する命令も具備する。
【００１０】
他の一般的実施によると、装置は、ストレージ媒体及びプロセッサを具備する。ストレージ媒体は、ビジネスプロセスのための仕様を格納し、仕様は、セキュリティ意図を定義するセキュリティアノテーションと、ビジネスプロセスの少なくとも一部分を定義するとともに外部サービスを呼び出すタスクを具備する。プロセッサは、セキュリティアノテーションに関連付けられたセキュリティパターンを起動し、セキュリティ意図を満足する外部サービスに関連付けられたサービスプロバイダを、起動されたセキュリティパターンをベースとして特定するとともに、特定されたサービスプロバイダを使用してビジネスプロセスを起動するように構成される。
【００１１】
他の一般的実施によると、方法は、セキュリティフレームワークをビジネスプロセスに適用する段階を具備し、セキュリティフレームワークは、複合アプリケーションのセキュリティ目的を特定する定義フェーズと、特定されたセキュリティ目的を達成するセキュリティパターンを実施する実現化フェーズと、セキュリティパターンをベースとする複合アプリケーション内でセキュリティアノテーションを使用して特定されたセキュリティ目的を実施する宣言フェーズと、を具備する。方法は、また、セキュリティフレームワークを適用する段階をベースとして、複合アプリケーション及び外部サービスの間に共通のポリシーを指定する外部ポリシー交渉を行う段階と、複合アプリケーション及び外部サービスの間の各相互作用に対して共通のポリシーを実施する段階と、セキュリティ目的をベースとして、外部サービスによるローカルサービス及びオブジェクトへのアクセスを規制する段階とを具備する。
【００１２】
実施は、１つ又は複数の次の特徴を具備しても良い。例えば、定義フェーズは、セキュリティリスク分析を実行するセキュリティリスク分析コンポーネントと、セキュリティパターンとしてセキュリティソリューションキャストを準備するセキュリティパターン定義コンポーネントと、セキュリティパターンを組み合わせることによって実現されるセキュリティ意図を定義するセキュリティ意図定義コンポーネントとをさらに具備しても良い。セキュリティリスク分析を実行する段階は、ビジネスプロセス内の危険を分析する段階と、ビジネスプロセス内の関連付けられたリスクを特定する段階と、をさらに具備する。セキュリティリスク分析を実行することは、ビジネスプロセスに関連付けられたサービス相互作用機構を特定することと、特定されたサービス相互作用機構に対する危険分析を実行することと、をさらに具備しても良い。セキュリティソリューションを準備する段階は、統一されたセキュリティ目的の定義を可能にする意図オントロジを提供することをさらに具備する。
【００１３】
実現化フェーズは、ドメイン依存のパターンを特定の環境にバインドするセキュリティパターン実施コンポーネントを具備しても良く、それによって、セキュリティパターンと、パターンレポジトリ内に実施されたセキュリティパターンを格納するセキュリティパターンプロビジョニングコンポーネントと、を実施する。宣言フェーズは、複合アプリケーションが従うべきセキュリティ意図を宣言するアプリケーションレベル意図宣言コンポーネントと、複合アプリケーションをサービスとして公開するのに先立ちローカルコンポーネントへのセキュリティ意図を定義するサービスレベル意図宣言コンポーネントとをさらに具備しても良い。方法は、また、承認ポリシーを生成する段階と、欠けているポリシーをバックエンドポリシーデータベースに挿入する段階と、ポリシー更新プロトコルを使用する段階とを具備しても良い。セキュリティ意図は、タスクを実行することが可能な職務、又はタスクが実行される順序を指定しても良い。セキュリティアノテーションは、ポリシードメイン固有の言語を使用して表現されても良い。セキュリティ意図は、外部Ｗｅｂサービスを使用するときに、外部実施ポリシーを宣言しても良く、起動されたビジネスプロセスをＷｅｂサービスとして公開するときにポリシーを宣言しても良く、タスクが人間相互作用を要求するときにタスクベースの承認要件を宣言してもよく、かつタスクが実行される順序を指定するタスクベースの承認制約を宣言しても良い。
【００１４】
他の一般的実施によると、機械読み取り可能な媒体内に具体的に実現されたコンピュータプログラム製品であり、コンピュータプログラム製品は、機械によって読み出されたときに、データ処理装置に、セキュリティフレームワークをビジネスプロセスに適用させるように動作する命令を具備し、セキュリティフレームワークは、複合アプリケーションのセキュリティ目的を特定する定義フェーズと、特定されたセキュリティ目的を達成するセキュリティパターンを実施する実現化フェーズと、セキュリティパターンをベースとする複合アプリケーション内部でセキュリティアノテーションを使用して、特定されたセキュリティ目的を実施する宣言フェーズと、を具備する。コンピュータプログラム製品は、機械によって読み出されたときに、複合アプリケーション及び外部サービスの間の各相互作用に対して共通のポリシーを実施するとともに、セキュリティ目的をベースとして外部サービスによるローカルサービス及びオブジェクトへのアクセスを規制するために、セキュリティフレームワークを適用することをベースとして、複合アプリケーション及び外部サービスの間に共通のポリシーを指定するためにデータ処理装置に外部ポリシー交渉を行わせるように動作する命令をまた具備する。
【００１５】
他の一般的実施によると、システムは、セキュリティフレームワークをビジネスプロセスに適用するように構成される企業を具備し、セキュリティフレームワークは、複合アプリケーションのセキュリティ目的を特定する定義フェーズと、特定されたセキュリティ目的を達成するセキュリティパターンを実施する実現化フェーズと、セキュリティパターンをベースとする複合アプリケーション内部でセキュリティアノテーションを使用して特定されたセキュリティ目的を実施する宣言フェーズとを具備する。企業は、複合アプリケーション及び外部サービスの間の各相互作用に対して共通のポリシーを実施するとともに、セキュリティ目的をベースとして、外部サービスによるローカルサービス及びオブジェクトへのアクセスを規制するために、セキュリティフレームワークを適用することをベースとして、複合アプリケーション及び外部サービスの間の共通のポリシーを指定するように外部ポリシー交渉を行うようにさらに構成される。
【００１６】
１つ又は複数の実施の詳細は、添付図面及び説明内で下に説明される。本開示の他に考えられる特徴及び利点は、説明及び図、及び特許請求の範囲から明白である。
【００１７】
類似の符号は、全体を通して対応するコンポーネントを表す。
【発明を実施するための最良の形態】
【００１８】
複合ビジネスアプリケーション（又は「複合アプリケーション」）は、個々のＷｅｂサービス又は他のアプリケーション内部から選択された機能、又は出力がＷｅｂサービスとしてパッケージ化されている全体のシステムのような、複数のコンポーネント又はサービスを組み合わせることによって構築される。複合ビジネスアプリケーションは、新規に導出された機能性を作成するために、いつ及びどのように編成されたＷｅｂサービスが互いに相互作用するのかを制御するローカルアプリケーションロジックの編成を組み込んでも良い。このように、複合アプリケーションの機能性は、サービス指向のアーキテクチャ（ＳＯＡ）内部の異なるソースから定義される。
【００１９】
セキュリティは、ミッションクリティカルなサービス指向の複合アプリケーションを開発するときの主要な問題の１つであるので、堅牢な複合アプリケーションは、１つの一般的実施により、セキュアな仕方で複数のサービスを組み合わせることによって生成されても良い。ビジネス駆動アプリケーションのセキュリティアプローチに続いて、ビジネスアプリケーションのセキュリティ要件（又は「セキュリティ意図」）が、ビジネスプロセス仕様レベルでセキュリティアノテーションによって表現されるとともに、セキュリティアノテーションに対応するセキュリティ要件に合致する関連付けられたセキュリティインフラが自動的に生成される。
【００２０】
ビジネスアプリケーションのセキュリティ目的を表現するこれらのセキュリティアノテーションは、セキュリティを習得したビジネスプロセス開発者によって、ビジネスプロセス仕様内で表現されても良い。アノテーションは、セキュリティパターンレポジトリから選択されるとともに、ドメイン固有の言語を使用することによって特定のアプリケーションのためにインスタンス化されても良い。
【００２１】
ビジネスプロセス開発者がアプリケーションを配備するときに、（サービス選択、サービスバインド及びセキュリティインフラ生成のような）セキュリティ目的を実施することに関連付けられる動作の処理は、自動的に実行される。例えば、サービスプロバイダの選択は、複合ビジネスプロセス及びサービスプロバイダの両方のセキュリティ要件及び機能の間での一致生成プロセスを使用して発生させても良い。ビジネスプロセス開発者は、このように、専門のセキュリティ開発者を巻き込むことなくセキュリティ目的を実行時に宣言しても良い。この点で、サービスプロバイダからのサービス（例えばＷｅｂサービス）の選択は、複合アプリケーションの所望のセキュリティ目的をサービスプロバイダの現在のセキュリティ機能と合致することによって、及び、サービスプロバイダの所望のセキュリティ目的を複合アプリケーションの現在のセキュリティ機能と合致することによって発生させても良い。
【００２２】
従って、相互依存のビジネスプロセス及びセキュリティポリシーは、抽象的な仕方で設計されても良く、かつ容易に実施されうる。ビジネスプロセス仕様の設計は、度々ビジネス分析又はソフトウェアアーキテクトによって実行されるので、ソフトウェアアノテーションは、ハイレベルなセキュリティの知識及び関連付けられたビジネスプロセスになじみがないかもしれないセキュリティ開発者の習得を要求しないカスタム化可能なパターンからモデリングされる。
【００２３】
セキュリティアノテーションを使用すると、複合アプリケーションは、セキュリティ目的及び構成の間のギャップを手動で橋渡しする必要がなく、それによって、セキュリティ破りの可能性が低減される。さらに、ビジネスプロセスモデル及び関連付けられたセキュリティアノテーションを密に組み合わせることによって、ビジネスプロセスへの変更はセキュリティ目的により一貫的にバインドされる。このように、抽象化ビジネス駆動セキュリティ目的は、ビジネスプロセス仕様レベルで定義される目的を使用して、具体的なセキュリティポリシー及びセキュリティ実施に効果的にマッピングされる。
【００２４】
簡潔に述べると、本明細書で説明されるセキュリティフレームワークによって、ビジネスプロセス開発者が、ハイレベルなセキュリティ意図又は目的をビジネスプロセス仕様に追加することが可能になる。ここで、セキュリティフレームワークは、セキュリティ構成及び実施プロセスの自動的な生成を促進する。これらのセキュリティ目的は、例えば、ビジネスプロセス承認要件、Ｗｅｂサービスのプロテクション品質（ＱｏＰ）要件、又は他のセキュリティ意図を具備しても良い。
【００２５】
基礎とするセキュリティポリシー、目的、又はインフラの詳細を抽象化することによるような、セキュリティ目的のスクリプトベースの軽量な複合アプリケーションへの直接的な統合を可能にするモデル駆動のセキュアな複合化フレームワークが、複合アプリケーション開発者に提供される。複合化によって使用されるサービスは、Ｗｅｂサービスとしてラップされる会社内部のビジネス機能、プロバイダ及び他のビジネスパートナーによって提供される外部Ｗｅｂサービス、又は純粋なローカルサービスであっても良く、それによって、組織横断的な複合アプリケーションをセキュアにするためのソリューションを提供する。
【００２６】
図１は、連携された順序で実行される一連のタスク又は動作を具備する、代表的なビジネスプロセス１００を図説する。タスクは、アトミックなビジネスプロセスコンポーネントであり、動作を説明する、又は、処理の制御フローを更新する、例えばプロセスフローを分割又は結合している。例えば、代表的なビジネスプロセス１００は、各々が専用終了タスク１０６に先立ち発生する、専用開始タスク１０１、及び順に実行される第１タスク１０２（「タスク１」）、第２タスク１０４（「タスク２」）、及び第３タスク１０５（「タスク３」）を具備する。第１タスク１０２又は第３タスク１０５のような特定のタスクの実行は、ビジネスパートナー又はプロバイダのビジネス機能性を提供する外部Ｗｅｂサービスの起動を要求しても良い。第２タスク１０４のような他のタスクの実行は、特定の職務に割り当てられた人による介入を要求しても良い。
【００２７】
図２は、セキュリティアノテーションを使用する複合アプリケーションを実施するための、代表的なシステムアーキテクチャ２００を図説するブロック図である。特に、システムアーキテクチャ２００は、複合アプリケーション（「ｃｏｍｐ−ａｐｐ」）を起動する企業２０１と、第１サービスプロバイダ２０３（「ｓｐ」）と、第２サービスプロバイダ２０４と、第３サービスプロバイダ２０５とを具備する。企業２０１及びサービスプロバイダ２０３から２０５は、ネットワーク２０６を介して接続される。
【００２８】
企業は、セキュリティアノテーションを使用する複合アプリケーションを実施する装置２０８と、企業ポリシーレポジトリ（ＥＰＲ）２０９と、企業セキュリティ機能カタログ（ＥＳＣＣ）２１０と、ポリシー構成サーバ（ＰＣＳ）２１１と、サービスブローカー（ＳＢ）２１２と、サービスレジストリ（ＳＲ）２１４とを具備する。全般的に、企業ポリシーレポジトリ２０９は、ビジネスプロセス開発者による回収のための、企業２０１のセキュリティポリシー、目的又はゴール（「ｃｏｍｐ−ａｐｐ−ｓｇ」）を格納する。企業セキュリティ機能カタログ２１０は、ビジネスプロセス開発者による回収のための企業２０１のセキュリティ機能（「ｃｏｍｐ−ａｐｐ−ｃａｐ」）を格納する。ポリシー構成サーバ２１１は、開発下の複合ビジネスプロセスの新規に生成されたセキュリティポリシー及び機能を格納する。サービスブローカー２１２は、一致するサービスプロバイダを特定する。さらに、サービスレジストリ２１４は、一致サービスプロバイダを特定するプロセスを補助するために、既に登録されたサービスプロバイダに関する情報を格納する。
【００２９】
企業のセキュリティポリシーｃｏｍｐ−ａｐｐ−ｓｇは、アクセス制御仕様及び実施、ＱｏＰ宣言及び実施、及びビジネスプロセスレベル、ビジネスプロセスタスクレベル、及びサービスレベルを具備する異なるレベルで要求されうる分散ポリシー管理問題に関するかもしれない。例えば、これらのポリシーは、個々のビジネスプロセスタスクの承認の仕様及び実施、ビジネスプロセスのための仕様及び承認制約の実施（例えば職務の分離）又はＷｅｂサービス（例えばローカルサービス、複合サービス、バックエンドサービス、外部サービス）のためのＱｏＰ要件の仕様及び実施（即ち、セキュリティ機能及びポリシー）に関しても良い。ＱｏＰ要件は、特定の暗号化アルゴリズムのようなセキュリティ又はプライバシー要件、又はＷｅｂサービスセキュリティポリシー（ＷＳ−ＳｅｃｕｒｉｔｙＰｏｌｉｃｙ）内のバインディングのような技術的なセキュリティ機能、又はセキュリティ主張マークアップ言語（ＳＡＭＬ）のような特定トークンに対するサポートを定義しても良い。
【００３０】
さらに、セキュリティポリシーは、バックエンドサービスと相互作用するときに、自動化されたポリシー構成機構が使用されるべきであることを指示しても良い。ビジネスプロセス開発者は、もし要求されるポリシーが複合アプリケーションによって生成されるバックエンドアプリケーションサービスへのサービス要求を承認するポリシーを具備しないのであれば、それらが生成されるとともにバックエンドシステムポリシーデータベースに格納されることを保証しなければならない。ポリシーは、外部サービスと相互作用するときに、ポリシー交渉及びポリシー実施が使用されるべきであることをさらに指示しても良い。複合アプリケーションの実行の特定のステージは、プロバイダ又は取引パートナーに属する外部Ｗｅｂサービスをアクセスしても良い。これらの状況では、もし複合アプリケーション及び要求される外部サービスのセキュリティ目的が達成される、又はそうでなければ満足又は合致されるならば、各々の要求されるサービス相互作用が発生しうる。
【００３１】
さらに、セキュリティポリシーは、複合によって使用されているサービスのポリシー内の変更が、アプリケーションを再起動することなく適合されるように、動的なポリシー管理が動作のフェーズの間のポリシー変更を扱うように使用されるべきであることを指示しても良い。規格準拠のセキュリティサービス（例えばセキュリティトークンサービス）及び分散環境内での相互運用性をサポートするのに使用されるべきポリシー（例えば拡張可能アクセス管理マークアップ言語（ＸＡＣＭＬ）互換のポリシー）も、セキュリティポリシー内で説明されても良い。そのようにすることにより、セキュリティポリシーは、下位なＷｅｂサービスのセキュリティ規格の抽象化を提供するセキュリティＡＰＩ、セキュリティを気にする全てのアプリケーションのための企業レベルのプロテクションを提供するセキュリティ機構の統一された使用法、ビジネスプロセス及びセキュリティポリシーの統一された設計、及び組織横断的なサービス相互作用をサポートする信頼性のある管理インフラを可能にする。
【００３２】
一実施例では、セキュリティポリシーｃｏｍｐ−ａｐｐ−ｓｇは、全てのビジネスツービジネス（Ｂ２Ｂ）接続が、機密でなければならないことを要求しても良い。実施例のセキュリティ機能ｃｏｍｐ−ａｐｐ−ｃａｐは、企業がセキュリティ主張マークアップ言語（ＳＡＭＬ）トークンを使用する、トークンベースのアクセス管理をサポートすることを指示しても良い。
【００３３】
装置２０８は、ビジネスプロセス仕様のインスタンスを生成するビジネスプロセスエンジン（ＢＰＥ）２１５をさらに具備するとともに、ビジネスプロセスに関連付けられたタスクを、処理シーケンス内で指定されたように実行する。適切なサービスプロキシをインスタンス化及び連携するイベント管理部（ＥＭ）２１６、イベント管理部２１６によって回収のためのサービスプロキシを格納するサービスプロキシレジストリ（ＳＰＩ）２１７、ビジネスプロセスエディタ２１９、複合ビジネスプロセス仕様言語（ＢＰＥＬ）２２０、セキュリティアノテーションをパースするポリシードメイン固有の言語（ＤＳＬ）エンジン（ＰＤＳＬＥ）２２１、サービスプロバイダへのセキュアなサービス呼び出しを管理するとともに、セキュリティ動作（例えば暗号化、トークン検証、トークン回収）を処理するための動作を提供するセキュアなサービスプロキシ（ＳＳＰ）２２２、ＳＳＰコードを格納するＳＳＰレジストリ（ＳＳＰＲ）２２４、及び、セキュリティポリシーパターンを格納するポリシーパターンレポジトリ（ＰＰＲ）２２５。集合的に、ビジネスプロセスエンジン２１５、イベント管理部２１６、及びサービスプロキシレジストリ２１７は、設計時コンポーネントとして参照されるとともに、ビジネスプロセスエディタ２１８及び複合ビジネスプロセス仕様言語２２０は、実行時コンポーネントとして参照される。
【００３４】
そのセキュリティの機能を実施するために、セキュアなサービスプロキシ２２２は、証明書を発行するアトリビュートサーバ、暗号化機能を提供する暗号化サーバ、アクセス管理要求を評価するポリシー決定エンジン、証明書を検証する証明書エンジン、及び／又は公開及び秘密鍵を格納するセキュアなキーエンジンを具備する、又はアクセスを具備しても良い。
【００３５】
第１サービスプロバイダ２０３は、Ｗｅｂサービス２２６と、セキュリティ目的又はポリシー（「ｓｐ−ｐｏｌ」）を格納するセキュリティ機能レジストリと、第１サービスプロバイダ２２７のためのセキュリティ機能（「ｓｐ−ｃａｐ」）とを具備する。サービス２２６は、ビジネス機能性を提供するとともに、少なくともサービス（又は動作）名称、及び入出力パラメータを具備する説明を具備するＷｅｂサービスとして実施される。セキュリティポリシーｓｐ−ｐｏｌは、どの信任状がこのサービスにアクセスするのに要求されるかを説明するアクセスポリシーを指示しても良く、かつセキュリティ機能ｓｐ−ｃａｐは、サービス２２６のサポートされるセキュリティ機能を指示しても良い。
【００３６】
複合アプリケーション環境は、複合アプリケーション層及びサービスプロバイダ層を具備する。複合アプリケーション及びサービスプロバイダの両方は、ランタイム相互作用の間のサービス呼び出しの方向に依存して、サービス消費者及びサービス提供者の機能で動作可能である。図示されてないが、第２サービスプロバイダ２０４及び第３サービスプロバイダ２０５も、サービス及びセキュリティ機能レジストリに関連付けられている。
【００３７】
一実施形態によると、複合アプリケーションは、設計時プロセス及び実行時プロセスを使用して生成される。設計時プロセスでは、開発者はプロセスエディタ２１９を使用してビジネスプロセスを指定するとともに、プロセスを配備する。実行時プロセスでは、ビジネスプロセスエンジン２１５はプロセス仕様のインスタンスを生成するとともに、プロセスシーケンス内で指定されたようにタスクを実行する。外部Ｗｅｂサービス起動を起動する各タスクに対して、ビジネスプロセスエンジン２１５は、イベント管理部２１６を呼び出すとともに、サービス要求をイベント管理部２１６に渡す。
【００３８】
イベント管理部は、要求をベースとしてサービスプロキシレジストリから適切なサービスプロキシを選択するとともに、サービスプロキシをインスタンス化する。各々のインスタンス化されたサービスプロキシは、バインドされた外部Ｗｅｂサービスを呼び出すとともに、イベント管理部の呼び出し結果を返却し、次に応答をビジネスプロセスエンジンに転送する。ビジネスプロセスエンジンは、全ての外部サービス呼び出しからの応答を収集するとともに複合出力を生成し、それによって複合ビジネスプロセスを配備するために、返却されたデータ上で複合化動作を実行する。
【００３９】
図３は、複合アプリケーション層でのセキュアな自動アプリケーション複合化を実施する代表的プロセス３００を図説する。簡潔には、コンピュータで実施されるプロセス３００は、ビジネスプロセスの仕様にアクセスすることを具備し、仕様は、セキュリティ意図と、ビジネスプロセスの少なくとも一部分を定義するとともに外部サービスを呼び出すタスクとを定義するセキュリティアノテーションを具備する。プロセス３００は、またセキュリティアノテーションに関連付けられたセキュリティパターンを起動することと、起動されたセキュリティパターン上でセキュリティ意図を満足する外部サービスに関連付けられたサービスプロバイダを特定することと、特定されたサービスプロバイダを使用してビジネスプロセスを起動することとを具備する。
【００４０】
より詳細には、プロセス３００が開始する（Ｓ３０１）と、ビジネスプロセスのための仕様がアクセスされる（Ｓ３０２）。仕様は、セキュリティ意図を定義するセキュリティアノテーションと、ビジネスプロセスの少なくとも一部分を定義するとともに、外部サービスを呼び出すタスクとを具備する。
【００４１】
後述事項を簡単に参照すると、図４は、設計時でのビジネスプロセス開発者によるビジネスプロセス仕様の準備を図示するスイム図（ｓｗｉｍ  ｄｉａｇｒａｍ）である。ビジネスプロセス開発者は、ポリシー運用ツール４０１を使用して、企業ポリシーレポジトリ４０２から企業のセキュリティポリシーｃｏｍｐ−ａｐｐ−ｓｇを回収する。なぜなら、設計下の複合アプリケーションのタイプは、実施される必要があるセキュリティポリシーに影響しうるからである。ビジネスプロセス開発者は、また、企業のセキュリティポリシーと少なくとも同程度に厳格なアプリケーション固有のセキュリティポリシーを定義しても良い。
【００４２】
さらに、ビジネスプロセス開発者は、企業セキュリティ機能カタログ４０５からセキュリティ機能ｃｏｍｐ−ａｐｐ−ｃａｐを回収する。各々の回収されたセキュリティポリシーに対して、ビジネスプロセス開発者は、ポリシーパターンレポジトリ４０４から適切なセキュリティポリシーパターンを選択するとともに、実施されるべき複合ビジネスプロセスのために選択されたポリシーパターンをカスタム化する。カスタム化されたポリシーパターンは、ポリシーアノテーションとしてビジネスプロセス仕様４０７内に挿入される。ここで、アノテーションはポリシードメイン固有の言語を使用して表現されても良い。
【００４３】
ビジネスプロセス開発者は、また、企業セキュリティ機能カタログ４０５から回収されたセキュリティ機能をもって、ポリシー構成サーバ４０６を更新する。各複合アプリケーションは、セキュリティポリシーを格納及び検索するサービスと特定の複合ビジネスプロセスに関連付けられた機能とを提供するポリシー構成サーバに関連付けられる。
【００４４】
図４内のスイム図で図説された処理は、複合アプリケーション層で実行される。反対に、サービスプロバイダ層では、Ｗｅｂサービスの説明及び関連付けられたセキュリティポリシー及びセキュリティ機能が生成されるとともに、サービス及びそれらに関連付けられたメタデータ（例えばセキュリティポリシー及びセキュリティ）が、サービスレジストリに登録される。
【００４５】
以下でさらに詳細に説明されるが、サービスは、バックエンド企業サービス、外部ビジネスツービジネスサービス、又はローカルサービスであっても良い。セキュリティアノテーションは、セキュリティ意図を表す変数を具備しても良く、セキュリティパターンは、変数を使用して起動される。セキュリティ意図は、外部Ｗｅｂサービスを使用するときに外部実施ポリシーを宣言しても良く、起動されたビジネスプロセスをＷｅｂサービスとして公開するときに、ポリシーとして宣言しても良く、タスクが人間相互作用を要求するときに、タスクベースの承認要件を宣言しても良く、又はタスクが実行される順序を指定するタスクベースの承認制約を宣言しても良い。セキュリティ意図は、タスクを実行することが可能な職務を指定しても良い。
【００４６】
さらに、セキュリティ意図は、タスクが実行される順序を指定しても良い。ビジネスプロセスを起動することは、タスクを実行することをさらに具備しても良い。セキュリティパターンは、サービスプロバイダが特定される前にセキュリティ意図の実施をトリガするのに使用される第１エントリポイントと、タスクが実行される前にセキュリティ意図の実施をトリガするのに使用される第２エントリポイントと、タスクが実行された後にセキュリティ意図の実施をトリガするのに使用される第３エントリポイントとを具備しても良い。セキュリティ意図は、メッセージ機密性、暗号化セキュリティ意図、インテグリティ意図、職務割り当て意図、又はタスク実行順序意図を定義しても良い。
【００４７】
セキュリティアノテーションに関連付けられたセキュリティパターンが起動される（Ｓ３０４）。図５内のスイム図５００内で示されるように、ビジネスプロセスエンジン５０１は、実行時にセキュリティアノテーションを具備するビジネスプロセス仕様のインスタンスを生成する。セキュリティアノテーションを実行又は起動するために、ビジネスプロセスエンジン５０１は、セキュリティアノテーションをパースするポリシードメイン固有の言語エンジン５０２を呼び出す。
【００４８】
ポリシードメイン固有の言語エンジン５０２によって一度パースされると、ポリシー構成サーバ５０５は、生成された現在の複合プロセスのセキュリティポリシーｃｏｍｐ−ａｐｐ−ｓｇをもって更新される。これらの生成されたセキュリティポリシーｃｏｍｐ−ａｐｐ−ｓｇに加えて、ポリシー構成サーバは複合プロセスのセキュリティ機能ｃｏｍｐ−ａｐｐ−ｃａｐも格納する。上記で指示されたように、設計時に、機能ｃｏｍｐ−ａｐｐ−ｃａｐはポリシー構成サーバ５０５内にアップロードされている。
【００４９】
セキュリティ意図を満足する外部サービスに関連付けられたサービスプロバイダは、起動されたセキュリティパターンをベースとして特定される（Ｓ３０５）。図５内に示されるように、ポリシードメイン固有の言語エンジン５０２は、考えられるサービスプロバイダの一覧がサービスレジストリ５１０内に登録されている、合致するサービスプロバイダ５１１の特定のために、サービスブローカー５０７をトリガする、呼び出す、実行又はそうでなければ起動する。
【００５０】
サービスブローカー５０７は、サービスレジストリ５１０から、全ての考えられるサービスプロバイダ５１１のためのサービスアクセス情報を回収する。このサービスアクセス情報は、ＵＲＬ（ＵＲＬ）及びＷｅｂサービス動作署名のような、アドレス又はＷｅｂサービスエンドポイントを具備する。これらのＷｅｂサービス動作署名は、動作の名称、及び入力又は出力パラメータを具備しても良い。
【００５１】
合致する機能を実行するために、サービスブローカー５０７は、それらのセキュリティポリシーｓｐ−ｐｏｌ及びセキュリティ機能ｓｐ−ｃａｐをそれぞれ回収するために、登録された、考えられるサービスプロバイダ５１１の各々を起動する。サービスブローカー５０７は、また、ポリシー構成サーバ５０５から複合アプリケーションのセキュリティポリシーｃｏｍｐ−ａｐｐ−ｓｇ及びセキュリティ機能ｃｏｍｐ−ａｐｐ−ｃａｐを回収する。
【００５２】
セキュリティポリシー及び複合アプリケーションの機能及びサービスプロバイダを回収したら、サービスブローカー５０７は、少なくとも２つのテストを実行する。例えば、サービスブローカーは、複合アプリケーションのセキュリティポリシーｃｏｍｐ−ａｐｐ−ｓｇに合致する、又はそうでなければ満足するセキュリティ機能ｓｐ−ｃａｐを、サービスプロバイダ５１１が提供するかどうかを判定しても良い。さらに、サービスブローカー５０７は、サービスプロバイダ５１１のセキュリティポリシーｓｐ−ｐｏｌに合致する、又はそうでなければ満足するセキュリティ機能ｃｏｍｐ−ａｐｐ−ｃａｐを複合アプリケーションが提供するかどうかを判定する。
【００５３】
もし両方のテストに合格したら、次いでサービスプロバイダ５１１は、セキュア複合アプリケーションのために使用されても良い。なぜなら、サービスプロバイダ５１１及び複合アプリケーションの両方は、互いにセキュアに通信する資格を有しているからである。登録された各々の考えられるサービスプロバイダ５１１に対するこれらのテストを実行した後に、サービスブローカー５０７は特定され、資格を有するサービスプロバイダ５１１の設定を知識ベース内に格納するとともに、プロバイダ選択が完了されるとともに、サービスプロバイダが適切にフィルタされたことを指示するイベントを生成する。
【００５４】
ビジネスプロセスは、特定されたサービスプロバイダを使用して起動され（Ｓ３０６）、それによってプロセス３００を終了する（Ｓ３０７）。セキュリティアノテーションをパースするとともに、サービスプロバイダを特定した後に、ビジネスプロセスエンジン５０１は、少なくとも１つのタスクがセキュアなサービスプロキシを使用して外部のＷｅｂサービスを起動するビジネスプロセス内に具備されるタスクを実行又はそうでなければ起動する。内部及び外部サービスの呼び出しは、ビジネスプロセスエンジン５０１によってトリガされるイベント管理部５０４によって管理される。
【００５５】
各々の外部Ｗｅｂサービスの呼び出しに対して、イベント管理部５０４は、全ての特定された、資格を有するサービスプロバイダの一覧をサービスブローカー５０７から回収するとともに、複合アプリケーション及び各々の特定されたサービスプロバイダ５１１の間のセキュアな通信を確立するのに有用でありうる任意の情報にアクセスする。この情報は、エンドポイント情報のようなＷｅｂサービスアクセス情報、複合アプリケーションのセキュリティポリシーｃｏｍｐ−ａｐｐ−ｓｇ及び機能ｃｏｍｐ−ａｐｐ−ｃａｐ、サービスプロバイダのセキュリティポリシーｓｐ−ｐｏｌ及び機能ｓｐ−ｃａｐ、特定された、資格を有するサービスプロバイダ、及びパターン実施カタログ内に格納されている適切なセキュリティ実施への参照の一覧を具備しても良い。
【００５６】
イベント管理部５０４は、次いで、起動される各サービスプロバイダ５１１に対して、セキュアなサービスプロキシ５０６の実施を生成する。内部攻撃（例えばコード修正）からセキュアなサービスプロキシ５０６の実施をプロテクトするために、イベント管理部５０４は、セキュアなサービスプロキシ５０６コードと、セキュアなサービスプロキシレジストリ５０９内のセキュアなサービスプロキシ５０６コードとを暗号化する。セキュアなサービスプロキシ５０６は、サービスプロバイダ５１１へのセキュアなサービス呼び出しを管理するとともに、暗号化、トークン検証、又はトークン回収のようなセキュリティ動作を処理するための動作を提供するサービスプロキシのタイプである。
【００５７】
各々のセキュアなサービスアクセスに対して、イベント管理部５０４は、セキュアなサービスプロキシレジストリ５０９から暗号化されたセキュアなサービスプロキシ５０６のコードを回収するとともに、コードを復号化した後にセキュアなサービスプロキシ５０６をインスタンス化する。イベント管理部５０４は、（例えばセキュリティトークンを要求に添付する、又は要求を暗号化することによる）セキュリティ動作を適用するセキュアなサービスプロキシ５０６によって提供されるサービス動作を起動するとともに、外部Ｗｅｂサービス動作を呼び出す。
【００５８】
特定されたサービスプロバイダ５１１の各Ｗｅｂサービスは呼び出しを受信し、関連付けられたセキュリティ動作を（例えばトークンを検証する、又は復号化を実行することによって）実行するとともに、入来するメッセージ要求を処理する。サービスプロバイダ５１１は、次いで、セキュアなサービスプロキシ５０６への応答を生成し、応答に適切なセキュリティ動作を（例えば応答を署名することによって）適用するとともに、セキュアにされた応答をセキュアなサービスプロキシ５０６に伝送する。
【００５９】
セキュアなサービスプロキシ５０６は、セキュアにされた結果を受信し、関連付けられたセキュリティ動作を（例えば署名を検証することによって）応答に適用するとともに、イベント管理部５０４に処理された応答を返却する。次に、イベント管理部５０４は、処理された応答をビジネスプロセスに提供するビジネスプロセスエンジン５０１に結果を転送する。
【００６０】
次は、出荷ビジネスの環境で特定されたサービスプロバイダを使用するビジネスプロセスの起動の実施例である。この直接的な実施例では、ＩＣＡＲＲＩＥＲとして参照される複合アプリケーションは、自動車製造者から新規の車販売特約店に自動車を搬送するための資格を有するキャリアを選択するビジネスロジックを使用する。
【００６１】
ＩＣＡＲＲＩＥＲアプリケーションのためのドメイン固有の言語を使用して定義される代表的プロセス仕様は、下の＜表１＞内に示される。
【００６２】
【表１】
0005166196.tif 000002
【００６３】
代表的なビジネスプロセス仕様では、タスクの実行：ＧＥＴ＿ＣＡＲＲＩＥＲ＿ＬＩＳＴ（）は、セキュリティポリシー及び機能に関して、資格を有するキャリアの一覧を返却する。ビジネスプロセスによって定義された複合アプリケーションは、キャリアへの少なくとも２つの相互作用を具備する。異なるキャリアからのレートを回収するＧＥＴ＿ＲＡＴＥ（ＳＨＩＰＭＥＮＴ＿ＤＡＴＡ）及び出荷のためのキャリアを予約するＢＯＯＫ＿ＣＡＲＲＩＥＲ（ＳＨＩＰＭＥＮＴＩＤ）。キャリアは、Ｗｅｂサービスとしてそれらの機能性を提供するとともに、使用すべき適切なキャリアの選択は、ＩＣＡＲＲＩＥＲ及び考えられるキャリアが、互いにセキュリティポリシー及びセキュリティ機能を満足するかどうかにも依存する。
【００６４】
考えられる３つのキャリアのセキュリティポリシー及びセキュリティ機能は、下で＜表２＞内に示される。
【００６５】
【表２】
0005166196.tif 000003
【００６６】
この実施例では、ＩＣＡＲＲＩＥＲ  Ｗｅｂサービスは、ＬＯＯＫＵＰ＿ＭＹＰＯＬＩＣＩＥＳ（）又はＬＯＯＫＵＰ＿ＭＹＣＡＰＡＢＩＬＩＴＩＥＳ（）サービス動作を使用することによるように、これらのポリシー及び機能を回収するための動作を提供する。
【００６７】
自動車製造者のセキュリティポリシーは、既存アプリケーションのための全てのＢ２Ｂ接続は機密性を保証すべきであることを指示することが前提とされる。このポリシーを満たすために、ＩＣＡＲＲＩＥＲは、機密性を保証するセキュリティ機能を提供するキャリアのみを選択する必要がある。しかしながら、同時にＩＣＡＲＲＩＥＲは、キャリア（即ちサービスプロバイダ）のセキュリティポリシーを満足するセキュリティ機能を具備すべきである。
【００６８】
ビジネスプロセス仕様を準備するときに、ＩＣＡＲＲＩＥＲビジネスプロセス開発者は、全てのＢ２Ｂ接続が機密性を保証することを指示する、次の「Ｂ２ＢＣＯＮＦＩＤＥＮＴＩＡＬＩＴＹ」セキュリティパターンを回収する：ＰＡＴＴＥＲＮ：  ＥＮＦＯＲＣＥ  ”Ｂ２ＢＣＯＮＦＩＤＥＮＴＩＡＬＩＴＹ”  ＤＵＲＩＮＧ  ＰＲＯＣＥＳＳ  ＜ＰＲＯＣＥＳＳ＿ＮＡＭＥ＞。
【００６９】
他のセキュリティパターンのように、このパターンは、各々の特定プロセスに対してインスタンス化されるテンプレートとして使用される。ビジネスプロセス開発者は、このパターンをカスタム化して、ポリシードメイン固有の言語を使用して、＜表１＞内に示されるＩＣＡＲＲＩＥＲビジネスプロセス仕様に、次のアノテーションを挿入する：ＥＮＦＯＲＣＥ  ”Ｂ２ＢＣＯＮＦＩＤＥＮＴＩＡＬＩＴＹ”  ＤＵＲＩＮＧ  ＰＲＯＣＥＳＳ  ＩＣＡＲＲＩＥＲ。
【００７０】
プロセスドメイン固有の言語及びポリシードメイン固有の言語の組み合わせを具備するアノテーションが付されたプロセス仕様は、下の＜表３＞内に示される。
【００７１】
【表３】
0005166196.tif 000004
【００７２】
このビジネスプロセス仕様を使用して、セキュアなＩＣＡＲＲＩＥＲは、資格を有するキャリアとしてＡ−Ｔｒａｎｓのみを選択する。特に、Ａ−Ｔｒａｎｓは、ＩＣＡＲＲＩＥＲの「ｍｅｓｓａｇｅ−ｃｏｎｆｉｄｅｎｔｉａｌｉｔｙ」セキュリティポリシーを満足する。なぜなら、Ａ−Ｔｒａｎｓは、（セキュアなチャネル通信を実現するのに使用される）ＲＳＡ暗号化及び復号化機能を提供するとともに、なぜなら、ＲＳＡ暗号化及び復号化機能は、また、（ＩＣＡＲＲＩＥＲのセキュリティ機能一覧内で反映されるように）ＩＣＡＲＲＩＥＲそれ自体によってサポートされるからである。さらに、ＩＣＡＲＲＩＥＲは、Ａ−ｔｒａｎｓの「ｍｅｓｓａｇｅ−ｃｏｎｆｉｄｅｎｔｉａｌｉｔｙ」セキュリティポリシーを満足する。なぜなら、ＩＣＡＲＲＩＥＲは、（セキュアなチャネル通信を実現するのに使用される）ＲＳＡ暗号化及び復号化機能を提供するとともに、なぜなら、ＲＳＡ暗号化及び復号化機能は、また、（Ａ−ｔｒａｎｓのセキュリティ機能一覧内で反映されるように）Ａ−Ｔｒａｎｓによってサポートされるからである。
【００７３】
さらに、ＩＣＡＲＲＩＥＲは、またＡ−ｔｒａｎｓの「ｓｅｒｖｉｃｅ−ｃｏｎｆｉｄｅｎｔｉａｌｉｔｙ：：ｃｅｒｔｉｆｉｃａｔｅ−ｂａｓｅｄ−ａｃｃｅｓｓ−ｃｏｎｔｒｏｌ」セキュリティポリシーを満足する。なぜなら、ＩＣＡＲＲＩＥＲは、（メンバシップの職務のような証明書符号化されたアトリビュートをベースとしてアクセス管理決定を取得するために要求される）Ｘ５０９証明書セキュリティ機能を提供するとともに、なぜなら、同一のＸ５０９証明書セキュリティ機能又は処理機能性は、また、（Ａ−ｔｒａｎｓのセキュリティ機能一覧内に反映されているように）Ａ−Ｔｒａｎｓによってサポートされるからである。この一致をベースとして、ＩＣＡＲＲＩＥＲは、要求されるセキュリティ機能性が実行時に実施されることを保証するセキュリティプロキシを自動的に生成する。例えば、サービス呼び出しＧＥＴ＿ＲＡＴＥ及びＢＯＯＫ＿ＣＡＲＲＩＥＲは、セキュアに実施される。キャリアＢ−Ｔｒａｎｓ及びＣ−Ｔｒａｎｓは、ＩＣＡＲＲＩＥＲのセキュリティポリシーを満たさず、かつこのように資格を有するキャリアとして特定されない。
【００７４】
もし自動車製造者が自身のＢ２Ｂ接続セキュリティポリシーを更新すると、ビジネスプロセス開発者は、ＩＣＡＲＲＩＥＲビジネスプロセス仕様内のセキュリティアノテーションを容易に変更するとともに、新規のセキュリティポリシーを反映するために、複合アプリケーションを再配備しうる。例えば、もし新規のセキュリティポリシーは、機密の接続を確実にするのにＢ２Ｂ接続が必要でないことを指示するならば、ビジネスプロセス開発者は、プロセスエディタを使用して、古いアノテーション「Ｂ２Ｂｃｏｎｆｉｄｅｎｔｉａｌｉｔｙ」を「ｎｏＢ２Ｂｓｅｃｕｒｉｔｙ」に置換するとともに、セキュリティ機能要件を消去しうる。この更新されたビジネスプロセス仕様は、下の＜表４＞内に示される。
【００７５】
【表４】
0005166196.tif 000005
【００７６】
更新されたセキュリティポリシー及び機能一覧は、また、＜表５＞内で示されるように調節されても良い。
【００７７】
【表５】
0005166196.tif 000006
【００７８】
この更新されたセキュリティスキームの下では、資格を有するキャリアとして特定される唯一のキャリアがＣ−Ｔｒａｎｓでありうる。この点で、この処理は、アノテーション内で表現されるハイレベルセキュリティ意図に合致するように、所望のセキュリティ動作を実行するプロテクトされたセキュリティプロキシを生成するために、ドメイン固有のなセキュリティアノテーションを使用することによって自動的に制御される。
【００７９】
次に、セキュアなサービスプロキシの特定の代表的な実施が説明される。セキュアなサービスプロキシの１つの主要なタスクは、ビジネスプロセス仕様内に具備されるセキュリティアノテーションに関連付けられるセキュリティポリシーを満足するように実行されるセキュリティに関するタスクを取り扱うことである。そのようにして、「Ｂ２Ｂ機密性」セキュリティポリシーを実施するために生成されたセキュアなサービスプロキシによって実行される処理は、以下にさらに詳細に説明される。
【００８０】
この実施例では、ＩＣＡＲＲＩＥＲ及びＡ−Ｔｒａｎｓに関連付けられるセキュリティポリシー及び機能は、＜表２＞内に反映されるように、「ｕｎａｌｔｅｒｅｄ」状態のそれである。このように、セキュアなサービスプロキシは、指定されるセキュリティポリシーを満足するためにタスクを実行するのに使用される。
【００８１】
ＩＣＡＲＲＩＥＲからＡ−Ｔｒａｎｓへの通信に関して、セキュアなサービスプロキシは、アトリビュートサーバからＩＣＡＲＲＩＥＲのための証明書を受信する。ここで、証明書は、Ｇｏｌｄ  ＤＨＬ  Ｐａｒｔｎｅｒ証明書のように、ＩＣＡＲＲＩＥＲの適格性を証明するのに使用されるＩＣＡＲＲＩＥＲのアトリビュートを符号化する。セキュアなサービスプロキシは、また、ＩＣＡＲＲＩＥＲの公開鍵ストアからＡ−Ｔｒａｎｓのための公開鍵を回収するとともに、Ａ−ＴｒａｎｓのＷｅｂサービス取り扱いにアクセスする。ＩＣＡＲＲＩＥＲのための秘密鍵は、ＩＣＡＲＲＩＥＲの秘密鍵ストアからロードされるとともに、Ａ−Ｔｒａｎｓの出荷要求は暗号化される。暗号化された出荷要求及びＩＣＡＲＲＩＥＲ証明書は、Ａ−ＴｒａｎｓのＷｅｂサービスによって提供されるＷｅｂサービス動作を起動することによって送信される。
【００８２】
Ａ−Ｔｒａｎｓの観点から、Ａ−ＴｒａｎｓのＷｅｂサービスは、提出された証明書を検証するとともに、証明書内に符号化されたＩＣＡＲＲＩＥＲアトリビュートをベースとして、アクセス管理決定を生成する。アクセスが付与されているところで、Ａ−Ｔｒａｎｓは、提出された要求を復号化及び処理するとともに、証明書から抽出される公開鍵を使用して結果を暗号化する。暗号化された結果は、ＩＣＡＲＲＩＥＲの秘密鍵を使用して順に結果を復号化するセキュアなサービスプロキシに送信される。このようにして、Ａ−Ｔｒａｎｓは、ＩＣＡＲＲＩＥＲの伝送に先立ち結果を暗号化することによってＩＣＡＲＲＩＥＲのメッセージ機密性ポリシーを達成する。
【００８３】
この結果は、結果が実際に暗号化されたかどうかを判定するために検査する、ＩＣＡＲＲＩＥＲのセキュアなサービスプロキシによって実施される。メッセージ機密性は、このように満足される。なぜなら、出荷要求及び対応する結果は暗号化されているからである。さらに、「ｃｏｎｆｉｄｅｎｔｉａｌｉｔｙ：：ｃｅｒｔｉｆｉｃａｔｅ−ｂａｓｅｄ−ａｃｃｅｓｓ−ｃｏｎｔｒｏｌ」ポリシー。なぜなら、ＩＣＡＲＲＩＥＲ証明書は、Ａ−ＴｒａｎｓＷｅｂサービスによって提供されるＷｅｂサービス動作を起動することによって送信されるからである。
【００８４】
図６は、複合アプリケーション開発フレームワーク６００によって呼び出されうるサービスのカテゴリを図説するブロック図である。上記で説明されたように、例えば、第１会社６０２の複合アプリケーション６０１によって起動されたタスクは、第２会社６０５の外部Ｗｅｂサービス６０４を呼び出しても良い。さらに、複合アプリケーションは、バックエンド企業アプリケーション（例えば企業資源計画アプリケーション）、又はさらにはローカルコンポーネントとして複合アプリケーションに構築されたローカルサービス６０７からもバックエンドサービス６０６を呼び出しても良い。
【００８５】
多くの場合に、ビジネスプロセス開発者は１つ又は複数の既存サービスによって充分に捕捉されていないいくつかのビジネスロジックを実施しているかもしれないため、ローカルサービス６０７が使用される。ローカルサービスは、複合アプリケーション開発者によって生成されても、又は他のコンポーネントプロバイダからインポートされても良い。これらのローカルサービス６０７は、他の複合アプリケーションによるアクセスのためにＷｅｂサービスとして公開されても良い。
【００８６】
強化されたフレームワーク６００は、複合アプリケーションのセキュリティを効率的に指定するために、特定の開発タスクを定義することによって複合アプリケーションの開発を補助する。フレームワーク６００は、また、どのような情報及びセキュリティアーティファクトを異なる参加者が開発プロセス内に含まれる他のパーティーと交換するかに関する設計時プロトコルを定義する。開発タスクの間の依存関係を定義することは、設計プロセスを組織するのを援助する。
【００８７】
図７及び８は、強化されたフレームワーク６００を使用した複合アプリケーションの開発の種々のフェーズを図示する。図７では、例えば、セキュリティをモデリングするのに使用される全体のプロセスは、セキュリティ目的が特定される定義フェーズ７０１と、特定されたセキュリティ目的を達成するための機構が提供される実現化フェーズ７０２と、複合アプリケーションのためのセキュリティ目的又はサービスが添付されたアノテーションを使用して選択される宣言フェーズ７０４とを具備する。
【００８８】
定義フェーズ７０１では、セキュリティチームは、ビジネスシナリオ及び関連するビジネスプロセス内の危険を分析するとともに、関連付けられるリスクを特定するために、セキュリティリスク分析７０５を実行する。そのようなシステム的分析は、サービス指向のビジネスアプリケーション内のサービス相互作用の機構を特定することによって、かつ個々のサービス相互作用の機構に対して危険分析を実行することによってなしうる。
【００８９】
リスクを軽減するために、製品セキュリティチームは、セキュリティパターン内でキャスト可能なセキュリティソリューションを提案するためにセキュリティパターン定義７０６を準備する。セキュリティパターンの定義を通して、異なる複合アプリケーションの間でソリューションは再利用可能にされる。そのようにして、セキュアである必要のある他のアプリケーションに亘るセキュリティ機構の統一された使用法が、準備されうる。
【００９０】
定義フェーズ７０１でも同様に、製品セキュリティチームは、セキュリティパターンの組み合わせとともに実現されうるハイレベルセキュリティ意図の設定を定義するために、セキュリティ意図定義７０７を準備する。セキュリティ意図定義７０７は、アプリケーション開発ライフサイクル内で、他のチームに亘るセキュリティ目的の統一された定義を可能にすることを目的とする意図オントロジを提供する。
【００９１】
実現化フェーズ７０２では、セキュリティ開発者は、ドメイン依存パターンを特定の環境にバインドするセキュリティパターン実施７０９を提供する。ドメイン依存パターンを再利用するときに、セキュリティ開発チームは、異なる実施に適合するために会社固有のなルールに従う。セキュリティパターンプロビジョニング７１０を構成し、実施されたパターンがパターンレポジトリを通して利用可能にされる。
【００９２】
宣言フェーズ７０４では、複合アプリケーション開発者は、複合アプリケーションによって従われなければならないセキュリティ意図を宣言するために、アプリケーションレベル意図宣言７１１を準備する。アプリケーションレベル意図宣言７１１は、複合アプリケーションのセキュリティ意図を捕捉するとともに、複合アプリケーションの構成要素部分（例えば、ローカルコンポーネント、プロセスタスク、外部Ｗｅｂサービス）との相互作用をセキュアにするために、複合アプリケーションによって適用される意図を定義するのに使用される。
【００９３】
サービスレベル意図宣言７１２を実行することによって、複合開発チームは、複合アプリケーション又はローカルコンポーネントをサービスとして公開しても良い。このようにして、ＱｏＰ要件は、公開に先立ちセキュリティ意図を複合アプリケーション及びローカルコンポーネントに追加することによって定義されても良い。
【００９４】
図８では、複合アプリケーションの安全な実行を確実にするのに使用される全体のプロセスは、開始フェーズ８０１、及び実施フェーズ８０２を具備する。開始フェーズ８０１内で使用されるプロトコルは、実施フェーズ８０２内で使用されるプロトコルに対するベースを保証する。
【００９５】
開始フェーズ８０１では、セキュリティ構成８０４は、複合アプリケーションを実行する前に発生する。例えば、割り当てられたアプリケーションレベルセキュリティ意図は、ロードされるとともに、実行時実施に対して内部的に構成される。バックエンドサービスとともに相互作用するときに、対応するセキュリティ構成は、十分な承認許可がバックエンド上のサービスの実行に先立ち配置されるようにセットアップされる。ポリシー更新プロトコルは、このように、承認ポリシーを生成するとともに、バックエンドポリシーデータベースに欠けているポリシーを挿入するのに使用される。外部サービスと相互作用するときに、信頼（ｔｒｕｓｔ）は、承認及び承認アトリビュートを交換することによって確立されうる。
【００９６】
外部ポリシー交渉８０５は、異なるセキュリティドメインに関連付けられるサービスのような外部サービスを複合アプリケーションが使用するときに発生する。（例えばサービス消費者としての）複合アプリケーション及び（例えばサービス提供者としての）外部サービスは、トークンタイプ、暗号化アルゴリズム及び使用される機構に関するような、それらの個々のセキュリティポリシー及びセキュリティ機能を定義しても良い。相互作用を保証する前に、複合アプリケーション及び外部サービスの両方は、共通のポリシーを指定する同意に到達する。この到達された同意は、種々のソースからのポリシーのマージをサポートするポリシー交渉プロセスによって発効される。
【００９７】
実施フェーズ８０２では、外部ポリシー実施８０６は、両者間の各相互作用のために共通のポリシーを実施することを取り扱う。外部ポリシー実施８０７は、例えば、セキュリティトークンをメッセージに追加することによって、交換されたメッセージが修正されることを要求しても良い。ローカルセキュリティ実施８０７に対して、強化されたフレームワークは、アクセスをローカルサービス及びオブジェクトに規制するために、アクセス管理機構を提供する。そのようにすることで、アプリケーションセキュリティポリシーの効率的な仕様をサポートするとともに、またこれらのポリシーの実施及び管理のために使用される実行時コンポーネントをサポートするドメイン固有言語のファミリーが提供される。
【００９８】
上記で指示されたように、セキュリティポリシーは、ビジネスプロセス仕様に意図を添付することによって指定される。同様に動作を具備しうるいくつかのタスクを具備するプロセスを定義するように、複合アプリケーションの機能の一部を効率的に定義するために、ビジネススクリプト言語が設計される。タスクは、ローカルサービスを使用しても、変数内にローカルデータを格納して、かつ外部Ｗｅｂサービス又はバックエンドシステムを起動しても良い。
【００９９】
後述の内容を簡潔に参照する。図１６は、セキュアな自動アプリケーション複合を実施する他の処理１６００を図説する。簡潔には、処理１６００が開始するときに（Ｓ１６０１）、セキュリティフレームワークがビジネスプロセスに適用され（Ｓ１６０２）、セキュリティフレームワークは複合アプリケーションのセキュリティ目的を特定する定義フェーズと、特定されたセキュリティ目的を達成するセキュリティパターンを実施する実現化フェーズと、セキュリティパターンをベースとする複合アプリケーション内部でセキュリティアノテーションを使用して、特定されたセキュリティ目的を実施する宣言フェーズとを具備する。外部ポリシー交渉は、セキュリティフレームワークを適用することをベースとして、複合アプリケーション及び外部サービスの間の共通にポリシーを指定するように行われる（Ｓ１６０４）。共通のポリシーは、複合アプリケーション及び外部サービスの間の各相互作用に対して実施される（Ｓ１６０５）。外部サービスによるローカルサービス及びオブジェクトへのアクセスは、セキュリティ目的をベースとして規制され（Ｓ１６０６）、それによって、プロセス１６００を終了する（Ｓ１６０６）。
【０１００】
下の＜表６＞は、考えられるキャリアの設定から、（自動車キャリアのような）資格を有するキャリアを選択及び予約するためのストリームライン化プロセスを図説する、他の実施例ビジネスプロセス仕様を提供する。参照の容易さのために、ビジネスプロセス仕様の各行には番号が付されている。
【０１０１】
【表６】
0005166196.tif 000007
【０１０２】
選択プロセスは、与えられた出荷要求に対してキャリアによって送信されるレートをベースとして発生するとともに、シーケンス（行１８−２０）で実行される４つのタスクを具備する。ＧＥＴ＿ＣＡＲＲＩＥＲＳタスクは、出荷要求詳細をベースとして、それらの資格を検査した後にキャリアレジストリからキャリアの組を選択する。ＧＥＴ＿ＲＡＴＥタスクは、各キャリアに対して見積要求（ＲＦＱ）を生成し、それによって、各キャリアは、ＲＦＱを評価するとともに、申し出をもって応答する。タスクＨＵＭＡＮ＿ＴＡＳＫは、人間ユーザによる、キャリアの手動選択を実行する機能性を実施する。追加的に、ＢＯＯＫ＿ＣＡＲＲＩＥＲタスクは、選択されたキャリアの予約を実行する。
【０１０３】
セキュリティ目的は、セキュリティ意図の形式で、ビジネスプロセス仕様内で表現される。例えば、図９は、ビジネスプロセス内でセキュリティを指定するのに使用されるモデル９００を図説する。定義フェーズは、（セキュリティ意図９０２のような）名称の付されたセキュリティ意図の意図オントロジ９０１を定義するとともに、実現化フェーズは、（パターン９０５のような）パターンのパターンレポジトリ９０４を実現する。セキュリティ意図９０２は、パターン９０５に関連付けられる。なぜなら、パターン９０５は、セキュリティ意図９０２を実施するからである。
【０１０４】
セキュリティ意図は、ビジネスプロセス仕様内でセキュリティアノテーションを具備することによって実施される。例えば、プロセス９０６は、ビジネスプロセス仕様に添付されたセキュリティアノテーション９０７を使用することによって、実施されるセキュリティ意図の編成された設定を宣言しても良い。３つの実施例セキュリティアノテーションは、（実施セキュリティアノテーション９１０又は公開セキュリティアノテーション９１１のような）サービス相互作用セキュリティアノテーション９０９、割り当てセキュリティアノテーション９１２、又は制約セキュリティアノテーション９１４を具備する。
【０１０５】
サービス相互作用アノテーション９０９は、例えばメッセージが送出されるときに、それらが暗号化されなければならないといった、Ｗｅｂサービスを使用するときの、外部の実施セキュリティポリシーを宣言するのに使用される。（サービス使用法意図表現を実施する）実施アノテーション９１０ステートメントは、複合アプリケーションによって使用されるＷｅｂサービスを伴う相互作用に対するポリシーを宣言する。例えば、＜表６＞の行５では、Ｂ２ＢＣｏｎｆｉｄｅｎｔｉａｌｉｔｙ及びＢ２ＢＩｎｔｅｇｒｉｔｙが実施され、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（ＳＯＡＰ）メッセージが暗号化されるとともに署名されることを強制する。従って、（Ｗｅｂサービスを呼び出すＧＥＴ＿ＲＡＴＥ又はＢＯＯＫ＿ＣＡＲＲＩＥＲタスクであっても良い）タスク９１５を実行するときに、ＳＯＡＰメッセージは、伝送に先立ち、暗号化及び署名される。
【０１０６】
（サービス使用法意図表現を公開する）公開セキュリティアノテーション９１１ステートメントは、複合アプリケーション又はローカルコンポーネントをＷｅｂサービスとして公開するときに使用されるセキュリティポリシーを宣言する。例えば、＜表６＞の行６では、複合アプリケーションは、公開されたサービスを起動する任意のサービス消費者とともに暗号化された通信を要求するＷｅｂサービスとして公開される。
【０１０７】
割り当てセキュリティアノテーション９１２（ａｓｓｉｇｎ  ＜ｒｏｌｅ  ａｓｓｉｇｎｍｅｎｔ  ｉｎｔｅｎｔｉｏｎ  ｅｘｐｒｅｓｓｉｏｎ＞）ステートメントは、与えられたタスクをどの職務が実行可能であるかを指定する。例えば、＜表６＞の行７では、ビジネスプロセス開発者は、タスクＳＥＬＥＣＴ＿ＣＡＲＲＩＥＲは、「管理者」の職務を所有するユーザによって実行されるべきであるという意図を宣言する。
【０１０８】
制約セキュリティアノテーション９１４(ｃｏｎｓｔｒａｉｎｔ  ＜ｅｘｅｃｕｔｉｏｎ  ｏｒｄｅｒ  ｉｎｔｅｎｔｉｏｎ  ｅｘｐｒｅｓｓｉｏｎ＞）は、タスクが実行すれ又は実行される順序又はシーケンスを指定する。例えば、＜表６＞の行８上では、タスクＢＯＯＫ＿ＣＡＲＲＩＥＲは、タスクＳＥＬＥＣＴ＿ＣＡＲＲＩＥＲが完了された後に、即ち管理者がキャリアを選択した後に実行されるべきである。職務の分離、職務のバインド、職務の年功序列、又は他のような、追加の制約タイプは、追加又は代替されても良い。
【０１０９】
本明細書で説明される強化されたフレームワークは、セキュリティポリシーを実施することへのパターン指向アプローチに従う。なぜなら、セキュリティ意図（又はセキュリティ目的）は、定義されたパターンと関連付けられて、かつ定義されたパターンによって実施されるからである。これによって、セキュリティ意図は、セキュリティ意図を説明するセキュリティアノテーションに関連付けられたパターンによって実施されても良い。複合アプリケーションを実行するときに、コンテナは、特定のセキュリティ意図に対する対応するパターンを発見するとともに、アプリケーションをセキュアするためのパターン実施に従う。下の＜表７＞は、セキュリティパターンの抜粋を示す。
【０１１０】
【表７】
0005166196.tif 000008
【０１１１】
全般的に、セキュリティパターンは、例えばどのように特定のセキュリティ問題が実施されなければならないかといった、意図の実施に対する技術的な詳細を提供するのに使用される。これらのパターンは、コンテナプロバイダによって、又はいくつかの他のパーティーによって、パターンライブラリ又はレポジトリの一部として書かれる包括的なセキュリティコンポーネントとして提供されても良く、それは、アプリケーションインフラとともに分散されても良い。もしアプリケーション固有のセキュリティ意図が未だ定義されていないならば、既成のパターン実施が拡張又は抽象化されても良い。セキュリティパターンに対して、ドメイン固有の言語を使用することによって、パターン実施は、モジュール式及び効果的になる。パターン内部の実施コードは、また、スクリプト言語内で書かれても良い。
【０１１２】
＜表６＞内に示される抜粋されたパターン内で、セキュリティを実施するためにパターンが起動されうるいくつかのエントリポイントを具備するモジュールとしてパターンを捕らえても良い。異なるタイプのエントリポイントは、パターンによって実施される実施の特定の一部分をトリガするのに使用されても良い。例えば、ＢＥＦＯＲＥＳＥＲＶＩＣＥＳＥＬＥＣＴＩＯＮは、サービスレジストリが要求される前に指定されたコードが実行されるエントリポイントである。
【０１１３】
図１０は、複合アプリケーションの開発のための設計及び実行環境を提供するセキュリティモニタ１００１を図説するブロック図である。セキュリティポリシー実施は、セキュリティモニタ１００１を使用して実行され、それは、複合アプリケーションコンテナ１０００に統合される。コンテナは、ビジネススクリプト言語で複合アプリケーションを開発するために、統合された設計時間１００３を提供する。
【０１１４】
ビジネスプロセス仕様（又は「スクリプト」又は「説明」）は、保存されるとともに、実行エンジン１００４によって実行可能であるフォーマットでビジネスプロセス仕様を配置するためにスクリプトパーサ１００２によってパースされる。実行の間に、基礎のビジネスプロセスは、コンテナサービス１００５を使用し、それは、サービスレジストリ１００６、及びメッセージングサービス１００７、又は他のサービス１００９を具備しても良い。人間タスクを実行するときに、制御は、タスク一覧ユーザインターフェース（ＵＩ）１０１０に渡され、それを通して手動タスクが完了されうる。
【０１１５】
スクリプトパーサ１００２は、ビジネスプロセス仕様内でのセキュリティ意図の宣言をサポートするように拡張される。コンテナ１０００のコンポーネントによって、セキュリティモニタ１０００が、ビジネスプロセスの実行を観察するとともに、適時に干渉する又はそうでなければ相互作用することが可能になる。
【０１１６】
セキュリティモニタ１００１は、スクリプトパーサ１００２又はメッセージングサービス１００７のような、他のコンテナコンポーネントの状態及び／又は動作を調査及び変更しても良い。動作は、コンポーネントによって生成されるイベントにアクセスすることによって観察される。イベントの文脈を経由して状態がモニタれる。このように、セキュリティモニタ１００１は、どのようなタイプのセキュリティが実施されるべきかを判定するために、ビジネスプロセス仕様及びセキュリティアノテーションにアクセスしても良い。同様に、セキュリティモニタ１００１は、どのようにセキュリティアノテーション内で表現される意図が実施されるべきかを決定するために、パターンレポジトリをアクセスする。
【０１１７】
セキュリティモニタ１００１は、実行エンジン１００４内に導入されているフックを通して、ビジネスプロセスの実行を観察する。そのようにして、セキュリティモニタ１００１は、ビジネスプロセスの実行での全てのセキュリティ関連のイベントが、セキュリティモニタ１００１によって中断されるような、全調停の概念に従う。イベントが実際に発生する前に、モニタはセキュリティを実施するために、実際の状態を検査及び更新する、又は中断されたイベントの効果を更新するための機会を具備する、選択されたパターンを起動する。このことを効果的に達成するために、実行エンジン１００４は、イベントを生成する動作を認識するように構成される。さらに、セキュリティモニタ１００１は、当該特定のビジネスプロセスのために使用されるセキュリティ意図の設定に対するアクセスを具備すべきである。
【０１１８】
実行されたビジネスプロセスの各タスクは、特定のタイプの１つ又は複数のセキュリティ関連のイベントを生成する。タスクを実行する間、実行エンジン１００７は、実行時イベントを生成し、そのタイプは、タスクに何が現在発生しているかに対応する。生成されたイベントが発効する前に、それは、保留されるとともに、セキュリティモニタ１００１に供給され、次いでセキュリティモニタ１００１は、実行時プロトコルを実行しても良く（図８を参照）、かつイベントタイプに対応するエントリポイントで選択されたパターンをさらに起動しても良い。
【０１１９】
イベントタイプは、プロセスモデル変更イベント、サービス選択イベント、前サービス呼び出しイベント、後サービス呼び出しイベント、人間タスク実行イベント、又は他のイベントを具備しても良い。プロセスモデル変更イベントは、ビジネスプロセス仕様又はそのセキュリティ意図が更新及び保存される、一体化された設計時間で生成される。一体化された設計時間を具備しないシステムでは、アナログイベントが配備時間に生成されても良い。コンテナ１０００は、セキュリティ構成プロトコルを実行する。このイベントの場合には、起動されるべき関連するパターンエントリポイントのタイプはない。
【０１２０】
サービス選択イベントは、特定のカテゴリのサービスを選択するためにタスクがサービスレジストリ１００６を使用するときに生成される。このイベントは、選択されたセキュリティポリシーをベースとするサービスプロバイダのフィルタを発生させる。例えば、コンテナ１０００は、複合アプリケーションに対する編成されたポリシーを生成するために、ＢＥＦＯＲＥＳＥＲＶＩＣＥＳＥＬＥＣＴＩＯＮエントリポイントをトリガし、それは、次いで、サービス選択のために使用される。コンテナ１０００は、また、選択されたカテゴリに対して利用可能なサービスプロバイダの一覧を回収するとともに、一覧内の各サービスプロバイダに対してポリシー交渉プロトコルを使用する。もし、同意されたポリシーがサービスプロバイダに対して発見されないならば、サービスプロバイダは、利用可能なサービスプロバイダの一覧から除去される。フィルタされた、特定され資格を有するサービスプロバイダの一覧は、ビジネスプロセスに返却される。
【０１２１】
サービスプロバイダへの呼び出しが発生するときに、イベントが生成されるとともに、送信されるべきメッセージを具備する環境がセットアップされる。コンテナは、パターン内でＢＥＦＯＲＥＳＥＲＶＩＣＥＣＡＬＬエントリポイントをトリガし、コンテナ１０００によってメッセージ内容が送出される前に、コンテナはメッセージ内容を更新しても良い。同様に、サービスプロバイダがメッセージを返却するときに、イベントが生成されるとともに、受信されたメッセージを具備する環境がセットアップされる。コンテナは、メッセージを変換するために、メッセージ内に具備されるデータがさらにビジネスプロセスで使用される前に、パターン内のＡＦＴＥＲＳＥＲＶＩＣＥＣＡＬＬエントリポイントをトリガする。
【０１２２】
人間タスクが実行される前に、人間タスク実行イベントは生成される。セキュリティモニタ１００１は、ユーザがタスクを実行するのに十分なパーミッションを具備するかどうかを判定する。実施はイベントがトリガされるときに発生するので、どのような種類のイベントがセキュリティモニタによって捕捉されるかによって、実施が制限されても良い。このように、セキュリティモニタ１００１は、新規タイプのイベントを扱うように、容易にカスタム化又は拡張されても良い。
【０１２３】
図１１は、セキュリティサービスの間の代表的関係を図説するブロック図である。複合アプリケーション環境では、各サービスは消費者サービス及びプロバイダサービスとして動作しても良い。異なるセキュリティ要件を取り扱うことを可能にするために、各サービスは、セキュリティサービス１１０１の設定を使用し、その各々は明確にされたセキュリティ機能性を提供する。
【０１２４】
図１１では、バックエンドポリシー生成部１１０２は、バックエンドポリシー実施によって使用される承認ポリシーを生成するのに使用される。バックエンドポリシー更新部１１０４は、特定のポリシーがバックエンドポリシーデータベースに存在するかどうかを検査するのに使用されるとともに、もし必要ならば、ポリシーを挿入するのに使用される。ポリシー生成部１１０５は、サービス相互作用セキュリティアノテーションからＷＳ−Ｓｅｃｕｒｉｔｙ  Ｐｏｌｉｃｙポリシー１１０６を生成するのに使用される。ポリシー一致部１１０７は、２つのＷＳ−Ｓｅｃｕｒｉｔｙポリシーの間の互換主張を一致させ、同意されたポリシー１１０９に帰結するとともに、ポリシーレジストリ１１１０は、外部サービス相互作用のためのポリシーを格納及び回収するのに使用される。
【０１２５】
トークンエンジン１１１１は、トークンをＳＯＡＰメッセージに組み込むのに使用されるとともに、トークン署名検証機能性を提供するのにさらに使用される。セキュリティトークンサービス１１１２は、ＳＡＭＬトークン１１１４を生成するのに使用される。暗号化エンジン１１１５は、ＳＯＡＰメッセージを暗号化及び復号化するとともに、署名及び検証するための機能性を提供するとともに、ポリシー決定ポイント１１１６は、ＸＡＣＭＬ内に符号化されたアクセス管理ポリシー１１１７を実施するのに使用される。
【０１２６】
プロセスモデル変更イベントが発生すると、バックエンドセキュリティポリシー及びローカルポリシーは、ビジネスプロセス仕様の承認要件をベースとして更新される。特に、承認セキュリティ意図は、ビジネスプロセス仕様から抽出されるとともに、対応するＸＡＣＭＬポリシー１１１７を生成するバックエンドポリシー生成部１１０２に渡される。バックエンドシステムは、その承認構成を管理するための別個の「承認ポリシー更新部」Ｗｅｂサービスインターフェースを提供する。
【０１２７】
バックエンドポリシー生成部１１０２は、生成されたＸＡＣＭＬポリシー１１１７を、分離の承認ポリシー更新部Ｗｅｂサービスとしてバックエンドシステムによって提供されるバックエンドポリシー更新部１１０７に渡す。バックエンドポリシー更新部１１０４は、ポリシー１１１７を、次いでバックエンドポリシー決定ポイント１１１６に送信されるＸＡＣＭＬ要求に組み込む。ポリシー決定ポイント１１１６は、受信されたポリシー１１１７が存在するかどうかに依存して、ＸＡＣＭＬ許可応答又は否定応答のいずれかを返却する。もしポリシーが存在しないならば、バックエンドポリシー更新部１１０４によってそれはポリシーデータベースに挿入される。一実施例の実施では、バックエンドポリシー更新部１１０４は、Ｊａｖａ（登録商標）プログラム言語を使用して実施されるとともに、ポリシー決定ポイント１１１６は、Ｓｕｎ  ＸＡＣＭＬマークアップ言語を使用して実施される。
【０１２８】
ローカルポリシー更新プロセスは、あるポリシーがローカルポリシーデータベース内で更新されることを除いて、バックエンドセキュリティポリシー更新プロセスと類似である。これらのローカルポリシーは、ユーザインターフェースレベルで承認を実施するのに使用されても良い。
【０１２９】
セキュリティイベントの取り扱いを処理するセキュリティモニタの一部分は、コンテナの異なるコンポーネント内に具備される。例えば、設計時間は、プロセスモデル変更イベントを認識する及び取り扱うとともに、バックエンドセキュリティ構成１１１９をトリガする。サービスレジストリは、サービス選択イベントを取り扱うとともに、ポリシー交渉１１２０をトリガする。メッセージングサービスは、ＳＯＡＰメッセージを送信するときに、前サービス呼び出しイベントを取り扱うとともに、結果を受信したときに、後サービス呼び出しイベントを取り扱う。サービス呼び出しイベントは、外部ポリシー実施１１２１をトリガすることによって取り扱われる。ローカルサービス及びデータがアクセスされるとき、及びユーザインターフェースが人間タスク実行イベントを処理するときにも、ローカルサービス実施１１２２がトリガされる。
【０１３０】
図１２は、＜表６＞内に示された、サービス相互作用セキュリティアノテーション「ｅｎｆｏｒｃｅ  Ｂ２ＢＣｏｎｆｉｄｅｎｔｉａｌｉｔｙ  ａｎｄ  Ｂ２ＢＩｎｔｅｇｒｉｔｙ」と、割り当てセキュリティアノテーション「ａｓｓｉｇｎ  ｒｏｌｅｓ［ｍａｎａｇｅｒ］  ｔｏ  ｓｅｌｅｃｔ＿ｃａｒｒｉｅｒ」とを具備する、代表的なビジネスプロセスの実行時実施を図説する。前者のセキュリティアノテーションは、Ｂ２ＢＷｅｂサービス相互作用は、交換されるＳＯＡＰメッセージを暗号化及びデジタル署名することによってセキュアにされなければならないことを指示する。後者のアノテーションは、「管理者」の職務で振舞うユーザのみが、キャリアを選択することが許可されることを表す。
【０１３１】
これらのセキュリティアノテーションを実施するために、実行エンジン１２０１は、ビジネスプロセスの各タスクを実行する間にイベントをトリガする。トリガされたイベントは、次いで適切なセキュリティ実施動作を扱うセキュリティモニタ１２０２に報告される。
【０１３２】
セキュリティ実施の観点から、ＧＥＴ＿ＣＡＲＲＩＥＲＳタスク１２０４の実行は、出荷プロセス及びキャリアサービスの間の双方の同意があるキャリアの選択を具備する。これは、出荷ビジネスプロセスのセキュリティ意図「Ｂ２Ｂ機密性及びＢ２Ｂインテグリティ」が、各々の選択されたキャリアのセキュリティ機能を満足しなければならないことを意味する。
【０１３３】
ポリシー交渉１２０５は、ＷＳ−Ｐｏｌｉｃｙ仕様によりポリシー一致部によって実行されても良い。特に、セキュリティアノテーション内に説明された高レベルなセキュリティ意図を反映するＷＳ−Ｐｏｌｉｃｙポリシーが生成される。キャリアポリシーは、起動されたサービスのセキュリティポリシーを実行時に変更することに対処するために、適宜ポリシーレジストリ１２０６内で更新される。
【０１３４】
生成されたポリシーは、次いで、選択されたキャリア（例えばサービスプロバイダ）の他のＷＳ−Ｐｏｌｉｃｙポリシーとともに横断（ｉｎｔｅｒｓｅｃｔｅｄ）される。ポリシーの横断は、ＷＳ−Ｐｏｌｉｃｙ内の交渉処理のコア機能である。横断は、出荷ビジネスプロセス及びサービスプロバイダセキュリティポリシーの両方の内に具備される互換ポリシー選択肢を特定する。横断は、複数のセキュリティポリシーを比較するとともに、ＷＳ−ＳｅｃｕｒｉｔｙＰｏｌｉｃｙによって要求されるように全ての無効な選択肢が明確にされることが未だ必要でありうるポリシーを返却する可換（ｃｏｍｍｕｔａｔｉｖｅ）、結合的（ａｓｓｏｃｉａｔｉｖｅ）な機能である。
【０１３５】
同意されたポリシーとして参照される資格を有するセキュリティポリシーは、全ての有効な又は資格を有する選択肢から選択される。ポリシー一致部は、利用可能なサービスを、サービスレジストリから要求するとともに、次いで、空でない同意されたポリシーが生成されているサービスを選択する。
【０１３６】
ＷＳ−ＳｅｃｕｒｉｔｙＰｏｌｉｃｙ仕様に関して、空でないポリシーは、機密性主張及びインテグリティ主張を具備する。さらに、同意されたポリシーは、キャリアサービスの承認要件を指定するＳＡＭＬトークン主張を具備する。一実施例の実施では、ポリシー一致部は、Ｊａｖａ（登録商標）プログラム言語を使用し、Ａｐａｃｈｅ（登録商標）ＷＳ−Ｃｏｍｍｏｎｓポリシーを使用して実施されても良い。
【０１３７】
ＧＥＴ＿ＲＡＴＥタスクの実行１２０７は、Ｗｅｂサービス起動を使用し、その各々は、対応する同意されたポリシーをベースとして規制されても良い。要求を外部Ｗｅｂサービス１２０９に送出する前に、セキュリティモニタは、サービス相互作用セキュリティアノテーション内に具備される各セキュリティ意図に対して対応するパターンを回収する。セキュリティモニタは、次いで、ＢＥＦＯＲＥＳＥＲＶＩＣＥＣＡＬＬエントリポイントを起動することによって、セキュリティアノテーションによって指定された順序でパターンを実行する。
【０１３８】
パターンコードは、セキュリティ意図によって表されるセキュリティ目的を達成するために、メッセージを暗号化及び署名することによって、（ＳＯＡＰメッセージング１２１０を介して通信される）実際のＳＯＡＰメッセージを、セキュアなメッセージに変換する。同意されたセキュリティポリシーに従い、同意されたポリシーによる必要とされるように、パターンコードはＳＡＭＬトークンも要求に追加する。さらに、セキュリティモニタは、ＷＳ−Ｓｅｃｕｒｉｔｙ符号化されたＳＯＡＰメッセージのフォームで、要求をキャリアサービスプロバイダに送信する。
【０１３９】
サービス要求を受信したときに、キャリアサービスプロバイダは、ＳＯＡＰメッセージ上で暗号化動作を実行するとともに、ＳＡＭＬトークンを検証する。キャリアサービスプロバイダのポリシー決定ポイントは、次いで、トークン情報をベースとしてサービス要求を評価する。もしサービス要求が確実に評価されたら、レートが計算されるとともに、レートは、ＳＯＡＰメッセージ内に具備される。このＳＯＡＰメッセージは暗号化及び署名されるとともに、出荷要求者に返却される。起動されたサービスプロバイダの応答を受信した後に、セキュリティモニタは、ＡＦＴＥＲＳＥＲＶＩＣＥＣＡＬＬエントリポイントのパターン実施コードを実行する。この起動は、署名が検証されるとともに、内容が復号化される結果になる。
【０１４０】
セキュリティ実施の観点から、ＳＥＬＥＣＴ＿ＣＡＲＲＩＥＲタスク１２１４の実行によって、指定された職務割り当て意図をベースとして承認が実行される。ＳＥＬＥＣＴ＿ＣＡＲＲＩＥＲタスク１２１４の実行は、また、ユーザインターフェース内のキャリアの動作の選択と、バックエンド１２１２内での選択結果の動作を持続することを含む。２つの動作の動作は、このような２フェーズのアクセス管理プロトコルを起動する。
【０１４１】
ユーザインターフェース内のセキュリティ実施は、キャリア選択タスクのみが、「管理者」の職務で振舞うユーザによって出力されるとともに完了されることを保証する。選択結果を格納することは、バックエンドシステム内で特別な許可を要求しても良い。これらの許可は、既に上記で検討されたように更新されたことを前提として、バックエンドポリシー実施は、次いでバックエンドシステム１２１５に送信されるＳＯＡＰメッセージにＳＡＭＬ主張トークンを追加する。ＳＡＭＬトークンは、ユーザ職務「管理者」を符号化する。ＳＯＡＰメッセージ及びトークンを具備するサービス要求を受信すると、バックエンドシステム１２１５のトークン管理部は、トークンを検証するとともに、職務情報を抽出する。
【０１４２】
最後に、ＢＯＯＫ＿ＣＡＲＲＩＥＲタスク１２１５は、ＧＥＴ＿ＲＡＴＥタスクに対してされたのと同一の仕方で、ポリシー実施を実行することによって以前に選択されたキャリアサービスを呼び出す。
【０１４３】
図１３は、サービス相互作用セキュリティアノテーション「ｅｎｆｏｒｃｅ  ｃｏｎｆｉｄｅｎｔｉａｌｉｔｙ  ａｎｄ  ｉｎｔｅｇｒｉｔｙ」と、割り当てセキュリティアノテーション「ａｓｓｉｇｎ  ｒｏｌｅｓ［ｍａｎａｇｅｒ］  ｔｏ  ｓｅｌｅｃｔ＿ｃａｒｒｉｅｒ」とを具備する他の代表的なビジネスプロセスのための実行時実施を図説する。製品セキュリティチーム１３０１は、少なくとも１つの機密パターン１３０２と、少なくとも１つのインテグリティパターン１３０４を、パターンレポジトリ１３０５に追加する。他のパターンは、また、ベンダ又はコンテナプロバイダのパターンライブラリ１３０６からのように、パターンレポジトリ１３０５に追加されても良い。
【０１４４】
設計時の間に、ビジネスプロセス開発者１３０７は、「ｅｎｆｏｒｃｅ  ｃｏｎｆｉｄｅｎｔｉａｌｉｔｙ  ａｎｄ  ｉｎｔｅｇｒｉｔｙ」サービス相互作用セキュリティアノテーション１３０９及び「ａｓｓｉｇｎ  ｒｏｌｅｓ［ｍａｎａｇｅｒ］  ｔｏ  ｓｅｌｅｃｔ＿ｃａｒｒｉｅｒ」割り当てセキュリティアノテーション１３１０をビジネスプロセス仕様に追加する。
【０１４５】
ＧＥＴ＿ＣＡＲＲＩＥＲＳタスク１３１１は、ビジネスプロセス仕様が実行されたときに起動され、ポリシー一致部１３１２に、複合アプリケーションポリシー１３１４及びパートナーサービスポリシー１３１５を回収させる。複合アプリケーションポリシー１３１４は、編成されたポリシー生成１３１６をベースとして回収されるとともに、パートナーサービスポリシー１３１５は、Ｗｅｂサービスプロバイダ１３１７を起動することをベースとして回収される。横断機能を使用して、ポリシー一致部１３１２は、ＳＯＡＰメッセージング１３２２を使用してキャリアＷｅｂサービス１３１７を伴うメッセージング実施１３２１のためのＧＥＴ＿ＲＡＴＥタスク１３２０の実行の間と、バックエンド１３２６を伴う承認実施１３２５のためのＳＥＬＥＣＴ＿ＣＡＲＲＩＥＲタスク１３２４の実行の間とに使用される、同意されたポリシー１３１９を出力する。
【０１４６】
図１４は、他の一般的実施により、複合アプリケーションを実施する代表的なシステム１４００の外観を図説する。簡潔には、システム１４００は複合アプリケーション及び、Ｗｅｂサービスを提供するＷｅｂサービスプロバイダ１４０２を起動する装置１４０１を具備する。以下でさらに詳細に説明されるように、装置１４０１は、とりわけ、ストレージ媒体及びプロセッサを具備する。ストレージ媒体は、ビジネスプロセスのための仕様を格納し、仕様は、セキュリティ意図を定義するセキュリティアノテーションと、ビジネスプロセスの少なくとも一部分を定義するとともに外部サービスを呼び出すタスクとを具備する。プロセッサは、セキュリティアノテーションに関連付けられたセキュリティパターンを起動し、セキュリティ意図を満足する外部サービスに関連付けられたサービスプロバイダを、起動されたセキュリティパターンをベースとして特定するとともに、特定されたサービスプロバイダを使用してビジネスプロセスを起動するように構成されている。
【０１４７】
その代わりとして、装置１４０１は、セキュリティフレームワークにビジネスプロセスを適用するように構成され、セキュリティフレームワークは、複合アプリケーションのセキュリティ目的を特定する定義フェーズと、特定されたセキュリティ目的を達成するセキュリティパターンを実施する実現化フェーズと、セキュリティパターンをベースとする複合アプリケーション内で、特定されたセキュリティ目的をセキュリティアノテーションを使用して実施する宣言フェーズとを具備する。複合アプリケーション及び外部サービスの間の各相互作用に対して共通のポリシーを実施するとともに、セキュリティ目的をベースとして外部サービスによるローカルサービス及びオブジェクトへのアクセスを規制するために、企業は、複合アプリケーション及び外部サービスの間に共通のポリシーをセキュリティフレームワークを適用することをベースとして指定するように、外部ポリシー交渉を行うようにさらに構成される。
【０１４８】
より詳細には、装置１４０１のハードウェア環境は、ユーザにテキスト及び画像を表示するためのディスプレイモニタ１４０８と、テキストデータ及びユーザコマンドを装置１４０１に入力するためのキーボード１４０９と、ディスプレイモニタ１４０８上で表示されるオブジェクトを指示、選択及び調節するマウス１４１０と、固定ディスクドライブ１４１１と、取り外し可能なディスクドライブ１４１２と、テープドライブ１４１４と、ハードコピー出力装置１４１５と、コンピュータネットワーク接続１４１６と、ビデオ及びオーディオ検知部１４１７とを具備する。
【０１４９】
ディスプレイモニタ１４０８は、装置１４０１及び装置１４０１を動作するのに必要なオペレーティングシステムプログラムによって使用されるソフトウェアアプリケーションのためのディスプレイを具備する、グラフィクス、画像、及びテキストを表示する。ユーザは、コマンド及びデータを入力するとともに、コンピュータのオペレーティングシステムプログラム、Ｗｅｂブラウザ、及び／又は複合アプリケーションを動作及び制御するのに、キーボード１４０９を使用する。ユーザは、装置１４０１及び装置１４０１上で実行しているアプリケーションの相互作用及び制御の一部としてディスプレイモニタ１４０８上で表示されているグラフィクス及びテキストオブジェクトを選択及び調節するのに、マウス１４１０を使用する。マウス１４１０は、任意のタイプのポインティングデバイスであっても良く、かつジョイスティック、トラックボール、タッチパッド、又は他のポインティングデバイスであっても良い。
【０１５０】
ビデオ及びオーディオ検知部１４１７によって、装置１４０１は、デジタル画像及び／又はオーディオを捕捉することが可能になるとともに、ビデオ及びオーディオ検知部１４１７は、スキャナ、デジタルカメラ、デジタルビデオカメラ、マイクロフォン又は他のデジタル入力装置であっても良い。複合アプリケーションプラットフォームを構成するのに使用されるソフトウェアは、固定ディスクドライブ１４１１のようなコンピュータ読み取り可能なメモリ媒体内にローカルに格納される。
【０１５１】
さらなる実施では、固定ディスクドライブ１４１１は、独立ディスク冗長アレイ（「ＲＡＩＤ」）のように、それ自体多くの物理的ドライブユニットを具備しても良く、又は、ディスクドライブファーム、又は別個のコンピューティングユニット内に物理的に位置されるディスクアレイであっても良い。そのようなコンピュータ読み取り可能なメモリ媒体によって、装置１４０１は、取り外し可能及び除去不能なメモリ媒体上に格納される、コンピュータ実行可能な処理段階、アプリケーションプログラムおよびそれに類するものにアクセスすることが可能になる。
【０１５２】
無線又は有線接続コンピュータネットワーク接続１４１６は、モデム接続、イーサネット（登録商標）を具備するローカルエリアネットワーク（「ＬＡＮ」）接続、デジタル加入者線（「ＤＳＬ」）のようなブロードバンドワイドエリアネットワーク（「ＷＡＮ」）接続、ケーブルハイスピードインターネット接続、ダイアルアップ接続、Ｔ−１線、Ｔ−３線、光ファイバ接続、又はサテライト接続であっても良い。ネットワーク１４０６は、１つ又は複数のＬＡＮネットワーク、企業又は政府ＷＡＮネットワーク、インターネット、又は他のネットワークであっても良い。
【０１５３】
コンピュータネットワーク接続１４１６は、有線接続又は無線コネクタを使用する。実施例の無線コネクタは、例えば、ＩＮＦＲＡＲＥＤ  ＤＡＴＡ  ＡＳＳＯＣＩＡＴＩＯＮ（「ＩｒＤＡ」）無線コネクタ、光学無線コネクタ、ＩＮＳＴＩＴＵＴＥ  ＯＦ  ＥＬＥＣＴＲＩＣＡＬ  ＡＮＤ  ＥＬＥＣＴＲＯＮＩＣＳ  ＥＮＧＩＮＥＥＲＳ（「ＩＥＥＥ−」）規格８０２．１１、無線コネクタ、ブルートゥース（登録商標）無線コネクタ、ニアフィールド通信（「ＮＦＣ」）コネクタ、直交周波数分割多重（「ＯＦＤＭ」）超広帯域（「ＵＷＢ」）無線コネクタ、時間変調超広帯域（「ＴＭ−ＵＷＢ」）無線コネクタ、又は他の無線コネクタを具備する。実施例の有線接続コネクタは、例えば、ＩＥＥＥ−１３９４ファームウェア（登録商標）コネクタ、ユニバーサルシリアルバス（「ＵＳＢ」）コネクタ、シリアルポートコネクタ、パラレルポートコネクタ、又は他の有線接続コネクタを具備する。
【０１５４】
取り外し可能なディスクドライブ１４１２は、装置１４０１からデータをオフロードする、又は装置１４０１上にデータをアップロードするのに使用される取り外し可能なストレージ装置である。取り外し可能なディスクドライブ１４１２は、フロッピー（登録商標）ディスクドライブ、ＩＯＭＥＧＡ  ＺＩＰドライブ、コンパクトディスク（登録商標）読み出し専用メモリ（「ＣＤ−ＲＯＭ」）ドライブ、ＣＤ−Ｒｅｃｏｒｄａｂｌｅドライブ（「ＣＤ−Ｒ」）、ＣＤ−Ｒｅｗｒｉｔａｂｌｅドライブ（「ＣＤ−ＲＷ」）フラッシュメモリ、ＵＳＢフラッシュドライブ、外部ハードディスクドライブ、サムドライブ、ペンドライブ、キードライブ、高密度デジタル多目的ディスク（「ＨＤ−ＤＶＤ」）光ドライブ、Ｂｌｕ−ｒａｙ（登録商標）光ドライブ、ホログラフィックデジタルデータストレージ（「ＨＤＤ」）光ドライブ、又は、ＤＶＤ−Ｒｅｃｏｒｄａｂｌｅ（「ＤＶＤ−Ｒ」又は「ＤＶＤ＋Ｒ」）、ＤＶＤ−Ｒｅｗｒｉｔａｂｌｅ（「ＤＶＤ−ＲＷ」又は「ＤＶＤ＋ＲＷ」）又はＤＶＤ−ＲＡＭのような種々の記録可能又は再度書き込みデジタル多目的ディスク（「“ＤＶＤ”」）ドライブの任意の１つであっても良い。オペレーティングシステムプログラム、アプリケーション、及び種々のデータファイルは、ディスク上に格納され、それは、固定ディスクドライブ１４１１上、又は取り外し可能なディスクドライブ１４１２のための取り外し可能な媒体上に格納される。
【０１５５】
テープドライブ１４１４は、装置１４０１からデータをオフロードする、又は装置１４０１上にデータをアップロードするために使用されるテープストレージ装置である。テープドライブ１４１４は、１／４インチカートリッジ（「ＱＩＣ」）、４ｍｍデジタルオーディオテープ（「ＤＡＴ」）、８ｍｍデジタルリニアテープ（「ＤＬＴ」）ドライブ、又は他のタイプのテープであっても良い。
【０１５６】
ハードコピー出力装置１４１５は、オペレーティングシステムプログラム及びアプリケーションのための出力機能を提供しても良い。ハードコピー出力装置１４１５は、プリンタ、又は、テキスト又は画像データ、又はテキスト又は画像データのグラフィカル表現を具備する具体的な出力オブジェクトを生成する任意の出力装置であっても良い。ハードコピー出力装置１４１５は、装置１４０１に直接に接続されているように図示されているが、それは必須ではない。例えば、ハードコピー出力装置１４１５は、有線接続又は無線ネットワークのようなネットワークインターフェースを経由して、装置１４０１に接続されても良い。
【０１５７】
さらに、装置１４０１は図１４内でデスクトップＰＣとして図説されているが、さらなる実施では、装置１４０１は、ラップトップ、ワークステーション、ミドルレンジコンピュータ、メインフレーム、組み込みシステム、電話、ハンドヘルド又はタブレットコンピュータ、ＰＤＡ、又は他のタイプのコンピュータであっても良い。
【０１５８】
図１５は、図１４に示された１つのコンピュータの内部アーキテクチャを図説するブロック図である。コンピューティング環境は、オペレーティングシステム又はアプリケーションを具備するコンピュータ命令が処理されるコンピュータ中央処理ユニット（「ＣＰＵ」）１５０１を具備する。通信インターフェース、及びディスプレイモニタ１４０８上にグラフィクス、画像、及びテキストをレンダリングする処理機能を提供するディスプレイインターフェース１５０２、キーボード１４０９との通信インターフェースを提供するキーボードインターフェース１５０４、マウス１４１０又は同等なポインティングデバイスに通信インターフェースを提供するポインティングデバイスインターフェース１５０５、ビデオ及びオーディオ検知部１４１７に通信インターフェースを提供するデジタル入力インターフェース１５０６、ハードコピー出力装置１４１５に通信インターフェースを提供するハードコピー出力装置インターフェース１５０８、コンピュータＣＰＵ１５０１によるプロセスのために、揮発性メモリ装置内にコンピュータ命令及びデータが格納されるランダムアクセスメモリ（ＲＡＭ）１５１０、基礎入出力（「Ｉ／Ｏ」）、起動、又はキーボード１４０９からのキーストロークの受信のような基礎システム機能のための不変な低レベルシステムコード又はデータが不揮発性メモリ装置内に格納される読み出し専用メモリ（「ＲＯＭ」）１５１１。ストレージ１５２０、又は他の適切なタイプのメモリ（例えば、ランダムアクセスメモリ（「ＲＡＭ」）、読み出し専用メモリ（「ＲＯＭ」）、プログラム可能なＲＯＭ（「ＰＲＯＭ」）、消去可能なプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＲＯＭ（「ＥＥＰＲＯＭ）、磁器ディスク、光学ディスク、フロッピー（登録商標）ディスク、ハードディスク、取り外し可能なカートリッジ、フラッシュドライブ）。ここに、オペレーティングシステム１５２１と、（Ｗｅｂブラウザアプリケーション１５２３、複合アプリケーション１５２４、及び必要ならば他のアプリケーション１５２５を具備する）アプリケーションプログラム１５２２と、データファイル１５２６とを具備するファイルが格納される。さらに、コンピュータネットワーク接続１４１６上でネットワーク１４０６に通信インターフェースを提供するコンピュータネットワークインターフェース１５１６及び構成要素装置及びコンピュータＣＰＵ１５０１は、コンピュータバス１５２７上で互いに通信する。
【０１５９】
簡潔には、コンピュータプログラム製品は、ディスク１５２０、機械読み取り可能なストレージ媒体内に具体的に体現される。コンピュータプログラム製品は、機械によって読み出されたときに、データ処理装置に、ビジネスプロセスのための仕様と、ビジネスプロセスの少なくとも一部分を定義するとともに外部サービスを呼び出すタスクと、にアクセスさせるように動作する命令を具備し、仕様は、セキュリティ意図を定義するセキュリティアノテーションを具備する。コンピュータプログラム製品は、データ処理装置に、セキュリティアノテーションに関連付けられたセキュリティパターンを起動させ、起動されたセキュリティパターンをベースとしてセキュリティ意図を満足する外部サービスに関連付けられるサービスプロバイダを特定させるとともに、特定されたサービスプロバイダを使用してビジネスプロセスを起動させるように動作する命令をまた具備する。
【０１６０】
その代わりとして、ディスク１５２０内に具体的に実現されるコンピュータプログラム製品であり、コンピュータプログラム製品は、機械によって読み出されたときに、データ処理装置に、セキュリティフレームワークをビジネスプロセスに適用させるように動作する命令を具備し、セキュリティフレームワークは、複合アプリケーションのセキュリティ目的を特定する定義フェーズと、特定されたセキュリティ目的を達成するセキュリティパターンを実施する実現化フェーズと、セキュリティパターンをベースとする複合アプリケーション内部でセキュリティアノテーションを使用して、特定されたセキュリティ目的を実施する宣言フェーズとを具備する。コンピュータプログラム製品は、機械によって読み出されたときに、複合アプリケーション及び外部サービスの間の各相互作用に対する共通のポリシーを実施するとともに、セキュリティ目的をベースとして、外部サービスによるローカルサービス及びオブジェクトへのアクセスを規制するために、データ処理装置に、セキュリティフレームワークを適用することをベースとして、複合アプリケーション及び外部サービスの間に共通のポリシーを指定するように、外部ポリシー交渉を行わせるように動作する命令をまた具備する。
【０１６１】
ＲＡＭ１５１０は、オペレーティングシステムアプリケーションプログラム、及び装置ドライバのようなソフトウェアプログラムの実行の間に、高速なＲＡＭストレージをコンピュータＣＰＵ１５０１に提供するために、コンピュータバス１５２７と接続される。より詳細には、コンピュータＣＰＵ１５０１は、ソフトウェアプログラムを実行するために、固定ディスクドライブ１４１１又は他の媒体からのコンピュータ実行可能なプロセス段階を、ＲＡＭ１５１０の領域にロードする。データは、ＲＡＭ１５１０内に格納され、データは、実行の間にコンピュータＣＰＵ１５０１によってアクセスされる。
【０１６２】
図１５でも示されるように、装置１４０１は、オペレーティングシステム１５２１のためのコンピュータ実行可能なコードと、ワードプロセッサ、スプレッドシート、プレゼンテーション、ゲーム、Ｗｅｂ閲覧、ＪａｖａＳｃｒｉｐｔ（登録商標）エンジン、又は他のアプリケーションのようなアプリケーションプログラム１５２２とを格納する。上記された実施を使用して複合アプリケーションを構成することが可能であるが、ダイナミックリンクライブラリ（「ＤＬＬ」）又はＡＰＰＬＥ（登録商標）Ｓａｆａｒｉ（登録商標）Ｗｅｂブラウザ又はＭＩＣＲＯＳＯＦＴインターネットエクスプローラ（登録商標）ＷｅｂブラウザのようなインターネットＷｅｂブラウザのような他のアプリケーションプログラムへのプラグインとして、本開示による機能を実施することも可能である。
【０１６３】
コンピュータＣＰＵ１５０１は、ＩＮＴＥＬ又はＡＭＤプロセッサ、ＰＯＷＥＲＰＣプロセッサ、ＭＩＰＳ縮小命令セットコンピュータ（「ＲＩＳＣ」プロセッサ、Ｓｐａｒｃ（登録商標）プロセッサ、ＡＣＯＲＮ−ＲＩＳＣマシン（「ＡＲＭ（登録商標）」）アーキテクチャプロセッサ、ＨＰ  ＡＬＰＨＡ（登録商標）サーバプロセッサ、又はメインフレームのための商用コンピュータプロセッサを具備する、多くのハイパフォーマンスコンピュータプロセッサの１つである。追加の配置では、コンピュータＣＰＵ１５０１は、ハイパフォーマンスワークステーション及びサーバ内で見出される複数のＣＰＵ構成、又はメインフレーム内で見出される複数のスケーラブルな処理ユニットを具備する、複数の処理ユニットである。
【０１６４】
オペレーティングシステム１５２１は、ＩＮＴＥＬ（登録商標）及びＰＯＷＥＲ  ＰＣ（登録商標）ベースのワークステーション及びサーバのためのＡＰＰＬＥ（登録商標）ＭＡＣ  ＯＳ  Ｘ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）ＮＴ／ＷＩＮＤＯＷＳ（登録商標）、２０００／ＷＩＮＤＯＷＳ（登録商標）、ＸＰ  ＷＯＲＫＳＴＡＴＩＯＮ（登録商標）、ＭＩＣＲＯＳＯＦＴ（登録商標）ＷＩＮＤＯＷＳ  ＶＩＳＴＡ（登録商標）／ＷＩＮＤＯＷＳ  ＮＴ（登録商標）／ＷＩＮＤＯＷＳ  ２０００（登録商標）／ＷＩＮＤＯＷＳ  ＸＰ  Ｓｅｒｖｅｒ（登録商標）、ＩＢＭワークステーション及びサーバのためのＡＩＸ、Ｓｕｎワークステーション及びサーバのためのＳｕｎＯＳ（登録商標）、ＩＮＴＥＬ  ＣＰＵベースのワークステーション及びサーバのためのＬＩＮＵＸ（登録商標）、ＨＰワークステーション及びサーバのためのＨＰ  ＵＸ  ＷＯＲＫＬＯＡＤ  ＭＡＮＡＧＥＲ（登録商標）、ＳＧＩワークステーション及びサーバのためのＩＲＩＸ（登録商標）、Ｄｉｇｉｔａｌ  Ｅｑｕｉｐｍｅｎｔ  ＣｏｒｐｏｒａｔｉｏｎコンピュータのＶＡＸ／ＶＭＳ（登録商標）、ＨＰ  ＡＬＰＨＡＳＥＲＶＥＲ（登録商標）ベースのコンピュータのためのＯｐｅｎＶＭＳ（登録商標）を具備する、種々のＵＮＩＸ（登録商標）準拠のオペレーティングシステム、モバイル装置のためのＳＹＭＢＩＡＮ（登録商標）ＯＳ、ＮＥＷＴＯＮ（登録商標）、ＩＰＯＤ（登録商標）、ＷＩＮＤＯＷＳ  ＭＯＢＩＬＥ（登録商標）又はＷＩＮＤＯＷＳ  ＣＥ（登録商標）、ＰＡＬＭ（登録商標）、ＮＯＫＩＡ（登録商標）  ＯＳ（「ＮＯＳ」）、ＯＳＥ（登録商標）又はＥＰＯＣ（登録商標）、又はコンピュータ又は組み込みシステムのための商用オペレーティングシステムであっても良い。オペレーティングシステム１５２１のためのアプリケーション開発プラットフォーム又はフレームワークは、ＢＩＮＡＲＹ  ＲＵＮＴＩＭＥ  ＥＮＶＩＲＯＮＭＥＮＴ  ＦＯＲ  ＷＩＲＥＬＥＳＳ（「ＢＲＥＷ（登録商標）」），Ｊａｖａ（登録商標）  Ｐｌａｔｆｏｒｍ，  Ｍｉｃｒｏ  Ｅｄｉｔｉｏｎ（「ＪａｖａＭＥ（登録商標）」）又はＪａｖａ２（登録商標）  Ｐｌａｔｆｏｒｍ，  ＭｉｃｒｏＥｄｉｔｉｏｎ（「Ｊ２ＭＥ（登録商標）」）、ＰＹＴＨＯＮ（登録商標）、ＦＬＡＳＨ（登録商標）  ＬＩＴＥ、又はＭＩＣＲＯＳＯＦＴ  ．ＮＥＴ（登録商標）  Ｃｏｍｐａｃｔであっても良い。
【０１６５】
図１４及び１５は、複合アプリケーションの起動を発効するように構成されるプログラムコード、又はプログラム又はプロセス段階を実行するコンピューティングシステムの１つの可能な実施を図説する一方で、他のタイプのコンピュータも、同様に使用されうる。
【０１６６】
形式的な事項について、用語「ユーザ」は、これらのプロセスと相互作用するエンティティを説明するのに一貫してに使用されており、そのような一般化は、また、複数の関する又は関連のない、生物又は自動化されたエンティティ、又は種々の異なる、重なり合う又は重なり合わない状態でこれらのプロセスと相互作用する生物を説明することを意図している。類似の調子で、用語「選択」は、人間による手動選択、非人間による自動的な選択、又はそれらの何らかの組み合わせを全て意味することを意図する。最後に、簡潔さのために、本明細書を通して、用語「ＪａｖａＳｃｒｉｐｔ（登録商標）」は、ＳｕｎＭｉｃｒｏｓｙｓｔｅｍｓ  ＪａｖａＳｃｒｉｐｔ（登録商標）プログラム言語を参照することを意図するとともに、用語「ＸＭＬ」は、「ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ」を参照することを意図することに留意する。
【０１６７】
上記で説明された強化されたフレームワークは、それによってビジネスアプリケーションのセキュリティ要件が、ビジネスプロセス仕様レベルでセキュリティアノテーションとして表現されるビジネス駆動アプリケーションセキュリティアプローチに従うとともに、表現されたセキュリティ要件に合致する要求されたセキュリティインフラが自動的に生成されうる。
【０１６８】
特に、このフレームワークは、直感的なドメイン固有のセキュリティ言語を使用することによって、複合プロセスレベルでセキュリティポリシーのアノテーションをベースとするパターンを提供し、セキュリティポリシー及びセキュリティ機能の間の一致生成を実行することによって、複合アプリケーション及びサービスプロバイダの間の自動的な調停を発生させるとともに、複合アプリケーション及びサービスプロバイダの間のセキュアな通信を管理するプロテクトされたセキュアなサービスプロキシを自動的に生成する。
【０１６９】
このように、複合アプリケーションのためのスクリプトフレームワークは、よりビジネス指向の開発者が既存の又は新規の構築ブロック又はサービスから新規のアプリケーションを構築するのをより容易にする統合されたモデル環境及びスクリプト言語を提供する。このフレームワークは、１つの統合モデルのフォームで、複合アプリケーションの完全な仕様をサポートする、モデルベーススクリプトアプローチに従う。このモデルの一部は、内部のドメイン固有の言語として、全体的なデータモデル、サービス呼び出しの編成、イベント管理、ユーザインターフェース等を説明する。
【０１７０】
このように、複合アプリケーションのエンドツーエンド開発は、ドメイン固有の言語のファミリーを提供することによってサポートされる。複合アプリケーションをサポートするそのような全ての関連付けられたロジック及び構成は、１人のビジネスプロセス開発者によって、たった１つのツールセットを使用して、可能な限りシームレスな仕方で、定義及び配備されても良い。同様に、ビジネスプロセス開発者は、異なるソフトウェア開発フェーズの間に度々使用される異なるツール及び抽象化が使用される必要がない開発及び実行環境を提供する。
【０１７１】
多くの実施が説明されている。それにもかかわらず、種々の修正が、本開示の趣旨及び範囲を逸脱することなく構成されうるものと理解する。従って、他の実施は、特許請求の範囲の範囲内である。
【図面の簡単な説明】
【０１７２】
【図１】図１は、連携された順序で実行される一連のタスク又は動作を具備する代表的なビジネスプロセスを図説する。
【図２】図２は、セキュリティアノテーションを使用して複合アプリケーションを実施するための代表的なシステムアーキテクチャを図説するブロック図である。
【図３】図３は、セキュリティアノテーションを使用して複合アプリケーションを実施する代表的なプロセスを図説する。
【図４】図４は、設計時のビジネスプロセス開発者によるビジネスプロセス仕様の準備を図示するスイム図である。
【図５】図５は、ビジネスプロセスの起動を図示するスイム図である。
【図６】図６は、複合アプリケーション開発フレームワークによって呼び出されうるサービスのカテゴリを図説するブロック図である。
【図７】図７は、強化されたフレームワークを使用した複合アプリケーションの開発の種々のフェーズを図示する。
【図８】図８は、強化されたフレームワークを使用した複合アプリケーションの開発の種々のフェーズを図示する。
【図９】図９は、ビジネスプロセス内でセキュリティを指定するのに使用されるモデルを図説する。
【図１０】図１０は、複合アプリケーションの開発のための設計及び実行環境を提供するセキュリティモニタを図説するブロック図である。
【図１１】図１１は、セキュリティサービスの間の代表的な関係を図説するブロック図である。
【図１２】図１２は、代表的なビジネスプロセスの実行時の実施を図説する。
【図１３】図１３は、代表的なビジネスプロセスの実行時の実施を図説する。
【図１４】図１４は、代表的システムの外観を図説する。
【図１５】図１５は、図１４内で示された装置の内部アーキテクチャを図説するブロック図である。
【図１６】図１６は、セキュリティアノテーションを使用して複合アプリケーションを実施する代表的なプロセスを図説する。
【符号の説明】
【０１７３】
１０１  専用開始タスク
１０２  タスク１
１０４  タスク２
１０５  タスク３
１０６  専用終了タスク
【図１】
0005166196.tif 000009
【図２】
0005166196.tif 000010
【図３】
0005166196.tif 000011
【図４】
0005166196.tif 000012
【図５】
0005166196.tif 000013
【図７】
0005166196.tif 000014
【図８】
0005166196.tif 000015
【図９】
0005166196.tif 000016
【図１０】
0005166196.tif 000017
【図１１】
0005166196.tif 000018
【図１２】
0005166196.tif 000019
【図１４】
0005166196.tif 000020
【図１５】
0005166196.tif 000021
【図１６】
0005166196.tif 000022
【図６】
0005166196.tif 000023
【図１３】
0005166196.tif 000024