【手続補正書】
【提出日】平成21年11月17日(2009.11.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サービス実装が特定のサービスとどのように通信すべきかを定義するウェブサービスコントラクトドキュメントのサービス実装を含むコンピューティングシステムにおいて、前記ウェブサービスコントラクトドキュメントの変更に応じて前記サービス実装の少なくとも一部分を自動的に変更する方法であって、
前記コンピューティングシステムが、前記サービス実装とは独立に書かれた第１のウェブサービスコントラクトドキュメントに従って構築されたウェブサービス実装を受信するステップであって、前記第１のウェブサービスコントラクトドキュメントは、前記ウェブサービス実装が１つまたは複数のサービスとどのように通信すべきかを記述し、前記ウェブサービス実装は、前記第１のウェブサービスコントラクトドキュメント内で定義されたエンドポイントのビジネスロジックに準拠するように作成されている、該受信するステップと、
前記コンピューティングシステムが、第２のウェブサービスコントラクトドキュメントを受信するステップであって、前記第２のウェブサービスコントラクトドキュメントは、実装されるべき該第２のウェブサービスコントラクトドキュメントを予測する１つまたは複数のエンドポイントと前記ウェブサービス実装が通信することができないように前記ウェブサービス実装の振舞いに影響を与える、前記第１のウェブサービスコントラクトへの１つまたは複数の変更を定義する、該受信するステップと、
前記第２のウェブサービスコントラクトドキュメントから１つまたは複数のクラスの新たなセットを作成するステップと、
前記１つまたは複数のクラスの新たなセットを、前記ウェブサービス実装における既存のクラスのセットと比較するステップと、
前記ウェブサービス実装と前記第２のウェブサービスコントラクトドキュメントとの１つまたは複数の相違を特定するステップであって、前記１つまたは複数の相違は、前記第１のウェブサービスコントラクトドキュメントへの前記１つまたは複数の変更を反映している、該特定するステップと、
特定された前記１つまたは複数の相違に基づいて、前記ウェブサービス実装のクラス、クラス属性、メソッド、およびメソッド属性が少なくとも部分的に前記第２のウェブサービスコントラクトドキュメントに準拠するように、前記ウェブサービス実装の少なくとも一部分を修正するステップと
を含むことを特徴とする方法。
【請求項２】
前記１つまたは複数の相違を特定するステップは、
前記ウェブサービス実装の１つまたは複数の部分を、前記第２のウェブサービスコントラクトドキュメントの１つまたは複数の部分と比較することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ウェブサービス実装の前記少なくとも一部分を修正することは、前記ウェブサービス実装の前記少なくとも一部分に含まれる１つまたは複数のメソッドの１つまたは複数の部分を保存することを特徴とする請求項１に記載の方法。
【請求項４】
前記ウェブサービス実装に含まれる１つまたは複数のメソッドの前記１つまたは複数の部分は、前記ウェブサービス実装に含まれる１つまたは複数のメソッドの前記１つまたは複数の部分を自動的にコメントアウトすることによって保存されることを特徴とする請求項３に記載の方法。
【請求項５】
前記第２のウェブサービスコントラクトドキュメントに基づいてスケルトンコードを生成するステップと、
前記ウェブサービス実装を前記スケルトンコードと比較するステップと、
前記比較に基づいて、前記スケルトンコードに準拠するように前記ウェブサービス実装の少なくとも一部分を自動的に修正するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記第２のウェブサービスコントラクトドキュメントに準拠するように前記ウェブサービス実装の少なくとも一部分を修正するステップは、
前記ウェブサービス実装のバインディング名またはバインディング名前空間のいずれか１つが前記第２ウェブサービスコントラクトとは異なる場合、前記ウェブサービス実装のバインディング名またはバインディング名前空間を更新することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記第２のウェブサービスコントラクトドキュメントに準拠するように前記ウェブサービス実装の少なくとも一部分を修正するステップは、
前記第２のウェブサービスコントラクトドキュメントに含まれない操作に関するウェブメソッドを保存することを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記第２のウェブサービスコントラクトドキュメントに準拠するように前記ウェブサービス実装の少なくとも一部分を修正するステップは、
前記第２のウェブサービスコントラクトには含まれるが前記ウェブサービス実装には含まれない操作に関するメソッドを、メソッドシグネチャおよびメソッド属性とともに追加するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記第２のウェブサービスコントラクトドキュメントに準拠するように前記ウェブサービス実装の少なくとも一部分を修正するステップは、
操作に一致するウェブメソッドのメソッドシグネチャを修正することを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記第２のウェブサービスコントラクトドキュメントに準拠するように前記ウェブサービス実装の少なくとも一部分を修正するステップは、
メソッドが操作として公開されるように該メソッドに属性を追加することを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記第１のおよび第２のウェブサービスコントラクトドキュメントは、ウェブサービス記述言語（ＷＳＤＬ）ドキュメントであることを特徴とする請求項１に記載の方法。
【請求項１２】
前記第２のウェブサービスコントラクトドキュメントには存在するが、前記第１のウェブサービスコントラクトドキュメントにはない操作に対応する、前記ウェブサービス実装に追加されたウェブメソッドに、適切なビジネスロジックを提供することと、
前記第２のウェブサービスコントラクトドキュメントに準拠するようにシグネチャまたはメソッドの型が修正されたウェブメソッドに関するビジネスロジックを修正することと、
前記第１のウェブサービスコントラクトドキュメントには存在するが、前記第２のウェブサービスコントラクトドキュメントには存在しない操作の結果として、もはや該操作にマッピングされないウェブメソッドを除去することと
の各々を開発者が行うことを可能にするために、ビジネスロジック入力インターフェースを使用して前記ウェブサービス実装の前記修正された少なくとも一部分を公開するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１３】
ウェブサービス実装が特定のサービスとどのように通信すべきかを定義するウェブサービスコントラクトドキュメントのウェブサービス実装を含んでいるコンピューティングシステムの１つまたは複数のプロセッサによって実行されると、該コンピューティングシステムに、前記ウェブサービスコントラクトドキュメントの変更に応じて前記ウェブサービス実装の少なくとも一部分を自動的に変更するための方法を実行させるコンピュータプログラムであって、前記方法は、
サービス実装とは独立に書かれた第１のウェブサービスコントラクトドキュメントに従って構築されたウェブサービス実装を受信するステップであって、前記第１のウェブサービスコントラクトドキュメントは、前記ウェブサービス実装が１つまたは複数のサービスとどのように通信すべきかを記述し、前記ウェブサービス実装は、前記第１のウェブサービスコントラクトドキュメント内で定義されたエンドポイントのビジネスロジックに準拠するように作成されている、該受信するステップと、
第２のウェブサービスコントラクトドキュメントを受信するステップであって、前記第２のウェブサービスコントラクトドキュメントは、実装されるべき該第２のウェブサービスコントラクトドキュメントを予測する１つまたは複数のエンドポイントと前記ウェブサービス実装が通信することができないように前記ウェブサービス実装の振舞いに影響を与える、前記第１のウェブサービスコントラクトへの１つまたは複数の変更を定義する、該受信するステップと、
前記第２のウェブサービスコントラクトドキュメントから１つまたは複数のクラスの新たなセットを作成するステップと、
前記１つまたは複数のクラスの新たなセットを、前記ウェブサービス実装における既存のクラスのセットと比較するステップと、
前記ウェブサービス実装と前記第２のウェブサービスコントラクトドキュメントとの１つまたは複数の相違を特定するステップであって、前記１つまたは複数の相違は、前記第１のウェブサービスコントラクトドキュメントへの前記１つまたは複数の変更を反映している、該特定するステップと、
特定された前記１つまたは複数の相違に基づいて、前記ウェブサービス実装のクラス、クラス属性、メソッド、およびメソッド属性が少なくとも部分的に前記第２のウェブサービスコントラクトドキュメントに準拠するように、前記ウェブサービス実装の少なくとも一部分を修正するステップと
を含むことを特徴とするコンピュータプログラム。
【請求項１４】
前記第２のウェブサービスコントラクトドキュメントに準拠するように前記ウェブサービス実装の少なくとも一部分を修正することは、
バインディング名またはバインディング名前空間が前記第２のウェブサービスコントラクトと異なる場合は、ウェブサービスのバインディング属性を更新することをさらに含むことを特徴とする請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記第２のウェブサービスコントラクトドキュメントに準拠するように前記ウェブサービス実装の少なくとも一部分を修正することは、
前記第２のウェブサービスコントラクトドキュメントに含まれない操作に関するウェブメソッド属性をコメントアウトすることをさらに含むことを特徴とする請求項１３に記載のコンピュータプログラム。
【請求項１６】
前記第２のウェブサービスコントラクトドキュメントに準拠するように前記ウェブサービス実装の少なくとも一部分を修正することは、
前記第２のウェブサービスコントラクトには含まれるが、前記ウェブサービス実装には含まれない操作に関するウェブメソッドを、メソッドシグネチャおよびメソッド属性とともに追加することをさらに含むことを特徴とする請求項１３に記載のコンピュータプログラム。