JP2005018227A - サーバマシン及びアプリケーション開発方法 - Google Patents

サーバマシン及びアプリケーション開発方法 Download PDF

Info

Publication number
JP2005018227A
JP2005018227A JP2003179575A JP2003179575A JP2005018227A JP 2005018227 A JP2005018227 A JP 2005018227A JP 2003179575 A JP2003179575 A JP 2003179575A JP 2003179575 A JP2003179575 A JP 2003179575A JP 2005018227 A JP2005018227 A JP 2005018227A
Authority
JP
Japan
Prior art keywords
application
library
development
machine
remote relay
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
Application number
JP2003179575A
Other languages
English (en)
Inventor
Koji Muramatsu
孝治 村松
Yasushi Ono
泰志 小野
Misako Misao
美左子 三竿
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003179575A priority Critical patent/JP2005018227A/ja
Publication of JP2005018227A publication Critical patent/JP2005018227A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】サーバマシン側でアプリケーション開発時に画面を見ながらアプリケーションを効率よく開発することにある。
【解決手段】アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリ12が通信回線30を介してクライアントマシン20のビューアプログラム21に中継し、操作命令に従った画面表示を実現させるサーバマシン10であって、このサーバマシンにアプリケーションを開発する開発ツール11と、表示に関連する既存GUI部品を取り込んで画面表示する既存API層13をベースとしたリモート中継層14で構成され、前記開発ツールから出される操作命令群を、既存API層に対してブロックし、前記リモート中継層を利用して前記クライアントマシンのビューアプログラムに中継するリモート中継ライブラリ14とを設けた構成である。
【選択図】 図4

Description

【0001】
【発明の属する技術分野】
本発明は、GUI中継ライブラリを使用するアプリケーションを開発するためのサーバマシン及びアプリケーション開発方法に関する。
【0002】
【従来の技術】
従来、アプリケーションを開発するために、幾つかのアプリケーション開発システムが提案されている。
【0003】
(1) その1つのシステムは、開発ツールIDE(Integrated Development Environment:統合開発環境)を用い、既存GUI部品(例:ボタン)を使用してアプリケーションを作成することが行われている(図11参照)。
【0004】
▲1▼ この開発システムは、開発ツールを起動し、表示部に初期画面を表示する(G1)。
【0005】
▲2▼ この初期画面に表示されるメニューの中からアプリケーション新規作成用メニューを選択する。新規作成用メニューを選択すると、表示部にアプリケーション画面101が表示される(G2)。
【0006】
▲3▼ 引き続き、初期画面の部品一覧102から所要とする“ボタン”をマウスでクリックした後、、アプリケーション画面101の所要とする個所までドラッグし、当該ボタン103を貼り付ける(G3)。
【0007】
▲4▼ さらに、アプリケーション画面101の中に貼り付けたボタン103の右下コーナーをクリックしてドラッグし、ボタンの大きさを変更する(G4)。
【0008】
▲5▼ 所要とする数の部品を貼り付けた後、開発ツールの動作を終了する。
【0009】
従って、このシステムは、以上のようなアプリケーション画面101の設定及び既存GUI部品であるボタンの座標位置及び大きさ等を含む一連の処理内容はソースコードに変換され、さらにコンパイラによって所要言語のプログラム,つまりアプリケーションとして作成される。
【0010】
以上のように作成されたアプリケーションの実行について(図12参照)。
【0011】
▲6▼ 以上のようにして作成されたアプリケーションを起動する。
【0012】
▲7▼ このアプリケーションの実行により、ボタン103を貼付けたアプリケーション画面101が表示される。
【0013】
▲8▼ アプリケーションの実行を終了する。
【0014】
(2) ところで、従来、図13に示すように、サーバマシン110とクライアントマシン120とを通信回線130で接続したアプリケーション開発システムにおいて、サーバマシン110は、開発ツール111を用い、従来のGUIリモート中継ライブラリ112のGUI部品を使用してアプリケーションを開発する場合、次のような処理手順に従って行う(図14参照)。なお、図13において、121はビューワプログラムであって、GUIリモート中継ライブラリ112から送信されてくる開発ツール111の命令を解釈し、その命令内容に応じてクライアント端末122上にGUI部品をもつアプリケーションの画面が表示する機能をもっている。
【0015】
▲1▼ サーバマシン110は、開発ツール111を起動すると、表示部に初期画面が表示される(G11)。
【0016】
▲2▼ この初期画面に表示されるメニューの中からアプリケーション新規作成用メニューを選択する。新規作成用メニューを選択すると、表示部にアプリケーション画面101が表示される(G12)。
【0017】
▲3▼ 引き続き、GUIリモート中継ライブラリ112のGUI部品一覧102から所要とする“ボタン”をマウスでクリックした後、アプリケーション画面101の所要とする個所までドラッグし、当該ボタンを貼り付ける(G13)。ところが、当該ボタンは、アプリケーション画面101のコーナー部分に点104として表示される。
【0018】
▲4▼ そこで、アプリケーション画面101のコーナー部分に点104をマウスでクリックし所要とする個所にドラッグする。しかし、このドラッグ操作にも拘らず、点104の位置が移動したり、点104の大きさを変更することができない。
【0019】
しかしながら、以上の一連の処理はソースコードの形式でアプリケーションが作成されている。
【0020】
以上のように作成されたアプリケーションの実行について(図13、図15参照)。なお、この場合には開発ツール111は使用しない。
【0021】
▲5▼ クライアントマシン120のクライアント端末122上でビューアプログラム121を起動する。
【0022】
▲6▼ サーバマシン110側では、作成されたアプリケーションを起動すると、GUIリモート中継ライブラリ112は、クライアント端末121側で既に起動されているビューアプログラム121との間の通信回線130を確立する。このアプリケーションの起動後、GUI命令(例えば画面表示命令等)を出力すると、GUIリモート中継ライブラリ112は、当該GUI命令をビューアプログラム121に中継する。
【0023】
▲7▼ このビューアプログラム121は、GUI命令を解釈し、クライアント端末122上にGUI部品をもつアプリケーションの画面101を表示する。このアプリケーションの画面101の中のボタン104は画面コーナーに表示される(G15)。
【0024】
▲8▼ サーバマシン110側のアプリケーションを終了する。これに伴い、クライアント端末122側の表示部に表示されていたアプリケーションの画面101が消滅する。
【0025】
▲9▼ クライアント端末122側のビューアプログラム121が終了する。
【0026】
(3) 従来のもう1つアプリケーション開発システムは、UNIX系アプリケーション、GUI定義ファイル及びGUI表示装置を設けたUNIX系移植元と、WindowsNT系アプリケーション、GUI定義ファイル及びGUI表示装置を設けたWindowsNT系移植先とを備え、UNIX系移植元のUNIX系アプリケーションがGUI定義ファイルを用いて、所望のGUIメニューを作成し、WindowsNT系移植先のGUI定義ファイルに移植するが、移植元と移植先とのGUIツールであるUNIX系アプリケーションとWindowsNT系アプリケーションとが異なる場合、UNIX系移植元が所望のGUIメニューを作成し、WindowsNT系移植先に移植するとしても、当該WindowsNT系移植先が必要な情報が過不足な状態にあり、移植先で正しいメニューを作成することが困難となるので、UNIX系移植元とWindowsNT系移植先との間に変換プログラムを設け、この変換プログラムは、UNIX系移植元で作成されたGUIメニューをWindowsNT系移植先に移植するに際し、UNIX系移植元側のGUI定義ファイルを用いて、過不足な情報を追加し、WindowsNT系移植先側のGUI定義ファイルに移植する構成である。
【0027】
【特許文献1】
特開2002−149418号公報(図5)
【0028】
【発明が解決しようとする課題】
しかしながら、図13及び図14に示すアプリケーション開発システムでは、サーバマシン110側は、アプリケーションの画面101に関連付けて貼り付けたボタン104が画面コーナー部分に表示されるだけであり、GUI部品の画面を直接見ることができないので、どのようなアプリケーションが作成されているか推測し難い問題がある。また、アプリケーションの画面101の中の部品の移動ができないだけでなく、部品の大きさも変更できない。その結果、クライアント端末122側の実際のGUI設計画面を確認しながら、開発・実行を繰り返さなければならない問題がある。
【0029】
また、作成されたアプリケーションのデバッグ(動作検証→修正)を行う際、いちいちクライアントマシン120を用意し、内蔵されているビューアプログラム121を動作させる必要があり、またデバッグ処理を行うに際し、クライアントマシン120上で操作する必要があるので手間がかかる問題がある。
【0030】
一方、後者のアプリケーション開発システムは、UNIX系移植元は、GUIアプリケーションを作成し、この作成されたGUIアプリケーションをWindowsNT系移植先に移植するに際し、移植元と移植先のUNIX系アプリケーションとWindowsNT系アプリケーションが異なる場合、変換プログラムを用いて、移植先の過不足な情報を追加し表示可能なGUIメニューを作成する情報補完技術である。つまり、UNIX系移植元で作成されたGUIアプリケーションの作り替えを行うものであり、そのままGUIリモート中継ライブラリを用いて、クライアント端末54に表示するGUI画面を作成できるものではない。
【0031】
本発明は上記事情にかんがみてなされたもので、GUI中継ライブラリを使用してアプリケーションを効率よく作成するサーバマシン及びアプリケーション開発方法を提供することを目的とする。
【0032】
また、本発明の他の目的は、単一マシンを用いて、効率よくデバッグ処理を行うサーバマシン及びアプリケーション開発方法を提供することにある。
【0033】
【課題を解決するための手段】
(1) 上記課題を解決するために、本発明は、アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンであって、前記アプリケーションを開発する開発ツールと、表示に関連する既存GUI部品を取り込んで画面表示する既存API層をベースとしたリモート中継層で構成され、前記開発ツールから出される操作命令群を、既存API層に対してブロックし、前記リモート中継層を利用して前記クライアントマシンのビューアプログラムに中継するリモート中継ライブラリとを設けた構成である。
【0034】
なお、前記リモート中継ライブラリは、当該リモート中継ライブラリに属する各GUI部品クラスが前記マシン上の既存GUI部品クラスを継承し、また前記既存GUI部品のメソッドのうち、前記クライアントマシンに処理させたいメソッドの場合には前記ビューアプログラムへの中継処理を上書き実装し、前記クライアントマシンに処理させくないメソッドの場合にはダミーの上書き実装を行うように組み込む。
【0035】
この発明は以上のような構成とすることにより、GUIリモート中継ライブラリに属する各GUI部品クラスを既存のGUI部品クラスの承継とすることにより、サーバマシンに開発ツールとともにGUIリモート中継ライブラリを組み込んだ時にGUI部品として認識できるので、実行時の画面表示をアプリケーションを効率よく作成することが可能となる。
【0036】
(2) 本発明に係るアプリケーション開発方法は、アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を通してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンにおいて、
前記リモート中継ライブラリに属する各GUI部品クラスが既存GUI部品クラスを継承し、また前記既存GUI部品のメソッドのうち、前記クライアントマシンに処理させたいメソッドの場合には前記ビューアプログラムへの中継処理を上書き実装し、前記クライアントマシンに処理させくないメソッドの場合にはダミーの上書き実装するように、前記サーバマシンにリモート中継ライブラリを組み込むことにより、前記(1)と同様な作用効果を奏する。
【0037】
なお、前記(2)の方法において、リモート中継ライブラリと同一マシン内で通信可能なサーバ環境向けビューワプログラムを使用し、前記リモート中継ライブラリが前記アプリケーションからの操作命令群を前記サーバ環境向けビューワプログラムに中継し、このビューワプログラムにより前記同一のサーバマシン上で実行すれば、同一マシン上で画面を見ながらデバッグ処理を行うことが可能となる。
【0038】
(3) また、本発明は、アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンであって、前記アプリケーションを開発する開発ツールと、前記アプリケーション開発時に実装され、前記開発ツールからの命令に従って表示画面を表示する既存GUIライブラリと、前記アプリケーション開発時に実装され、前記既存GUIライブラリの画面表示の処理状態を、前記リモート中継ライブラリがローカル表示可能な命令に変換し、前記開発ツールに渡す開発用ライブラリとを備え、前記開発ツールから出力される命令のソースコードと開発用ライブラリから渡される命令とから前記アプリケーションを作成する構成である。
【0039】
この発明は以上のような構成とすることにより、開発ツールにて開発用ライブラリに属する部品群をGUI部品群として認識可能となるので、GUIリモート中継ライブラリを用いたアプリケーションを開発するに際し、実行時の画面表示を見ながらアプリケーションを開発でき、開発効率を向上させることが可能である。
【0040】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【0041】
図1は本発明に係るアプリケーション開発システムの一実施の形態を説明する構成図である。
【0042】
この実施の形態は、サーバマシン側にGUIリモート中継ライブラリを組み込み、アプリケーション開発時に表示画面を見ながら実際の画面に極めて近い状態でアプリケーションを開発する例である。
【0043】
このアプリケーション開発システムは、サーバマシン10とクライアントマシン20とが通信回線30により接続され、サーバマシン10は、GUIアプリケーションを開発する機能を有する例えばマイクロソフトビジュアルC++、マイクロソフトビジュアルJ++(登録商標)等の開発ツールIDE(Integrated Development Environment:統合開発環境)11と、既存API(エー・ピー・アイ:Application Programming Interface)層をベースとしたリモート中継層で構成されるGUIリモート中継ライブラリ12とによって構成されている。このAPI層とは、開発ツール11のOS(Operating System)のために用意された各種の機能を有効に利用する仕組みをいう。
【0044】
このGUIリモート中継ライブラリ12は、既存のGUI部品を継承するクラスに処理を実行させる機能をもつ場合に限り、開発ツール11のOSのために用意された各種の機能のうち、表示に関連する機能を取り込んでGUI画面を表示する既存API層13と、開発ツール11から命令群を受け取ったとき、どの種類の命令群であっても既存API層13に流れないようにブロックし、クライアントマシン20に中継するリモート中継層14とで構成されている。
【0045】
この既存API層13をベースとしたリモート中継層14を利用するGUIリモート中継ライブラリ12は、開発ツール11からの命令を所要とする通信メッセージに変換する命令−通信メッセージ変換部141と、このメッセージ変換部141で変換された通信メッセージをクライアントマシン20に中継する通信メッセージ送信部142と、このクライアントマシン20からの通信メッセージを受信する通信メッセージ受信部143と、この受信された通信メッセージを命令に変換し開発ツール11に渡す通信メッセージ−命令変換部144と、開発ツール11からの命令群を判断し破棄する命令破棄部145とによって構成されている。
【0046】
従って、開発ツール11からの命令群は通信メッセージ変換部141或いは命令破棄部145で全て処理され、既存API層13の流入をブロックする構成となっている。
【0047】
一方、クライアントマシン20は、ビューワプログラム21を搭載したクライアント端末22が設けられ、このビューワプログラム21は、GUIリモート中継ライブラリ12から中継される通信メッセージを受信する通信メッセージ受信部211と、この受信された通信メッセージを命令に変換する通信メッセージ−命令変換部212と、この変換された命令に従ってクライアント端末22上に画面表示を実行する既存API層213と、画面操作を受けて既存API層213から受け取る操作命令を通信メッセージに変換する命令−通信メッセージ変換部214と、このメッセージ変換部214で変換された通信メッセージをGUIリモート中継ライブラリ12に返送する通信メッセージ送信部215とによって構成されている。
【0048】
次に、サーバマシン10のGUIリモート中継ライブラリ12を構成する部品の実装例について図2を参照して説明する。この部品の実装例は、既存のGUI部品の継承により実現するものである。
【0049】
このサーバマシン10は、開発ツール11がGUIリモート中継ライブラリ12を構成する既存のGUI部品を用いて画面表示するとともに、GUIリモート中継ライブラリ12は当該既存のGUI部品を承継するクラスを作成し、開発ツール11の命令群をクライアントマシン20のビューワプログラム21に中継する機能をもつものであり、以下、具体的に説明する。
【0050】
開発ツール11は、GUIリモート中継ライブラリ12を構成する既存のGUI部品である例えば「Button:ボタン」10−1を用いて、印刷・表示を実行するものであるが、この「Button:ボタン」10−1は開発ツール11の一種の命令に相当する。なお、図中、10−1は既存のGUI部品、10−2は開発ツール11と同一マシン10上に存在し、画面上に見えるボタン、10−3は開発ツール11の動作するマシン10に接続され、印刷命令に応じて印刷を行うプリンタである。
【0051】
すなわち、開発ツール11は、既存のGUI部品である「Button:ボタン」10−1を用いて印刷・表示を行うことから、次のようなメソッド(*)をもっている。このメソッド(*)は、オブジェクト指向プログラミングにおいて、オブジェックトの実行する操作方法を記述したプログラムであって、処理内容を表している。
【0052】
* print( )…プリンタ10−3に印刷する。
【0053】
* show( )…ボタン10−2を表示する。但し、この例はボタン10−2が非表示の場合に限る。
【0054】
* setLabel(String lavel)…ボタン10−2のラベルを変更する。
【0055】
一方、GUIリモート中継ライブラリ12は、既存のGUI部品であるボタンオブジェクト10−1を継承するクラスである「Remote Button:遠隔ボタン」14−1をもっている。また、図1に示す命令−メッセージ中継機能141,142等を有し、クライアントマシン20側のビューワプログラム21に命令を送信し、また送信された命令の実行結果を受信する受信機能143、144が設けられている。
【0056】
このGUIリモート中継ライブラリ12の「Remote Button:遠隔ボタン」14−1は既存部品である「Button:ボタン」10−1を継承しているので、仮に当該「Button:ボタン」10−1のメソッドを上書きしなければボタン10−2と同様の機能を果たすクラスとなる。すなわち、print( )を実行すれば、開発ツール11の動作するマシン10に接続されるプリンタ10−3に印刷を行い、show( )を実行すれば、開発ツール11と同一マシン10上にボタン10−2を表示する。
【0057】
しかし、GUIリモート中継ライブラリ12の性質上、例えばprint( )の実行機能を特に必要としないが、show( )の場合にはボタン10−2をクライアントマシン20側に表示する必要があるので、命令−通信メッセージ変換部141及び通信メッセージ送信部142を経由してクライアントマシン20側に送信する。
【0058】
そこで、「Button:ボタン」10−1を継承する「Remote Button:遠隔ボタン」14−1では、「Button:ボタン」10−1に実装されている全てのメソッドを上書きすれば、次のような処理が行われる。
【0059】
* クライアントマシン20側に何らかの処理を実行させる必要があるメソッドであれば、当該メソッドの含む命令を命令−通信メッセージ変換部141及び通信メッセージ送信部142を経由してビューワプログラム21に中継する。
【0060】
* 特に必要のないメソッド,例えばprint( )等の場合には、ダミー実装とし、実際の処理を行わないようにする。
【0061】
従って、以上のような実施の形態によれば、開発ツール(IDE)11のマシン上にGUIリモート中継ライブラリ12を組み込み、このGUIリモート中継ライブラリ12に属する各GUI部品クラスがマシン上に存在する既存のGUI部品を継承し、また当該既存のGUI部品クラスのメソッドのうち、クライアントマシン20側に実行させたいメソッドの場合に上書きをし、ビューワプログラム21に中継し、当該ビューワプログラム21に処理させるようにすれば、サーバマシン10側では、実際のGUI部品画面に極めて近い表示を見ながら、配置位置を調整しながらアプリケーションを作成できる。
【0062】
また、サーバマシン10側は、実際のGUI部品画面に極めて近い画面を認識できるので、実行時の画面表示を見ながらアプリケーションを効率よく開発できる。
【0063】
次に、サーバマシン10によるGUIアプリケーションの開発例ないし本発明に係るアプリケーション開発方法について図3を参照して説明する。
【0064】
▲1▼ 新たなGUIアプリケーションの開発は、サーバマシンと類似の環境をもつアプリケーション開発用サーバマシン10を用いて行う。このアプリケーション開発用サーバマシン10には、開発ツール11の他、GUIリモート中継ライブラリ12に組み込んで行う(ライブラリ実装ステップ)。
【0065】
▲2▼ アプリケーション開発者がGUIリモート中継ライブラリ12に組み込んだ後、アプリケーション開発サーバマシン10上に図3に示す初期画面としてのIDE画面16を表示するとともに、このIDE画面16右側にGUIリモート中継ライブラリ12に属する部品群を表す部品一覧17が表示される。
【0066】
なお、GUIリモート中継ライブラリ12の組み込みは、開発ツール11により異なるが、例えばIDEメニューから「新しい部品を組み込む」などを選ぶことが可能な機能をもつものを組み込む。
【0067】
ここで、アプリケーション開発者が所要とする操作を行うと、開発ツール11からアプリケーション設計画面18の表示命令を出力する。この設計画面の表示命令は、部品一覧17からアプリケーション設計画面18に表示すべき1つの部品を選択し、マウスなどのポインティングを用いてドラッグ&ドロップ操作を行い、該当部品をアプリケーション設計画面18の中に貼り付け、かつ、その部品の大きさを調整する。
【0068】
この一連の処理は、アプリケーション開発者の命令を受けて、GUIリモート中継ライブラリ12が部品群の中から選択された部品を取り出し、アプリケーション設計画面18中に貼り付け、かつ、その部品の大きさを調整する(命令実行ステップ)。
【0069】
従って、アプリケーション開発者は、アプリケーションの開発時に、実行時の実際の画面表示を見ながらGUIアプリケーションを開発できる。
【0070】
次に、図4はアプリケーション開発時のシステム構成図である。
【0071】
サーバマシン10とクライアントマシン20とが通信回線30により物理的に接続されている。このサーバマシン10は、開発ツール11と図1に示す機能構成を有するGUIリモート中継ライブラリ12とが設けられている。この開発ツール11は、GUIリモート中継ライブラリ12とリンクされ、サーバマシン10上で動作する。
【0072】
クライアントマシン20は、図1に示す機能構成をもったビューワプログラム21が搭載されたクライアント端末22が設けられている。このビューワプログラム21は、GUIリモート中継ライブラリ12と通信回線30の確立によって通信可能な状態になっており、開発ツール11からの命令に応じて図3と同様な表示画面22aを表示する。
【0073】
一方、クライアントマシン側のビューアプログラム22は、表示画面22aに対するマウスなどのユーザ操作イベントをGUIリモート中継ライブラリ12に中継し、サーバマシン10の開発ツール11に返送する。
【0074】
従って、この実施の形態によれば、サーバマシン10側においては、GUIリモート中継ライブラリ12を用いて、開発ツール11の遠隔操作が可能となる。
【0075】
次に、図5は開発されたアプリケーションのデバッグ処理を行うシステム構成図である。このデバッグ処理は、サーバマシン10の図1に示す機能構成を有するGUIリモート中継ライブラリ12に同一マシン内通信ラインを介してデバッグ用ビューワプログラム19を接続した後、作成されたアプリケーション11Aを起動する。そうすると、クライアント端末22を使用せずに、GUIリモート中継ライブラリ12を用いてサーバマシン10の表示部にアプリケーション画面18aを表示できるので、表示画面18aを見ながらデバッグ処理を実行できる。
【0076】
従って、以上のような実施の形態によれば、サーバマシン10上に開発ツール11及びGUIリモート中継ライブラリ12を組み込んで表示画面を見ながら配置位置などが調整できるので、実際の画面に極めて近い状態でアプリケーションを開発でき、アプリケーションを効率よく開発できる。
【0077】
また、開発されたアプリケーションのデバッグに際し、クライアント端末22を使用せずに、単一のサーバマシン10を用いて、表示画面18aを見ながらデバッグ処理を行うことができ、ひいては開発されたアプリケーションの検証ないし修正を速やかに行うことができる。
【0078】
図6は本発明に係るサーバと類似の環境をもつアプリケーション開発用のサーバマシンの一実施の形態を示す構成図である。
【0079】
このアプリケーション開発用サーバマシン40は、具体的には、新たなGUIアプリケーションを開発する機能を有する開発ツール41と、アプリケーション開発時に実装され、前述するGUIリモート中継ライブラリを使用可能とするアプリケーションを開発する当該GUIリモート中継ライブラリと完全な互換性を有する開発用ライブラリ42と、図示右側に示すようにサーバマシン40上に表示画面43を表示する機能を有する既存GUIライブラリ44とにより構成されている。これら開発用ライブラリ42及び既存GUIライブラリ44はアプリケーション開発の時だけ実装するものである。
【0080】
この既存GUIライブラリ44は、図7に示すように既存のGUI部品例えば「Button:ボタン」40−1、「Checkbox:チェックボックス」40−2などの既存のGUI部品をもっている。一方、開発用ライブラリ42は、「Button:ボタン」40−1、「Checkbox:チェックボックス」40−2を継承したクラスの部品をもっている。
【0081】
従って、開発用ライブラリ42は、アプリケーション開発に必要なリソース(継承部品)を管理し、開発ツール41が起動すると、既存GUIライブラリ44とのリンクを形成し、開発ツール41からのアプリケーション開発の操作命令を既存GUIライブラリ44に受け渡す一方、当該操作命令のもとに既存GUIライブラリ44が表示画面43にGUI表示画面を表示する一連の処理を実行したとき、既存のGUI部品を継承するクラスの部品に基づいてローカル表示可能な命令データに変換し、開発ツール41に渡すデータコンバータ機能をもっている。
【0082】
従って、開発ツール41は、既存GUIライブラリ44に渡す操作命令のソースコードと開発用ライブラリ42から受け取るローカル表示可能な命令データとに基づいて遠隔操作可能なアプリケーション45を作成する。
【0083】
一方、既存GUIライブラリ44は、開発ツール41に関係するリソース及びGUI表示に関連するリソースを管理する一方、開発ツール41から受け取る命令を解釈し、図8に示すごとくIDE画面46にアプリケーション設計画面を表示する機能をもっている。
【0084】
次に、アプリケーション開発用サーバマシン40によるアプリケーションの開発例ないし本発明に係るアプリケーション開発方法について図8を参照して説明する。
【0085】
▲1▼ GUIアプリケーションの開発は、サーバと類似の環境をもつアプリケーション開発用サーバマシン40を用いて行う。このGUIアプリケーションの開発には、アプリケーション開発用サーバマシン40に、アプリケーション開発時に限り、開発用ライブラリ42及び既存GUIライブラリ44を組み込む(ライブラリ実装ステップ)。
【0086】
▲2▼ アプリケーション開発者が開発用ライブラリ42及び既存GUIライブラリ44を組み込んだ後、開発ツール41を起動する。
【0087】
この開発ツール41が起動すると、初期画面の表示要求を出すと、開発用ライブラリ42を介して既存GUIライブラリ44で受け取る。この既存GUIライブラリ44は、同一マシン40の表示部に初期画面である図8に示すIDE画面46に開発用ライブラリ42に属する部品群47を表示する。
【0088】
なお、開発用ライブラリ42の組込みは、開発ツール41の種類により異なるが、例えばIDEメニューから「新しい部品を組み込む」などを選ぶことが可能な機能をもつものを組み込む。
【0089】
ここで、アプリケーション開発者が所要とする操作を行うと、開発ツール41からアプリケーション設計画面48の表示命令を出力する。この設計画面の表示命令は、開発用ライブラリ42を介して開発ツール41とリンクされている既存GUIライブラリ44に送られ、ここで開発ツール41からの表示命令に基づいてサーバマシン40上にアプリケーション設計画面48を表示する。このとき、開発用ライブラリ42は、表示命令のもとにアプリケーション設計画面48を表示する一連の処理データを取り込み、ローカル表示可能な命令に変換し、開発ツール41に渡す。
【0090】
▲3▼ アプリケーション開発者は、前述する操作命令のもとにサーバマシン40上にアプリケーション設計画面48を開いた後、部品一覧47に示す部品群の中からアプリケーション設計画面48に表示すべき1つの部品を選択し、マウスなどのポインティングを用いてドラッグ&ドロップ操作を行い、該当部品49をアプリケーション設計画面48の中に貼り付け、かつ、その部品の大きさを調整する。
【0091】
この一連の処理は、アプリケーション開発者の操作命令を受けて、既存GUIライブラリ44が部品群の中から選択された部品を取り出し、アプリケーション設計画面48の中に貼り付け、かつ、その部品の大きさを調整するが、当該既存GUIライブラリ44をベースとした開発用ライブラリ42は、部品群の中から選択された部品を認識し、ローカル表示可能な命令に変換し、開発ツール41に渡す。前記▲2▼、▲3▼は命令実行ステップを意味する。
【0092】
ここで、開発ツール41は、表示及び操作等に伴う命令から取得されるソースコードと開発用ライブラリ42から受け取るローカル表示可能な命令とを用いてアプリケーション45を作成する。従って、アプリケーション開発者は、アプリケーションの開発時に、実行時の実際の画面表示を見ながらアプリケーション45を作成できる。
【0093】
▲4▼ ところで、以上のようにして作成されたアプリケーション45の実行時、図9に示すようなシステム構成を構築し、作成されたアプリケーション45の遠隔操作に従ってクライアントマシン50上に画面表示を実現させる。
【0094】
すなわち、このシステム構成は、従来の図13と同様にアプリケーション45とGUIリモート中継ライブラリ12とを備えたサーバマシン40と、ビューアプログラム51を搭載した携帯端末等のクライアント端末52を備えたクライアントマシン50とで構成され、これらサーバマシン40のリモート中継ライブラリ49とクライアントマシン50とが通信回線60により接続されている。
【0095】
従って、このGUIリモート中継ライブラリ12は、開発されたアプリケーション45の実行時にサーバマシン40に組み込み実装され、アプリケーション45の実効命令をビューアプログラム51に中継する。このビューアプログラム51は、アプリケーション45の実行命令に従ってクライアント端末52に図8と同様な表示画面53を表示する。
【0096】
一方、クライアントマシン50側のビューアプログラム51は、表示画面53に対するマウスなどのユーザ操作イベントをGUIリモート中継ライブラリ12に中継し、サーバマシン40のアプリケーション45に返送する(アプリケーション実行ステップ)。
【0097】
従って、この実施の形態によれば、サーバマシン40側においては、リモート中継ライブラリ12を用いて、アプリケーション45の遠隔操作が可能となる。
【0098】
次に、図10は開発されたアプリケーション45のデバッグ処理を説明するシステム構成図である。
【0099】
このシステムは、図6と同様にサーバマシン40に開発用ライブラリ42及び既存GUIライブラリ14を組み込み、作成されたアプリケーション45のデバッグ処理を行うものであり、特にクライアントマシン50を使用しない。
【0100】
アプリケーション45は、開発用ライブラリ42とリンクし、サーバマシン40上で動作する。既存GUIライブラリ44は、開発用ライブラリ42とリンクして動作し、アプリケーション45の命令に従ってサーバマシン40上に表示画面を表示するので、アプリケーション開発者は、当該サーバマシン40の表示画面を見ながら開発されたアプリケーションのデバッグ処理を実施することができる(デバッグ処理ステップ)。
【0101】
従って、以上のような実施の形態によれば、開発ツール41にGUIリモート中継ライブラリ12を組み込んでアプリケーション45の開発・実行を行うに先立ち、サーバマシン40に開発用ライブラリ42及び既存GUIライブラリ44を組み込み、既存GUIライブラリ44がサーバマシン40上に画面を表示しながら開発するので、表示画面を見ながら配置位置などが調整できるので、実際の画面に極めて近い状態でアプリケーションを開発でき、しかも開発用ライブラリ42がアプリケーションの開発時にGUIリモート中継ライブラリ12で使用可能な命令に変換し、開発ツール41に渡してアプリケーション45を作成するので、GUIリモート中継ライブラリ12が使用できるアプリケーションを効率よく開発できる。
【0102】
また、開発されたアプリケーションのデバッグに際し、クライアントマシン50を使用せずに、単一のサーバマシン40を用いて、表示画面54を見ながらデバッグ処理を行うことができ、ひいては開発されたアプリケーションの検証ないし修正を速やかに行うことができる。
【0103】
なお、本願発明は、上記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変形して実施できる。
【0104】
また、各実施の形態は可能な限り組み合わせて実施することが可能であり、その場合には組み合わせによる効果が得られる。さらに、上記各実施の形態には種々の上位,下位段階の発明が含まれており、開示された複数の構成要素の適宜な組み合わせにより種々の発明が抽出され得るものである。例えば問題点を解決するための手段に記載される全構成要件から幾つかの構成要件が省略されうることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【0105】
【発明の効果】
以上説明したように本発明によれば、開発実行時に画面を見ながらアプリケーションを効率よく開発できるサーバマシン、アプリケーション開発方法及びGUIリモート中継ライブラリを提供できる。
【0106】
また、本発明は、単一マシンを用いて、効率よくデバッグ処理を行うことができるサーバマシン及びアプリケーション開発方法を提供できる。
【図面の簡単な説明】
【図1】本発明に係るサーバマシンの一実施の形態を含むシステムの構成図。
【図2】GUIリモート中継ライブラリを構成する部品の実装例を説明する図。
【図3】サーバと類似の環境をもつサーバマシンによるアプリケーション開発画面例を示す図。
【図4】図1ないし図3によって開発されたアプリケーションをクライアントマシン上で画面表示させるシステムの構成図。
【図5】開発されたGUIアプリケーションのデバッグ処理を説明する図。
【図6】本発明に係るサーバマシンによるGUIアプリケーションの開発例を説明する他の実施形態を示す構成図。
【図7】図6に示す既存GUIライブラリのGUI部品と開発用ライブラリの部品との継承関係を説明する図。
【図8】サーバマシン上のIDE画面に開発用ライブラリに属する部品群を表示するとともに、アプリケーション設計画面に部品を貼り付けた図。
【図9】図6により開発されたGUIアプリケーションをクライアントマシン上で画面表示させるアプリケーション開発・実行システムの構成図。
【図10】図6により開発されたGUIアプリケーションのデバッグを説明する図。
【図11】サーバマシンが開発ツールを用い、既存GUI部品を使用してアプリケーションを開発する従来例を説明する図。
【図12】図11で作成されたアプリケーションの実行を説明する図。
【図13】従来のアプリケーション開発システムの構成図。
【図14】サーバマシンが開発ツールを用い、かつ、従来型リモート中継ライブラリのGUI部品を使用してアプリケーションを開発する従来例を説明する図。
【図15】図14で作成されたアプリケーションの実行を説明する図。
【符号の説明】
10…サーバマシン、11…開発ツール、11A…アプリケーション、12…GUIリモート中継ライブラリ、13…既存API層、14…リモート中継層、16…IDE画面、17…部品一覧、18…アプリケーション設計画面、19…ビューワプログラム(デバッグ用)、20…クライアントマシン、21…ビューワプログラム、22…クライアント端末、30…通信回線、40…サーバマシン、41…開発ツール、42…開発用ライブラリ、44…既存GUIライブラリ、45…アプリケーション、46…IDE画面、47…部品群、48…アプリケーション設計画面、50…クライアントマシン、51…ビューワプログラム、52…クライアント端末。

Claims (11)

  1. アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンにおいて、
    前記アプリケーションを開発する開発ツールと、
    表示に関連する既存GUI部品を取り込んで画面表示する既存API層をベースとしたリモート中継層で構成され、前記開発ツールから出される操作命令群を、既存API層に対してブロックし、前記リモート中継層を利用して前記クライアントマシンのビューアプログラムに中継するリモート中継ライブラリとを備えたことを特徴とするサーバマシン。
  2. 請求項1に記載のサーバマシンにおいて、
    前記リモート中継ライブラリは、当該リモート中継ライブラリに属する各GUI部品クラスが前記マシン上の既存GUI部品クラスを継承し、また前記既存GUI部品のメソッドのうち、前記クライアントマシンに処理させたいメソッドの場合には前記ビューアプログラムへの中継処理を上書き実装し、前記クライアントマシンに処理させくないメソッドの場合にはダミーの上書き実装を行うことを特徴とするサーバマシン。
  3. アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンにおいて、
    前記アプリケーションを開発する開発ツールと、
    この開発ツールとリンクして動作し、自身に属する各GUI部品クラスが前記マシン上の既存GUI部品クラスを継承し、また前記既存GUI部品のメソッドのうち、前記クライアントマシンに処理させたいメソッドの場合には前記ビューアプログラムへの中継処理を上書き実装し、前記クライアントマシンに処理させくないメソッドの場合にはダミーの上書き実装を行うように組み込む前記リモート中継ライブラリとを備えたことを特徴とするサーバマシン。
  4. アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を通してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンにおいて、
    前記リモート中継ライブラリに属する各GUI部品クラスが既存GUI部品クラスを継承し、また前記既存GUI部品のメソッドのうち、前記クライアントマシンに処理させたいメソッドの場合には前記ビューアプログラムへの中継処理を上書き実装し、前記クライアントマシンに処理させくないメソッドの場合にはダミーの上書き実装するように、前記サーバマシンにリモート中継ライブラリを組み込むことを特徴とするアプリケーション開発方法。
  5. 請求項4に記載のアプリケーション開発方法において、
    前記リモート中継ライブラリと同一マシン内で通信可能なサーバ環境向けビューワプログラムを使用し、前記リモート中継ライブラリが前記アプリケーションからの操作命令群を前記サーバ環境向けビューワプログラムに中継し、このビューワプログラムにより前記同一のサーバマシン上で実行し、デバッグ処理を行うことを特徴とするアプリケーション開発方法。
  6. アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンにおいて、
    前記アプリケーションを開発する開発ツールと、
    前記アプリケーション開発時に実装され、前記開発ツールからの命令に従って表示画面を表示する既存GUIライブラリと、
    前記アプリケーション開発時に実装され、前記既存GUIライブラリの画面表示の処理状態を、前記リモート中継ライブラリがローカル表示可能な命令に変換し、前記開発ツールに渡す開発用ライブラリとを備え、
    前記開発ツールから出力される命令のソースコードと開発用ライブラリから渡される命令とから前記アプリケーションを作成することを特徴とするサーバマシン。
  7. 請求項6に記載のサーバマシンにおいて、
    前記作成されたアプリケーションの実行時、前記マシン上に実装され、当該アプリケーションの操作命令を、通信回線を介してクライアントマシンのビューアプログラムに中継するリモート中継ライブラリを設けたことを特徴とするサーバマシン。
  8. 請求項6と同様に構成され、前記作成されたアプリケーションを実行し、同一マシン上の表示部に画面表示し、デバッグ処理を行うことを特徴とするサーバマシン。
  9. アプリケーションを開発するアプリケーション開発方法において、
    サーバマシンの開発ツールを用いてアプリケーションを開発する際、当該サーバマシン上に開発用ライブラリ及び既存GUIライブラリを組み込むステップと、
    前記開発用ライブラリ及び既存GUIライブラリを組み込んだ後、当該既存GUIライブラリが前記開発ツールの命令に従って前記サーバマシン上に所要とする画面を表示するとともに、前記開発用ライブラリが前記既存GUIライブラリの画面表示の処理状態を、リモート中継ライブラリの使用可能な命令に変換し、前記開発ツールに渡すステップと、
    このステップにより受け取った変換命令と前記開発ツールから出力される命令のソースコードからアプリケーションを作成するステップとを有することを特徴とするアプリケーション開発方法。
  10. 請求項9に記載のアプリケーション開発方法において、
    前記作成されたアプリケーションの実行時、前記サーバマシン上に前記リモート中継ライブラリを組み込んだ後、このリモート中継ライブラリが前記アプリケーションの操作命令を、通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるステップとを有することを特徴とするアプリケーション開発方法。
  11. 請求項9に記載のアプリケーション開発方法において、
    前記作成されたアプリケーションのデバッグ時、当該アプリケーションの操作命令に従って前記サーバマシン上に表示画面を表示させながらデバッグ処理を実施するステップとを有することを特徴とするアプリケーション開発方法。
JP2003179575A 2003-06-24 2003-06-24 サーバマシン及びアプリケーション開発方法 Pending JP2005018227A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003179575A JP2005018227A (ja) 2003-06-24 2003-06-24 サーバマシン及びアプリケーション開発方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003179575A JP2005018227A (ja) 2003-06-24 2003-06-24 サーバマシン及びアプリケーション開発方法

Publications (1)

Publication Number Publication Date
JP2005018227A true JP2005018227A (ja) 2005-01-20

Family

ID=34180865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003179575A Pending JP2005018227A (ja) 2003-06-24 2003-06-24 サーバマシン及びアプリケーション開発方法

Country Status (1)

Country Link
JP (1) JP2005018227A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028406A (ja) * 2009-07-22 2011-02-10 Icr Co Ltd アプリケーション開発運用システムおよびアプリケーション開発運用ソフト
JP2015026347A (ja) * 2013-07-29 2015-02-05 株式会社デジタル 画像作成システム
KR20190030517A (ko) * 2017-09-14 2019-03-22 스튜디오씨드코리아 주식회사 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법
KR20190089814A (ko) * 2019-07-24 2019-07-31 스튜디오씨드코리아 주식회사 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028406A (ja) * 2009-07-22 2011-02-10 Icr Co Ltd アプリケーション開発運用システムおよびアプリケーション開発運用ソフト
JP2015026347A (ja) * 2013-07-29 2015-02-05 株式会社デジタル 画像作成システム
KR20190030517A (ko) * 2017-09-14 2019-03-22 스튜디오씨드코리아 주식회사 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법
KR102005288B1 (ko) 2017-09-14 2019-07-31 스튜디오씨드코리아 주식회사 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법
US10409710B2 (en) 2017-09-14 2019-09-10 Studio Xid Korea, Inc. Method of testing prototype linked with existing application
US10963368B2 (en) 2017-09-14 2021-03-30 Studio Xid Korea, Inc. Method of testing prototype linked with existing application
KR20190089814A (ko) * 2019-07-24 2019-07-31 스튜디오씨드코리아 주식회사 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법
KR102049805B1 (ko) 2019-07-24 2019-11-28 스튜디오씨드코리아 주식회사 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법

Similar Documents

Publication Publication Date Title
US9276990B1 (en) Virtual application execution system and method
US7747958B2 (en) System and method for enabling assisted visual development of workflow for application tasks
US6173438B1 (en) Embedded graphical programming system
JP4418137B2 (ja) ネットワークブラウザー装置、コンピュータ、コンピュータを診断および補修する方法
EP1396788A2 (en) Universal system component emulator with human readable output
US6804773B1 (en) System and method for transferring information over a network
US7895567B2 (en) Pre-assembling drag-and-drop objects before committing a drop object
CN101782848B (zh) 仿真软件界面集成方法
KR20080040104A (ko) Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법
CN101909061A (zh) 基于远程显示协议的动态虚拟通道的创建和应用方法
US6785884B1 (en) Symbolic debug interface for register transfer simulator debugger
CN106201745A (zh) 应用程序的远程调试方法、远程调试系统和终端
US20030020948A1 (en) Dynamically loaded applications in a printer
US8196107B2 (en) Simulating stepping through interpreted code
Malek et al. Reconceptualizing a family of heterogeneous embedded systems via explicit architectural support
JP4244337B2 (ja) カスタマ・サポートのためのウェブ・ブラウザ・コントロール
US20030004685A1 (en) System and method for monitoring controller diagnostics
JP2005018227A (ja) サーバマシン及びアプリケーション開発方法
US20040015975A1 (en) Interface for distributed processing framework system
US20010015732A1 (en) Setting up a communication procedure between instances and a protocol tester using the method
CN110502418B (zh) 一种实现远程调试的方法
JPH09282154A (ja) 装置操作制御システム
US20060053116A1 (en) Dynamic software updating using mobile agent AOP
JP2002326430A (ja) プリントエンジンシミュレータ
Nehrbass et al. Interfacing PC-based MATLAB directly to HPC resources

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060425

A521 Written amendment

Effective date: 20060626

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070116