【手続補正書】
【提出日】平成20年11月14日(2008.11.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークに１つまたは複数の他のコンピュータシステムとともにネットワーク接続可能なコンピュータシステムで、型付きアプリケーションデータをフレキシブルに送信する方法において、
型付きオブジェクトに対応する型付きオブジェクトパラメータにアクセスする行為であって、前記型付きオブジェクトはメッセージコントラクトモデルの１つまたは複数のメッセージコントラクト属性で注釈付けされ、前記１つまたは複数のメッセージコントラクト属性は型付きオブジェクトパラメータと対応するＳＯＡＰ（シンプル・オブジェクト・アクセス・プロトコル）要素との間のマッピングを定義する、型付きオブジェクトに対応する型付きオブジェクトパラメータにアクセスする行為と、
前記１つまたは複数のメッセージコントラクト属性に従って前記アクセスした型付きオブジェクトパラメータをＳＯＡＰ要素にマッピングする行為と、
前記１つまたは複数のメッセージコントラクト属性を参照することによりＳＯＡＰエンベロープ内の位置を識別する行為と、
前記ＳＯＡＰエンベロープ内の前記識別した位置に前記ＳＯＡＰ要素を挿入する行為と  を含むことを特徴とする、型付きアプリケーションデータをフレキシブルに送信する方法。
【請求項２】
メソッドへのパラメータを表すクラスにアクセスする前記行為が、共通言語ランタイムメソッドへのパラメータを表すパブリッククラスにアクセスする行為を含むことを特徴とする請求項１に記載の方法。
【請求項３】
型付きオブジェクトに対応する型付きオブジェクトパラメータにアクセスする前記行為が、
メソッドへのパラメータを表すクラスにアクセスする行為、
アクションＵＲＩで注釈付けされた型付きオブジェクトにアクセスする行為、
メソッド戻り値を表すクラスにアクセスする行為、
ＳＯＡＰ要素の共通言語ランタイム表現にアクセスする行為、
型付きメッセージにアクセスする行為、
のいずれか１つの行為を含むことを特徴とする請求項１に記載の方法。
【請求項４】
型付きオブジェクトに対応する型付きオブジェクトパラメータにアクセスする前記行為が、注釈付けされた型付きオブジェクトパラメータにアクセスする行為を含み、該注釈付けされた型付きオブジェクトパラメータが、
該型付きオブジェクトパラメータのＸＭＬ表現がＳＯＡＰエンベロープヘッダに含まれるべきことを示すメッセージコントラクト属性で注釈付けされること、あるいは、
該型付きオブジェクトパラメータのＸＭＬ表現がＳＯＡＰエンベロープボディに含まれるべきことを示すメッセージコントラクト属性で注釈付けされること、あるいは、
１つまたは複数のメッセージコントラクト属性で注釈付けされ、該１つまたは複数のメッセージコントラクト属性は、ＳＯＡＰエンベロープ内の位置、名前、名前空間ＵＲＩ、型付きオブジェクトパラメータが理解されなければならないかどうか、型付きオブジェクトパラメータが中継されなければならないかどうか、および型付きオブジェクトパラメータの行為を示す属性のうちから選択されること
を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記１つまたは複数のメッセージコントラクト属性に従って前記アクセスした型付きオブジェクトパラメータをＳＯＡＰ要素にマッピングする前記行為が、
前記アクセスした型付きオブジェクトパラメータをＳＯＡＰ要素にシリアライズ（直列化）する行為、または
前記アクセスした型付きオブジェクトパラメータを対応するＸＭＬ要素にマッピングする行為を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記１つまたは複数のメッセージコントラクト属性に従って前記アクセスした型付きオブジェクトパラメータをＳＯＡＰ要素にマッピングする前記行為が、を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記１つまたは複数のメッセージコントラクト属性を参照することによりＳＯＡＰエンベロープ内の位置を識別する前記行為が、
ＳＯＡＰエンベロープのヘッダ部分を識別するメッセージコントラクト属性を参照する行為、または
ＳＯＡＰエンベロープのボディ部分を識別するメッセージコントラクト属性を参照する行為を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記ＳＯＡＰエンベロープ内の前記識別した位置に前記ＳＯＡＰ要素を挿入する前記行為が、
対応するＸＭＬ命令を前記ＳＯＡＰエンベロープのヘッダ部分に挿入する行為、または
対応するＸＭＬ命令を前記ＳＯＡＰエンベロープのボディ部分に挿入する行為を含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ＳＯＡＰエンベロープを生オクテットにエンコードする行為と、
受信側コンピュータシステムへ前記生オクテットを送信する行為と
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記ＳＯＡＰエンベロープを生オクテットにエンコードする前記行為が、
生オクテットのサイズに所定の制限を持たない生オクテットに前記ＳＯＡＰエンベロープをエンコードする行為、または
前記ＳＯＡＰエンベロープのテキストベースのエンコーディングをもたらす行為を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記ＳＯＡＰエンベロープを生オクテットにエンコードする前記行為が、
Message-Transmission Optimization Mechanism(メッセージ送信最適化メカニズム)を用いることにより前記ＳＯＡＰエンベロープをエンコードする行為、または
前記ＳＯＡＰエンベロープのバイナリベースのエンコーディングをもたらす行為を含むことを特徴とする請求項９に記載の方法。
【請求項１２】
前記ＳＯＡＰエンベロープのバイナリベースのエンコーディングをもたらす前記行為は、前記ＳＯＡＰエンベロープがより効率的に転送されるように、１つまたは複数のＳＯＡＰタームおよび／またはＸＭＬタームを、長さを短縮した代替言語で置換する行為を含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
受信側コンピュータシステムへ前記生オクテットを送信する前記行為が、前記受信側コンピュータシステムへ前記生オクテットをストリーミングする行為を含むことを特徴とする請求項９に記載の方法。
【請求項１４】
ネットワークに１つまたは複数の他のコンピュータシステムとともにネットワーク接続可能なコンピュータシステムで、型付きアプリケーションデータをフレキシブルに受信する方法において、
ＳＯＡＰエンベロープに含まれるＳＯＡＰ要素にアクセスする行為と、
前記ＳＯＡＰ要素に対応する型付きオブジェクトを識別する行為であって、前記型付きオブジェクトはメッセージコントラクトモデルの１つまたは複数のメッセージコントラクト属性で注釈付けされ、前記１つまたは複数のメッセージコントラクト属性はＳＯＡＰ要素と対応する型付きオブジェクトパラメータとの間のマッピングを定義する、前記ＳＯＡＰ要素に対応する型付きオブジェクトを識別する行為と、
前記１つまたは複数のメッセージコントラクト属性に従って前記アクセスしたＳＯＡＰ要素を型付きオブジェクトパラメータにマッピングする行為であって、前記型付きオブジェクトパラメータは前記識別した型付きオブジェクトに実行依頼される、前記１つまたは複数のメッセージコントラクト属性に従って前記アクセスしたＳＯＡＰ要素を型付きオブジェクトパラメータにマッピングする行為と
を含むことを特徴とする、型付きアプリケーションデータをフレキシブルに受信する方法。
【請求項１５】
送信側コンピュータシステムから生オクテットを受信する行為と、
前記生オクテットを前記ＳＯＡＰエンベロープにデコードする行為と
をさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
送信側コンピュータシステムから生オクテットを受信する前記行為が、ストリーミングされた生オクテットを受信する行為を含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記生オクテットを前記ＳＯＡＰエンベロープにデコードする前記行為が、
前記ＳＯＡＰエンベロープのテキストベースのエンコーディングをデコードする行為、または
前記ＳＯＡＰエンベロープのバイナリベースのエンコーディングをデコードする行為、または
Message-Transmission Optimization Mechanism(メッセージ送信最適化メカニズム)を用いることにより前記生オクテットをデコードする行為を含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
前記ＳＯＡＰエンベロープのバイナリベースのエンコーディングをデコードする前記行為は、前記ＳＯＡＰエンベロープが前の設定に戻るように、長さを短縮した代替言語を元のＳＯＡＰタームおよび／またはＸＭＬタームで置換する行為を含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
ＳＯＡＰエンベロープに含まれるＳＯＡＰ要素にアクセスする前記行為が、
前記ＳＯＡＰエンベロープのヘッダ部分からＸＭＬ要素にアクセスする行為、または
前記ＳＯＡＰエンベロープのボディ部分からＸＭＬ要素にアクセスする行為を含むことを特徴とする請求項１４に記載の方法。
【請求項２０】
前記ＳＯＡＰ要素に対応する型付きオブジェクトを識別する前記行為が、
前記ＳＯＡＰエンベロープ内のＸＭＬ要素を注釈付きクラスのメッセージコントラクト属性と比較する行為、または
前記型付きオブジェクトに対応するＵＲＩにアクセスする行為、または
メソッドへのパラメータを表すクラスを識別する行為、または
前記ＳＯＡＰエンベロープを適合したメソッドにディスパッチする行為を含むことを特徴とする請求項１４に記載の方法。
【請求項２１】
メソッドへのパラメータを表すクラスを識別する前記行為が、共通言語ランタイムメソッドへのパラメータを表すパブリッククラスにアクセスする行為を含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記１つまたは複数のメッセージコントラクト属性に従って前記アクセスしたＳＯＡＰ要素を型付きオブジェクトパラメータにマッピングする前記行為が、
前記ＳＯＡＰ要素を型付きオブジェクトパラメータにデシリアライズ（非直列化）する行為、または
ＸＭＬ要素を対応する型付きオブジェクトパラメータにマッピングする行為を含むことを特徴とする請求項１４に記載の方法。
【請求項２３】
ネットワークに１つまたは複数の他のコンピュータシステムとともにネットワーク接続可能なコンピュータシステムで用いるためのコンピュータプログラムにおいて、該コンピュータプログラムは型付きアプリケーションデータをフレキシブルに送信する方法を実施し、該コンピュータプログラムは、プロセッサによる実行時に前記コンピュータシステムに下記、すなわち
型付きオブジェクトに対応する型付きオブジェクトパラメータにアクセスすることであって、前記型付きオブジェクトはメッセージコントラクトモデルの１つまたは複数のメッセージコントラクト属性で注釈付けされ、前記１つまたは複数のメッセージコントラクト属性は型付きオブジェクトパラメータと対応するＳＯＡＰ要素との間のマッピングを定義する、型付きオブジェクトに対応する型付きオブジェクトパラメータにアクセスすること、
前記１つまたは複数のメッセージコントラクト属性に従って前記アクセスした型付きオブジェクトパラメータをＳＯＡＰ要素にマッピングすること、
前記１つまたは複数のメッセージコントラクト属性を参照することによりＳＯＡＰエンベロープ内の位置を識別すること、および
前記ＳＯＡＰエンベロープ内の前記識別した位置に前記ＳＯＡＰ要素を挿入すること
を実行させる、コンピュータ実行可能命令を含み、１つまたは複数のコンピュータ可読媒体に格納されることを特徴とするコンピュータプログラム。
【請求項２４】
ネットワークに１つまたは複数の他のコンピュータシステムとともにネットワーク接続可能なコンピュータシステムで用いるためのコンピュータプログラムにおいて、該コンピュータプログラムは型付きアプリケーションデータをフレキシブルに受信する方法を実施し、該コンピュータプログラムは、プロセッサによる実行時に前記コンピュータシステムに下記、すなわち
ＳＯＡＰエンベロープに含まれるＳＯＡＰ要素にアクセスすること、
前記ＳＯＡＰ要素に対応する型付きオブジェクトを識別することであって、前記型付きオブジェクトはメッセージコントラクトモデルの１つまたは複数のメッセージコントラクト属性で注釈付けされ、前記１つまたは複数のメッセージコントラクト属性はＳＯＡＰ要素と対応する型付きオブジェクトパラメータとの間のマッピングを定義する、前記ＳＯＡＰ要素に対応する型付きオブジェクトを識別すること、および
前記１つまたは複数のメッセージコントラクト属性に従って前記アクセスしたＳＯＡＰ要素を型付きオブジェクトパラメータにマッピングすることであって、前記型付きオブジェクトパラメータは前記識別した型付きオブジェクトに実行依頼される、前記１つまたは複数のメッセージコントラクト属性に従って前記アクセスしたＳＯＡＰ要素を型付きオブジェクトパラメータにマッピングすること
を実行させるコンピュータ実行可能命令を含み、１つまたは複数のコンピュータ可読媒体に格納されることを特徴とするコンピュータプログラム。