(57)【要約】【課題】Ｗｅｂアプリケーションにおいて、画面に表示される同一の項目の表示フォーマットを、Ｗｅｂサイト毎や画面毎などの異なるレベルで異なる内容に動的に変更することを可能とする。【解決手段】Ｗｅｂサーバシステムに対して辞書データを提供する辞書システム１２０であって、辞書データが適用される範囲について、適用範囲が広いものを上位とした階層構造を有する複数種類の辞書テーブル１２２と、指定された辞書テーブル１２２から指定されたキーに対応する辞書データを取得する辞書処理部１２１とを有し、辞書処理部１２１は、辞書テーブル１２２から辞書データを取得する際にいずれの階層の辞書テーブル１２２を参照するかの指定を受け付け、指定された階層の辞書テーブル１２２に、指定されたキーに対応する辞書データが存在しない場合、さらに上位の辞書テーブル１２２に対して順次、キーに対応する辞書データを有するか否かを問い合わせる。【選択図】図１
2014059698.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末からの要求を受けて対応するビジネスロジックを呼び出し、処理結果を前記クライアント端末に対して応答することでサービスを提供するＷｅｂサーバシステムに対して辞書データを提供する辞書システムであって、
前記辞書データが適用される範囲について、適用範囲が広いものを上位とした階層構造を有する複数種類の辞書テーブルと、
指定された前記辞書テーブルから、指定されたキーに対応する前記辞書データを取得する辞書処理部とを有し、
前記辞書処理部は、前記辞書テーブルから前記辞書データを取得する際に、前記階層構造のいずれの階層の前記辞書テーブルを参照するかの指定を受け付け、指定された階層の前記辞書テーブルに、指定された前記キーに対応する前記辞書データが存在しない場合、さらに上位の前記辞書テーブルに対して順次、前記キーに対応する前記辞書データを有するか否かを問い合わせることを特徴とする辞書システム。
【請求項２】
請求項１に記載の辞書システムにおいて、
前記階層構造における各階層の前記辞書テーブルへの参照の許否、および／または参照した階層の前記辞書テーブルに指定された前記キーに対応する前記辞書データが存在しない場合の、さらに上位の前記辞書テーブルへの参照の許否に係る情報を設定可能であることを特徴とする辞書システム。
【請求項３】
請求項１または２に記載の辞書システムにおいて、
前記階層構造における最上位の第１の階層は、言語環境毎に固有の１つ以上の前記辞書テーブルを含むものであることを特徴とする辞書システム。
【請求項４】
請求項３に記載の辞書システムにおいて、
前記階層構造における前記第１の階層の下層の第２の階層は、前記Ｗｅｂサーバシステムを利用して提供されるＷｅｂサイト毎に固有の１つ以上の前記辞書テーブルを含むものであることを特徴とする辞書システム。
【請求項５】
請求項４に記載の辞書システムにおいて、
前記階層構造における前記第２の階層の下層の第３の階層は、前記Ｗｅｂサイトにおいて利用されるライブラリ毎に固有の１つ以上の前記辞書テーブルを含むものであることを特徴とする辞書システム。
【請求項６】
請求項５に記載の辞書システムにおいて、
前記階層構造における前記第３の階層の下層の第４の階層は、前記Ｗｅｂサイトにおいて提供される画面毎に固有の１つ以上の前記辞書テーブルを含むものであることを特徴とする辞書システム。
【請求項７】
請求項１〜６のいずれか１項に記載の辞書システムにおいて、
前記辞書テーブルが保持する前記辞書データは、前記クライアント端末に表示される各入出力項目の表示名称を変換するものに加え、前記入出力項目の属性値を含むデータ項目を変換するものを含むことを特徴とする辞書システム。
【請求項８】
クライアント端末からの要求を受けて対応するビジネスロジックを呼び出し、処理結果を前記クライアント端末に対して応答することでサービスを提供するＷｅｂサーバシステムに対して辞書データを提供する辞書システムにおける辞書呼び出し方法であって、
前記辞書システムは、前記辞書データを呼び出すためのキー、および、前記辞書データが適用される範囲について適用範囲が広いものを上位とした複数種類の辞書テーブルからなる階層構造のうち、いずれの階層の前記辞書テーブルを参照するかの指定を受け付け、指定された階層の前記辞書テーブルから、指定された前記キーに対応する前記辞書データを取得する工程と、
指定された階層の前記辞書テーブルに、指定された前記キーに対応する前記辞書データが存在しない場合、さらに上位の前記辞書テーブルに対して順次、前記キーに対応する前記辞書データを有するか否かを問い合わせる工程とを実行することを特徴とする辞書呼び出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサーバシステムにおけるユーザインタフェースの実装技術に関し、特に、１つのソースコードで同じ項目について表示フォーマットを動的に切り替える辞書システムおよび辞書呼び出し方法に適用して有効な技術に関するものである。
【背景技術】
【０００２】
ＩＴ技術の発展やビジネスのグローバル化等を背景に、ＷｅｂサイトやＷｅｂアプリケーションを複数の言語に対応させるという必要性が高まっている。複数の言語環境によってＷｅｂサイトやＷｅｂアプリケーションへのアクセスを可能とする手法としては、例えば、従来から行われているものとして、同一内容について各言語によりそれぞれ翻訳された個別のコンテンツを予め用意しておき、ユーザが使用する言語環境等に応じてこれらを自動もしくは手動で選択して使用するという手法がある。また、この他にも、アプリケーションプログラムにおいて多言語対応するための技術として種々のものが提案されている。
【０００３】
例えば、特開２００３−４４４７４号公報（特許文献１）には、クライアントおよびユーザ情報に基づいて言語を確定し、コンテンツ要素を含むコンテンツ部のスケルトンを確定し、各スケルトンコンテンツ要素の保存された翻訳テーブルを利用するか、または各スケルトンコンテンツ要素の動的な自然言語翻訳を利用して、スケルトンコンテンツ要素をクライアントおよびユーザ情報に基づいて確定された言語に翻訳し、翻訳したスケルトンコンテンツ要素をコンテンツ部に統合することで、コンテンツ部の動的な言語翻訳を提供する技術が記載されている。
【０００４】
ここで、上記の翻訳テーブルのような、コンテンツ要素についての言語環境毎の翻訳内容を保持しておくようなデータを、例えば、ファイルやデータベースなどからなる辞書として実装し、辞書のデータを更新することで、表示内容や翻訳内容を動的に変更することも行われている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−４４４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術によれば、例えば、Ｗｅｂサーバシステムにおいて、アクセスするクライアント端末の言語環境等に応じてコンテンツ内の各項目を翻訳し、もしくは翻訳に限らず表示内容を動的に変更した状態のコンテンツを提供することが可能である。
【０００７】
しかしながら、これらの技術では、通常、Ｗｅｂサーバシステムにつき１種類（例えば言語環境毎）の辞書や翻訳テーブルが定義される。従って、例えば、当該システムを利用して異なるＷｅｂサイトにてそれぞれサービスを提供する複数の事業者が存在する場合などにおいて、同一の言語環境で同一の項目に対してそれぞれがＷｅｂサイト毎に異なる内容を表示する（すなわち、当該項目に対して異なる辞書データを設定する）ことができない。また、同一のＷｅｂサイト内であっても、同一の項目に対して画面毎に異なる内容を表示したいという場合もある。
【０００８】
すなわち、大規模システムでは、システムに共通するフレームワークレベルでの項目や、サブシステム毎の共通項目、画面固有の項目など、辞書を管理する主体が異なることが多く、１つの大きな辞書では管理が煩雑となり、変更に時間がかかることが多いという問題があった。また、管理主体に応じて辞書を分割して細分化した場合は、Ｗｅｂアプリケーションの各開発者がどの辞書を参照すべきなのかを把握しづらいなどの問題もあった。
【０００９】
一方、Ｗｅｂサーバにおける登録系の業務システムでは、言語により、クライアント端末の画面に表示もしくは画面から入力する際の各入出力項目の文字数や全半角、入力された値のチェック方法などが異なる。従って、言語環境の変更に応じて、表示される入出力項目の名称を変更するだけでは完全ではなく、名称を変更するための辞書を実装しても、結局、言語環境毎に個別に入出力項目の属性値や値のチェック処理などについてプログラムやソースコードを修正する必要があった。
【００１０】
そこで本発明の目的は、Ｗｅｂアプリケーションにおいて、画面に表示される同一の項目の表示フォーマットを、言語環境毎、さらにはＷｅｂサイト毎や画面毎などの異なるレベルで異なる内容に動的に変更することを可能とする辞書システムおよび辞書呼び出し方法を提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１２】
本発明の代表的な実施の形態による辞書システムは、クライアント端末からの要求を受けて対応するビジネスロジックを呼び出し、処理結果を前記クライアント端末に対して応答することでサービスを提供するＷｅｂサーバシステムに対して辞書データを提供する辞書システムであって、前記辞書データが適用される範囲について、適用範囲が広いものを上位とした階層構造を有する複数種類の辞書テーブルと、指定された前記辞書テーブルから、指定されたキーに対応する前記辞書データを取得する辞書処理部とを有し、前記辞書処理部は、前記辞書テーブルから前記辞書データを取得する際に、前記階層構造のいずれの階層の前記辞書テーブルを参照するかの指定を受け付け、指定された階層の前記辞書テーブルに、指定された前記キーに対応する前記辞書データが存在しない場合、さらに上位の前記辞書テーブルに対して順次、前記キーに対応する前記辞書データを有するか否かを問い合わせることを特徴とするものである。
【発明の効果】
【００１３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１４】
すなわち、本発明の代表的な実施の形態によれば、Ｗｅｂアプリケーションにおいて、画面に表示される同一の項目の表示フォーマットを、言語環境毎、さらにはＷｅｂサイト毎や画面毎などの異なるレベルで異なる内容に動的に変更することが容易に可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態である多言語対応Ｗｅｂサーバシステムの構成例について概要を示した図である。
【図２】本発明の一実施の形態におけるパーツオブジェクトにより対応するカラムの入出力項目を画面上に表示する際の処理の例について概要を示した図である。
【図３】本発明の一実施の形態における辞書テーブルの階層構造の例について概要を示した図である。
【図４】本発明の一実施の形態におけるパーツオブジェクトにより表示されるコントロールの外観等を他の言語に変更する際の処理の例について概要を示した図である。
【図５】本発明の一実施の形態におけるパーツオブジェクトにより表示されるコントロールの外観等について変更する際の処理の例について概要を示した図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１７】
本発明の一実施の形態である辞書システムを有する多言語対応Ｗｅｂサーバシステムは、ソースコードを変更することなく複数の言語によるユーザインタフェースを提供することを可能とするため、言語環境毎に辞書を作成して保持する。当該辞書は、単に表示名称等のテキストデータを各言語によって翻訳したものを保持するだけではなく、データ辞書として項目の各種属性情報等も管理することができるものとする。すなわち、ユーザインタフェースにおいて各言語で固有となる情報を辞書データとして保持することができるものである。
【００１８】
このような辞書を用いることにより、例えば、アプリケーションの開発を複数言語で同時並行的に行うことができ、また、対応言語の追加が容易となり拡張性を向上させることが可能となる。また、データ辞書として用いることで、システム内でデータ項目を標準化することができる。
【００１９】
本実施の形態では、例えば、業務データベースにアクセスするＣＲＵＤ（Create,Read,Update,Delete）型のＷｅｂアプリケーションプログラムにおいて、画面上の入出力項目（例えば、業務データベースからデータを取得するための検索条件の内容を指定する入力項目や、検索結果の内容を表示する出力項目）に係る内容を表示するために、標準的なコントロールオブジェクト（以下では単に“コントロール”と記載する場合がある）を直接用いるのではなく、後述するような、表示名称とコントロールの設定内容や制御処理および説明テキストの各データが一体となったパーツオブジェクトを用いるものとする。
【００２０】
このパーツオブジェクトは、画面上にどのようなコントロールを表示するか（例えば、テキストコントロールのみ、（テキストコントロールと）入力フィールド、（テキストコントロールと）ドロップダウンリスト、…等）をパラメータとして指定することが可能である。また、コントロールの属性値（例えば、テキストコントロールに表示されるテキストの内容や、入力フィールドの長さ等）や、制御情報（例えば、入力データの妥当性チェックをどのように行うか等）などについても指定することができるものとし、指定された内容に従ってコントロールを表示および制御するよう実装されている。
【００２１】
換言すると、パーツオブジェクトは、入力フィールドやドロップダウンリスト、テキストなどの、入出力項目のデータを取り扱う入出力コントロールと、入出力項目の名称等を表示するテキストコントロールであるラベルコントロールとを組み合わせて表示するよう構成されており、これらのコントロールの出力のパターンを指定可能であるという構成を有する。
【００２２】
このとき、ラベルコントロールと入出力コントロールとを一括して整合性を持った形でコントロールの幅等の属性値を調整することができるため、ユーザが個別に整合性を持つように属性値等を指定するという煩雑な処理の必要がなく、表示されるコントロールの外観の調整を行うことができる。この調整には、例えば、表示可能領域に対して、ラベルコントロールが意図しない箇所で改行されたり、逆に意図した箇所で改行されなかったり等を防止するよう、ラベルコントロールと入出力コントロールの表示幅を一体的に調整することなどが含まれる。
【００２３】
本実施の形態では、Ｗｅｂアプリケーションプログラムは、画面上の各入出力項目に係る内容について当該パーツオブジェクトを使用して表示するものとしてソースコードが作成されているものとする。すなわち、パーツオブジェクトを使用して間接的にコントロールを表示する（パーツオブジェクトがＷｅｂサーバシステム上での実行時に対象のコントロールを表示するＨＴＭＬ（HyperText Markup Language）データやスクリプト等を動的に生成する）。また、アクセスする対象のデータベースの各カラムと画面上の入出力項目とのマッピングに係る情報は、データベースの各カラムの識別情報（例えばカラム名称）と、対応するパーツオブジェクトの識別情報（例えばＨＴＭＬのＩＤ属性値）とのマッピング情報としてソースコード上に保持する。
【００２４】
さらに、本実施の形態では、各パーツオブジェクトにおいてラベルコントロールに表示するテキスト、および入出力コントロールの属性値や制御処理に係る情報などについて、後述するように、一部を除き、ソースコード上で直接指定するのではなく、パーツオブジェクトのＩＤもしくは対応するデータベースのカラム名称等の識別情報と関連付けられた辞書データとして外出しにして保持するよう構成する。この辞書データの内容を言語環境毎に定義しておき、実行時に対象の言語環境に対応する辞書データを参照することで、いったん生成されたソースコードに対して変更を加えずに、パーツオブジェクトにより画面上に表示されるコントロールの外観や属性等を言語環境に応じて動的に変更可能とする。
【００２５】
また、上記の辞書データへのアクセスなど、パーツオブジェクトが共通して有する機能を継承元のクラスに実装しておき、開発時には当該クラスを継承して各パーツオブジェクトを作成するようにすることで、開発者がパーツオブジェクトの機能を都度実装することなくＷｅｂアプリケーションプログラムを開発できるようにしている。
【００２６】
＜システム構成＞
図１は、本発明の一実施の形態である多言語対応Ｗｅｂサーバシステムの構成例について概要を示した図である。多言語対応Ｗｅｂサーバシステム１００は、例えば、サーバ機器やクラウドコンピューティング環境での仮想サーバなどのコンピュータ機器により構成され、図示しないＯＳやＤＢＭＳ（DataBase Management System）、Ｗｅｂサーバプログラムなどのミドルウェアに加え、ユーザが作成したソースコード１０１もしくはそこから呼び出されるライブラリやオブジェクト等のソフトウェアプログラムにより実装される要求処理部１１０、辞書システム１２０、ビジネスロジック１３０、および応答処理部１４０などの各部を有する。
【００２７】
また、多言語対応Ｗｅｂサーバシステム１００は、インターネット等のネットワーク３００を介して接続されるクライアント端末２００上の図示しないＷｅｂブラウザ等のプログラムからの要求に対して、ビジネスロジック１３０により業務データベース（ＤＢ）１３１にアクセスして処理を行い、クライアント端末２００に対してＨＴＭＬデータ１０２を出力して応答することによってサービスを提供する。
【００２８】
要求処理部１１０は、クライアント端末２００からの要求を受けて、対応するソースコード１０１に基づいてコンテンツ（ビジネスロジック１３０）を呼び出す機能を有し、ソフトウェアプログラムにより実装されるＩＤ変換部１１１、および入力チェック部１１２などの各部を有する。ＩＤ変換部１１１は、要求メッセージに含まれる、画面上の入力項目に対応するパーツオブジェクトの識別情報（ＩＤ）を、ソースコード１０１に保持されたマッピング情報に基づいて、入出力項目に対応する業務ＤＢ１３１のカラムの識別情報（カラム名称等）に変換する機能を有する。
【００２９】
このマッピング情報は、画面上に表示されるパーツオブジェクトの識別情報（例えばＨＴＭＬのＩＤ属性値）と、アクセスする対象の業務ＤＢ１３１の各カラムの識別情報（カラム名等）との対応を保持する。これにより、後述するように、ソースコード１０１において画面上に配置された各パーツオブジェクトは、まずＩＤ変換部１１１によって自身のＩＤに対応するカラム名称を取得した後、当該カラム名称をキーとして、業務ＤＢ１３１へのアクセスや、後述する辞書テーブル１２２からの辞書データの取得等の後続の処理を行うことができる。
【００３０】
従って、クライアント端末２００に応答するＨＴＭＬデータ１０２上では、各パーツオブジェクト（によって表示されるコントロール）において、対応する業務ＤＢ１３１のカラム名称をキー等の情報として直接指定する必要がなく、自身のＩＤをキー等の情報とすることができるため、実際のカラム名称をＨＴＭＬデータ１０２上から隠蔽してセキュリティの強化を図ることが可能である。なお、このような変換を行わず、ＨＴＭＬデータ１０２上で各パーツオブジェクト（によって表示されるコントロール）において対応する業務ＤＢ１３１のカラム名称をキー等の情報として直接指定するようにしてもよい。
【００３１】
入力チェック部１１２は、要求メッセージに含まれる、画面上のパーツオブジェクト（によって表示されるコントロール）を介して指定された入力項目のデータの内容について一般的な妥当性チェックを行う機能を有する。妥当性チェックの種類としては、例えば、文字数や文字タイプ（数字やアルファベット、かな、全半角など）、使用可能文字の制限、日時や各種コード値などのフォーマットチェックなどが考えられる。
【００３２】
妥当性チェックの内容は言語環境によって異なるものとなり得る。従って、本実施の形態では、入力チェック部１１２において言語毎のバリエーションも考慮した複数パターンの妥当性チェックのタイプを実装しておき、対象の入力項目についていずれのタイプを用いるかを、言語環境に応じて選択・決定するものとする。ここでは、後述する辞書システム１２０を介して、対象の言語の辞書テーブル１２２にアクセスし、対象の入力項目に対応する辞書データの内容から妥当性チェックのタイプの情報を取得して決定する。
【００３３】
辞書システム１２０は、例えば、辞書処理部１２１、およびデータベースやファイルテーブル等により実装される辞書テーブル１２２を有する。辞書処理部１２１は、指定された言語の辞書テーブル１２２から、指定されたキー（本実施の形態では、例えば、対象の入出力項目（パーツオブジェクト）に対応する業務ＤＢ１３１のカラム名称）に対する辞書データを取得して出力する機能を有する。言語の指定は、例えば、クライアント端末２００からの要求メッセージに含まれるＷｅｂブラウザの言語環境から取得してもよいし、多言語対応Ｗｅｂサーバシステム１００上で稼働するＷｅｂサイト毎に言語を定義しておき、この値を取得してもよい。図１の例では、日本語（“ｊａ”）、英語（“ｅｎ”）、中国語（“ｚｈ”）の各言語の辞書テーブル１２２を保持していることを示している。
【００３４】
この辞書テーブル１２２は、後述するように、適用範囲や管理主体に応じた階層構造を有しており、これにより、Ｗｅｂサイト毎や画面毎などに異なる辞書テーブル１２２を最小限のリソースで実装することを可能としている。
【００３５】
辞書テーブル１２２における辞書データの内容やフォーマットは特に限定されない。本実施の形態では、簡易な手法として、例えば後述するように、画面を介して業務ＤＢ１３１の対象のカラムへのデータの入出力処理を行うのに必要な種々のデータ（入出力を行うためのパーツオブジェクトの属性値や制御のために必要なパラメータ等）を所定の順序でカンマ区切り等により指定するものとする。具体的には、例えば、対応するパーツオブジェクトにおいてラベルコントロールを表示する際の内容である表示名称や、入出力コントロールとして入力フィールドを表示する際の長さ（文字数）、妥当性チェックの種別やＩＭＥのモードなどの制御処理の内容に係る指定、出力データをテーブルに一覧表示する際の短縮されたテキストである短縮表示名称および表示幅、ドロップダウンリスト等により表示する際の値リストなどが考えられる。
【００３６】
なお、図１の例では、辞書システム１２０を多言語対応Ｗｅｂサーバシステム１００上に実装する構成としているが、これに限らず、多言語対応Ｗｅｂサーバシステム１００とは別のサーバ機器上に独立して構築してもよい。
【００３７】
ビジネスロジック１３０は、業務ＤＢ１３１を利用して業務アプリケーションとしての処理を行う機能を有する。本実施の形態では、上述したように、業務ＤＢ１３１に対するＣＲＵＤ型アプリケーションを対象とするが、特にこれに限定されるものではない。
【００３８】
応答処理部１４０は、ソースコード１０１の内容に基づくビジネスロジック１３０等の処理結果に基づいてＨＴＭＬデータ１０２を生成し、クライアント端末２００に対して応答する機能を有し、ソフトウェアプログラムにより実装される翻訳部１４１、および表示部１４２などの各部を有する。翻訳部１４１は、応答に含まれる各出力項目について、対応するパーツオブジェクトを対象の言語環境の下で表示するためのラベルコントロールのテキストや入出力コントロールの属性値、制御情報などのパラメータ値を取得する。ここでは、辞書システム１２０を介して対応する言語の辞書テーブル１２２にアクセスして、対象の出力項目（パーツオブジェクト）に対応する辞書データから表示名称や属性値等の各種パラメータ値を取得する。
【００３９】
表示部１４２は、翻訳部１４１が取得した、各パーツオブジェクトについてのラベルコントロールのテキストや入出力コントロールの属性値、制御情報などのパラメータ値に基づいて、各パーツオブジェクトにより表示されるコントロールが配置された応答画面のＨＴＭＬデータ１０２を生成する機能を有する。
【００４０】
＜画面表示処理＞
図２は、ＣＲＵＤ型アプリケーションにおいてパーツオブジェクトにより対応するカラムの入出力項目を画面上に表示する際の処理の例について概要を示した図である。図２の例では、日本語環境において、業務ＤＢ１３１からデータを読み出す際の検索条件を入力する画面において、“顧客名”を指定する入力フィールドを表示する場合の例を抜粋して示している。
【００４１】
図の上段に示しているＷｅｂアプリケーションプログラムのソースコード１０１では、“顧客名”を指定する入力フィールドを表示するためにパーツオブジェクト１０３を呼び出している。具体的には、まず、ソースコード１０１上に保持されているマッピング情報（図２の例では、array()により対応関係を保持している）からＩＤ（“Ａ０１”）に対応するカラム名称（“customer_name”）の情報を取得する。
【００４２】
その後、例えば、パーツオブジェクト１０３の機能を実装したクラスから継承したサブクラスについてインスタンスを作成する形で呼び出す（“CF_itemDic();”）。図２の例では、パラメータの一部として、呼び出す辞書テーブル１２２のタイプ（“共通辞書”）、表示する入出力コントロールのタイプ（“入力フィールド”）、ＨＴＭＬのＩＤ属性値（“Ａ０１”）などを指定して呼び出した状態を簡略化して示している。なお、ＨＴＭＬのＩＤ属性値（“Ａ０１”）は、マッピング情報によりカラム名称（“customer_name”）に動的に変換される。
【００４３】
このようなコードにより呼び出されたパーツオブジェクト１０３は、データとして、少なくとも表示名（ラベルコントロールのテキスト）と表示する入出力コントロールの内容に係る情報を含むデータを保持する。図２に示すように、さらに説明テキストなどの他の情報を保持していてもよい。図２の例では、パーツオブジェクト１０３の上記の３つの情報のうち、コントロールについては、ソースコード１０１において“入力フィールド”がパラメータとして指定されているため、これが設定される。
【００４４】
呼び出されたパーツオブジェクト１０３は、さらに、所定の関数やメソッド等により辞書システム１２０の辞書処理部１２１を介して日本語環境（“ｊａ”）における対象の辞書テーブル１２２（“共通辞書”）にアクセスして、カラム名称（“customer_name”）に対応する辞書データ（本実施の形態では“顧客名”、４０文字、２０文字、…などの複数の値の集合）を取得する。
【００４５】
図２の例では、辞書テーブル１２２の辞書データとして、上から順に、名称（ラベルコントロールに表示するテキスト）、入力フィールドの場合の長さ（半角時の文字数）、入力フィールドの場合の最大長さ（文字数）、入力データの妥当性チェックのタイプ、ＩＭＥの初期モード、説明コメント、テーブルに一覧表示する場合のテキスト（表示名）、およびテーブルに一覧表示する場合の表示幅（ピクセル値）などの情報を保持するものとしている。なお、これらの辞書データを取得する際の出力フォーマットとしては、例えば、これらの値をカンマ等で区切った一連の文字列としてもよいし、連想配列等のアクセスしやすいデータとしてもよい。
【００４６】
辞書テーブル１２２については、処理効率を考慮した場合、初期処理もしくは最初のアクセス時にメモリ上に辞書データの内容を展開するのが望ましい。この場合、全ての辞書データを展開するとメモリ使用量を圧迫したり、展開処理に時間を要したり等、却って処理効率が低下する場合がある。従って、実装上は、必要な時に必要な範囲の辞書データをメモリ上に展開できるようにするのが望ましい。
【００４７】
そこで、本実施の形態では、適用範囲や管理主体が異なる複数の辞書テーブル１２２からなる階層構造を有し、これらを適宜選択して使用する構成をとる。図３は、辞書テーブル１２２の階層構造の例について概要を示した図である。階層構造では、上位から順に、例えば、多言語対応Ｗｅｂサーバシステム１００上で稼働するシステムやアプリケーションの言語環境毎に共通の辞書テーブル１２２である複数の共通辞書１２２＿ｚ、指定されたＷｅｂサイト内でのみ共通の複数のサイト辞書１２２＿ｓ、サブシステム内でのみ共通の複数のライブラリ辞書１２２＿ｌ、および画面単位での複数のコントローラ辞書１２２＿ｃなどの、適用範囲や管理主体が異なる複数種類の辞書テーブル１２２を有するものとする（なお、階層構造の一部を抽出して示しており、他の部分は省略している）。
【００４８】
この場合、例えば、下位層のコントローラ辞書１２２＿ｃなどの適用範囲の狭い辞書を参照して該当する辞書データが得られなかった場合に、ライブラリ辞書１２２＿ｌ→サイト辞書１２２＿ｓ→共通辞書１２２＿ｚと順に上位の（適用範囲が広い）辞書テーブル１２２に遡って参照できるようにしてもよい。このとき、階層毎に遡って参照を行うことの許否を定義できるようにしてもよいし、階層毎に辞書テーブル１２２の参照自体の許否を定義できるようにしてもよい。
【００４９】
例えば、図中の“コントローラ辞書ａ”を参照して該当する辞書データが得られなかった場合に、ライブラリ辞書１２２＿ｌに遡って参照することが許可されている場合は、上位の“ライブラリ辞書ｃ”を参照する。このとき、対象のＷｅｂアプリケーションにおいてライブラリ辞書１２２＿ｌの使用が許可されていない場合は、辞書データが得られなかったものとして、ライブラリ辞書１２２＿ｌにおいてサイト辞書１２２＿ｓに遡って参照することが許可されている場合は、上位の“サイト辞書ａ”を参照する。このように階層構造を遡っていっても最終的に辞書データが得られなかった場合は、デフォルト値を用いるようにしてもよいし、エラーとしてもよい。
【００５０】
このような構成を採り、辞書テーブル１２２を使い分けることにより、メモリ上に展開する辞書データを必要なものだけの適切なサイズに維持することができる。また、共通辞書１２２＿ｚ以外に、例えば、サイト単位に共通の辞書データを設定できるサイト辞書１２２＿ｓを有することで、Ｗｅｂサイトのオーナーや管理者は、他のサイトでの設定内容に関わらず、当該Ｗｅｂサイト内だけで固有の辞書データを自由かつ柔軟に作成することができる。また、このような階層構造を採ることにより、下位層の辞書テーブル１２２では上位層の辞書テーブル１２２に対する差分のみ定義しておけばよく、開発生産性を向上させることも可能である。
【００５１】
図２に戻り、パーツオブジェクト１０３は、取得した辞書データから必要なデータを抽出して、コントロールを表示したり制御したりする際のパラメータとして設定する。例えば、入出力コントロールとして入力フィールドを表示する場合の属性値として、辞書データから取得したフィールドの長さを設定するとともに、妥当性チェックのタイプやＩＭＥの初期モードなどの値、説明テキストの内容などを設定する。なお、入力データの妥当性チェックや、ＩＭＥのモード設定などの入出力コントロールの制御に係る処理は、入力チェック部１１２や表示部１４２の機能であるが、具体的な実装としては、例えば、パーツオブジェクト１０３の継承元のクラスにメソッドとして定義しておくなど、パーツオブジェクト１０３が有する、もしくはパーツオブジェクト１０３が呼び出すことができる機能として実装しておくものとする。
【００５２】
これにより、図２の下段の画面例に示すように、実行時に“顧客名”を指定するための入力フィールドのコントロールを表示するよう、パーツオブジェクト１０３がＨＴＭＬデータ１０２を生成することができる。このとき、例えば、パーツオブジェクト１０３の説明テキストの情報を当該入出力項目についてのヘルプ情報等として用いることができる。
【００５３】
なお、入力フィールドを表示する場合、入力フィールドのコントロールだけを表示したのでは何を入力すべきかが不明であるため、本実施の形態では、図２に示すように、当該パーツオブジェクト１０３に対応する入出力項目の表示名を表示するテキストコントロール（“顧客名”）を入力フィールドに隣接させてラベルとして表示する（ラベルコントロール）。当該テキストは、パーツオブジェクト１０３の保持データにおける表示名の情報、すなわちパーツオブジェクト１０３が辞書テーブル１２２から取得した辞書データの名称の値（“顧客名”）を設定する。
【００５４】
このようなＨＴＭＬデータ１０２の生成に係る処理は、表示部１４２等の機能であるが、具体的な実装としては、例えば、パーツオブジェクト１０３の継承元のクラスにメソッドとして定義しておくなど、パーツオブジェクト１０３が有する、もしくはパーツオブジェクト１０３が呼び出すことができる機能として実装しておくものとする。なお、ここでは、上述したように、表示するラベルコントロールや入出力コントロール、および説明テキストの３つの要素について、一括して整合性を持った形で外観等に係る属性値を調整するものとする。
【００５５】
このように、本実施の形態では、入出力項目をパーツオブジェクト１０３により表示するＨＴＭＬデータ１０２を生成することができる。従って、本実施の形態におけるＣＲＵＤ型アプリケーションは、業務ＤＢ１３１の各カラムに対応する入出力項目としてパーツオブジェクト１０３を所定のルールに従って画面上に配置し、標準的な機能や動作の実装と組み合わせるようソースコード１０１を作成することで実現することができる。また、アプリケーションプログラムの開発支援システム等として、このようなソースコード１０１を自動的に生成する機能を実装することも可能である。
【００５６】
例えば、業務ＤＢ１３１へのエントリーの登録（Ｃ：Create）を行うアプリケーションとしては、業務ＤＢ１３１の各カラムに対して登録するデータを指定する入力フィールドを画面上に表示するためのパーツオブジェクト１０３を、業務ＤＢ１３１のカラムの並び順に従って配置するようソースコード１０１を作成する。このとき、必要に応じて画面表示するコントロールのＩＤとカラムの名称との対応関係をマッピング情報として保持しておく。さらに、標準的な機能として業務ＤＢ１３１へのエントリーの登録を実行するための“登録”ボタンや“キャンセル”ボタンなどを配置する。さらに、言語環境毎の辞書テーブル１２２に、各パーツオブジェクト１０３についてコントロールを表示する際に用いる属性値や制御情報などの情報を辞書データとして保持しておく。このとき、各項目について特に指定がされない場合はそれぞれデフォルト値により設定する。
【００５７】
また、例えば、業務ＤＢ１３１に対する検索（Ｒ：Read）を行うアプリケーションとしては、上記と同様に、業務ＤＢ１３１を検索するための条件を指定する入力フィールドを画面上に表示するためのパーツオブジェクト１０３を配置するようソースコード１０１を作成する。このとき、業務ＤＢ１３１の対象テーブルの全カラムについて検索条件として指定可能とすると過剰になることから、例えば、暫定的に先頭の５つのカラムについてだけ入力フィールドを表示するなどの簡略化を行ない、後から変更可能としてもよい。また、必要に応じて画面表示するコントロールのＩＤとカラムの名称との対応関係をマッピング情報として保持しておく。さらに、標準的な機能として業務ＤＢ１３１のエントリーの検索を行うための“検索”ボタンなどを配置する。
【００５８】
また、例えば、検索条件を入力する領域の下部に、検索結果を表示するためのテーブル（表）コントロールを自動的に配置する。ここでは、例えば、テーブルコントロールのオブジェクトの項目定義配列に、業務ＤＢ１３１の各カラムに対応するパーツオブジェクト１０３の呼び出しに相当する内容を設定する。これにより、テーブルコントロールの各列に業務ＤＢ１３１の各カラムの内容が表示されるよう、表示部１４２もしくはパーツオブジェクト１０３を実装することが可能である。
【００５９】
この状態で、ソースコード１０１の内容を変更せずに、Ｗｅｂアプリケーションを他の異なる言語に対応させるには、対象の言語の辞書テーブル１２２を用意すればよい。図４は、パーツオブジェクト１０３により表示されるコントロールの外観等を他の言語に変更する際の処理の例について概要を示した図である。ここでは、図２の例に示したソースコード１０１の内容は変更せずに、新たに英語環境（“ｅｎ”）の辞書テーブル１２２を作成している。
【００６０】
これにより、当該Ｗｅｂアプリケーションの実行時に、パーツオブジェクト１０３が英語環境（“ｅｎ”）での対象の辞書テーブル１２２における当該エントリーの内容を参照し、その内容に応じて図４の下段の画面例に示すように表示名としてのラベルコントロールのテキストデータだけでなく、入出力コントロールの属性等（図４の例では入力フィールドの長さ（幅）や入力データの妥当性チェックの内容、ＩＭＥのモード等）についても英語環境に動的に変更することができる。
【００６１】
また、図５は、パーツオブジェクト１０３により表示されるコントロールの外観等について変更する際の処理の例について概要を示した図である。ここでは、図２の例に示したソースコード１０１の内容に簡易な変更を加えている。具体的には、パーツオブジェクト１０３の呼び出しの際に、表示する入出力コントロールのタイプのパラメータを“入力フィールド”から“ドロップダウンリスト”に変更している。また、辞書テーブル１２２には、辞書データの末尾にドロップダウンリストに設定される値リストの内容（“田中：１，山本：２，…”）を追加定義している。
【００６２】
これにより、当該Ｗｅｂアプリケーションの実行時に、パーツオブジェクト１０３が、指定された種類の入出力コントロールにより入出力項目の表示内容を変更するようＨＴＭＬデータ１０２を生成することができる。図５の例では、同一のパーツオブジェクト１０３について、入出力コントロールを入力フィールドからドロップダウンリストに変更しているが、例えば、入出力コントロールのタイプのパラメータを“テキスト”と設定した場合は、パーツオブジェクト１０３は、値をテキストとして表示する。ラベルコントロールと入出力コントロールのいずれか一方のみ表示することも可能である。また、パラメータを“隠す”と設定した場合は、内部的にデータは保持するものの、画面表示上には当該入出力項目についてはコントロールを何も表示しないようにする。
【００６３】
以上に説明したように、本発明の一実施の形態である辞書システム１２０を有する多言語対応Ｗｅｂサーバシステム１００によれば、Ｗｅｂアプリケーションプログラムのユーザインタフェースにおいて各言語で固有となる情報（入出力項目の表示名称等のテキストデータだけでなく、各種属性情報等のデータ項目の値も含む）を、辞書データとして言語環境毎の辞書テーブル１２２に保持する。また、Ｗｅｂアプリケーションは、入出力項目を画面上に表示する際に、標準的なコントロールを直接使用するのではなく、パーツオブジェクト１０３を使用して間接的に標準的なコントロールを表示するものとする。
【００６４】
このパーツオブジェクト１０３が、言語環境に対応した辞書テーブル１２２から対応する辞書データを取得し、その内容に基づいて画面上に入出力項目を表示するためのコントロールの外観や属性、制御処理などを含むユーザインタフェースを動的に変更する。これにより、アプリケーションのソースコード１０１を変更することなく、言語環境に応じてユーザインタフェースを動的に変更することが可能となる。
【００６５】
また、辞書テーブル１２２を、適用範囲や管理主体に応じた階層構造として構成し使い分けることにより、メモリ上に展開する辞書データを必要な分だけの適切なサイズに維持することが可能となる。また、例えば、サイト毎に共通なサイト辞書１２２＿ｓを有することで、Ｗｅｂサイトのオーナーや管理者は、他のサイトでの設定内容に関わらず、当該Ｗｅｂサイト内だけで固有の辞書データを自由かつ柔軟に作成することが可能となる。また、このような階層構造を採ることにより、下位層の辞書テーブル１２２では上位層の辞書テーブル１２２に対する差分のみ定義しておけばよく、例えば、基本的なサブシステム単位の定義に対して特定画面での例外設定を容易とするなど、開発生産性や管理の容易性を向上させることも可能である。以上のような効果により、ＳａａＳ（Software as a Service）のようなサービスの提供形態に対応することも容易となる。
【００６６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、本実施の形態では、標準的なＣＲＵＤ型のＷｅｂアプリケーションを対象にしているがこれに限らない。ユーザが、辞書テーブル１２２とパーツオブジェクト１０３を組み合わせた形で、ユーザインタフェースやビジネスロジックなどの動作内容も含めて構築した独自のアプリケーション（Ｗｅｂアプリケーションに限らず、クライアント／サーバ型やスタンドアロン型などであってもよい）に対して、同様の概念により、言語環境毎の辞書テーブル１２２を定義して多言語対応することが可能である。
【００６７】
また、本実施の形態では、言語環境に対応して共通辞書１２２＿ｚを有するものとしているが、これに限らず、例えば、地域や業種等によって名称や意味が異なるデータ項目について、個別に共通辞書１２２＿ｚを定義するというような使用方法であってもよい。また、本実施の形態では、辞書テーブル１２２において、データ辞書として入出力項目の各種属性情報等を保持する場合を例としているが、表示名称等のテキストデータについての各言語での翻訳テキストを保持する場合でも、階層構造を採ることよって上記と同様の効果を得ることができる。
【００６８】
また、本実施の形態では、パーツオブジェクト１０３が、辞書システム１２０を呼び出して辞書テーブル１２２にアクセスする機能（メソッド）を有する構成とすることで、画面上の各コントロールが辞書テーブル１２２にアクセスするための共通のインタフェースを提供して開発生産性を向上させているが、辞書システム１２０の利用という観点では、このような構成に限られない。パーツオブジェクト１０３を用いずに、画面上の各コントロールについて、ソースコード１０１上で直接辞書システム１２０を呼び出して辞書データを取得するよう記述することも可能である。
【産業上の利用可能性】
【００６９】
本発明は、１つのソースコードで同じ項目について表示フォーマットを動的に切り替える辞書システムおよび辞書呼び出し方法に利用可能である。
【符号の説明】
【００７０】
１００…多言語対応Ｗｅｂサーバシステム、１０１…ソースコード、１０２…ＨＴＭＬデータ、１０３…パーツオブジェクト、１１０…要求処理部、１１１…ＩＤ変換部、１１２…入力チェック部、１２０…辞書システム、１２１…辞書処理部、１２２…辞書テーブル、１２２＿ｚ…共通辞書、１２２＿ｓ…サイト辞書、１２２＿ｌ…ライブラリ辞書、１２２＿ｃ…コントローラ辞書、１３０…ビジネスロジック、１３１…業務データベース（ＤＢ）、１４０…応答処理部、１４１…翻訳部、１４２…表示部、
２００…クライアント端末、
３００…ネットワーク。
【図１】
2014059698.tif 000003
【図２】
2014059698.tif 000004
【図３】
2014059698.tif 000005
【図４】
2014059698.tif 000006
【図５】
2014059698.tif 000007