JP2004021562A - クライアント文字コード変換プログラムおよびサーバ文字コード変換プログラム - Google Patents
クライアント文字コード変換プログラムおよびサーバ文字コード変換プログラム Download PDFInfo
- Publication number
- JP2004021562A JP2004021562A JP2002174993A JP2002174993A JP2004021562A JP 2004021562 A JP2004021562 A JP 2004021562A JP 2002174993 A JP2002174993 A JP 2002174993A JP 2002174993 A JP2002174993 A JP 2002174993A JP 2004021562 A JP2004021562 A JP 2004021562A
- Authority
- JP
- Japan
- Prior art keywords
- client
- character code
- server
- corba
- code information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
Abstract
【解決手段】オブジェクトリファレンス700より、送信先のCORBAサーバ300で使用可能なサーバNCS(サーバ文字コード情報)を取得するクライアントオブジェクト101と、CORBAクライアント100で使用可能であってオブジェクトリファレンス700に未登録のクライアントNCS(クライアント文字コード情報)とサーバNCS(サーバ文字コード情報)との対応関係を表すコードセットレジストリ変換テーブル103を参照し、クライアントNCSをサーバNCSに変換した後、CORBAサーバ300へ送信されるGIOPメッセージ410にサーバNCSを設定するクライアントORB102とを備えている。
【選択図】 図3
Description
【発明の属する技術分野】
本発明は、CORBA(Common Object Request Broker Architecture)における文字コードセット変換に用いられるクライアント文字コード変換プログラムおよびサーバ文字コード変換プログラムに関するものであり、特に、CORBAに準拠するクライアント・サーバ・システムで、オブジェクトリファレンスに未登録の文字コード情報(例えば、ベンダ固有文字コードセット)を用いた文字コード情報変換を行うことができるクライアント文字コード変換プログラムおよびサーバ文字コード変換プログラムに関するものである。
【0002】
【従来の技術】
CORBAは、標準化団体OMG(Object Management Group)が定める異機種間接続のための標準化仕様であり、異機種間の連携プロトコルと分散アプリケーション構築のための各種API(Application Program Interface)を規定するものである。
【0003】
簡単に言えば、CORBAは、分散システム環境でCORBAに準拠したクライアント(以下、CORBAクライアント)が、CORBAに準拠したサーバ(以下、CORBAサーバ)内のオブジェクト(例えば、アプリケーションプログラム)にアクセスするためのメカニズムを提供する標準技術である。
【0004】
ここで、CORBAにおけるオブジェクトとは、クライアントから要求することができる一つまたは複数のサービスを提供する、識別可能にカプセル化されたエンティティをいう。
【0005】
図13は、従来のCORBAに準拠するクライアント・サーバ・システムの構成を示すブロック図である。同図において、CORBAクライアント10は、クライアントオブジェクト11およびクライアントORB12を備えている。クライアントオブジェクト11は、各種処理や通信を実行するためのアプリケーションプログラム等である。
【0006】
クライアントORB(Object Request Broker:分散オブジェクト間通信機構)12は、クライアントオブジェクト11とサーバオブジェクト31との通信を仲介するソフトウェア・バスであり、ネットワーク20を介してネーミングサービスサーバ50およびCORBAサーバ30へアクセスする。
【0007】
具体的には、クライアントORB12は、特定のオペレーティングシステム、特定のプログラム言語、特定のアーキテクチャに依存しない中立的なストリーム形式のデータ(後述するGIOP(General Inter−ORB Protocol)メッセージ40)を用いてネットワーク20を介してサーバORB32との間で通信を行う機能を備えている。
【0008】
CORBAサーバ30は、サーバオブジェクト31およびサーバORB32を備えている。サーバオブジェクト31は、各種処理や通信を実行するためのアプリケーションプログラム等である。サーバORB32は、ネットワーク20を介してクライアントORB12にアクセスされ、クライアントオブジェクト11とサーバオブジェクト31との通信を仲介するソフトウェア・バスである。
【0009】
このサーバORB32も、特定のオペレーティングシステム、特定のプログラム言語、特定のアーキテクチャに依存しない中立的なストリーム形式のデータ(後述するGIOPメッセージ40)を用いてネットワーク20を介してクライアントORB12との間で通信を行う機能を備えている。
【0010】
ここで、CORBAに準拠するクライアント・サーバ・システムにおいて、オペレーティングシステム、プラットフォームやプログラム開発言語の違いは、取り扱うことができる文字コード体系の違いとなって顕れる。現在、文字コード体系としては、図14に示したように、複数種類の文字コードセットおよびコードセットレジストリがある。
【0011】
文字コードセットは、一定の基準により付けられた文字コードの集合である。文字コードは、コンピュータで扱われる文字に付けられた識別番号である。コードセットレジストリは、対応する文字コードセットを一意に特定するための値である。
【0012】
図14によれば、ISO8859−1(Latin−1)、ISO/IEC 10646−1UCS2−1およびISO/IEC10646−1UCS4−1は、ISO(International Organization For Standardization)で標準化された文字コードセットである。また、JISおよびJIS日本語EUCは、JIS(Japan Industrial Standard)により標準化された文字コードセットである。
【0013】
以下では、上述した文字コードセットがISOやJIS等の公益機関により標準化されたものであるため、これらの文字コードセットを標準文字コードセットと称する。これらの標準文字コードセットおよびコードセットレジストリは、国際的な標準化団体であるOSF(Open Software Foundation)により統括管理されており、オブジェクトリファレンスデータベース51に格納されたオブジェクトリファレンスに含まれている。
【0014】
また、文字コードセットには、標準文字コードセットの他に、ベンダ固有文字コードセットが存在する。ベンダ固有文字コードセットは、コンピュータハードウェア/ソフトウェアの製造/販売者であるベンダが、標準文字コードセットをベースに、ベンダごとに必要な文字(機種依存文字等)に対応する文字コードを追加したものであり、ベンダ固有の文字コードセットである。
【0015】
図14によれば、B社JISは、B社(ベンダ)で用いられるベンダ固有文字コードセットである。一方、A社日本語EUC その1、A社日本語EUC その2、・・・、A社EBCDIC(英小文字)は、A社(ベンダ)で用いられるベンダ固有文字コードセットである。
【0016】
文字コード体系は、CORBAクライアント10やCORBAサーバ30で使用される上述したオペレーティングシステム等に依存する。従って、CORBAクライアント10とCORBAサーバ30とにおいては、ベンダやオペレーティングシステム、プラットフォームやプログラム開発言語が異なる場合があり、それぞれの文字コード体系が異なる場合も珍しくない。
【0017】
同図に示した例では、CORBAクライアント10では、クライアントNCS(Native Code Set)として標準文字コードセットであるJIS(0x00030001)が用いられている。一方、CORBAサーバ30では、サーバNCSとして標準文字コードであるISO/IEC 10646−1UCS2−1(0x00010100)が用いられており、CCS(Conversion Code Set)として標準文字コードセットであるJIS(0x00030001)が用いられている。
【0018】
CORBAクライアント10とCORBAサーバ30との間で、異なる標準文字コードセット(コードセットレジストリ)が用いられている場合には、後述するコードセット変換についての折衝が行われる。
【0019】
図13に戻り、CORBAクライアント10において、クライアントNCSは、クライアントオブジェクト11で使用されるコードセットレジストリ(文字コードセット)である。
【0020】
一方、CORBAサーバ30において、サーバNCSは、サーバオブジェクト31で使用されるコードセットレジストリ(文字コードセット)である。CCSは、サーバNCSとの間で変換可能なコードセットレジストリ(文字コードセット)である。
【0021】
また、クライアントORB12とサーバORB32との間では、上述したように中立的なデータであるGIOPメッセージ40がやりとりされる。このGIOPメッセージ40は、図15(a)に示したフォーマットとされている。同図に示したようにGIOPメッセージのフォーマットは、GIOPヘッダ、リクエストヘッダおよびリクエストボディという情報から構成されている。
【0022】
リクエストヘッダは、図15(b)に示したように、request_id(リクエストID)、response_flags(レスポンスフラグ)、taget、operation、service_contextという情報から構成されている。また、service_contextは、図15(c)に示したように、context_id、context_data長、TCS(Transmission Code Set)という情報から構成されている。
【0023】
ここで、図15(c)に示したTCSは、特定のオペレーティングシステム、特定のプログラム言語、特定のアーキテクチャに依存しない中立的なコードセットレジストリ(文字コードセット)である。
【0024】
図13に戻り、ネーミングサービスサーバ50は、CORBAにおけるネーミングサービスをCORBAクライアント10へ提供するサーバであり、サーバオブジェクト31を名前で管理する機能を備えている。
【0025】
このネーミングサービスによれば、クライアントオブジェクト11がサーバオブジェクト31にアクセスする場合には、サーバオブジェクト31の位置ではなく、名前でアクセスできるようになるため、サーバオブジェクト31の物理的な位置を意識する必要がない。
【0026】
具体的には、ネーミングサービスサーバ50は、クライアントオブジェクト11から問い合わせがあった場合、オブジェクトリファレンスデータベース51からオブジェクトリファレンスを読み出し、これをクライアントオブジェクト11へ返すことにより、ネーミングサービスを提供する。
【0027】
このオブジェクトリファレンスは、サーバオブジェクト31を名前で一意に識別するための情報である。具体的には、オブジェクトリファレンスは、IOR(Interoperable Object Reference)ヘッダ、ID(IDentification)、ホスト名、PORT番号、オブジェクトキー等や、上述したサーバNCS、CCSという情報から構成されている。
【0028】
IORヘッダは、オブジェクトリファレンスのヘッダ情報である。IDは、オブジェクトリファレンスを識別するための識別子情報である。ホスト名は、オブジェクトを有するホストの名称である。但し、ホスト名には、CORBAサーバ30のIPアドレスがそのまま設定されることもある。
【0029】
PORT番号は、サーバオブジェクト31を特定するためのポート番号である。オブジェクトキーには、サーバORBに対応するベンダの独自情報が設定される。従って、図13の場合、オブジェクトキーには、サーバORB32に対応するベンダ独自情報が設定される。
【0030】
ここで、クライアントORB12は、オブジェクトリファレンスから得られるサーバNCSおよびCCSに基づいてTCSを決定し、このTCSをGIOPメッセージ40に埋め込み、サーバORB32へ送信する。
【0031】
つぎに、上述したクライアント・サーバ・システムにおけるコードセット変換の折衝について説明する。図13において、クライアントオブジェクト11は、ネットワーク20を介してネーミングサービスサーバ50へアクセスし、サーバオブジェクト31に対応するオブジェクトリファレンス(サーバNCSおよびCCSを含む)を要求する。
【0032】
これにより、ネーミングサービスサーバ50は、オブジェクトリファレンスデータベース51から当該オブジェクトリファレンスを読み出し、これをクライアントオブジェクト11へ送信する。
【0033】
そして、クライアントオブジェクト11は、上記オブジェクトリファレンスを取得し、クライアントNCS(0x00030001(JIS))に対応する送信データと、取得したオブジェクトリファレンスとをクライアントORB12に渡す。
【0034】
クライアントORB12は、オブジェクトリファレンスからサーバNCS(0x00010100(ISO/IEC 10646−1UCS2−1))およびCCS(0x00030001(JIS))を取得する。
【0035】
つぎに、クライアントORB12は、クライアントNCS(0x00030001(JIS))と、サーバNCS(0x00010100(ISO/IEC 10646−1UCS2−1))およびCCS(0x00030001(JIS))との比較結果に基づいて、GIOPメッセージ40に設定するTCSを決定するというTCS決定処理を実行する。
【0036】
具体的には、第1ステップでは、クライアントORB12は、クライアントNCS(0x00030001(JIS))と、サーバNCS(0x00010100(ISO/IEC 10646−1UCS2−1))とが一致するか否かを判断し、この場合、判断結果を「No」とする。なお、第1ステップの判断結果が「Yes」である場合、クライアントORB12は、当該サーバNCSをTCSとして決定する。
【0037】
上記第1ステップの判断結果が「No」である場合、第2ステップでは、クライアントORB12は、クライアントNCS(0x00030001(JIS))と、CCS(0x00030001(JIS))とが一致するか否かを判断し、この場合、判断結果を「Yes」として、当該CCSをTCSとして決定する。なお、第2ステップの判断結果が「No」である場合、コードセット変換が不可であるためエラーとされる。
【0038】
そして、クライアントORB12は、TCS決定処理で決定されたTCSおよび送信データをGIOPメッセージ40に設定した後、ネットワーク20を介してGIOPメッセージ40をサーバORB32へ送信する。
【0039】
サーバORB32は、GIOPメッセージ40を受信すると、GIOPメッセージ40に設定されたTCSがサーバNCSと一致する場合、当該TCSをサーバNCSとして、受信データ(上記受信された送信データ)およびサーバNCSをサーバオブジェクト31へ渡す。
【0040】
一方、GIOPメッセージ40に設定されたTCSがCCSと一致する場合、サーバORB32は、当該TCS(CCS)をサーバNCSに変換した後、受信データおよびサーバNCSをサーバオブジェクト31へ渡す。
【0041】
【発明が解決しようとする課題】
ところで、前述したように、従来のCORBAに準拠するクライアント・サーバ・システムにおいては、CORBAクライアント10およびCORBAサーバ30の双方で標準文字コードセットが用いられている場合、上述した文字コードセット変換により、問題なく動作する。
【0042】
しかしながら、従来では、標準文字コードセットに代えてベンダ固有文字コードセットが用いられており、かつオブジェクトリファレンスに当該ベンダ固有文字コードセット(文字コード情報)が登録されていない場合、相手側が、当該ベンダ固有文字コードセット(文字コード情報)を未知の文字コードセット(文字コード情報)として認識するため、文字コードセット変換(文字コード情報変換)ができず、エラーが発生するという問題があった。
【0043】
本発明は、上記に鑑みてなされたもので、CORBAに準拠するクライアント・サーバ・システムで、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができるクライアント文字コード変換プログラムおよびサーバ文字コード変換プログラムを提供することを目的とする。
【0044】
【課題を解決するための手段】
上記目的を達成するために、本発明は、CORBAに準拠するクライアント・サーバ・システムにおけるCORBAクライアントに適用されるクライアント文字コード変換プログラムであって、コンピュータを、オブジェクトリファレンスより、送信先のCORBAサーバで使用可能なサーバ文字コード情報を取得するオブジェクトリファレンス文字コード情報取得手段、前記CORBAクライアントで使用可能であって前記オブジェクトリファレンスに未登録のクライアント文字コード情報と前記サーバ文字コード情報との対応関係を表すテーブルを参照し、前記クライアント文字コード情報を前記サーバ文字コード情報に変換する変換手段、前記CORBAクライアントから前記CORBAサーバへ送信される通信データに前記変換手段により変換されたサーバ文字コード情報を設定する設定手段、として機能させるためのクライアント文字コード変換プログラムである。
【0045】
この発明によれば、オブジェクトリファレンスより、送信先のCORBAサーバで使用可能なサーバ文字コード情報を取得し、CORBAクライアントで使用可能であってオブジェクトリファレンスに未登録のクライアント文字コード情報とサーバ文字コード情報との対応関係を表すテーブルを参照し、クライアント文字コード情報をサーバ文字コード情報に変換し、CORBAクライアントからCORBAサーバへ送信される通信データに、変換されたサーバ文字コード情報をCORBAクライアント側で設定することとしたので、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができる。
【0046】
また、本発明は、CORBAに準拠するクライアント・サーバ・システムにおけるCORBAクライアントに適用されるクライアント文字コード変換プログラムであって、コンピュータを、CORBAサーバより受信された通信データから前記CORBAサーバで設定されたサーバ文字コード情報を取得する通信データ文字コード情報取得手段、前記CORBAクライアントで使用可能であって前記オブジェクトリファレンスに未登録のクライアント文字コード情報と前記サーバ文字コード情報との対応関係を表すテーブルを参照し、前記通信データ文字コード情報取得手段により取得された前記サーバ文字コード情報を前記クライアント文字コード情報に変換する変換手段、として機能させるためのクライアント文字コード変換プログラムである。
【0047】
この発明によれば、CORBAサーバより受信された通信データからCORBAサーバで設定されたサーバ文字コード情報をクライアント文字コード情報にCORBAクライアント側で変換することとしたので、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができる。
【0048】
また、本発明は、CORBAに準拠するクライアント・サーバ・システムにおけるCORBAサーバに適用されるサーバ文字コード変換プログラムであって、前記コンピュータを、CORBAクライアントより受信された通信データから前記CORBAクライアントで設定されたクライアント文字コード情報を取得する通信データ文字コード情報取得手段、前記CORBAクライアントで使用可能であってオブジェクトリファレンスに未登録のクライアント文字コード情報と前記CORBAサーバで使用可能なサーバ文字コード情報との対応関係を表すテーブルを参照し、前記通信データ文字コード情報取得手段により取得された前記クライアント文字コード情報を前記サーバ文字コード情報に変換する変換手段、として機能させるためのサーバ文字コード変換プログラムである。
【0049】
この発明によれば、CORBAクライアントより受信された通信データからCORBAクライアントで設定されたクライアント文字コード情報を取得し、CORBAクライアントで使用可能であってオブジェクトリファレンスに未登録のクライアント文字コード情報とサーバ文字コード情報との対応関係を表すテーブルを参照し、クライアント文字コード情報をサーバ文字コード情報にCORBAサーバ側で変換することとしたので、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができる。
【0050】
【発明の実施の形態】
以下、図面を参照して本発明にかかるクライアント文字コード変換プログラムおよびサーバ文字コード変換プログラムの一実施の形態について詳細に説明する。
【0051】
図1は、本発明にかかる一実施の形態の構成を示すブロック図である。この図には、CORBAに準拠するクライアント・サーバ・システムが図示されている。同図において、CORBAクライアント100は、ネットワーク200を介して、CORBAサーバ300およびネーミングサービスサーバ500に接続されており、クライアントオブジェクト101、クライアントORB102およびコードセットレジストリ変換テーブル103を備えている。
【0052】
クライアントオブジェクト101は、各種処理や通信を実行するためのアプリケーションプログラム等である。このクライアントオブジェクト101では、前述したクライアントNCSとして、ベンダ固有文字コードセットである0x10040002(A社日本語EUC その2)(図14参照)が使用される。なお、この0x10040002(A社日本語EUC その2)は、ベンダ固有文字コードセットであるためオブジェクトリファレンスデータベース501に格納されたオブジェクトリファレンスに登録されていない。
【0053】
クライアントORB102は、クライアントオブジェクト101とサーバオブジェクト301との通信を仲介するソフトウェア・バスであり、ネットワーク200を介してネーミングサービスサーバ500およびCORBAサーバ300へアクセスする。
【0054】
また、クライアントORB102は、TCSを決定する処理を実行し、このTCSをGIOPメッセージ400に設定する。TCSは、前述したように、特定のオペレーティングシステム、特定のプログラム言語、特定のアーキテクチャに依存しない中立的なコードセットレジストリ(文字コードセット)である。GIOPメッセージ400は、前述した図15(a)〜図15(c)に示したフォーマットに準拠している。
【0055】
コードセットレジストリ変換テーブル103は、CORBAクライアント100の通信相手(同図ではCORBAサーバ300)との間で、オブジェクトリファレンスに未登録のベンダ固有文字コードセットを用いることができるようにするためのテーブルである。
【0056】
具体的には、コードセットレジストリ変換テーブル103は、自コードセットレジストリと、相手コードセットレジストリとの間で変換を行うためのテーブルである。自コードセットレジストリは、クライアントNCSであり、この場合、0x10040002(A社日本語EUC その2)である。相手コードセットレジストリは、後述するサーバNCSやCCSであり、0x00030010(サーバNCS)等である。
【0057】
ここで、従来では、ベンダ固有文字コードセットの0x10040002(A社日本語EUC その2)は、CORBAサーバ300で未知の文字コードセットとして認識されるため、文字コード変換を行うことができない。
【0058】
これに対して、一実施の形態では、コードセットレジストリ変換テーブル103により、0x10040002(A社日本語EUC その2)をCORBAサーバ300で対応可能なサーバNCSやCCSに対応付けることにより、文字コード変換を可能としている。
【0059】
但し、コードセットレジストリ変換テーブル103においては、自コードセットレジストリ(文字コードセット)の範囲と、相手コードセットレジストリ(文字コードセット)の範囲とが一部共通していることを要する。
【0060】
具体的には、図2に示したように、JIS日本語EUCにおいては、範囲1が文字コードの範囲とされている。このJIS日本語EUCは、図1に示したコードセットレジストリ変換テーブル103の相手コードセットレジストリ(0x00030010(サーバNCS))に対応している。
【0061】
また、図2に示したA社日本語EUC その2は、標準文字コードセットであるJIS日本語EUCをベースに、A社(ベンダ)に必要な文字(機種依存文字等)に対応する文字コード(範囲2および範囲4)が追加されたものである。従って、A社日本語EUC その2の範囲は、範囲1(JIS日本語EUC)、範囲2および範囲4である。
【0062】
つまり、A社日本語EUC その2(ベンダ固有文字コードセット)とJIS日本語EUC(標準文字コードセット)とにおいては、範囲1が共通しており、この範囲1に対応する文字コードが一致する。
【0063】
同様にして、図2に示したB社日本語EUCは、標準文字コードセットであるJIS日本語EUCをベースに、B社(ベンダ)に必要な文字(機種依存文字等)に対応する文字コード(範囲3および範囲4)が追加されたものである。従って、B社日本語EUCの範囲は、範囲1(JIS日本語EUC)、範囲3および範囲4である。
【0064】
つまり、B社日本語EUC(ベンダ固有文字コードセット)とJIS日本語EUC(標準文字コードセット)とにおいては、範囲1が共通しており、この範囲1に対応する文字コードが一致する。
【0065】
また、A社日本語EUC その2(ベンダ固有文字コードセット)とB社日本語EUC(ベンダ固有文字コードセット)とにおいては、範囲1および4が共通しており、これらの範囲1および4に対応する文字コードが一致する。
【0066】
このように、共通する範囲(文字コード)を有する関係にある自コードセットレジストリ(文字コードセット)と、相手コードセットレジストリ(文字コードセット)との場合には、上記範囲(文字コード)に基づく互換性がある。一実施の形態では、上記互換性を利用して、従来できなかった文字コード変換を可能としている。
【0067】
図1に戻り、CORBAサーバ300は、サーバオブジェクト301およびサーバORB302、コードセットレジストリ変換テーブル303および記憶部304を備えている。サーバオブジェクト301は、各種処理や通信を実行するためのアプリケーションプログラム等である。
【0068】
サーバORB302は、ネットワーク200を介してクライアントORB102にアクセスされ、クライアントオブジェクト101とサーバオブジェクト301との通信を仲介するソフトウェア・バスである。
【0069】
このサーバORB302も、特定のオペレーティングシステム、特定のプログラム言語、特定のアーキテクチャに依存しない中立的なストリーム形式のデータ(GIOPメッセージ400)を用いてネットワーク200を介してクライアントORB102との間で通信を行う機能を備えている。
【0070】
コードセットレジストリ変換テーブル303は、CORBAサーバ300の通信相手(同図ではCORBAクライアント100)との間で、オブジェクトリファレンスに未登録のベンダ固有文字コードセットを用いることができるようにするためのテーブルである。
【0071】
具体的には、コードセットレジストリ変換テーブル303は、相手コードセットレジストリと、自コードセットレジストリとの間で変換を行うためのテーブルである。相手コードセットレジストリは、TCSであり、この場合、ベンダ固有文字コードセットに対応する0x10040002(A社日本語EUC その2)である。自コードセットレジストリは、サーバNCSやCCSである。
【0072】
ここで、サーバNCSは、前述したように、サーバオブジェクト301で使用されるコードセットレジストリ(文字コードセット)である。一方、CCSは、サーバNCSとの間で変換可能なコードセットレジストリ(文字コードセット)である。
【0073】
同図に示した例では、サーバNCSは、標準文字コードセットに対応する0x00030010(JIS日本語EUC)である。一方、CCSは、標準文字コードセットに対応する0x00010100(ISO/IEC 10646−1 UCS2−1)、0X00030001(JIS)である。
【0074】
記憶部304には、CORBAクライアント100のクライアントORB102から送信されたGIOPメッセージ400等を受信した場合に、GIOPメッセージ400等に含まれるリクエストIDおよびTCS(相手コードセットレジストリ)が記憶される。
【0075】
ネーミングサービスサーバ500は、CORBAにおけるネーミングサービスをCORBAクライアント100へ提供するサーバであり、サーバオブジェクト301を名前で管理する機能を備えている。
【0076】
このネーミングサービスによれば、クライアントオブジェクト101がサーバオブジェクト301にアクセスする場合には、サーバオブジェクト301の位置ではなく、名前でアクセスできるようになるため、サーバオブジェクト301の物理的な位置を意識する必要がない。
【0077】
具体的には、ネーミングサービスサーバ500は、クライアントオブジェクト101から問い合わせがあった場合、オブジェクトリファレンスデータベース501からオブジェクトリファレンスを読み出し、これをクライアントオブジェクト101へ返すことにより、ネーミングサービスを提供する。
【0078】
このオブジェクトリファレンスは、サーバオブジェクト301を名前で一意に識別するための情報である。具体的には、オブジェクトリファレンスは、前述したIORヘッダ、ID、ホスト名(IPアドレス)、PORT番号、オブジェクトキー等や、上述したサーバNCS、CCSという情報から構成されている。
【0079】
(CORBAクライアント100における要求送信動作)
つぎに、図1に示したCORBAクライアント100における要求送信動作について、図3〜図5を参照しつつ説明する。
【0080】
図3は、図1に示したCORBAクライアント100における要求送信動作を説明するブロック図である。図4は、図3に示したCORBAクライアント100における要求送信動作を説明するフローチャートである。
【0081】
図4に示したステップSA1では、CORBAクライアント100のクライアントオブジェクト101は、クライアントORB102およびネットワーク200を介してネーミングサービスサーバ500へアクセスし、図3に示したサーバオブジェクト301に対応するオブジェクトリファレンス700(サーバNCS(=0x00030010)およびCCS(=0x00010100、0x00030001)を含む)を取得する。
【0082】
ステップSA2では、クライアントオブジェクト101は、オブジェクトリファレンス700と、クライアントNCS(0x10040002(A社日本語EUC その2))に対応する送信データ600とをクライアントORB102に渡し、送信要求を出す。
【0083】
ステップSA3では、クライアントORB102は、送信データ600に含まれるクライアントNCS(0x10040002(A社日本語EUC その2))と、オブジェクトリファレンス700に含まれるサーバNCS(0x00030010(JIS日本語EUC))およびCCS(0x00010100(ISO/IEC 10646−1 UCS2−1)、0x00030001(JIS))と、コードセットレジストリ変換テーブル103との比較結果に基づいて、TCSを決定するというTCS決定処理を実行する。
【0084】
具体的には、図5に示したステップSB1では、クライアントORB102は、クライアントNCS(0x10040002(A社日本語EUC その2))と、サーバNCS(0x00030010(JIS日本語EUC))とが一致するか否かを判断し、この場合、判断結果を「No」とする。
【0085】
なお、ステップSB1の判断結果が「Yes」である場合、ステップSB6では、クライアントORB102は、当該サーバNCSをTCSとして決定する。
【0086】
ステップSB2では、クライアントORB102は、クライアントNCS(0x10040002(A社日本語EUC その2))と、CCS(0x00010100(ISO/IEC 10646−1 UCS2−1)、0x00030001(JIS))とが一致するか否かを判断し、この場合、判断結果を「No」とする。
【0087】
なお、ステップSB2の判断結果が「Yes」である場合、ステップSB7では、クライアントORB102は、当該CCSをTCSとして決定する。
【0088】
ステップSB3では、クライアントORB102は、コードセットレジストリ変換テーブル103に、自コードセットレジストリとしてのクライアントNCS(0x10040002(A社日本語EUC その2))と、相手コードセットレジストリとしてのサーバNCS(0x00030010(JIS日本語EUC))との組み合わせが登録されているか否かを判断し、この場合、判断結果を「Yes」とする。
【0089】
ステップSB8では、クライアントORB102は、コードセットレジストリ変換テーブル103に登録されている相手コードセットレジストリとしての上記サーバNCS(0x00030010(JIS日本語EUC))をTCSとして決定する。
【0090】
一方、ステップSB3の判断結果が「No」である場合、ステップSB4では、クライアントORB102は、コードセットレジストリ変換テーブル103に、自コードセットレジストリとしてのクライアントNCS(0x10040002(A社日本語EUC その2))と、相手コードセットレジストリとしてのCCS(0x00010100(ISO/IEC 10646−1 UCS2−1)または0x00030001(JIS))との組み合わせが登録されているか否かを判断する。
【0091】
このステップSB4の判断結果が「Yes」である場合、ステップSB9では、クライアントORB102は、コードセットレジストリ変換テーブル103に登録されている相手コードセットレジストリとしての上記CCSをTCSとして決定する。
【0092】
一方、ステップSB4の判断結果が「No」である場合、ステップSB5では、クライアントORB102は、汎用コードセットレジストリをTCSとして決定する。この汎用コードセットレジストリは、CORBAサーバ300側でエラーが発生しても良いTCSを決定するためのコードセットレジストリであり、例えば、0x00010001(ISO8859−1(Latin−1))である。
【0093】
図4に戻り、ステップSA4では、クライアントORB102は、上述したTCS決定処理で決定されたTCSおよび送信データ600をGIOPメッセージ410に設定することにより、GIOPメッセージ410(リクエストID(request_id:図15(b)参照)=m)を生成する。ステップSA5では、クライアントORB102は、ネットワーク200を介して、GIOPメッセージ410をCORBAサーバ300(サーバORB302)へ送信する。
【0094】
そして、サーバORB302は、GIOPメッセージ410を受信すると、GIOPメッセージ410に設定されたTCSがサーバNCSと一致する場合、当該TCSをサーバNCSとして、受信データ(上記受信された送信データ)およびサーバNCSをサーバオブジェクト301へ渡す。
【0095】
一方、GIOPメッセージ410に設定されたTCSがCCSと一致する場合、サーバORB302は、当該TCS(CCS)をサーバNCSに変換した後、受信データおよびサーバNCSをサーバオブジェクト301へ渡す。
【0096】
(CORBAクライアント100における応答受信動作)
つぎに、図1に示したCORBAクライアント100における応答受信動作について、図6および図7を参照しつつ説明する。
【0097】
図6は、図1に示したCORBAクライアント100における応答受信動作を説明するブロック図である。図7は、図6に示したCORBAクライアント100における応答受信時の文字コードセット変換処理を説明するフローチャートである。
【0098】
CORBAサーバ300のサーバORB302(図1参照)より送信されたGIOPメッセージ420がネットワーク200を介してクライアントORB102に受信されると、図7に示したステップSC1では、クライアントORB102は、受信したGIOPメッセージ420に含まれるTCSがサポート対象(直接変換可能)であるか否かを判断する。
【0099】
GIOPメッセージ420は、GIOPメッセージ410(図3参照)に対するCORBAサーバ300(サーバORB302)からの応答である。同図に示した例では、GIOPメッセージ420にTCS(0x00030010(JIS日本語EUC))が設定されている。
【0100】
ステップSC1の判断結果が「Yes」である場合、ステップSC4では、クライアントORB102は、GIOPメッセージ420に設定されたTCSをクライアントNCSに直接変換し、このクライアントNCSに対応する受信データ610をクライアントオブジェクト101に渡す。
【0101】
一方、ステップSC1の判断結果が「No」である場合、ステップSC2では、クライアントORB102は、受信したGIOPメッセージ420に含まれるTCS(0x00030010(JIS日本語EUC))がコードセットレジストリ変換テーブル103の相手コードセットレジストリに登録されているか否かを判断する。
【0102】
ステップSC2の判断結果が「Yes」である場合、ステップSC5では、クライアントORB102は、コードセットレジストリ変換テーブル103を参照し、上記相手コードセットレジストリに対応する自コードセットレジストリ(クライアントNCS)を確認する。同図に示した例では、自コードセットレジストリ(クライアントNCS)は、0x10040002(A社日本語EUC その2)である。
【0103】
つぎに、クライアントORB102は、TCS(0x00030010(JIS日本語EUC))をクライアントNCS(0x10040002(A社日本語EUC その2))に変換し、このクライアントNCSに対応する受信データ610をクライアントオブジェクト101に渡す。
【0104】
一方、ステップSC2の判断結果が「No」である場合、ステップSC3では、クライアントORB102は、文字コード変換ができないため、文字コード変換エラーとする。
【0105】
(CORBAサーバ300における要求受信動作)
つぎに、図1に示したCORBAサーバ300における要求受信時のTCS決定処理について、図8および図9を参照しつつ説明する。
【0106】
図8は、図1に示したCORBAサーバ300における要求受信時のTCS決定処理を説明するブロック図である。図9は、図8に示したCORBAサーバ300における要求受信時のTCS決定処理を説明するフローチャートである。
【0107】
CORBAクライアント100のクライアントORB102(図3参照)より送信されたGIOPメッセージ410がネットワーク200を介してサーバORB302に受信されると、図9に示したステップSD1では、サーバORB302は、受信したGIOPメッセージ410に含まれるTCSがサポート対象(直接変換可能)であるか否かを判断する。
【0108】
GIOPメッセージ410には、TCS(0x00030010(JIS日本語EUC))およびリクエストID(=m)が設定されている。
【0109】
ステップSD1の判断結果が「Yes」である場合、ステップSD4では、サーバORB302は、GIOPメッセージ410に設定されたTCSをサーバNCSに直接変換し、このサーバNCSに対応する受信データ620をサーバオブジェクト301に渡す。
【0110】
一方、ステップSD1の判断結果が「No」である場合、ステップSD2では、サーバORB302は、受信したGIOPメッセージ410に含まれるTCSがコードセットレジストリ変換テーブル303の相手コードセットレジストリに登録されているか否かを判断する。
【0111】
ステップSD2の判断結果が「Yes」である場合、ステップSD5では、サーバORB302は、コードセットレジストリ変換テーブル303を参照し、上記相手コードセットレジストリに対応する自コードセットレジストリ(サーバNCS)を確認する。
【0112】
つぎに、サーバORB302は、TCSをサーバNCSに変換し、このサーバNCSに対応する受信データ620をサーバオブジェクト301に渡す。ステップSD6では、サーバORB302は、受信したGIOPメッセージ410に含まれるリクエストIDに対応付けてTCSを記憶部304に記憶させる。
【0113】
一方、ステップSD2の判断結果が「No」である場合、ステップSD3では、サーバORB302は、文字コード変換ができないため、文字コード変換エラーとする。
【0114】
(CORBAサーバ300における応答送信動作)
つぎに、図1に示したCORBAサーバ300における応答送信時のTCS決定処理について、図10および図11を参照しつつ説明する。
【0115】
図10は、図1に示したCORBAサーバ300における応答送信時のTCS設定処理を説明するブロック図である。図11は、図10に示したCORBAサーバ300における応答送信時のTCS設定処理を説明するフローチャートである。
【0116】
サーバオブジェクト301は、図8に示したGIOPメッセージ410を受信した後、応答としてのGIOPメッセージ420をCORBAクライアント100(クライアントORB102)へ送信するという応答送信動作を実行する。
【0117】
すなわち、サーバオブジェクト301より送信データ630がサーバORB302に渡されると、図11に示したステップSE1では、サーバORB302は、ステップSD6(図9参照)で記憶したリクエストIDおよびTCSを記憶部304から読み出す。
【0118】
ステップSE2では、サーバORB302は、GIOPメッセージ420に上記リクエストIDおよびTCSを設定し、送信データ630をGIOPメッセージ420としてCORBAクライアント100のクライアントORB102へ送信する。
【0119】
以上説明したように、一実施の形態によれば、図3に示したように、オブジェクトリファレンス700より、送信先のCORBAサーバ300で使用可能なサーバNCSおよびCCS(サーバ文字コード情報)を取得し、CORBAクライアント100で使用可能であってオブジェクトリファレンス700に未登録の自コードセットレジストリ(クライアント文字コード情報)と相手コードセットレジストリ(サーバ文字コード情報)との対応関係を表すコードセットレジストリ変換テーブル103を参照し、クライアント文字コード情報をサーバ文字コード情報に変換した後、CORBAクライアント100からCORBAサーバ300へ送信されるGIOPメッセージ410に相手コードセットレジストリ(サーバ文字コード情報)をCORBAクライアント100側で設定することとしたので、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができる。
【0120】
また、一実施の形態によれば、図6に示したように、CORBAサーバ300より受信されたGIOPメッセージ420からCORBAサーバ300で設定されたTCS(サーバ文字コード情報)を自コードセットレジストリ(クライアント文字コード情報)にCORBAクライアント100側で変換することとしたので、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができる。
【0121】
また、一実施の形態によれば、図8に示したように、CORBAクライアント100より受信されたGIOPメッセージ410からCORBAクライアント100で設定されたTCS(クライアント文字コード情報)を取得し、CORBAクライアント100で使用可能であってオブジェクトリファレンスに未登録の相手コードセットレジストリ(クライアント文字コード情報)と自コードセットレジストリ(サーバ文字コード情報)との対応関係を表すコードセットレジストリ変換テーブル303を参照し、相手コードセットレジストリ(クライアント文字コード情報)を自コードセットレジストリ(サーバ文字コード情報)にCORBAサーバ300側で変換することとしたので、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができる。
【0122】
また、一実施の形態によれば、図8に示したCORBAクライアント100より受信されたGIOPメッセージ410から取得されたTCS(クライアント文字コード情報)を記憶部304に記憶した後、図10に示したGIOPメッセージ420の応答送信時に、記憶されたTCS(クライアント文字コード情報)をGIOPメッセージ420に設定し、該GIOPメッセージ420をCORBAクライアント100へCORBAサーバ300側で送信することとしたので、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができる。
【0123】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【0124】
例えば、前述した一実施の形態においては、図1に示したCORBAクライアント100またはCORBAサーバ300の機能を実現するためのプログラムを図12に示したコンピュータ読み取り可能な記録媒体900に記録して、この記録媒体900に記録されたプログラムを同図に示したコンピュータ800に読み込ませ、実行することにより各機能を実現してもよい。
【0125】
同図に示したコンピュータ800は、上記プログラムを実行するCPU(Central Processing Unit)810と、キーボード、マウス等の入力装置820と、各種データを記憶するROM(Read Only Memory)830と、演算パラメータ等を記憶するRAM(Random Access Memory)840と、記録媒体900からプログラムを読み取る読取装置850と、ディスプレイ、プリンタ等の出力装置860と、装置各部を接続するバス870とから構成されている。
【0126】
CPU810は、読取装置850を経由して記録媒体900に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体900としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。
【0127】
(付記1)CORBAに準拠するクライアント・サーバ・システムにおけるCORBAクライアントに適用されるクライアント文字コード変換プログラムであって、
コンピュータを、
オブジェクトリファレンスより、送信先のCORBAサーバで使用可能なサーバ文字コード情報を取得するオブジェクトリファレンス文字コード情報取得手段、
前記CORBAクライアントで使用可能であって前記オブジェクトリファレンスに未登録のクライアント文字コード情報と前記サーバ文字コード情報との対応関係を表すテーブルを参照し、前記クライアント文字コード情報を前記サーバ文字コード情報に変換する変換手段、
前記CORBAクライアントから前記CORBAサーバへ送信される通信データに前記変換手段により変換されたサーバ文字コード情報を設定する設定手段、
として機能させるためのクライアント文字コード変換プログラム。
【0128】
(付記2)前記コンピュータを、CORBAサーバより受信された通信データから前記CORBAサーバで設定されたサーバ文字コード情報を取得する通信データ文字コード情報取得手段として機能させ、前記変換手段は、前記テーブルを参照し、前記通信データ文字コード情報取得手段により取得された前記サーバ文字コード情報を前記クライアント文字コード情報に変換することを特徴とする付記1に記載のクライアント文字コード変換プログラム。
【0129】
(付記3)CORBAに準拠するクライアント・サーバ・システムにおけるCORBAクライアントに適用されるクライアント文字コード変換プログラムであって、
コンピュータを、
CORBAサーバより受信された通信データから前記CORBAサーバで設定されたサーバ文字コード情報を取得する通信データ文字コード情報取得手段、
前記CORBAクライアントで使用可能であって前記オブジェクトリファレンスに未登録のクライアント文字コード情報と前記サーバ文字コード情報との対応関係を表すテーブルを参照し、前記通信データ文字コード情報取得手段により取得された前記サーバ文字コード情報を前記クライアント文字コード情報に変換する変換手段、
として機能させるためのクライアント文字コード変換プログラム。
【0130】
(付記4)前記クライアント文字コード情報と前記サーバ文字コード情報とは、共通の文字コードを有していることを特徴とする付記1〜3のいずれか一つに記載のクライアント文字コード変換プログラム。
【0131】
(付記5)CORBAに準拠するクライアント・サーバ・システムにおけるCORBAクライアントであって、
オブジェクトリファレンスより、送信先のCORBAサーバで使用可能なサーバ文字コード情報を取得するオブジェクトリファレンス文字コード情報取得手段と、
前記CORBAクライアントで使用可能であって前記オブジェクトリファレンスに未登録のクライアント文字コード情報と前記サーバ文字コード情報との対応関係を表すテーブルを参照し、前記クライアント文字コード情報を前記サーバ文字コード情報に変換する変換手段と、
前記CORBAクライアントから前記CORBAサーバへ送信される通信データに前記変換手段により変換されたサーバ文字コード情報を設定する設定手段と、
を備えたことを特徴とするCORBAクライアント。
【0132】
(付記6)CORBAに準拠するクライアント・サーバ・システムにおけるCORBAクライアントであって、
CORBAサーバより受信された通信データから前記CORBAサーバで設定されたサーバ文字コード情報を取得する通信データ文字コード情報取得手段と、前記CORBAクライアントで使用可能であって前記オブジェクトリファレンスに未登録のクライアント文字コード情報と前記サーバ文字コード情報との対応関係を表すテーブルを参照し、前記通信データ文字コード情報取得手段により取得された前記サーバ文字コード情報を前記クライアント文字コード情報に変換する変換手段と、
を備えたことを特徴とするCORBAクライアント。
【0133】
(付記7)CORBAに準拠するクライアント・サーバ・システムにおけるCORBAクライアントに適用されるクライアント文字コード変換方法であって、
オブジェクトリファレンスより、送信先のCORBAサーバで使用可能なサーバ文字コード情報を取得するオブジェクトリファレンス文字コード情報取得工程と、
前記CORBAクライアントで使用可能であって前記オブジェクトリファレンスに未登録のクライアント文字コード情報と前記サーバ文字コード情報との対応関係を表すテーブルを参照し、前記クライアント文字コード情報を前記サーバ文字コード情報に変換する変換工程と、
前記CORBAクライアントから前記CORBAサーバへ送信される通信データに前記変換工程で変換されたサーバ文字コード情報を設定する設定工程と、
を含むことを特徴とするクライアント文字コード変換方法。
【0134】
(付記8)CORBAに準拠するクライアント・サーバ・システムにおけるCORBAクライアントに適用されるクライアント文字コード変換方法であって、
CORBAサーバより受信された通信データから前記CORBAサーバで設定されたサーバ文字コード情報を取得する通信データ文字コード情報取得工程と、前記CORBAクライアントで使用可能であって前記オブジェクトリファレンスに未登録のクライアント文字コード情報と前記サーバ文字コード情報との対応関係を表すテーブルを参照し、前記通信データ文字コード情報取得工程で取得された前記サーバ文字コード情報を前記クライアント文字コード情報に変換する変換工程と、
を含むことを特徴とするクライアント文字コード変換方法。
【0135】
(付記9)CORBAに準拠するクライアント・サーバ・システムにおけるCORBAサーバに適用されるサーバ文字コード変換プログラムであって、
前記コンピュータを、
CORBAクライアントより受信された通信データから前記CORBAクライアントで設定されたクライアント文字コード情報を取得する通信データ文字コード情報取得手段、
前記CORBAクライアントで使用可能であってオブジェクトリファレンスに未登録のクライアント文字コード情報と前記CORBAサーバで使用可能なサーバ文字コード情報との対応関係を表すテーブルを参照し、前記通信データ文字コード情報取得手段により取得された前記クライアント文字コード情報を前記サーバ文字コード情報に変換する変換手段、
として機能させるためのサーバ文字コード変換プログラム。
【0136】
(付記10)前記コンピュータを、CORBAクライアントより受信された通信データから取得された前記クライアント文字コード情報を保存する保存手段、前記通信データの応答送信時に、保存された前記クライアント文字コード情報を通信データに設定し、該通信データを前記CORBAクライアントへ送信する送信手段、として機能させるための付記9に記載のサーバ文字コード変換プログラム。
【0137】
(付記11)前記クライアント文字コード情報と前記サーバ文字コード情報とは、共通の文字コードを有していることを特徴とする付記9または10に記載のサーバ文字コード変換プログラム。
【0138】
(付記12)CORBAに準拠するクライアント・サーバ・システムにおけるCORBAサーバであって、
CORBAクライアントより受信された通信データから前記CORBAクライアントで設定されたクライアント文字コード情報を取得する通信データ文字コード情報取得手段と、
前記CORBAクライアントで使用可能であってオブジェクトリファレンスに未登録のクライアント文字コード情報と前記CORBAサーバで使用可能なサーバ文字コード情報との対応関係を表すテーブルを参照し、前記通信データ文字コード情報取得手段により取得された前記クライアント文字コード情報を前記通サーバ文字コード情報に変換する変換手段と、
を備えたことを特徴とするCORBAサーバ。
【0139】
(付記13)CORBAクライアントより受信された通信データから取得された前記クライアント文字コード情報を保存する保存手段と、前記通信データの応答送信時に、保存された前記クライアント文字コード情報を通信データに設定し、該通信データを前記CORBAクライアントへ送信する送信手段と、を備えたことを特徴とする付記12に記載のCORBAサーバ。
【0140】
(付記14)CORBAに準拠するクライアント・サーバ・システムにおけるCORBAサーバに適用されるサーバ文字コード変換方法であって、
CORBAクライアントより受信された通信データから前記CORBAクライアントで設定されたクライアント文字コード情報を取得する通信データ文字コード情報取得工程と、
前記CORBAクライアントで使用可能であってオブジェクトリファレンスに未登録のクライアント文字コード情報と前記CORBAサーバで使用可能なサーバ文字コード情報との対応関係を表すテーブルを参照し、前記通信データ文字コード情報取得工程で取得された前記クライアント文字コード情報を前記サーバ文字コード情報に変換する変換工程と、
を含むことを特徴とするサーバ文字コード変換方法。
【0141】
(付記15)CORBAクライアントより受信された通信データから取得された前記クライアント文字コード情報を保存する保存工程と、前記通信データの応答送信時に、保存された前記クライアント文字コード情報を通信データに設定し、該通信データを前記CORBAクライアントへ送信する送信工程と、を含むことを特徴とする付記14に記載のサーバ文字コード変換方法。
【0142】
【発明の効果】
以上説明したように、本発明によれば、オブジェクトリファレンスより、送信先のCORBAサーバで使用可能なサーバ文字コード情報を取得し、CORBAクライアントで使用可能であってオブジェクトリファレンスに未登録のクライアント文字コード情報とサーバ文字コード情報との対応関係を表すテーブルを参照し、クライアント文字コード情報をサーバ文字コード情報に変換した後、CORBAクライアントからCORBAサーバへ送信される通信データに、変換されたサーバ文字コード情報をCORBAクライアント側で設定することとしたので、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができるという効果を奏する。
【0143】
また、本発明によれば、CORBAサーバより受信された通信データからCORBAサーバで設定されたサーバ文字コード情報をクライアント文字コード情報にCORBAクライアント側で変換することとしたので、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができるという効果を奏する。
【0144】
また、本発明によれば、CORBAクライアントより受信された通信データからCORBAクライアントで設定されたクライアント文字コード情報を取得し、CORBAクライアントで使用可能であってオブジェクトリファレンスに未登録のクライアント文字コード情報とサーバ文字コード情報との対応関係を表すテーブルを参照し、クライアント文字コード情報をサーバ文字コード情報にCORBAサーバ側で変換することとしたので、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができるという効果を奏する。
【0145】
また、本発明によれば、CORBAクライアントより受信された通信データから取得されたクライアント文字コード情報を保存した後、通信データの応答送信時に、保存されたクライアント文字コード情報を通信データに設定し、該通信データをCORBAクライアントへCORBAサーバ側で送信することとしたので、オブジェクトリファレンスに未登録の文字コード情報を用いた文字コード情報変換を行うことができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる一実施の形態の構成を示すブロック図である。
【図2】同一実施の形態の動作原理を説明する図である。
【図3】図1に示したCORBAクライアント100における要求送信動作を説明するブロック図である。
【図4】図3に示したCORBAクライアント100における要求送信動作を説明するフローチャートである。
【図5】図4に示したTCS決定処理を説明するフローチャートである。
【図6】図1に示したCORBAクライアント100における応答受信動作を説明するブロック図である。
【図7】図6に示したCORBAクライアント100における応答受信時の文字コードセット変換処理を説明するフローチャートである。
【図8】図1に示したCORBAサーバ300における要求受信時のTCS決定処理を説明するブロック図である。
【図9】図8に示したCORBAサーバ300における要求受信時のTCS決定処理を説明するフローチャートである。
【図10】図1に示したCORBAサーバ300における応答送信時のTCS設定処理を説明するブロック図である。
【図11】図10に示したCORBAサーバ300における応答送信時のTCS設定処理を説明するフローチャートである。
【図12】同一実施の形態の変形例の構成を示すブロック図である。
【図13】従来のCORBAに準拠するクライアント・サーバ・システムの構成を示すブロック図である。
【図14】文字コードセット/コードセットレジストリ一覧を示す図である。
【図15】GIOPメッセージのフォーマットを示す図である。
【符号の説明】
100 CORBAクライアント
101 クライアントオブジェクト
102 クライアントORB
103 コードセットレジストリ変換テーブル
200 ネットワーク
300 CORBAサーバ
301 サーバオブジェクト
302 サーバORB
303 コードセットレジストリ変換テーブル
304 記憶部
400 GIOPメッセージ
500 ネーミングサービスサーバ
501 オブジェクトリファレンスデータベース
Claims (5)
- CORBAに準拠するクライアント・サーバ・システムにおけるCORBAクライアントに適用されるクライアント文字コード変換プログラムであって、
コンピュータを、
オブジェクトリファレンスより、送信先のCORBAサーバで使用可能なサーバ文字コード情報を取得するオブジェクトリファレンス文字コード情報取得手段、
前記CORBAクライアントで使用可能であって前記オブジェクトリファレンスに未登録のクライアント文字コード情報と前記サーバ文字コード情報との対応関係を表すテーブルを参照し、前記クライアント文字コード情報を前記サーバ文字コード情報に変換する変換手段、
前記CORBAクライアントから前記CORBAサーバへ送信される通信データに前記変換手段により変換されたサーバ文字コード情報を設定する設定手段、
として機能させるためのクライアント文字コード変換プログラム。 - 前記コンピュータを、CORBAサーバより受信された通信データから前記CORBAサーバで設定されたサーバ文字コード情報を取得する通信データ文字コード情報取得手段として機能させ、前記変換手段は、前記テーブルを参照し、前記通信データ文字コード情報取得手段により取得された前記サーバ文字コード情報を前記クライアント文字コード情報に変換することを特徴とする請求項1に記載のクライアント文字コード変換プログラム。
- CORBAに準拠するクライアント・サーバ・システムにおけるCORBAクライアントに適用されるクライアント文字コード変換プログラムであって、
コンピュータを、
CORBAサーバより受信された通信データから前記CORBAサーバで設定されたサーバ文字コード情報を取得する通信データ文字コード情報取得手段、
前記CORBAクライアントで使用可能であって前記オブジェクトリファレンスに未登録のクライアント文字コード情報と前記サーバ文字コード情報との対応関係を表すテーブルを参照し、前記通信データ文字コード情報取得手段により取得された前記サーバ文字コード情報を前記クライアント文字コード情報に変換する変換手段、
として機能させるためのクライアント文字コード変換プログラム。 - CORBAに準拠するクライアント・サーバ・システムにおけるCORBAサーバに適用されるサーバ文字コード変換プログラムであって、
前記コンピュータを、
CORBAクライアントより受信された通信データから前記CORBAクライアントで設定されたクライアント文字コード情報を取得する通信データ文字コード情報取得手段、
前記CORBAクライアントで使用可能であってオブジェクトリファレンスに未登録のクライアント文字コード情報と前記CORBAサーバで使用可能なサーバ文字コード情報との対応関係を表すテーブルを参照し、前記通信データ文字コード情報取得手段により取得された前記クライアント文字コード情報を前記サーバ文字コード情報に変換する変換手段、
として機能させるためのサーバ文字コード変換プログラム。 - 前記コンピュータを、CORBAクライアントより受信された通信データから取得された前記クライアント文字コード情報を保存する保存手段、前記通信データの応答送信時に、保存された前記クライアント文字コード情報を通信データに設定し、該通信データを前記CORBAクライアントへ送信する送信手段、として機能させるための請求項4に記載のサーバ文字コード変換プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002174993A JP2004021562A (ja) | 2002-06-14 | 2002-06-14 | クライアント文字コード変換プログラムおよびサーバ文字コード変換プログラム |
US10/460,553 US7493360B2 (en) | 2002-06-14 | 2003-06-12 | Method of and computer program for client character code conversion, method of and computer program for server character code conversion, CORBA client, and CORBA server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002174993A JP2004021562A (ja) | 2002-06-14 | 2002-06-14 | クライアント文字コード変換プログラムおよびサーバ文字コード変換プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004021562A true JP2004021562A (ja) | 2004-01-22 |
Family
ID=29728006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002174993A Pending JP2004021562A (ja) | 2002-06-14 | 2002-06-14 | クライアント文字コード変換プログラムおよびサーバ文字コード変換プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7493360B2 (ja) |
JP (1) | JP2004021562A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008029656A1 (fr) * | 2006-09-01 | 2008-03-13 | Canon Kabushiki Kaisha | Dispositif de communication, procédé de communication, dispositif de commande de flux, procédé de commande et programme d'ordinateur |
US7353518B2 (en) | 2004-08-24 | 2008-04-01 | Samsung Electronics Co., Ltd. | Method and apparatus for signaling transmission code set in data broadcasting |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2519095A (en) * | 2013-10-09 | 2015-04-15 | Ibm | Improving XML communication |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63137348A (ja) * | 1986-11-28 | 1988-06-09 | Fujitsu Ltd | 文字コ−ド変換方式 |
JPH09305419A (ja) * | 1996-01-10 | 1997-11-28 | Sun Microsyst Inc | 遠隔プロシージャ・コール・システムおよび方法 |
JP2001167059A (ja) * | 1999-12-09 | 2001-06-22 | Hitachi Ltd | サービス要求装置およびデータ変換方法およびクライアントオブジェクトを有する計算機 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0825527B1 (de) * | 1996-08-20 | 2000-01-19 | Alcatel | Verfahren zur Unterstützung der Adress-Interaktion zwischen einer ersten und einer zweiten Einheit |
US6205482B1 (en) * | 1998-02-19 | 2001-03-20 | Ameritech Corporation | System and method for executing a request from a client application |
US6330598B1 (en) * | 1998-06-23 | 2001-12-11 | Ameritech Corporation | Global service management system for an advanced intelligent network |
US6529947B1 (en) * | 1999-05-26 | 2003-03-04 | Adobe Systems Incorporated | Managing transiently connected network clients |
US6732167B1 (en) * | 1999-11-30 | 2004-05-04 | Accenture L.L.P. | Service request processing in a local service activation management environment |
US7228346B1 (en) * | 2000-04-21 | 2007-06-05 | Sun Microsystems, Inc. | IDL event and request formatting for corba gateway |
FI20001617A (fi) * | 2000-07-06 | 2002-01-07 | Nokia Mobile Phones Ltd | Tiedonsiirtomenetelmõ ja -jõrjestely |
US7111077B1 (en) * | 2000-12-22 | 2006-09-19 | Unisys Corporation | Method and apparatus for passing service requests and data from web based workstations directly to online transaction processing (OLTP) server systems |
-
2002
- 2002-06-14 JP JP2002174993A patent/JP2004021562A/ja active Pending
-
2003
- 2003-06-12 US US10/460,553 patent/US7493360B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63137348A (ja) * | 1986-11-28 | 1988-06-09 | Fujitsu Ltd | 文字コ−ド変換方式 |
JPH09305419A (ja) * | 1996-01-10 | 1997-11-28 | Sun Microsyst Inc | 遠隔プロシージャ・コール・システムおよび方法 |
JP2001167059A (ja) * | 1999-12-09 | 2001-06-22 | Hitachi Ltd | サービス要求装置およびデータ変換方法およびクライアントオブジェクトを有する計算機 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7353518B2 (en) | 2004-08-24 | 2008-04-01 | Samsung Electronics Co., Ltd. | Method and apparatus for signaling transmission code set in data broadcasting |
US7353519B2 (en) | 2004-08-24 | 2008-04-01 | Samsung Electronics Co., Ltd. | Method and apparatus for signaling transmission code set in data broadcasting |
US7356822B2 (en) | 2004-08-24 | 2008-04-08 | Samsung Electronics Co., Ltd. | Method and apparatus for signaling transmission code set in data broadcasting |
US7356821B2 (en) | 2004-08-24 | 2008-04-08 | Samsung Electronics Co., Ltd. | Method and apparatus for signaling transmission code set in data broadcasting |
US7367031B2 (en) | 2004-08-24 | 2008-04-29 | Samsung Electronics Co., Ltd. | Method and apparatus for signaling transmission code set in data broadcasting |
US7367030B2 (en) | 2004-08-24 | 2008-04-29 | Samsung Electronics Co., Ltd. | Method and apparatus for signaling transmission code set in data broadcasting |
US7827564B2 (en) | 2004-08-24 | 2010-11-02 | Samsung Electronics Co., Ltd. | Method and apparatus for signaling transmission code set in data broadcasting |
US7836455B2 (en) | 2004-08-24 | 2010-11-16 | Samsung Electronics Co., Ltd. | Method and apparatus for signaling transmission code set in data broadcasting |
US8448184B2 (en) | 2004-08-24 | 2013-05-21 | Samsung Electronics Co., Ltd. | Method and apparatus for signaling transmission code set in data broadcasting |
WO2008029656A1 (fr) * | 2006-09-01 | 2008-03-13 | Canon Kabushiki Kaisha | Dispositif de communication, procédé de communication, dispositif de commande de flux, procédé de commande et programme d'ordinateur |
Also Published As
Publication number | Publication date |
---|---|
US20030233484A1 (en) | 2003-12-18 |
US7493360B2 (en) | 2009-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7483959B2 (en) | Method and system for extensible data gathering | |
TW303558B (ja) | ||
US8156505B2 (en) | Protocol processing including converting messages between SOAP and application specific formats | |
US6898714B1 (en) | Managing and extending attribute values for public key cryptography standards | |
US20050144137A1 (en) | Protocol processing device and method | |
JPH10116195A (ja) | セキュア方式にてオブジェクトの位置を見出すための機構 | |
JP2010016778A (ja) | 画像形成装置、情報処理方法、及び、画像形成システム | |
JP2004021562A (ja) | クライアント文字コード変換プログラムおよびサーバ文字コード変換プログラム | |
JP2005535001A (ja) | 物理デバイスのアバタの通信識別子 | |
WO2019031161A1 (ja) | センサ管理ユニット、センサ装置、センサ管理方法及びセンサ管理プログラム | |
ES2375026B1 (es) | Módulo y métodos para la interconexión de equipos heterogéneos con recursos limitados por medio de middlewares de comunicaciones orientados a objeto. | |
JP7371410B2 (ja) | 情報処理装置、及び、情報処理プログラム | |
US7797359B1 (en) | Recursive data naming | |
JP4316422B2 (ja) | 測定データ通信装置、健康情報通信装置、情報取得装置、測定データ通信システム、測定データ通信装置の制御方法、情報取得装置の制御方法、測定データ通信装置の制御プログラム、およびコンピュータ読み取り可能な記録媒体 | |
US8219717B2 (en) | Port setting method of application system | |
JP4536292B2 (ja) | ネットワークシステム、サーバ、クライアント、オブジェクト間通信方法、プロファイルオブジェクト登録方法、プログラム、および記憶媒体 | |
JP2008059460A (ja) | 情報処理装置、情報指示装置、情報指示処理システム、情報指示処理管理システム、情報処理プログラム及び情報指示プログラム | |
KR100380974B1 (ko) | 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법 | |
CN115242631B (zh) | 一种报文处理方法、装置、电子设备及存储介质 | |
JP2001337935A (ja) | 分散オブジェクト環境におけるアプリケーションのラッピング方法、その通信管理装置及び記録媒体 | |
JP3776706B2 (ja) | データ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4492569B2 (ja) | ファイル操作制御装置、ファイル操作制御システム、ファイル操作制御方法及びファイル操作制御プログラム | |
JP2007122278A (ja) | 文書処理装置及びその方法、プログラム | |
JP2004240890A (ja) | ミドルウェア透過分散アプリケーションアクセス方式 | |
JP3939930B2 (ja) | オブジェクトリファレンス生成装置、オブジェクトリファレンス生成方法およびオブジェクトリファレンス生成プログラムを記録したコンピュータ読み取り可能な記録媒体、並びにオブジェクトリファレンス生成プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080128 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080415 |