JP6113983B2 - 画面コントロール表示システムおよび画面コントロール表示プログラム - Google Patents

画面コントロール表示システムおよび画面コントロール表示プログラム Download PDF

Info

Publication number
JP6113983B2
JP6113983B2 JP2012204077A JP2012204077A JP6113983B2 JP 6113983 B2 JP6113983 B2 JP 6113983B2 JP 2012204077 A JP2012204077 A JP 2012204077A JP 2012204077 A JP2012204077 A JP 2012204077A JP 6113983 B2 JP6113983 B2 JP 6113983B2
Authority
JP
Japan
Prior art keywords
screen
input
control
output
part object
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.)
Expired - Fee Related
Application number
JP2012204077A
Other languages
English (en)
Other versions
JP2014059700A (ja
Inventor
聡一 大原
聡一 大原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2012204077A priority Critical patent/JP6113983B2/ja
Priority to PCT/JP2013/073185 priority patent/WO2014045826A1/ja
Priority to US14/426,470 priority patent/US9817811B2/en
Priority to CN202110357746.8A priority patent/CN113158651A/zh
Priority to CN201380059955.8A priority patent/CN104798067B/zh
Priority to CN201610910911.7A priority patent/CN107092589B/zh
Publication of JP2014059700A publication Critical patent/JP2014059700A/ja
Application granted granted Critical
Publication of JP6113983B2 publication Critical patent/JP6113983B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、Webサーバシステムにおけるアプリケーション実装技術に関し、特に、画面コントロールの表示を統一的に制御する画面コントロール表示システムおよび画面コントロール表示プログラムに適用して有効な技術に関するものである。
Webサーバシステム上で動作するアプリケーションプログラム、特に、例えば業務データベースにアクセスするCRUD(Create,Read,Update,Delete)型のWebアプリケーションプログラムなどにおいては、画面上に多数の入出力項目(例えば、業務データベースからデータを取得するための検索条件の内容を指定する入力項目や、検索結果の内容を表示する出力項目)に係る内容を表示する画面コントロール(以下では単に“コントロール”と記載する場合がある)を、ユーザが視認し操作しやすいように整然と配置してユーザインタフェースを構築する必要がある。
特に、近年は、同じ業務ロジックを、PC(Personal Computer)以外の様々な携帯端末等のデバイスのユーザインタフェースに対応させることが求められており、入出力項目についての論理要素と、レイアウト情報との分離が重要になってきている。
Webアプリケーションプログラムの開発においては、このようなユーザインタフェース部分を含む開発負荷の低減や標準化等を目的として、GUI(Graphical User Interface)作成機能などを含むいわゆる統合開発環境(IDE:Integrated Development Environment)や、Ruby on Rails(RoR、非特許文献1)などのアプリケーションフレームワークなどが用いられる場合がある。また、これらを組み合わせて用いることも行われている。このような開発支援ツール等を用いることで、例えばユーザインタフェースを有するWebアプリケーションプログラムについてソースコードを自動生成し、開発負荷の低減や標準化を図ることが可能である。
また、画面コントロールの表示制御という点に関しては、例えば、特開2012−8805号公報(特許文献1)には、タッチパネルを制御することができる制御手段と、表示されるリソースの解析を行うユーザインタフェース解析手段と、リソースの書き換えを変更する第1のユーザインタフェース変更手段とを備え、Webコンテンツ等のユーザインタフェースを、タッチパネルでも視認性よく操作することができるようにする情報処理装置が記載されている。ここでは、制御手段が、ユーザインタフェース解析手段により解析されたユーザインタフェースの中からタッチしにくい箇所を判別し、第1のユーザインタフェース変更手段を用いてタッチしやすいユーザインタフェースへの変更を行っている。
特開2012−8805号公報
インターネット<URL:http://rubyonrails.org/>
従来技術のようなユーザインタフェースに係るソースコードの自動生成や、画面コントロール(パーツ)の表示制御に係る技術では、画面コントロールの配置やレイアウトに係るユーザの開発負荷を低減するとともに、レイアウトについてある程度の最適化を図ることが可能である。
ここで、CRUD型のWebアプリケーションなどでは、例えば、データベースに対する入力項目を指定する入力フィールドのコントロールには通常当該項目の内容やタイトルを表すテキストを表示するテキストコントロールが組として配置され、この組を入出力項目毎に多数表示する、というような形式のレイアウトがとられる場合が多い。
この点、従来技術のような表示制御に係る技術では、入力フィールドやテキストコントロールの単体で個別に自動配置やレイアウトの調整等を行うことは可能であるが、入出力項目単位、すなわち入力フィールドとテキストコントロールとを一体とした状態で整合性を持ってレイアウトの調整等を行うことは考慮されていない。その結果、例えば、画面上の表示可能領域に対して、テキストコントロールが意図しない箇所で改行されたり、逆に意図した箇所で改行されなかったりなどの崩れを生じたり、自動的にレイアウトの調整を行った結果、入出力項目毎に表示幅等が異なったりなどの意図しない崩れが生じる場合がある。ラジオボタンなど、画面コントロールの外観が表示デバイスやプラットフォームによって異なるものがある場合にも、予期せぬレイアウトの崩れを生じる場合がある。
これに対し、各入出力項目に対応する入力フィールドとテキストコントロールの組などのレイアウトを画面全体で統一的に調整することを、ユーザが手作業での個別の開発により実装することは大変煩雑であり効率が悪い。
そこで本発明の目的は、Webアプリケーションにおいて、画面上に入出力項目を表示するための複数の画面コントロールからなる組について、そのレイアウトを画面全体で当該組単位で統一的に調整することを可能とする画面コントロール表示システムおよび画面コントロール表示プログラムを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
本発明の代表的な実施の形態による画面コントロール表示システムは、クライアント端末からの要求を受けて対応するビジネスロジックを呼び出し、前記ビジネスロジックによる処理結果を前記クライアント端末に対して応答することで前記クライアント端末に対してサービスを提供するアプリケーションプログラムを稼働させ、前記処理結果を前記クライアント端末の画面上に表示する際に、複数の画面コントロールからなる画面を表示させるシステムであって、以下の特徴を有するものである。
すなわち、前記クライアント端末の画面上に表示する、前記アプリケーションプログラムにおける1つ以上の入出力項目のそれぞれについて、前記入出力項目の名称を示すテキストを表示するラベルコントロールに係る情報と、前記入出力項目を入力もしくは出力するために表示する入出力コントロールに係る情報とを少なくとも有するパーツオブジェクトによって、前記各入出力項目に対応する複数の前記画面コントロールのレイアウトを調整して表示する。
また、本発明は、コンピュータを上記のような画面コントロールの表示を行うWebサーバシステムとして動作させるプログラムにも適用することができる。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
すなわち、本発明の代表的な実施の形態によれば、Webアプリケーションにおいて、画面上に入出力項目を表示するための複数の画面コントロールからなる組について、そのレイアウトを画面全体で当該組単位で統一的に調整することが可能となる。
本発明の一実施の形態である画面コントロール表示システムの構成例について概要を示した図である。 本発明の一実施の形態におけるパーツオブジェクトにより対応するカラムの入出力項目を画面上に表示する際の処理の例について概要を示した図である。 (a)〜(c)は、本発明の一実施の形態におけるパーツオブジェクトのソースコード上でのレイアウト調整の実装例について概要を説明する図である。 本発明の一実施の形態におけるパーツオブジェクトの3要素の配置パターンと表示例について概要を示した図である。 (a)〜(d)は、本発明の一実施の形態におけるパーツオブジェクトの3要素の配置パターンの他の例について概要を示した図である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
本発明の一実施の形態である画面コントロール表示システムは、例えば、業務データベースにアクセスするCRUD型のWebアプリケーションプログラムにおいて、画面上に入出力項目等を表示するための複数の画面コントロールからなる組について、そのレイアウトや属性等を画面全体で当該組単位で統一的に調整することを可能とするWebサーバシステムである。
ここでは、画面自体および/または画面上に表示するコントロールを表示する機能において、後述するように、画面コントロール(パーツ)を、HTML(HyperText Markup Language)要素単位の通常のコントロールとは異なり、入出力項目の論理要素単位により構成されるパーツオブジェクトを用いて構成する。
すなわち、上述した入出力フィールドとテキストコントロールのように、組として配置される複数のコントロールについて、これらを要素とするパーツオブジェクトとして構成する。このパーツオブジェクトは、画面上にどのようなコントロールを表示するか(例えば、テキストコントロールのみ、(テキストコントロールと)入力フィールド、(テキストコントロールと)ドロップダウンリスト、…等)をパラメータとして指定することが可能である。また、コントロールの属性値(例えば、テキストコントロールに表示されるテキストの内容や、入力フィールドの長さ等)や、制御情報(例えば、入力データの妥当性チェックをどのように行うか等)などについても指定することができるものとし、指定された内容に従ってコントロールを表示および制御するよう実装されている。
換言すると、パーツオブジェクトは、入力フィールドやドロップダウンリスト、テキストなどの、入出力項目のデータを取り扱う入出力コントロールに対応する論理要素と、入出力項目の名称等を表示するテキストコントロールであるラベルコントロールに対応する論理要素、さらに当該入出力項目についての説明テキストを表示するコメントコントロールに対応する論理要素とを組み合わせて構成されており、これらの要素に対応するコントロールの実際の表示・出力のパターンをこれら論理要素の組とは独立して指定可能であるという構成を有する。すなわち、入出力項目の論理要素単位に独立した画面コントロールの組を作成し、そこからレイアウト情報を独立させる構成を有する。
これにより、要素である複数の画面コントロールにつき、1つ以上のパーツオブジェクト内で一括して整合性をもって統一的にレイアウトの調整をすることが可能となる。また、パーツオブジェクトが入出力項目と1対1で対応することになるため、各コントロールに対するパラメータや属性値などをまとめて後述するように辞書データとして外出しにし、入出力項目と対応付けて管理することが容易となる。また、要素である複数の画面コントロール間のレイアウト調整に係る情報をパーツオブジェクトとは独立して定義することが可能となり、コントロール間のレイアウト調整に要する負荷を大きく低減させることが可能となる。
ここでのレイアウト調整には、例えば、表示可能領域に対して、ラベルコントロールが意図しない箇所で改行されたり、逆に意図した箇所で改行されなかったり等を防止するよう、ラベルコントロールと入出力コントロールの表示幅を一体的に調整することや、ラジオボタンなどデバイスやOS(Operating System)等によって外観が異なる入出力コントロールについて、ラベルコントロールと一体的に表示位置や幅等を調整することなどが含まれる。すなわち、複数種類のデバイスやOSのユーザインタフェースに応じた動的なレイアウト変更が可能である。
本実施の形態では、Webアプリケーションプログラムは、画面上の各入出力項目に係る内容について当該パーツオブジェクトを使用して表示するものとしてソースコードが作成されているものとする。すなわち、パーツオブジェクトを使用して間接的にコントロールを表示する(パーツオブジェクトがWebサーバシステム上での実行時に対象のコントロールを表示するHTMLデータやスクリプト等を動的に生成する)。また、アクセスする対象のデータベースの各カラムと画面上の入出力項目とのマッピングに係る情報は、データベースの各カラムの識別情報(例えばカラム名称)と、対応するパーツオブジェクトの識別情報(例えばHTMLのID属性値)とのマッピング情報としてソースコード上に保持する。
さらに、本実施の形態では、各パーツオブジェクトにおいてラベルコントロールに表示するテキスト、および入出力コントロールの属性値や制御処理に係る情報などについて、後述するように、一部を除き、ソースコード上で直接指定するのではなく、パーツオブジェクトのIDもしくは対応するデータベースのカラム名称等の識別情報と関連付けられた辞書データとして外出しにして保持するよう構成する。これにより、いったん生成されたソースコードに対して変更を加えずに、画面の表示方式や、パーツオブジェクトにより画面上に表示されるコントロールの外観や属性等を動的に変更可能とする。なお、本実施の形態では、辞書を用いるものとしているが、特にこれに限定されるものではない。
<システム構成>
図1は、本発明の一実施の形態である画面コントロール表示システムの構成例について概要を示した図である。画面コントロール表示システム100は、例えば、サーバ機器やクラウドコンピューティング環境での仮想サーバなどのコンピュータ機器により構成され、図示しないOSやDBMS(DataBase Management System)、Webサーバプログラムなどのミドルウェアに加え、ユーザが作成したソースコード101もしくはそこから呼び出されるライブラリやオブジェクト等のソフトウェアプログラムにより実装される要求処理部110、辞書処理部120、ビジネスロジック130、および応答処理部140などの各部を有するWebサーバシステムである。
また、画面コントロール表示システム100は、インターネット等のネットワーク300を介して接続されるクライアント端末200上の図示しないWebブラウザ等のプログラムからの要求に対して、ビジネスロジック130により業務データベース(DB)131にアクセスして処理を行い、クライアント端末200に対してHTMLデータ102を出力して応答することによってサービスを提供する。
要求処理部110は、クライアント端末200からの要求を受けて、対応するソースコード101に基づいてコンテンツ(ビジネスロジック130)を呼び出す機能を有し、ソフトウェアプログラムにより実装されるID変換部111、および入力チェック部112などの各部を有する。ID変換部111は、要求メッセージに含まれる画面上の入力項目に対応する、ソースコード101に記載されたパーツオブジェクト103の識別情報(ID)を、ソースコード101に保持されたマッピング情報に基づいて、入出力項目に対応する業務DB131のカラムの識別情報(カラム名称等)に変換する機能を有する。
このマッピング情報は、画面上に表示されるパーツオブジェクト103の識別情報(例えばHTMLのID属性値)と、アクセスする対象の業務DB131の各カラムの識別情報(カラム名等)との対応を保持する。これにより、後述するように、ソースコード101において画面上に配置された各パーツオブジェクト103は、まずID変換部111によって自身のIDに対応するカラム名称を取得した後、当該カラム名称をキーとして、業務DB131へのアクセスや、後述する辞書テーブル121からの辞書データの取得等の後続の処理を行うことができる。
従って、クライアント端末200に応答するHTMLデータ102上では、各パーツオブジェクト103(によって表示されるコントロール)において、対応する業務DB131のカラム名称をキー等の情報として直接指定する必要がなく、自身のIDをキー等の情報とすることができるため、実際のカラム名称をHTMLデータ102上から隠蔽してセキュリティの強化を図ることが可能である。なお、このような変換を行わず、HTMLデータ102上で各パーツオブジェクト103において対応する業務DB131のカラム名称をキー等の情報として直接指定するようにしてもよい。
入力チェック部112は、要求メッセージに含まれる、画面上のパーツオブジェクト103を介して指定された入力項目のデータの内容について一般的な妥当性チェックを行う機能を有する。妥当性チェックの種類としては、例えば、文字数や文字タイプ(数字やアルファベット、かな、全半角など)、使用可能文字の制限、日時や各種コード値などのフォーマットチェックなどが考えられる。
妥当性チェックの内容は、例えば、システム(特にクライアント端末200)の言語環境によって異なるものとなり得る。従って、本実施の形態では、入力チェック部112において言語毎のバリエーションも考慮した複数パターンの妥当性チェックのタイプを実装しておき、対象の入力項目についていずれのタイプを用いるかを、言語環境に応じて選択・決定するものとする。ここでは、後述する辞書処理部120を介して、対象の言語の辞書テーブル121にアクセスし、対象の入力項目に対応する辞書データの内容から妥当性チェックのタイプの情報を取得して決定する。
辞書処理部120は、データベースやファイルテーブル等により実装される辞書テーブル121を有し、例えば、辞書テーブル121から、指定されたキー(本実施の形態では、例えば、対象の入出力項目(パーツオブジェクト103)に対応する業務DB131のカラム名称)に対する辞書データを取得して出力する機能を有する。辞書テーブル121は、例えば、対象となる言語環境やWebアプリケーションプログラムの業務種別等のカテゴリー毎に複数用意し、選択して使用するようにしてもよい。
辞書テーブル121における辞書データの内容やフォーマットは特に限定されない。本実施の形態では、簡易な手法として、例えば後述するように、画面を介して業務DB131の対象のカラムへのデータの入出力処理を行うのに必要な種々のデータ(入出力を行うためのパーツオブジェクト103の属性値や制御のために必要なパラメータ等)を所定の順序でカンマ区切り等により指定するものとする。
具体的には、例えば、対応するパーツオブジェクト103においてラベルコントロールを表示する際の内容である表示名称や、入出力コントロールとして入力フィールドを表示する際の長さ(文字数)、妥当性チェックの種別やIMEのモードなどの制御処理の内容に係る指定、出力データをテーブルに一覧表示する際の短縮されたテキストである短縮表示名称および表示幅、ドロップダウンリスト等により表示する際の値リストなどが考えられる。
なお、図1の例では、辞書処理部120を画面コントロール表示システム100上に実装する構成としているが、これに限らず、画面コントロール表示システム100とは別のサーバ機器上に独立して構築してもよい。
ビジネスロジック130は、業務DB131を利用して業務アプリケーションとしての処理を行う機能を有する。本実施の形態では、上述したように、業務DB131に対するCRUD型アプリケーションを対象とするが、特にこれに限定されるものではない。
応答処理部140は、ソースコード101の内容に基づくビジネスロジック130等の処理結果に基づいてHTMLデータ102を生成し、クライアント端末200に対して応答する機能を有し、ソフトウェアプログラムにより実装される表示調整部141、および表示部142などの各部を有する。表示調整部141は、応答に含まれる各出力項目について、対応するパーツオブジェクト103を表示するためのラベルコントロールのテキストや入出力コントロールの属性値、制御情報などのパラメータ値を取得する。ここでは、辞書処理部120を介して対応する言語環境等の辞書テーブル121にアクセスして、対象の出力項目(パーツオブジェクト103)に対応する辞書データから表示名称や属性値等の各種パラメータ値を取得する。
表示部142は、表示調整部141が取得した、各パーツオブジェクトについてのラベルコントロールのテキストや入出力コントロールの属性値、制御情報などのパラメータ値に基づいて、各パーツオブジェクトにより表示されるコントロールが配置された応答画面のHTMLデータ102を生成する機能を有する。
<画面表示処理>
図2は、CRUD型アプリケーションにおいてパーツオブジェクト103により対応するカラムの入出力項目を画面上に表示する際の処理の例について概要を示した図である。図2の例では、業務DB131からデータを読み出す際の検索条件を入力する画面において、“顧客名”を指定する入力フィールドを表示する場合の例を抜粋して示している。
図の上段に示しているWebアプリケーションプログラムのソースコード101では、“顧客名”を指定する入力フィールドを表示するためにパーツオブジェクト103を呼び出している。具体的には、まず、ソースコード101上に保持されているマッピング情報(図2の例では、array()により対応関係を保持している)からID(“A01”)に対応するカラム名称(“customer_name”)の情報を取得する。
その後、例えば、パーツオブジェクト103の機能を実装したクラスから継承したサブクラスについてインスタンスを作成する形で呼び出す(“CF_itemDic();”)。図2の例では、パラメータの一部として、呼び出す辞書テーブル121のタイプ(“共通辞書”)、表示する入出力コントロールのタイプ(“入力フィールド”)、HTMLのID属性値(“A01”)などを指定して呼び出した状態を簡略化して示している。なお、HTMLのID属性値(“A01”)は、マッピング情報によりカラム名称(“customer_name”)に動的に変換される。
このようなコードにより呼び出されたパーツオブジェクト103は、データとして、少なくとも表示名であるラベル(ラベルコントロールのテキスト)の論理要素と、表示する入出力コントロールの内容に係る論理要素についての情報を保持する。さらに図2に示すように、内容を説明するテキスト等からなるコメントの論理要素について情報を保持していてもよい。図2の例では、パーツオブジェクト103の上記の3つの論理要素のうち、コントロールについては、ソースコード101において“入力フィールド”がパラメータとして指定されているため、これが設定される。
呼び出されたパーツオブジェクト103は、さらに、所定の関数やメソッド等により辞書処理部120を介して対象の辞書テーブル121(“共通辞書”)にアクセスして、カラム名称(“customer_name”)に対応する辞書データ(本実施の形態では“顧客名”、40文字、20文字、…などの複数の値の集合)を取得する。
図2の例では、辞書テーブル121の辞書データとして、上から順に、名称(ラベルコントロールに表示するテキスト)、入力フィールドの場合の長さ(半角時の文字数)、入力フィールドの場合の最大長さ(文字数)、入力データの妥当性チェックのタイプ、IMEの初期モード、説明コメント、テーブルに一覧表示する場合のテキスト(表示名)、およびテーブルに一覧表示する場合の表示幅(ピクセル値)などの情報を保持するものとしている。なお、これらの辞書データを取得する際の出力フォーマットとしては、例えば、これらの値をカンマ等で区切った一連の文字列としてもよいし、連想配列等のアクセスしやすいデータとしてもよい。
辞書テーブル121については、処理効率を考慮した場合、初期処理もしくは最初のアクセス時にメモリ上に辞書データの内容を展開するのが望ましい。この場合、全ての辞書データを展開するとメモリ使用量を圧迫したり、展開処理に時間を要したり等、却って処理効率が低下する場合がある。従って、実装上は、必要な時に必要な範囲の辞書データをメモリ上に展開できるようにするのが望ましい。
そこで、本実施の形態では、適用範囲が異なる複数の辞書テーブル121からなる階層構造を有し、これらを適宜選択して使用する構成をとる。例えば、画面コントロール表示システム100上で稼働するシステムやアプリケーション全体で共通の辞書(“共通辞書”)や、指定されたWebサイト内でのみ共通の辞書(“サイト辞書”)、サブシステム内でのみ共通の辞書(“ライブラリ辞書”)、画面単位での辞書(“コントローラ辞書”)などの、適用範囲が異なる複数種類の辞書テーブル121を有するものとする。
この場合、例えば、“コントローラ辞書”などの適用範囲の狭い辞書を参照して該当する辞書データが得られなかった場合に、“ライブラリ辞書”→“サイト辞書”→“共通辞書”と順に上位の(適用範囲が広い)辞書テーブル121に遡って参照できるようにしてもよい。また、辞書データが得られなかったとしてデフォルト値を用いるようにしたりエラーとしたりしてもよい。
パーツオブジェクト103は、取得した辞書データから必要なデータを抽出して、コントロールを表示したり制御したりする際のパラメータとして設定する。例えば、入出力コントロールとして入力フィールドを表示する場合の属性値として、辞書データから取得したフィールドの長さを設定するとともに、妥当性チェックのタイプやIMEの初期モードなどの値、説明コメントの内容などを設定する。なお、入力データの妥当性チェックや、IMEのモード設定などの入出力コントロールの制御に係る処理は、入力チェック部112や表示部142の機能であるが、具体的な実装としては、例えば、パーツオブジェクト103の継承元のクラスにメソッドとして定義しておくなど、パーツオブジェクト103が有する、もしくはパーツオブジェクト103が呼び出すことができる機能として実装しておくものとする。
これにより、図2の下段の画面201の例に示すように、実行時に“顧客名”を指定するための入力フィールドのコントロールを表示するよう、パーツオブジェクト103がHTMLデータ102を生成することができる。このとき、後述するように、パーツオブジェクト103の説明コメントの情報を当該入出力項目についてのヘルプ情報等として用いることができる。
なお、入力フィールドを表示する場合、入力フィールドのコントロールだけを表示したのでは何を入力すべきかが不明であるため、本実施の形態では、図2に示すように、当該パーツオブジェクト103に対応する入出力項目の表示名(“顧客名”)を表示するテキストコントロールを入力フィールドに隣接させてラベルとして表示する(ラベルコントロール)。当該テキストは、パーツオブジェクト103の保持データにおけるラベルの情報、すなわちパーツオブジェクト103が辞書テーブル121から取得した辞書データの名称の値(“顧客名”)を設定する。
このようなHTMLデータ102の生成に係る処理は、表示部142等の機能であるが、具体的な実装としては、例えば、パーツオブジェクト103の継承元のクラスにメソッドとして定義しておくなど、パーツオブジェクト103が有する、もしくはパーツオブジェクト103が呼び出すことができる機能として実装しておくものとする。なお、ここでは、上述したように、表示するラベルコントロールや入出力コントロール、および説明コメントを表示するコメントコントロールの3つの要素を一つの単位として、一括して整合性を持った形でレイアウトや外観に係る属性値等を調整するものとする。
図3は、パーツオブジェクト103のソースコード101上でのレイアウト調整の実装例について概要を説明する図である。図3(a)は、クライアント端末200に表示される画面201上でのパーツオブジェクト103により表示されたコントロールのレイアウト例を示している。ここでは、パーツオブジェクト103は、ラベルコントロールとして“郵便番号”のテキストを表示するテキストコントロールと、“郵便番号”を入力するための入力フィールドと、説明コメントとして“(例)100−0000”のテキストを表示するコメントコントロール(テキストコントロール)とを含み、これらをそれぞれ、120ピクセル、200ピクセル、150ピクセルの幅で並べてレイアウトした場合を示している。
図3(b)は、例えばJSF(JavaServer Faces)などの従来技術により、図3(a)の例のようなコントロールのレイアウトを行う場合のソースコード101の記載例を示している。ここでは、3つの要素(コントロール)毎にそれぞれ、幅のピクセル数を指定して個別にコントロールを表示するためのコードを記載する必要があることを示している。
これに対し、図3(c)は、例えばPHP(Hypertext Preprocessor)などによる本実施の形態におけるソースコード101の記載例を示している。ここでは、まず、画面表示を行うオブジェクト(“ViewObject”)に対して表示する各コントロールの幅のピクセル数(120、200、150)を一括で指定しているとともに、後述するような3つの要素の配置パターン(‘fmt:pc’)の指定も合わせて行なっている。このように、パーツオブジェクト103についてのレイアウト情報を独立して指示することができる。
さらに、次の行で、パーツオブジェクト103を表示させるコードを記載している。ここでは、カラム名称(‘postal_cd’)に対応する辞書データを、辞書テーブル121における“ライブラリ辞書(‘_bi’)”から取得し、辞書データに指定された属性やテキスト等の外観の情報、および先に取得したレイアウト情報に基づいて、画面表示を行うオブジェクト(“ViewObject”)がパーツオブジェクト103(ラベルコントロール、入力フィールド(‘txt’)、説明コメント)を一括で表示する旨を指定している。図3(c)の例では、図3(b)のようにコントロール毎に個別にレイアウトの調整情報等を都度指定する必要がなく、レイアウト調整に係るコードの記載量(開発者の負荷)を大きく低減させることが可能となる。
図4は、パーツオブジェクト103の3要素の配置パターンと表示例について概要を示した図である。ここでは、図3(a)(c)に示したように、例えば、クライアント端末200がPCやスマートフォン等である場合の基本的なレイアウト(‘fmt:pc’)をとる場合、各コントロールの表示領域として、左から順にラベルコントロールを表示するラベル部、入力フィールド等の入出力コントロールを表示するコントロール部、コメントコントロールを表示するコメント部の3つの領域を並べて配置することを示している。
このとき、画面201上では、同じレイアウトをとる複数の入出力項目につき、同様の位置関係で自動的に配置することができる。なお、“郵便番号”、“住所1”、“住所2”、“代表電話番号”の各入出力項目については、ラベル部、コントロール部、コメント部の各部について表示の幅も同じ値として整列させて表示している。この場合は、これらのパーツオブジェクト103を表示する前に、一度図3(c)の1行目の例に示すように各表示領域の幅などのレイアウト情報を設定しておけば、変更するまで同じレイアウト情報で連続して配置するように制御することで開発の負荷をさらに低減させることができる。
また、コントロール部に表示する入出力コントロールは、入力フィールドに限らず、例えば、図中の“ユニークキー”の入出力項目に示すようなラジオボタンや、ドロップダウンリストなどのコントロールとすることもできる。
図5は、パーツオブジェクト103の3要素の配置パターンの他の例について概要を示した図である。図5(a)(b)では、クライアント端末200が携帯電話等の小画面の端末である場合のレイアウト例を示している。図5(a)では、コントロール部の右側にラベル部を配置するとともに、コメント部はその下部に必要に応じて表示するよう配置する。同様に、図5(b)では、ラベル部、コントロール部を上下に配置し、その下部にコメント部を必要に応じて表示するよう配置する。これらのパターンでは、説明コメントがない場合(不要な場合)は表示しないようにして狭い画面を効率的に利用することを図る。
また、図5(c)(d)では、クライアント端末200がスマートフォンなどである場合のレイアウト例を示している。図5(c)では、コメント部を上部に配置し、その下部にラベル部とコントロール部を並べて配置する。図5(d)では、ラベル部とコントロール部を並べて配置するとともに、さらにコメント部をアイコン等によって配置し、当該アイコンが選択されることでコメント部をテキストコントロールではなくポップアップウィンドウ等により表示することで、PC等に比べて狭い画面を効率的に利用することを図る。
このように、本実施の形態では、ソースコード101において入出力項目をパーツオブジェクト103を用いて表示するよう記載することで、複数の入出力項目(パーツオブジェクト103)についてレイアウトを統一的に調整して表示するようHTMLデータ102を生成することができる。従って、本実施の形態におけるCRUD型アプリケーションは、業務DB131の各カラムに対応する入出力項目としてパーツオブジェクト103を所定のルールに従って画面上に配置し、標準的な機能や動作の実装と組み合わせるようソースコード101を作成することで実現することができる。また、アプリケーションプログラムの開発支援システム等として、このようなソースコード101を自動的に生成する機能を実装することも可能である。
例えば、業務DB131へのエントリーの登録(C:Create)を行うアプリケーションとしては、業務DB131の各カラムに対して登録するデータを指定する入力フィールドを画面上に表示するためのパーツオブジェクト103を、業務DB131のカラムの並び順に従って配置するようソースコード101を作成する。このとき、必要に応じて画面表示するコントロールのIDとカラムの名称との対応関係をマッピング情報として保持しておく。さらに、標準的な機能として業務DB131へのエントリーの登録を実行するための“登録”ボタンや“キャンセル”ボタンなどを配置する。さらに、辞書テーブル121に、各パーツオブジェクト103についてコントロールを表示する際に用いる属性値や制御情報などの情報を辞書データとして保持しておく。このとき、各項目について特に指定がされない場合はそれぞれデフォルト値により設定する。
また、例えば、業務DB131に対する検索(R:Read)を行うアプリケーションとしては、上記と同様に、業務DB131を検索するための条件を指定する入力フィールドを画面上に表示するためのパーツオブジェクト103を配置するようソースコード101を作成する。このとき、業務DB131の対象テーブルの全カラムについて検索条件として指定可能とすると過剰になることから、例えば、暫定的に先頭の5つのカラムについてだけ入力フィールドを表示するなどの簡略化を行ない、後から変更可能としてもよい。また、必要に応じて画面表示するコントロールのIDとカラムの名称との対応関係をマッピング情報として保持しておく。さらに、標準的な機能として業務DB131のエントリーの検索を行うための“検索”ボタンなどを配置する。
また、例えば、検索条件を入力する領域の下部に、検索結果を表示するためのテーブル(表)コントロールを自動的に配置する。ここでは、例えば、テーブルコントロールのオブジェクトの項目定義配列に、業務DB131の各カラムに対応するパーツオブジェクト103の呼び出しに相当する内容を設定する。例えば、テーブルのタイトル行を各パーツオブジェクト103で共通のラベル部の表示領域とし、テーブルの各行を各パーツオブジェクト103のコントロール部の表示領域とする。これにより、テーブルコントロールの各列に業務DB131の各カラムの内容が表示されるよう、表示部142もしくはパーツオブジェクト103を実装することが可能である。
以上に説明したように、本発明の一実施の形態である画面コントロール表示システム100によれば、例えば、業務データベースにアクセスするCRUD型のWebアプリケーションプログラムにおいて、画面上に表示する入出力項目等を複数の論理要素単位に対応する画面コントロールからなるパーツオブジェクト103により表示し、レイアウト情報を独立させることで、そのレイアウトや属性等を画面全体でパーツオブジェクト103単位で統一的に調整することが可能となる。
これにより、例えば、表示可能領域に対して、ラベルコントロールが意図しない箇所で改行されたり、逆に意図した箇所で改行されなかったり等を防止するよう、ラベルコントロールと入出力コントロールの表示幅を一体的に調整することや、ラジオボタンなどデバイスやOS等によって外観が異なる入出力コントロールについて、複数のデバイスやOS等に応じてラベルコントロールと一体的に表示位置や幅等を動的に調整することなどが可能となる。また、複数の入出力項目間で統一的に各コントロールのレイアウトを調整して整合性をもった形で配置することが可能となる。
また、パーツオブジェクト103が入出力項目と1対1で対応することになるため、各コントロールに対するパラメータや属性値などをまとめて辞書データ等として外出しにし、入出力項目と対応付けて管理することが容易となる。また、要素である複数の画面コントロール間のレイアウト調整に係る情報をパーツオブジェクト103とは独立して定義することが可能となり、コントロール間のレイアウト調整に要する負荷を大きく低減させることが可能となる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、本実施の形態では、標準的なCRUD型のWebアプリケーションを対象にしているがこれに限らない。ユーザが、例えば、辞書テーブル121とパーツオブジェクト103を組み合わせた形で、ユーザインタフェースやビジネスロジックなどの動作内容も含めて構築した独自のアプリケーション(Webアプリケーションに限らず、クライアント/サーバ型やスタンドアロン型などであってもよい)に対して、同様の概念により、パーツオブジェクト103のレイアウトを調整することが可能である。
本発明は、画面コントロールの表示を統一的に制御する画面コントロール表示システムおよび画面コントロール表示プログラムに利用可能である。
100…画面コントロール表示システム、101…ソースコード、102…HTMLデータ、103…パーツオブジェクト、110…要求処理部、111…ID変換部、112…入力チェック部、120…辞書処理部、121…辞書テーブル、130…ビジネスロジック、131…業務データベース(DB)、140…応答処理部、141…表示調整部、142…表示部、
200…クライアント端末、201…画面、
300…ネットワーク。

Claims (5)

  1. クライアント端末からの要求を受けて対応するビジネスロジックを呼び出し、前記ビジネスロジックによる処理結果を前記クライアント端末に対して応答することで前記クライアント端末に対してサービスを提供するアプリケーションプログラムを稼働させ、前記処理結果を前記クライアント端末の画面上に表示する際に、複数の画面コントロールからなる画面を表示させる画面コントロール表示システムであって、
    前記クライアント端末の画面上に表示する、前記アプリケーションプログラムにおける1つ以上の入出力項目のそれぞれについて、前記入出力項目の名称を示すテキストを表示するラベルコントロールに係る情報と、前記入出力項目を入力もしくは出力するために表示する入出力コントロールに係る情報とを少なくとも有するパーツオブジェクトによって、前記各入出力項目に対応する複数の前記画面コントロールのレイアウトを前記入出力項目毎に前記各パーツオブジェクトの単位で調整して表示し、
    1つ以上の前記パーツオブジェクトに対して共通する、前記パーツオブジェクトが表示する複数の前記画面コントロールのレイアウトの調整内容に係るレイアウト情報を、前記パーツオブジェクトの表示とは独立して前記アプリケーションプログラムのソースコードによって指定可能であり、
    さらに、前記パーツオブジェクトが表示する複数の前記画面コントロールについての1つ以上の属性値を含む情報を、前記パーツオブジェクトが対応する前記入出力項目の識別情報をキーとして関連付けた辞書データとして登録した辞書テーブルを、適用範囲が広いものを上位とし、狭いものを下位とした階層構造により有し、
    前記処理結果に含まれる前記パーツオブジェクトについて、対応する前記入出力項目の識別情報をキーとして、前記クライアント端末の種別に対応した前記辞書テーブルから対応する前記パーツオブジェクトについての前記属性値の一部または全部を取得し、
    前記パーツオブジェクトは、取得した前記属性値に基づいて、前記クライアント端末の画面上に対応する複数の前記画面コントロールを表示させることを特徴とする画面コントロール表示システム。
  2. 請求項1に記載の画面コントロール表示システムにおいて、
    前記レイアウト情報は、前記パーツオブジェクトが表示する複数の前記画面コントロールの配置パターンおよび/または前記各画面コントロールのそれぞれの表示幅の情報を含むことを特徴とする画面コントロール表示システム。
  3. 請求項1または2に記載の画面コントロール表示システムにおいて、
    前記パーツオブジェクトは、さらに、対応する前記入出力項目の説明を示すコメントを表示するコメントコントロールに係る情報を有することを特徴とする画面コントロール表示システム。
  4. 請求項3に記載の画面コントロール表示システムにおいて、
    前記パーツオブジェクトは、前記コメントコントロールとして、前記コメントを表示するポップアップウィンドウを表示させるための指示を受け付けるアイコン画像を表示することを特徴とする画面コントロール表示システム。
  5. クライアント端末からの要求を受けて対応するビジネスロジックを呼び出し、前記ビジネスロジックによる処理結果を前記クライアント端末に対して応答することで前記クライアント端末に対してサービスを提供するアプリケーションプログラムを稼働させ、前記処理結果を前記クライアント端末の画面上に表示する際に、複数の画面コントロールからなる画面を表示させるWebサーバシステムとしてコンピュータを動作させる画面コントロール表示プログラムであって、
    前記クライアント端末の画面上に表示する、前記アプリケーションプログラムにおける1つ以上の入出力項目のそれぞれについて、前記入出力項目の名称を示すテキストを表示するラベルコントロールに係る情報と、前記入出力項目を入力もしくは出力するために表示する入出力コントロールに係る情報とを少なくとも有するパーツオブジェクトによって、前記各入出力項目に対応する複数の前記画面コントロールのレイアウトを前記入出力項目毎に前記各パーツオブジェクトの単位で調整して表示する処理と、
    1つ以上の前記パーツオブジェクトに対して共通する、前記パーツオブジェクトが表示する複数の前記画面コントロールのレイアウトの調整内容に係るレイアウト情報の指定を、前記パーツオブジェクトの表示とは独立して前記アプリケーションプログラムのソースコードによって受け付ける処理と、
    前記パーツオブジェクトが表示する複数の前記画面コントロールについての1つ以上の属性値を含む情報を、前記パーツオブジェクトが対応する前記入出力項目の識別情報をキーとして関連付けた辞書データとして登録した辞書テーブルから、前記処理結果に含まれる前記パーツオブジェクトについて、対応する前記入出力項目の識別情報をキーとして、対応する前記パーツオブジェクトについての前記属性値の一部または全部を取得する処理と、
    前記パーツオブジェクトにより、取得した前記属性値に基づいて、前記クライアント端末の画面上に対応する複数の前記画面コントロールを表示させる処理と、をコンピュータに実行させることを特徴とする画面コントロール表示プログラム。
JP2012204077A 2012-09-18 2012-09-18 画面コントロール表示システムおよび画面コントロール表示プログラム Expired - Fee Related JP6113983B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2012204077A JP6113983B2 (ja) 2012-09-18 2012-09-18 画面コントロール表示システムおよび画面コントロール表示プログラム
PCT/JP2013/073185 WO2014045826A1 (ja) 2012-09-18 2013-08-29 Webサーバシステム、辞書システム、辞書呼び出し方法、画面コントロール表示方法、およびデモアプリケーション生成方法
US14/426,470 US9817811B2 (en) 2012-09-18 2013-08-29 Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
CN202110357746.8A CN113158651A (zh) 2012-09-18 2013-08-29 Web服务器系统以及演示应用生成方法
CN201380059955.8A CN104798067B (zh) 2012-09-18 2013-08-29 辞典系统以及辞典调用方法
CN201610910911.7A CN107092589B (zh) 2012-09-18 2013-08-29 Web服务器系统、画面控件显示方法以及演示应用生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012204077A JP6113983B2 (ja) 2012-09-18 2012-09-18 画面コントロール表示システムおよび画面コントロール表示プログラム

Publications (2)

Publication Number Publication Date
JP2014059700A JP2014059700A (ja) 2014-04-03
JP6113983B2 true JP6113983B2 (ja) 2017-04-12

Family

ID=50616127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012204077A Expired - Fee Related JP6113983B2 (ja) 2012-09-18 2012-09-18 画面コントロール表示システムおよび画面コントロール表示プログラム

Country Status (1)

Country Link
JP (1) JP6113983B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6908828B2 (ja) * 2017-04-17 2021-07-28 キヤノンマーケティングジャパン株式会社 プログラム生成装置、制御方法、およびコンピュータプログラム
KR101929201B1 (ko) * 2018-06-18 2018-12-14 (주)투비소프트 비즈니스 응용에서 단일 코드를 이용하여 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714778B2 (en) * 2001-05-15 2004-03-30 Nokia Corporation Context sensitive web services
JP4700940B2 (ja) * 2004-08-27 2011-06-15 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP4686559B2 (ja) * 2008-01-25 2011-05-25 株式会社東芝 通信監視記録再生装置及び通信監視記録再生システム

Also Published As

Publication number Publication date
JP2014059700A (ja) 2014-04-03

Similar Documents

Publication Publication Date Title
US10528217B2 (en) Automatically generating column layouts in electronic documents
US9952836B2 (en) Web server system, application development support system, multilingual support method in web server system, multi-device support method in web server system, and application development support method
US7694271B2 (en) Rendering GUI widgets with generic look and feel
WO2014045826A1 (ja) Webサーバシステム、辞書システム、辞書呼び出し方法、画面コントロール表示方法、およびデモアプリケーション生成方法
KR101275871B1 (ko) SaaS 환경에서의 홈페이지 제작 시스템 및 방법, 그 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체
CN110221899B (zh) 一种用户界面的调节方法、装置及系统
CN109086342B (zh) 批量化生产和运维网站模板的方法、介质和终端
CN115309470A (zh) 微件的加载方法、装置、设备以及存储介质
CN113535587B (zh) 目标应用检测方法、装置及计算机设备
JP5727413B2 (ja) アプリケーション開発支援システムおよびアプリケーション開発支援プログラム
JP6113983B2 (ja) 画面コントロール表示システムおよび画面コントロール表示プログラム
JP5766651B2 (ja) 多言語対応WebサーバシステムおよびWebサーバシステムにおける多言語対応方法
US20100131924A1 (en) Method of building virtual keyboard
JP6231260B2 (ja) 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法
JP2010015292A (ja) 強調表示追加方法、表示制御プログラム、及びサーバ
JP5917350B2 (ja) 辞書システムおよび辞書呼び出し方法
JP5658196B2 (ja) マルチデバイス対応WebサーバシステムおよびWebサーバシステムにおけるマルチデバイス対応方法
JP2014059699A (ja) デモアプリケーション生成システムおよびデモアプリケーション生成プログラム
JP2015115037A (ja) 画面レイアウト生成システム及びその生成方法
EP2767901B1 (en) Generating interactive electronic documents
JP5168771B2 (ja) 画面生成装置及びプログラム
Krawczyk et al. Best practices for creating websites optimized for mobile devices
KR20130040167A (ko) SaaS 환경에서의 홈페이지 제작 시스템, 그 시스템의 기능을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체
Dyer An examination of typographic standards and their relevance to contemporary user-centred web and application design
JP2020107020A (ja) プログラム、情報処理装置及び処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160714

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170202

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170316

R150 Certificate of patent or registration of utility model

Ref document number: 6113983

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees