(57)【要約】    【課題】  プログラム作成あるいはメンテナンス環境において、ネットワーク上に分散したデータ通信装置間で利用される通信が同期通信であるか非同期通信であるかを意識することなく、単一の手順で当該データ通信装置間通信を実現することが可能となるデータ通信装置、データ通信方法およびプログラムを提供する。    【解決手段】  データ通信モジュール３の内部にセッション管理部５、送信フィルタ９および受信フィルタ１４を備え、送信フィルタ９で送信元の認識情報を付加し、受信フィルタ１４で仮の返答メッセージを返答し、セッション管理部５で非同期通信のセッションを管理することにより、同期と非同期をアプリケーションプログラムが意識することなく、同期と非同期に依存しない通信が実現される。【選択図】    図３
2006211567.tif 000002
【特許請求の範囲】
【請求項１】
通信回線を介して接続された、送信元のデータ通信装置が送信した情報データを受信する受信ステップと、
該受信ステップによって受信された情報データが非同期通信または同期通信のいずれで送信されてきたものであるかを判別する判別ステップと、
該判別ステップによる判別の結果、前記受信された情報データが非同期通信で送信されてきたものである場合には、当該情報データに対する仮の応答を前記送信元のデータ通信装置に送信する送信ステップと、
前記受信された情報データを、該情報データを処理する処理ステップに受け渡す受け渡しステップと
を有することを特徴とするデータ通信方法。
【請求項２】
前記判別ステップでは、前記受信された情報データに該情報データに対する返答の送信先を識別するための送信先識別情報が付加されているときに、当該情報データが非同期通信で送信されてきたものであると判別することを特徴とする請求項１に記載のデータ通信方法。
【請求項３】
前記受信された情報データが非同期通信で送信されてきたものであるときに、前記送信先識別情報および当該情報データを識別するためのデータ識別情報を保存する保存ステップをさらに有することを特徴とする請求項２に記載のデータ通信方法。
【請求項４】
前記受け渡しステップによって前記処理ステップに受け渡され、該処理ステップによって処理された情報データが、前記保存ステップに保存されたデータ識別情報によって示されるものであるときには、前記送信ステップでは、前記保存ステップに保存された送信先識別情報によって示されるデータ通信装置に新たな接続を張り直し、該データ通信装置に、前記処理ステップによって処理された情報データを送信することを特徴とする請求項３に記載のデータ通信方法。
【請求項５】
通信回線を介して接続された、相手先のデータ通信装置と非同期通信するか同期通信するかを示すプロパティが付加された情報データを受け取る受け取りステップと、
該受け取りステップによって受け取った情報データに付加されたプロパティが非同期通信を示していた場合に、前記相手先のデータ通信装置が当該情報データに対する返答を送信するデータ通信装置を識別するための送信先識別情報を当該情報データに付加する付加ステップと、
前記プロパティが非同期通信を示していた場合には、前記付加ステップによって送信先識別情報が付加された情報データを前記相手先のデータ通信装置に送信する一方、前記プロパティが同期通信を示していた場合には、前記送信先識別情報が付加されない情報データを前記相手先のデータ通信装置に送信する送信ステップと
を有することを特徴とするデータ通信方法。
【請求項６】
前記プロパティを付加した情報データを生成する生成ステップをさらに有し、
前記生成ステップによって生成された情報データを前記受け取りステップに渡す際の手順は、非同期通信と同期通信とで異ならないことを特徴とする請求項５に記載のデータ通信方法。
【請求項７】
前記送信ステップによって前記相手先のデータ通信装置に送信された情報データに対して、前記相手先のデータ通信装置が送信した応答を受信する受信ステップをさらに有し、
前記情報データを用いた、前記相手先のデータ通信装置との論理的な通信は、前記受信ステップによって当該情報データに対する応答が受信されたときに切断されることを特徴とする請求項５または６に記載のデータ通信方法。
【請求項８】
通信回線を介して接続された、送信元のデータ通信装置が送信した情報データを受信する受信手段と、
該受信手段によって受信された情報データが非同期通信または同期通信のいずれで送信されてきたものであるかを判別する判別手段と、
該判別手段による判別の結果、前記受信された情報データが非同期通信で送信されてきたものである場合には、当該情報データに対する仮の応答を前記送信元のデータ通信装置に送信する送信手段と、
前記受信された情報データを、該情報データを処理する処理手段に受け渡す受け渡し手段と
を有することを特徴とするデータ通信装置。
【請求項９】
通信回線を介して接続された、相手先のデータ通信装置と非同期通信するか同期通信するかを示すプロパティが付加された情報データを受け取る受け取り手段と、
該受け取り手段によって受け取った情報データに付加されたプロパティが非同期通信を示していた場合に、前記相手先のデータ通信装置が当該情報データに対する返答を送信するデータ通信装置を識別するための送信先識別情報を当該情報データに付加する付加手段と、
前記プロパティが非同期通信を示していた場合には、前記付加手段によって送信先識別情報が付加された情報データを前記相手先のデータ通信装置に送信する一方、前記プロパティが同期通信を示していた場合には、前記送信先識別情報が付加されない情報データを前記相手先のデータ通信装置に送信する送信手段と
を有することを特徴とするデータ通信装置。
【請求項１０】
請求項１〜７のいずれかに記載のデータ通信方法を、コンピュータに実行させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを利用した分散環境におけるシステム間のメッセージ通信に適用して有効なデータ通信装置、データ通信方法およびプログラムに関する。
【背景技術】
【０００２】
ネットワークを介して接続された複数のコンピュータ上にそれぞれ起動されているアプリケーションプログラム間の通信で、ＳＯＡＰ（Simple Object Access Protocol）を利用したＷｅｂサービスの技術が注目を浴びている。
【０００３】
ＳＯＡＰを使ったサービスでの通信のトランスポート層には、一般的にＨＴＴＰ（Hypertext Transfer Protocol）が使われており、ＳＯＡＰを使ったサービスのほとんどの通信では、下位プロトコルにＨＴＴＰを利用している（たとえば、特許文献１参照）。
【０００４】
ＨＴＴＰの特徴は、状態（ステート）を持たないステートレスな通信プロトコルである。また、ＨＴＴＰは、要求と応答の２ステップから構成されている。すなわち、１つの要求と応答が終了すると、論理的にＨＴＴＰは切断される。そして、同期通信の場合には、このＨＴＴＰの特徴が生かされる。２つのシステム同士がＨＴＴＰを利用して同期通信する場合、一方のシステムが送信した要求に対して、エラーを除き必ず応答が戻ってくる。ＨＴＴＰのこれらの特徴は、ＨＴＴＰを下位プロトコルとして利用しているＳＯＡＰにも当てはまり、ＳＯＡＰメッセージを同期通信で取り扱う場合には、一方のシステムが送信したＳＯＡＰメッセージに対して、エラーを除き、必ずＳＯＡＰの応答が戻ってくる。
【特許文献１】特開２００４−３４８６６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、ＳＯＡＰメッセージを非同期通信で取り扱う場合には、一方のシステムが送信したＳＯＡＰメッセージに対して、ＳＯＡＰメッセージの受信側のシステムは、要求された処理を実行する前に、まず返答を一度戻し、次に処理を実行後、改めてその処理結果をＳＯＡＰメッセージとして送信しなければならなかった。したがって、送信側と受信側がそれぞれ同期通信を行うのか非同期通信を行うのかを、双方で理解した上でアプリケーションプログラムとして実装しなければならない。
【０００６】
また、同期通信用に構築されたシステムおよびプログラムは、そのアプリケーションプログラム自体が同期通信を想定して構築されているため、非同期通信に切り替えるのは容易ではなかった。その逆に、非同期通信用に構築されたシステムおよびプログラムは、そのアプリケーションプログラム自体が非同期通信を想定して構築されているため、同期通信に切り替えるのは容易ではなかった。
【０００７】
このように、ＨＴＴＰを下位プロトコルに用いたＳＯＡＰでの通信においては、非同期通信を行うことは容易ではない。また、同期通信用に構築したシステムおよびプログラムを非同期通信に移行することも容易ではなく、非同期通信用に構築したシステムおよびプログラムを同期通信に移行することも容易ではない。
【０００８】
プログラム作成者は本来、ＳＯＡＰメッセージで通信を行い、リモートシステムから受け取った処理自体に集中してプログラムを作成するべきであり、同期通信であるか非同期通信であるかを意識してプログラムを構築しなくてはならない状況は、プログラムの開発効率を著しく低下させる原因になる。
【０００９】
本発明は、この点に着目してなされたものであり、プログラム作成あるいはメンテナンス環境において、ネットワーク上に分散したデータ通信装置間で利用される通信が同期通信であるか非同期通信であるかを意識することなく、単一の手順で当該データ通信装置間通信を実現することが可能となるデータ通信装置、データ通信方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１に記載のデータ通信方法は、通信回線を介して接続された、送信元のデータ通信装置が送信した情報データを受信する受信ステップと、該受信ステップによって受信された情報データが非同期通信または同期通信のいずれで送信されてきたものであるかを判別する判別ステップと、該判別ステップによる判別の結果、前記受信された情報データが非同期通信で送信されてきたものである場合には、当該情報データに対する仮の応答を前記送信元のデータ通信装置に送信する送信ステップと、前記受信された情報データを、該情報データを処理する処理ステップに受け渡す受け渡しステップとを有することを特徴とする。
【００１１】
上記目的を達成するため、請求項５に記載のデータ通信方法は、通信回線を介して接続された、相手先のデータ通信装置と非同期通信するか同期通信するかを示すプロパティが付加された情報データを受け取る受け取りステップと、該受け取りステップによって受け取った情報データに付加されたプロパティが非同期通信を示していた場合に、前記相手先のデータ通信装置が当該情報データに対する返答を送信するデータ通信装置を識別するための送信先識別情報を当該情報データに付加する付加ステップと、前記プロパティが非同期通信を示していた場合には、前記付加ステップによって送信先識別情報が付加された情報データを前記相手先のデータ通信装置に送信する一方、前記プロパティが同期通信を示していた場合には、前記送信先識別情報が付加されない情報データを前記相手先のデータ通信装置に送信する送信ステップとを有することを特徴とする。
【００１２】
上記目的を達成するため、請求項８に記載のデータ通信装置は、通信回線を介して接続された、送信元のデータ通信装置が送信した情報データを受信する受信手段と、該受信手段によって受信された情報データが非同期通信または同期通信のいずれで送信されてきたものであるかを判別する判別手段と、該判別手段による判別の結果、前記受信された情報データが非同期通信で送信されてきたものである場合には、当該情報データに対する仮の応答を前記送信元のデータ通信装置に送信する送信手段と、前記受信された情報データを、該情報データを処理する処理手段に受け渡す受け渡し手段とを有することを特徴とする。
【００１３】
上記目的を達成するため、請求項９に記載のデータ通信装置は、通信回線を介して接続された、相手先のデータ通信装置と非同期通信するか同期通信するかを示すプロパティが付加された情報データを受け取る受け取り手段と、該受け取り手段によって受け取った情報データに付加されたプロパティが非同期通信を示していた場合に、前記相手先のデータ通信装置が当該情報データに対する返答を送信するデータ通信装置を識別するための送信先識別情報を当該情報データに付加する付加手段と、前記プロパティが非同期通信を示していた場合には、前記付加手段によって送信先識別情報が付加された情報データを前記相手先のデータ通信装置に送信する一方、前記プロパティが同期通信を示していた場合には、前記送信先識別情報が付加されない情報データを前記相手先のデータ通信装置に送信する送信手段とを有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、プログラム作成あるいはメンテナンス環境において、ネットワーク上に分散したデータ通信装置間で利用される通信が同期通信であるか非同期通信であるかを意識することなく、単一の手順で当該データ通信装置間通信を実現することが可能となる。また、情報データの仕様に依存せずに非同期通信が可能となる通信インターフェイスを提供することが可能となる。さらに、同期通信として構築済みのアプリケーションプログラムを変更することなく、非同期通信へと対応させることが可能となる。また、非同期通信として構築済みのアプリケーションプログラムを変更することなく、同期通信へと対応することが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１６】
図１は、本発明の一実施の形態に係るデータ通信装置を適用したデータ通信システムを模式的に示した概念図である。
【００１７】
同図に示すように、本実施の形態のデータ通信システムは、データ通信装置１ａとデータ通信装置１ｂにそれぞれ起動されているアプリケーションプログラム２ａおよび２ｂ間でデータ通信を行う。各データ通信装置１ａおよび１ｂは、同図に示すように各々、データ通信プログラム３ａおよび３ｂを備えている。
【００１８】
アプリケーションプログラム２ａは、通信する必要のある情報データをデータ通信プログラム３ａに渡す前に、呼び出されるサービスとの通信が同期通信であるか非同期通信であるかを、その情報データのプロパティとして指定する。データ通信プログラム３ａに情報データを渡す手順は、同期通信と非同期通信とで相違なく、統一された手順である。また、通信回線４を介して伝達された情報データは、データ通信プログラム３ｂに伝達され、アプリケーションプログラム２ｂに通知される。アプリケーションプログラム２ａに情報データが通知される手順は、同期通信と非同期通信とで相違なく、統一された手順である。なお、通信回線４は、有線回線でも無線回線でも、構わない。
【００１９】
このように統一された手順で、情報データの送信および通知がなされるため、プログラマは、受け手側のアプリケーションプログラムの仕様が同期通信用のものであるか、非同期通信用のものであるかを意識することなく、アプリケーションの作成およびメンテナンスを行うことが可能となる。
【００２０】
また、作成された受信側アプリケーションプログラム３ｂは、同期通信の場合および非同期通信の場合の両方に対応できるようになり、コンポーネントの再利用性が高まり、全体としてのプログラムサイズも小さくすることが可能となる。
【００２１】
図２および図３は、本実施の形態の通信システムでなされるデータ通信手順の一例を示すブロック図であり、図２は、同期通信の場合のデータ通信手順を示し、図３は、非同期通信の場合のデータ通信手順を示している。なお、本実施の形態の通信システムがデータ通信を行うためには、前記アプリケーションプログラム２ａ，２ｂおよびデータ通信プログラム３ａ，３ｂを実行する必要があり、そのために、プログラムの実行環境あるいはユーティリティプログラム、プログラムライブラリ等が必要となるが、図では省略をしている。
【００２２】
アプリケーションプログラム２ａから伝達されたアプリケーションデータ（情報データ）は、データ送信インターフェイス６ａを介して、ＳＯＡＰ符号化部７ａに伝達され、ＳＯＡＰ符号化部７ａによってＳＯＡＰに符号化される。ＳＯＡＰ符号化部７ａと、実際にデータを送信するデータ送信部１０ａとの間には、送信フィルタインターフェイス８ａおよび送信フィルタ９ａが備えられ、ＳＯＡＰ符号化された送信データ（ＳＯＡＰメッセージ）は、送信フィルタインターフェイス８ａを通り、送信フィルタ９ａに伝達される。送信フィルタ９ａは、ＳＯＡＰメッセージのプロパティに基づいて、伝達されてきたデータを同期または非同期のいずれで通信するかを判別し、非同期で通信する場合のみ、ＳＯＡＰメッセージのヘッダ部に返答先の識別情報を付加するとともに、通信セッション管理部５ａ（図３参照）にＳＯＡＰメッセージの識別情報を保存して、データ送信部１０ａに伝達する。データ送信部１０ａは、送信フィルタ９ａからＳＯＡＰメッセージを受け取り、このＳＯＡＰメッセージを、送信先のデータ通信装置１ｂのデータ受信部１５ｂへ送信する。
【００２３】
データ通信装置１ｂのデータ受信部１５ｂは、送信されてきたＳＯＡＰメッセージを受け取り、そのＳＯＡＰメッセージを受信フィルタインターフェイス１４ｂに伝達する。受信フィルタインターフェイス１４ｂは、受信フィルタ１３ｂを呼び出す。
【００２４】
受信フィルタ１３ｂは、ＳＯＡＰメッセージのヘッダ部に返答先の識別情報があるか否かを判別し、返答先の識別情報がない場合には、そのＳＯＡＰメッセージは同期通信によって送信されてきたものであると判断し、何の処理も加えずにＳＯＡＰ復号化部１２ｂを呼び出す。これに応じて、ＳＯＡＰ復号化部１２ｂは、ＳＯＡＰメッセージをアプリケーション用のデータに復号化する。一方、ＳＯＡＰメッセージのヘッダ部に返答先の識別情報がある場合には、受信フィルタ１３ｂは、そのＳＯＡＰメッセージは非同期通信によって送信されてきたものであると判断し、返答先の識別情報とともにＳＯＡＰメッセージの識別情報を通信セッション管理部５ｂに保存した後、ＳＯＡＰメッセージをＳＯＡＰ復号化部１２ｂに伝達する。ＳＯＡＰ復号化部１２ｂは、このＳＯＡＰメッセージをアプリケーション用のデータに復号化する。それと同時に、受信フィルタ１３ｂは、データ送信インターフェイス６ｂを呼び出し、送信されてきた接続の返答メッセージを利用して、返答のみの仮返答メッセージを、送信フィルタインターフェイス８ｂ、送信フィルタ９ｂおよびデータ送信部１０ｂを介して、データ送信元のデータ通信装置１ａのデータ受信部１５ａに返送する。データ受信部１５ａは、受信した仮応答メッセージを、受信フィルタインターフェイス１４ａを介して受信フィルタ１３ａに伝達する。受信フィルタ１３ａは、非同期メッセージの仮返答メッセージを判断して、処理を終了し、送信先システム３ｂとの接続を切断する。
【００２５】
ＳＯＡＰ復号化され、アプリケーションデータに復号された受信データは、データ受信インターフェイス１１ｂに伝達される。これに応じて、データ受信インターフェイス１１ｂは、受信側のデータ通信装置１ｂのアプリケーションプログラム２ｂを呼び出す。呼び出されたアプリケーションプログラム２ｂは、同期通信であるか非同期通信であるかを意識することなく、アプリケーションデータに対する処理を実行し、その処理結果を戻り値としてデータ受信インターフェイス１１ｂに戻す。データ受信インターフェイス１１ｂは、この処理結果を、送信されて来た識別情報とともにデータ送信インターフェイス６ｂに伝達する。この処理結果は、ＳＯＡＰ符号化部７ｂおよび送信フィルタインターフェイス８ｂを通り、送信フィルタ９ｂに伝達される。
【００２６】
送信フィルタ９ｂは、通信セッション管理部５ｂに保存されているメッセージの識別情報と送信元の識別情報を参照し、データ受信インターフェイス１１ｂから伝達されてきた識別情報のメッセージが同期通信のメッセージか非同期通信のメッセージか判断する。同期通信の場合には、メッセージが送信されてきた接続（識別情報）を利用する一方、非同期通信の場合には、新たな接続を、送信元の識別情報が指し示すデータ通信装置１ａに張り直し、そのデータ受信部１５ａにメッセージを送信する。返答として返されたメッセージは、受信フィルタインターフェイス１４ａ、受信フィルタ１３ａ、ＳＯＡＰ復号部１２ａおよびデータ受信インターフェイス１１ａを通り、アプリケーションプログラム２ａに伝達される。
【００２７】
以上、本発明を実施の形態に基づいて具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更することが可能である。つまり、本発明は、多くの異なる形態で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。
【００２８】
また、上記実施の形態で利用可能なシステムとしては、一般的なコンピュータシステムを用いることができる。実施の形態で用いることができるコンピュータシステムは、中央演算処理装置（ＣＰＵ）、主記憶装置（ＲＡＭ）、不揮発性記憶装置（ＲＯＭ）、入出力制御装置など、一般的にコンピュータシステムに備えられるハードウェア資源、また、ＬＡＮ（Local Area Network）などのネットワークに接続可能な通信手段を備える。実施の形態で利用可能なコンピュータシステムには、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ、組み込み装置用コンピュータ等各種のコンピュータが含まれる。
【００２９】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００３０】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３１】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【００３２】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００３３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００３４】
また、プログラムを稼動させる環境に特に制限はない。たとえば、ＯＳは、どのような種類のものを使用してもよいし、プログラム言語にも制限はない。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施の形態に係るデータ通信装置を適用したデータ通信システムを模式的に示した概念図である。
【図２】本実施の形態の通信システムが同期通信を行う場合のデータ通信手順を示す図である。
【図３】本実施の形態の通信システムが非同期通信を行う場合のデータ通信手順を示す図である。
【符号の説明】
【００３６】
１ａ，１ｂ  データ通信装置
２ａ，２ｂ  アプリケーションプログラム
３ａ，３ｂ  データ通信プログラム
４  通信回線
５ａ，５ｂ  通信セッション管理部
６ａ，６ｂ  データ送信インターフェイス
７ａ，７ｂ  ＳＯＡＰ符号化部
８ａ，８ｂ  送信フィルタインターフェイス
９ａ，９ｂ  送信フィルタ
１０ａ，１０ｂ  データ送信部
１１ａ，１１ｂ  データ受信インターフェイス
１２ａ，１２ｂ  ＳＯＡＰ復号化部
１３ａ，１３ｂ  受信フィルタ
１４ａ，１４ｂ  受信フィルタインターフェイス
１５ａ，１５ｂ  データ受信部
【図１】
2006211567.tif 000003
【図２】
2006211567.tif 000004
【図３】
2006211567.tif 000005