JP2022102769A - 情報処理装置、情報処理システムおよびユーザインタフェース提供方法 - Google Patents

情報処理装置、情報処理システムおよびユーザインタフェース提供方法 Download PDF

Info

Publication number
JP2022102769A
JP2022102769A JP2020217716A JP2020217716A JP2022102769A JP 2022102769 A JP2022102769 A JP 2022102769A JP 2020217716 A JP2020217716 A JP 2020217716A JP 2020217716 A JP2020217716 A JP 2020217716A JP 2022102769 A JP2022102769 A JP 2022102769A
Authority
JP
Japan
Prior art keywords
user interface
information processing
application
application software
setting
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.)
Granted
Application number
JP2020217716A
Other languages
English (en)
Other versions
JP7445590B2 (ja
Inventor
大樹 山田
Daiki Yamada
孝芳 藤岡
Takayoshi Fujioka
一 木原
Hajime Kihara
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.)
Hitachi Industrial Equipment Systems Co Ltd
Original Assignee
Hitachi Industrial Equipment Systems Co 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 Hitachi Industrial Equipment Systems Co Ltd filed Critical Hitachi Industrial Equipment Systems Co Ltd
Priority to JP2020217716A priority Critical patent/JP7445590B2/ja
Priority to PCT/JP2021/031057 priority patent/WO2022137647A1/ja
Priority to EP21909805.0A priority patent/EP4270175A1/en
Priority to CN202180050501.9A priority patent/CN116097211A/zh
Priority to US18/039,887 priority patent/US20240036888A1/en
Publication of JP2022102769A publication Critical patent/JP2022102769A/ja
Application granted granted Critical
Publication of JP7445590B2 publication Critical patent/JP7445590B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】各アプリケーションに関して、アプリケーションの設定に関するユーザインタフェースを統一し、ユーザには操作性を向上させ、アプリケーション開発者には開発効率を向上させる。【解決手段】アプリケーションを実行する情報処理装置は、アプリケーションごとに、アプリケーションのユーザインタフェースを定義するマニフェストファイル(ユーザインタフェース定義ファイル)を保持し、マニフェストファイルは、アプリケーションの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目ごとに、データ型の属性が指定される。情報処理装置は、マニフェストファイルに基づいて、アプリケーションの設定を行なうユーザインタフェースオブジェクトを生成する。【選択図】 図3

Description

本発明は、情報処理装置に係り、特に、異なったアプリケーションソフトウェアに対しても、統一したユーザインタフェースを提供するのに好適な情報処理装置に関する。
近年、無線ルータなどの通信端末がエッジデバイスとして、データの一次処理や、プロトコル変換など多様な処理を行うケースが増加している。さらに、通信機能を含むこれらのアプリケーションソフトウェア(以下、単に「アプリケーション」という)の更新・追加を実施するFOTA(Firmware Over The Air)の技術が確立されつつある。
このような場合に、使用されるアプリケーションは、ユーザごとに異なり、同じアプリケーションを改変して別のアプリケーションを提供するときでも、わずかな機能追加を行う場合も存在する。また、アプリケーションを複数人で開発することも多く、情報処理装置の開発に携わっていない開発者がアプリケーションの機能のみを設計する場合も存在する。このようにアプリケーションが日々更新・追加される情報処理装置において、アプリケーションのユーザインタフェースを統一することは、非常に難しい。また、更新のつどユーザインタフェースを変更するのは効率が悪い。このような背景から、効率的にアプリケーションのユーザインタフェースを統一する手法が必要となる。
ユーザインタフェースのデザインの統一の観点から、例えば、特許文献1の技術が提案されている。特許文献1の記載された情報処理装置では、ワークフロー処理部が、ワークフローを実行する場合に、ワークフローの各工程を実行する各機能プロバイダが共通で使用するユーザインタフェースのデザインを決定し、各機能プロバイダに対して指定する。
これにより、ユーザインタフェースのデザインが統一されていない複数の拡張プログラムを組み合わせて一連の処理を実行する場合であっても、ユーザインタフェースのデザインを統一することができるとしている。
特開2017-33235号公報
情報処理装置の用途によっては、アプリケーションの処理は互いに独立し、連携して処理を行わない可能性がある。また、新たなアプリケーションを新たな人員が開発する場合、機能を分離することにより、既存のアプリケーションとの機能の連携を疎にする方が、開発効率がよい。上記特許文献1によれば、各アプリケーションが連携しない情報処理装置では、アプリケーション毎のユーザインターフェースデザインが異なり、ユーザの操作を阻害する恐れがある。また、ユーザインターフェースデザインを統一するために、開発者に他アプリケーション同様のユーザインタフェースの生成を要求すると、開発効率が落ちる恐れがある。
本発明の目的は、各アプリケーションに関して、アプリケーションの設定に関するユーザインタフェースを統一し、ユーザには操作性を向上させ、アプリケーション開発者には開発効率の向上を行なうことのできる情報処理装置を提供することにある。
本発明の情報処理装置の構成は、好ましくは、アプリケーションソフトウェアを実行する情報処理装置であって、アプリケーションソフトウェアごとに、アプリケーションソフトウェアのユーザインタフェースを定義するユーザインタフェース定義ファイルを保持し、ユーザインタフェース定義ファイルは、アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目ごとに、データ型の属性が指定され、情報処理装置は、ユーザインタフェース定義ファイルに基づいて、アプリケーションソフトウェアの設定を行なうユーザインタフェースオブジェクトを生成するようにしたものである。
本発明によれば、各アプリケーションに関して、アプリケーションの設定に関するユーザインタフェースを統一し、ユーザには操作性を向上させ、アプリケーション開発者には開発効率の向上を行なうことのできる情報処理装置を提供することができる。
実施形態1に係る情報処理装置の機能構成図である。 実施形態1に係る情報処理装置のハードウェア・ソフトウェア構成図である。 実施形態1に係るマニフェストファイルの一例を示す図である。 実施形態1に係る情報処理装置が表示するアプリケーション選択メニュー画面の一例を示す図である。 実施形態1に係る情報処理装置が表示するアプリケーション設定画面の一例を示す図である。 情報処理装置によるCUIの一例を示す図である。 実施形態2に係るマニフェストファイルの一例を示す図である。 実施形態2に係る情報処理装置が表示するアプリケーション選択メニュー画面の一例を示す図である。 実施形態2に係る情報処理装置が表示するアプリケーション設定画面の一例を示す図である。 実施形態3に係るマニフェストファイルの一例を示す図である。 実施形態3に係る情報処理装置が表示するアプリケーション設定画面の一例を示す図である。 実施形態4に係るマニフェストファイルの一例を示す図である。 実施形態4に係る情報処理装置が表示するアプリケーション設定画面の一例を示す図である。 実施形態5に係る情報処理システムの機能構成図である。 クライアントがユーザインタフェース提供サーバに対して、ユーザインタフェースの提供を依頼するコマンドを送ったときの処理を示すフローチャートである。
以下、本発明に係る各実施形態を、図1ないし図11を用いて説明する。
本発明の概要を説明すると以下のようになる。
本発明の情報処理装置では、アプリケーション毎にインタフェースの要素を定義するマニフェストファイルを保持する。そして、マニフェストファイルを参照し、ユーザとの入出力を行なうユーザインタフェースオブジェクトを生成する。ユーザインタフェースオブジェクトは、GUI(Graphic User Interface)とCUI(Character-based User Interface)によりユーザが表示要素を視認したり、コマンド、データの入力を行なうことが可能である。
情報処理装置で動作する各アプリケーションは、設定ファイルとマニフェストファイル、実行ファイルを保持する。そして、マニフェストファイルからユーザインタフェースオブジェクトを生成する機能を有する。
マニフェストファイルは、人間が視覚的に理解しやすいテキスト(例えば、JSON(Java Script Object Notation)形式で記載される。マニフェストファイルにはアプリケーションID、設定・表示項目のID、名称、データ型、値の範囲、リードオンリー設定などが記載される。他に、アクション名と実行ファイルの対応と、それを実行するアクショントリガーが記載される。アクショントリガーは、例えば、GUI上のボタンと紐づけ、ボタンが押された場合に起動する等の形で記載される。
また、本発明は、クライアント-サーバからなる情報処理システムに適用することができる。その場合には、GUIによるユーザインタフェースが提供されるときには、LANから情報処理装置にブラウザ経由でアクセスした場合に表示され、アプリケーション毎にマニフェストに記載された設定・表示項目がメニュー化されて表示される。また、CUIによるユーザインタフェースが提供されるときには、指定されたTCPポート番号を使用して、情報処理装置とTCP接続することで表示される文字列を介してやり取り可能になる。
〔実施形態1〕
以下、本発明に係る実施形態1を、図1ないし図5を用いて説明する。
先ず、図1および図2を用いて実施形態1に係る情報処理装置の構成について説明する。
本実施形態の情報処理装置は、アプリケーションを実行するために設計された装置であり、ユーザ1は情報処理装置10のGUIまたはCUIを操作することにより、情報処理装置10から情報を取得したり、あるいは、アプリケーションを実行したり、そのアプリケーションの設定を行う。情報処理装置10のアプリケーション20は、情報処理装置が実現する機能ごとに分離される。一例として、通信端末としての機能を持つ情報処理装置であればルータ機能やシリアル通信機能、プロトコル変換機能といった単位でアプリケーション20は分離される。本実施形態の情報処理装置は、図1に示されるように、入出力部11、アプリケーション起動部12、ユーザインタフェースオブジェクト生成部13、アプリケーション設定部14の各機能部から構成される。
また、本実施形態の情報処理装置は、複数のアプリケーション20(図1では、20-1、20-2、…と表記)を実行することができ、各々のアプリケーション20は、マニフェストファイル21(図1では、21-1、21-2、…と表記)、設定ファイル22(図1では、22-1、22-2、…と表記)、実行ファイル23(図1では、23-1、23-2、…と表記)を保持している。
入出力部11は、ユーザ1からの入力を受け付けたり、情報処理装置10の情報をユーザに表示したりする機能部である。アプリケーション起動部12は、アプリケーションを起動したり、アプリケーション設定画面を起動する機能部である。ユーザインタフェースオブジェクト生成部13は、マニフェストファイル21に従って、アプリケーション20に関するユーザインタフェースを提供するオブジェクト(ウィンドウやそれに表示されるテキスト項目、コマンドボタンなど、以下、「ユーザインタフェースオブジェクト」という)などの表示・入出力要素を生成する機能部である。ユーザに提供されるユーザインタフェースは、GUIでもCUIでもよい。アプリケーション設定部14は、ユーザの入力に従って、アプリケーション実行のための設定を行なう機能部である。
マニフェストファイル21は、GUI、CUIなどのユーザに提供するユーザインタフェースを提供するユーザインタフェースオブジェクトの仕様を定義するファイルである(詳細は、後述)。設定ファイル22は、アプリケーション20を実行するめの条件を記述するファイルであり、初期値としてデフォルト設定値が記載されており、GUIやCUIを介したユーザの操作により設定値が書き換えられる。設定ファイルは、例えば、設定項目とその値が対になったJSON形式(詳細は、後述)のファイルである。実行ファイル23は、アプリケーションの処理を実行するファイルであり、シェルファイルや事項形式のファイルである。
次に、図2を用いて情報処理装置10のハードウェア・ソフトウェア構成について説明する。
情報処理装置10のハードウェア構成としては、例えば、図2に示されるパーソナルコンピュータのような一般的な情報処理装置で実現される。
情報処理装置10は、CPU(Central Processing Unit)302、主記憶装置304、ネットワークI/F(InterFace)306、表示I/F308、入出力I/F310、補助記憶I/F312が、バスにより結合された形態になっている。
CPU302は、情報処理装置10の各部を制御し、主記憶装置304に必要なプログラムをロードして実行する。
主記憶装置304は、通常、RAMなどの揮発メモリで構成され、CPU302が実行するプログラム、参照するデータが記憶される。
ネットワークI/F306は、ネットワーク5と接続するためのインタフェースである。
表示I/F308は、LCD(Liquid Crystal Display)などの表示装置320を接続するためのインタフェースである。
入出力I/F310は、入出力装置を接続するためのインタフェースである。図2の例では、キーボード330とポインティングデバイスのマウス332が接続されている。
補助記憶I/F312は、HDD(Hard Disk Drive)350やSSD(Solid State Drive)などの補助記憶装置を接続するためのインタフェースである。
HDD350は、大容量の記憶容量を有しており、本実施形態を実行するためのプログラムが格納されている。情報処理装置10には、入出力プログラム361、アプリケーション起動プログラム362、ユーザインタフェースオブジェクト生成プログラム363、アプリケーション設定プログラム364がインストールされている。
入出力プログラム361、アプリケーション起動プログラム362、ユーザインタフェースオブジェクト生成プログラム363、アプリケーション設定プログラム364は、それぞれ入出力部11、アプリケーション起動部12、ユーザインタフェースオブジェクト生成部13、アプリケーション設定部14の各機能を実現するプログラムである。
また、HDD350は、マニフェストファイル21(図2では、21-1、21-2、…と表記)、設定ファイル22(図2では、22-1、22-2、…と表記)、実行ファイル23(図2では、23-1、23-2、…と表記)を格納している。
次に、図3を用いて実施形態1におけるマニフェストファイルの具体例について説明する。
図3は、実施形態1に係るマニフェストファイルの一例を示す図である。
マニフェストファイル21は、アプリケーションに関するユーザインタフェース、また、アプリケーションに関するユーザインタフェースを定義するためのファイルである。本実施形態では、JSON形式で記述した例を示している。JSON形式は、{“key”:“value”}のように、{}の中にキーと値をコロンで区切って記述した形式である。本実施形態の情報処理装置10のユーザインタフェースオブジェクト生成部13は、マニフェストファイル21に基づいて、ユーザインタフェースオブジェクトを表現するHTMLファイルを生成する。
以下、マニフェストファイル21に記載された各キーに関して、説明する。
(K1)appキー:appidキーとnameキーを内包する。appidキーはアプリケーション毎の設定画面を指定するURLに組み込まれる文字列である。例えば、情報処理装置のIPアドレスを192.168.101.1とすると、本マニフェストファイルで定義されるアプリケーションのURLは「http://192.168.101.1/app1」となる。nameキーは、アプリケーション選択メニュー画面において、アプリケーション20を示す表示名となる。
(K2)actionキー:アプリケーション20の有する実行ファイルを実行するアクショントリガーを登録する。「“トリガー名”:{“exec”:“実行ファイル名”}」の形式で登録する。登録されたトリガーはマニフェストファイル21上で指定されたボタンを押された場合、または、CLIのコマンドが入力された場合に実行される。
(K3)configキー:アプリケーション20の設定項目を登録する。設定項目は大項目から、中項目、小項目と段階を分けて設定できる。各項目のchildキーに格納することで、項目の子とすることができ、大項目の子は中項目、中項目の子は小項目となる。小項目のさらに下層に設定項目を配置することも可能である。
以下、この(K3)の各項目における設定キーを説明する。
(K3-1)nameキー:設定項目の名前を登録する。GUI上での表示名に使用される。
(K3-2)menuキー:アプリケーション毎の設定画面では、画面が分割され、左がメニュー画面、右が設定画面となる。menuキーがtrueの場合にメニュー画面に設定項目が表示される。
(K3-3)linkキー:メニュー画面に表示された文字に、ハイパーリンクを設定するかを決定する。falseの場合、リンクは生成されない。
(K3-4)childキー:項目の子を作成する。
(K3-5)idキー:設定項目のidを決定する。idはCLI操作時に呼び出され、値の取得・設定を可能とする。
(K3-6)typeキー:設定項目の型を指定する。各設定項目は設定入力時、指定された型以外の入力を拒否する。
以下、(K3-6)における各型について説明する。
(K3-6-1)string型:文字列を指定する。
(K3-6-2)long型:4バイトの符号付整数を指定する。他に数値として、int型やfloat型、double型など、一般的な数値を指定する型は全て指定できることとする。
(K3-6-3)enum型:列挙型を指定する。enumの後ろに「.」と型を指定することにより、列挙する値の型を指定できる。図3の例では、int型を指定しているため、各nameキー(表示名)にはvaluieキーとしてint型の数値が指定される。
(K3-6-4)array型:配列を指定する。配列ではpropertiesキーを用いて、配列の中身(設定項目)を指定できる。配列の中身には設定項目を同様に指定する。
(K3-6-5)button型:GUI上にボタンを表示する。本型では、actionキーを設定し、(K2)アクションキーで指定したトリガー名を値とすることで、ボタンを押した場合に、アクショントリガーに設定された実行ファイルを実行する。
(K3-7)readonlyキー:trueの場合に、設定項目へのユーザ1の入力を受け付けない。設定項目ではないアプリケーション20の内部変数を設定項目と同様に表示する用途で用いる。処理の途中出力を表示させることにより、開発時におけるデバッグ用途で用いることも可能である。
(K3-8)maxキー:typeキーの内容によって、持つ意味が変化する。
(K3-8-1)array型の場合:ユーザ1が入力可能な、配列の最大長を設定する。
(K3-8-2)string型の場合:入力可能な最大の文字列長を設定する。
(K3-8-3)long型の場合(他、数値型全般に有効):ユーザ1が入力可能な数値の範囲を指定できる。maxキーでは入力可能な最大値を指定する。
(K3-9)minキー:数値型でユーザ1が入力可能な数値の範囲を指定できる。minキーでは入力可能な最小値を指定する。
次に、図4A、図4Bを用いて実施形態1におけるマニフェストファイルによって提供されるGUIの例について説明する。
図4Aに示されるアプリケーション選択メニュー画面400は、各アプリケーション20のマニフェストファイル21を読み込むことにより生成される。(K1)で指定した表示名がアイコン410(図4Aでは、410A、410B、410C…と表記)内部に表示され、列挙される。また、アイコン410をクリックすることにより、(K1)で指定したappidを含むリンクされたアプリケーション毎の設定画面に遷移することができる。
図4Bに示されるアプリケーション設定画面420も、各アプリケーション20のマニフェストファイル21を読み込むことにより生成される。
本実施形態の情報処理装置10のアプリケーション20のアプリケーション設定部14は、アプリケーション設定画面420に入力された値に基づいて、設定ファイルにその値を反映させる。
画面の左側にはメニュー430が、右側には設定値入力画面440が表示される。画面上部にはアプリケーション選択メニュー画面400へのリンクが表示される。メニュー画面430では(K3-2)menuキーをtrueとした項目が表示される。設定値入力画面440にはマニフェスト113に記載した設定項目が表示される。enum型で定義された項目441は、入力ボックスをクリックすることにより、設定した表示名が列挙された選択肢が表示される。array型で定義された項目442は、表形式で設定値を入力できる。また、行の追加ボタン443を押すことにより、maxキーで設定した行数まで行を追加できる。設定保存ボタン444は入力した値を反映し、アプリケーションを再起動するボタンである。設定保存ボタン444を押すまでは、入力された設定値は反映されない。
次に、図5を用いてマニフェストファイルによって提供されるCUIについて説明する。
図5は、情報処理装置によるCUIの一例を示す図である。
以下、CUI500によるユーザに提供される各コマンドとマニフェストファイル21の記述項目の関連について説明する。
(C1)loadコマンド:設定値の取得・設定を行うアプリケーションを指定する。存在するappidを引数にすると、OKと表示され、アプリケーション毎の設定モードに移行する。存在しないappidを指定した場合、NGと表示されるのみである。設定するアプリケーションを切り替える場合にも使用される。
(C2)setコマンド:設定値を入力する。第一引数に設定したい項目のid、第二引数に設定したい値を入力することにより、OKと表示され設定値の入力が完了する。存在しないidを入力した場合、typeに適さない入力値を入力した場合、NGと表示されるのみである。
(C3)getコマンド:設定値を確認する。引数に確認したい設定値のidを指定することで、値を表示する。存在しないidを入力した場合、NGと表示されるだけである。
(C4)saveコマンド:入力した設定値を保存し、設定モード中だったアプリケーション20を再起動する。アプリケーション毎の設定モードでない場合、NGと表示されるのみである。
(C5)actionコマンド:アクションを実行する。第一引数にappid、第二引数にアプリケーション毎のマニフェストファイル21で指定されたアクショントリガー名を指定することで、アクショントリガーに設定された実行ファイルを実行する。存在しないappid、アクショントリガー名を入力した場合、NGと表示されるのみである。
以上、本実施形態によれば、開発者は、マニフェストファイルを記述するのみで、ユーザが実行するアプリケーションとアプリケーションの設定において、様々なアプリケーションに対しても、統一的なユーザインタフェースが提供される。それにより、アプリケーションの開発者のユーザインタフェースに対する開発労力を軽減することができる。
〔実施形態2〕
実施形態1では、マニフェストファイル21を用いることにより、各アプリケーションとアプリケーション設定インタフェースを統一した。しかしながら、情報処理装置10が海外で活用される場合には、国が異なるとGUIの表示言語が変わるため、マニフェストファイル21を入れ替える必要がある。これに対応して、本実施形態では、GUIの多言語対応のため、マニフェストファイル21の項目を追加する。
以下、図6ないし図7Bを用いて実施形態1と異なった部分を中心にして、実施形態2について説明する。
ここで、図6を用いて実施形態2におけるマニフェストファイルの具体例について説明する。
以下、マニフェストファイル21に追加されたキーに関して説明する。
(K4)nameキー:実施形態2では、nameキーに複数言語での名称を指定する。実施形態1と比較して、nameキーの内容が階層的に記載され、jpキーであれば日本語の名称、enキーであれば英語の名称を記載する。jpキー、enキーは一例であり、他にchキーで中国語など、多様な言語キーに対応する。nameキーは全ての設定項目に共通で、どの設定項目においても同様に設定することによって、GUIの表示形態を変更することができる。
次に、図7A、図7Bを用いて実施形態2におけるマニフェストファイルによって提供されるGUIの例について説明する。
実施形態2のアプリケーション選択メニュー画面400は、図7Aに示されるようになる。アプリケーション選択メニュー画面400では言語選択タブ700で言語を切り替えることができる。図7Aでは、図6の(K4)で設定した英語名称が反映され、アプリ1という表記からapp1という表記に切り替わっている。
また、実施形態2のアプリケーション設定画面420は、図7Bに示されるようになる。図7Aに示したアプリケーション選択メニュー画面と同様に、言語選択タブ700で言語を切り替えることができる。図7Bでは、図6の(K4)で設定した英語名称がアイコン410に反映され、「設定」という表記から「setting」という表記に切り替わっている。
実施形態2によれば、マニフェストファイル21に、(K4)nameキーに複数の言語を、キーと値セットで登録することにより、GUI上の表示言語を言語選択タブから切り替えることができる。これにより、アプリケーションが実行される国が異なる場合にマニフェストファイル21を入れ替える手間をなくすことができる。
〔実施形態3〕
実施形態1、実施形態2では、マニフェストファイル21に記載された全ての項目がGUI上に表示されていた。しかしながら、GUIやCUIを参照する場面により、表示する内容が異なる場合がある。例えば、開発時や障害発生時には中間出力の値等を画面上に出力し、処理が適切に行われているか否かを判断する。これらの中間出力値は本来ユーザに見せるものではないため、ユーザ使用時には隠されるのが通常である。このようにGUIやCUI500を参照する場面ごとに、情報を隠すためにマニフェストファイル21内のデバッグ用項目を削除する必要がある。
本実施形態では、このような手間を軽減するために、設定項目の表示・非表示を切り替えるマニフェストファイル21の項目を追加するものである。
以下、実施形態1、実施形態2と異なった部分を中心にして、実施形態3について説明する。
ここで、図8を用いて実施形態3におけるマニフェストファイルの具体例について説明する。
以下、マニフェストファイル21に追加されたキーに関して説明する。
(K3-10)hiddenキー:trueの場合、GUIおよびCUIに設定項目を表示させない。
図8においては、setting1-1-2、1-1-5、1-1-6の三項目で(K3-10)hiddenキーがtrueとされ、表示されない設定となっている。また、このようなときに、CUI上ではapp1をloadした上で、getもしくはsetで引数にsetting1-1-2を取った場合には、NGが返答されるのみである。
次に、図9を用いて実施形態3におけるマニフェストファイルによって提供されるGUIの例について説明する。
実施形態3の表示するアプリケーション設定画面420では、(K3-10)hiddenキーをtrueに設定された設定項目(setting1-1-2、1-1-5、1-1-6)は、画面上で表示されない。
本実施形態によれば、マニフェストファイル21に(K3-10)hiddenキーをtrueに設定することにより、設定された項目がGUI・CUI500上で、表示されない。これにより、開発者は、わずかなマニフェストファイル21の編集で、デバッグ時に出力する項目を隠すことが可能になる。
〔実施形態4〕
実施形態1、実施形態2、実施形態3では、マニフェストファイル21の記載により、インタフェース上で設定項目の表示や、実行ファイル23の実行を可能にした。しかしながら、実行ファイル23を実行するにあたり、その内部にOSS(Open Source Software)を含む場合、ライセンスの表示が義務付けられることがある。ライセンス情報を、マニフェストファイル21の編集を工夫して表示することは不可能ではないが、本来の機能ではないため表示が崩れる恐れがある。
本実施形態は、OSSの対応も考慮し、マニフェストファイル21にライセンスの情報を組み込み、GUI上でそのライセンスを表示するユーザインタフェースに関するものである。
以下、実施形態1~実施形態3と異なった部分を中心にして、実施形態4について説明する。
ここで、図10を用いて実施形態4におけるマニフェストファイルの具体例について説明する。
以下、マニフェストファイル21に追加されたキーに関して説明する。
(K5)licenseキー:ライセンス情報を指定するキーである。
以下、(K5)を構成するキーについて説明する。
(K5-1)fileキー:ライセンス情報を記載したファイルのパスを指定する。GUIではfileキーで指定されたファイルをHTTPの応答として返信する。
(K5-2)nameキー:GUI上でライセンス情報を表示させるOSSの名称を指定する。
次に、図11を用いて実施形態4におけるマニフェストファイルによって提供されるGUIの例について説明する。
実施形態4に係る情報処理装置が表示するアプリケーション設定画面420は、図11に示されるようになる。このアプリケーション設定画面420には、(K5)licenseキーを追加することにより、メニューにlicenceへのリンク800が追加される。licenceへのリンク800をクリックすることにより、画面の右側に、license情報810を表示できる。licence情報810では、(K5-2)で登録された名称811と、(K5-1)で登録されたファイルへのハイパーリンクが生成されたlicence fileの文字列812がセットで表示される。
本実施形態によれば、マニフェストファイルに(K5)licenseキーを追加することにより、設定したOSSのlicenceファイルへのリンクページが自動的に生成される。これにより開発者がOSSを活用した際に、ユーザインタフェースを直接編集することなく、ライセンス表示を行なうことが可能になる。
〔実施形態5〕
実施形態1では、情報処理装置10内で、アプリケーションのユーザインタフェースを規定し、そのユーザインタフェースに基づいて、アプリケーションの実行とアプリケーションの設定を行なう例について説明した。
本実施形態では、クライアント-サーバからなる情報処理システムで、アプリケーションのユーザインタフェースを規定する情報と、それに基づいて、ユーザインタフェースオブジェクトを生成する機能をサーバ側で担保する情報処理システムである。
先ず、図12を用いて実施形態5に係る情報処理システムの構成について説明する。
本実施形態の情報処理システム3は、クライアント30とユーザインタフェース提供サーバ50がネットワーク5により、接続された形態である。
クライアント30は、アプリケーションを実行し、ネットワーク5を介してユーザインタフェース提供サーバ50にユーザインタフェースの提供を依頼する情報処理装置である。
ユーザインタフェース提供サーバ50からの依頼に応じて、ユーザインタフェースに関する情報を送信する。
クライアント30は、入出力部31、サーバインタフェース部32、アプリケーション起動部33、アプリケーション設定部34の各機能部から構成される。
また、クライアント30のアプリケーションクライアントサイド40(図12では、40-1、40-2、…と表記)は、設定ファイル41(図12では、41-1、41-2、…と表記)、実行ファイル42(図12では、42-1、42-2、…と表記)を保持する。設定ファイル41と実行ファイル42は、実施形態1の設定ファイル22、実行ファイル23と同様である。
入出力部31は、実施形態1の情報処理装置10の場合と同様、ユーザ1からの入力を受け付けたり、情報処理装置10の情報をユーザに表示したりする機能部である。サーバインタフェース部32は、サーバとの通信インタフェースを司る機能部である。アプリケーション起動部33も、実施形態1と同様に、アプリケーションを起動したり、アプリケーション設定画面を起動する機能部である。本実施形態のクライアント30の場合は、ユーザインタフェース提供を受ける場合には、サーバインタフェース部32を介して、ユーザインタフェース提供サーバ50にコマンドを送付し、ユーザインタフェースに関する情報を受信する。アプリケーション設定部34も、実施形態1と同様に、ユーザの入力に従って、アプリケーション実行のための設定を行なう機能部である。
ユーザインタフェース提供サーバ50は、クライアントインタフェース部51、ユーザインタフェースオブジェクト生成部52の各機能部から構成される。
クライアントインタフェース部51は、クライアントとの通信インタフェースを司る機能部である。ユーザインタフェースオブジェクト生成部52は、実施形態1の情報処理装置10と同様に、マニフェストファイル61に従って、アプリケーションに関するユーザインタフェースオブジェクトを生成する機能部である。本実施形態では、ユーザインタフェースオブジェクトに関する情報は、クライアントインタフェース部51を介して、クライアント30に送信される。
ユーザインタフェース提供サーバ50は、アプリケーションサーバサイド60図12では、60-1、60-2、…と表記)として、マニフェストファイル61(図12では、61-1、61-2、…と表記)を保持する。マニフェストファイル61は、実施形態1のマニフェストファイル21と同様である。
次に、図13を用いてクライアントがユーザインタフェース提供サーバに対して、ユーザインタフェースの提供を依頼するコマンドを送ったときの処理について説明する。
本実施形態では、クライアント30とユーザインタフェース提供サーバ50は、TCP/IP(Transmission Protocol/Internet Protocol)により、通信するものとする。
(S1)待ち受け開始:ユーザインタフェース提供サーバ50は、クライアント30との通信初期設定の後に、TCPコネクション生成要求の待ち受けを開始する。
(S2)待ち受け終了命令?:GUIやCUIを介して再起動命令など、情報処理装置10の停止を命令された場合には(S2:YES)、処理を終了する。それ以外の場合には(S2:NO)、(S3)に処理を進める。
(S3)TCPコネクション確立要求?:クライアント30とユーザインタフェース提供サーバ50が、ネットワーク5を介してTCPコネクションの確立を要求した場合には(S3:YES)、(S4)に処理を進める。それ以外の場合には(S3:NO)、(S2)に処理を戻す。
(S4)TCPポート番号:コネクションの確立を要求された宛先TCPポート番号によって、処理を分岐する。HTTP(Hyper Text Transfer Protocol)・HTTPS(Hyper Text Transfer Protocol Secure)に使用される80番ポートまたは443番ポートであった場合には(S4:80/443(HTTP))、コネクションを確立し、(S5)に処理を進める。事前に設定された指定ポート番号であった場合には(S4:指定されたポート番号)、コネクションを確立し、(S7)に処理を進める。そのほかのポート番号であった場合には(S4:その他)、(S2)に処理を戻す。
(S5)HTML(Hyper Text Markup Language)ファイルの生成:ユーザインタフェース提供サーバ50のユーザインタフェースオブジェクト生成52は、アプリケーションサーバサイド60が保持するマニフェストファイル61を読み込み、ユーザインタフェースオブジェクトを表現するHTMLファイルを生成する。アクセスするURLに応じて、アプリケーション選択メニュー画面と、アプリケーション0毎の設定画面のいずれかを生成する。
(S6)HTMLファイルの返信:(S5)で生成したHTMLファイルをHTTPレスポンスとして、返信する。返信後、(S2)に処理を戻す。この際、HTTPの仕様により(S4)で確立されたコネクションは開放される。
(S7)コネクション開放要求?:(S4)で確立されたコネクションにおいて開放要求があれば(S7:YES)、コネクションを開放し、(S2)に処理を戻す。それ以外の場合は(S7:NO)、(S8)に進む。
(S8)正しいコマンドを受信?:(S4)で確立されたコネクションを介して、CUIのコマンド仕様に従った正しいコマンドを受信した場合には(S8:YES)、(S9)に処理を進める。それ以外の場合には(S8:NO)、(S7)に処理を戻す。
(S9)コマンドの実行:(S8)で受信したコマンドを解釈し、実行する。本処理におけるコマンドの内容は、情報取得や、設定値の更新・適用などである。
(S10)待ち受け終了:ユーザインタフェース提供サーバ50のクライアントインタフェース部51は、TCPコネクション確立要求の待ち受けを終了する。
本実施形態では、マニフェストファイル51がアプリケーションサーバサイド60に置かれることになるため、管理が容易になり、アプリケーションが実行される多くのクライアントに対して統一的なユーザインタフェースを提供することができるという利点がある。
1…ユーザ
10…情報処理装置
11…入出力部
12…アプリケーション起動部
13…ユーザインタフェースオブジェクト生成部
14…アプリケーション設定部
20…アプリケーション
21…マニフェストファイル
22…設定ファイル
23…実行ファイル
5…ネットワーク
30…クライアント
31…入出力部
32…サーバインタフェース部
33…アプリケーション起動部
34…アプリケーション設定部
40…アプリケーションクライアントサイド
41…設定ファイル
42…実行ファイル
50…ユーザインタフェース提供サーバ
51…クライアントインタフェース部
52…ユーザインタフェースオブジェクト生成部
60…アプリケーションサーバサイド
61…マニフェストファイル
400…アプリケーション選択メニュー画面
410…アイコン
420…アプリケーション設定画面
430…メニュー画面
440…設定値入力画面
441…enum型で定義された項目
442…array型で定義された項目
443…行の追加ボタン
444…設定保存ボタン
500…CUI
700…言語選択タブ
800…licenceへのリンク
810…licence情報
811…(K5-2)で登録された名称
812…licence fileの文字列

Claims (10)

  1. アプリケーションソフトウェアを実行する情報処理装置であって、
    アプリケーションソフトウェアごとに、アプリケーションソフトウェアのユーザインタフェースを定義するユーザインタフェース定義ファイルを保持し、
    前記ユーザインタフェース定義ファイルは、前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目ごとに、データ型の属性が指定され、
    前記情報処理装置は、前記ユーザインタフェース定義ファイルに基づいて、前記アプリケーションソフトウェアの設定を行なうユーザインタフェースオブジェクトを生成することを特徴とする情報処理装置。
  2. 前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目には、入力のみの属性を付与されたことを特徴とする請求項1記載の情報処理装置。
  3. 前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目には、そのユーザインタフェースオブジェクトを定義する項目に処理のためのアクションが関連付けられたことを特徴とする請求項1記載の情報処理装置。
  4. 前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目には、表示形態を切替える属性が定義されたことを特徴とする請求項1記載の情報処理装置。
  5. 前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目には、表示の有無を切替える属性が定義されたことを特徴とする請求項1記載の情報処理装置。
  6. 前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目には、前記アプリケーションソフトウェアのライセンスに関連付けられた属性が定義されたことを特徴とする請求項1記載の情報処理装置。
  7. 前記ユーザインタフェース定義ファイルに基づいて、前記アプリケーションソフトウェアの設定をグラフィック表示で行なうことを特徴とする請求項1記載の情報処理装置。
  8. 前記ユーザインタフェース定義ファイルに基づいて、前記アプリケーションソフトウェアの設定をコマンドラインで行なうことを特徴とする請求項1記載の情報処理装置。
  9. クライアントとサーバがネットワークにより接続された情報処理システムであって、
    前記サーバは、アプリケーションソフトウェアごとに、アプリケーションソフトウェアのユーザインタフェースを定義するユーザインタフェース定義ファイルを保持し、
    前記ユーザインタフェース定義ファイルは、前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目ごとに、データ型の属性が指定され、
    前記クライアントは、前記サーバにユーザインタフェースオブジェクトの生成を依頼し、
    前記サーバは、前記ユーザインタフェース定義ファイルに基づいて、前記アプリケーションソフトウェアの設定を行なうユーザインタフェースオブジェクトを生成し、前記ネットワークを介して、前記クライアントに、前記ユーザインタフェースオブジェクトを送信することを特徴とする情報処理システム。
  10. アプリケーションソフトウェアを実行する情報処理装置に対するユーザインタフェース提供方法であって、
    前記情報処理装置は、アプリケーションソフトウェアごとに、アプリケーションソフトウェアのユーザインタフェースを定義するユーザインタフェース定義ファイルを保持し、
    前記ユーザインタフェース定義ファイルは、前記アプリケーションソフトウェアの設定項目の入出力をするユーザインタフェースオブジェクトを定義する項目ごとに、データ型の属性が指定され、
    前記情報処理装置は、前記ユーザインタフェース定義ファイルに基づいて、前記アプリケーションソフトウェアの設定を行なうユーザインタフェースオブジェクトを生成するステップを有することを特徴とするユーザインタフェース提供方法。
JP2020217716A 2020-12-25 2020-12-25 情報処理システム Active JP7445590B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2020217716A JP7445590B2 (ja) 2020-12-25 2020-12-25 情報処理システム
PCT/JP2021/031057 WO2022137647A1 (ja) 2020-12-25 2021-08-24 情報処理装置、情報処理システムおよびユーザインタフェース提供方法
EP21909805.0A EP4270175A1 (en) 2020-12-25 2021-08-24 Information processing device, information processing system, and user interface providing method
CN202180050501.9A CN116097211A (zh) 2020-12-25 2021-08-24 信息处理装置、信息处理系统和用户界面提供方法
US18/039,887 US20240036888A1 (en) 2020-12-25 2021-08-24 Information Processing Device, Information Processing System, and User Interface Providing Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020217716A JP7445590B2 (ja) 2020-12-25 2020-12-25 情報処理システム

Publications (2)

Publication Number Publication Date
JP2022102769A true JP2022102769A (ja) 2022-07-07
JP7445590B2 JP7445590B2 (ja) 2024-03-07

Family

ID=82158921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020217716A Active JP7445590B2 (ja) 2020-12-25 2020-12-25 情報処理システム

Country Status (5)

Country Link
US (1) US20240036888A1 (ja)
EP (1) EP4270175A1 (ja)
JP (1) JP7445590B2 (ja)
CN (1) CN116097211A (ja)
WO (1) WO2022137647A1 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024020A (ja) 2000-05-01 2002-01-25 Toshiba Corp 画面制御プログラム、動的表示情報取得プログラム、画面表示トランザクションプログラム、画面コンポーネントインタフェースプログラム、画面プログラム作成方法
JP2009282705A (ja) 2008-05-21 2009-12-03 Yamaha Corp コマンド処理装置、およびプログラム
JP2011186720A (ja) 2010-03-08 2011-09-22 Fujitsu Ltd 情報処理装置,処理方法,処理プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP6555966B2 (ja) 2015-07-31 2019-08-07 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6795767B2 (ja) 2017-04-17 2020-12-02 キヤノンマーケティングジャパン株式会社 情報処理装置と、その処理方法及びプログラム

Also Published As

Publication number Publication date
JP7445590B2 (ja) 2024-03-07
CN116097211A (zh) 2023-05-09
EP4270175A1 (en) 2023-11-01
US20240036888A1 (en) 2024-02-01
WO2022137647A1 (ja) 2022-06-30

Similar Documents

Publication Publication Date Title
US11561846B2 (en) API notebook tool
US7072951B2 (en) HTTP transaction monitor with capacity to replay in debuggings session
Ezenwoye et al. TRAP/BPEL-A Framework for Dynamic Adaptation of Composite Services.
US8732668B2 (en) System and method of error handling in a platform as a service environment
US8438418B2 (en) Simplifying automated software maintenance of data centers
US20230308504A9 (en) Method and system of application development for multiple device client platforms
US20130275957A1 (en) Customizing appliances
US20130339924A1 (en) Gateway data distribution engine
JP2004199577A (ja) 設定ファイルの統合編集方法および設定ファイル統合基盤
US20090259952A1 (en) Information processing apparatus and method of controlling same
US20090030908A1 (en) Centralized management type computer system
JP2005004771A (ja) 非同期コンポーネントをアプリケーションフレームワークアグノスティックにするメカニズム
CN113626095A (zh) 配置中心的切换方法、切换系统、电子设备及存储介质
WO2022137647A1 (ja) 情報処理装置、情報処理システムおよびユーザインタフェース提供方法
JP2021026660A (ja) サービス連携支援システムおよびその方法
CN110764864A (zh) 一种基于Terraform的可视化资源编排方法
CN114791826A (zh) 基于参数配置的Jenkins项目运行方法及装置
CN114389936A (zh) 一种跨云多集群部署运维方法、系统、处理器和存储介质
CN113791819A (zh) 接口文档生成方法和装置、存储介质、电子设备
CN112199219A (zh) 一种跨语言作业远程调用方法
JP4669245B2 (ja) フレームワーク間連携プログラム、フレームワーク間連携方法、フレームワーク間連携装置、およびフレームワーク間連携システム
JP2019070884A (ja) 情報処理装置
CN113326035A (zh) 数据处理方法、装置、电子设备及计算机存储介质
Freeman Using the Platform Features, Part 1
US20100023936A1 (en) Program modification method, program restoration method and data processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231108

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: 20240130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240226

R150 Certificate of patent or registration of utility model

Ref document number: 7445590

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150