(57)【要約】【課題】サーバマシン側でアプリケーション開発時に画面を見ながらアプリケーションを効率よく開発することにある。【解決手段】アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリ１２が通信回線３０を介してクライアントマシン２０のビューアプログラム２１に中継し、操作命令に従った画面表示を実現させるサーバマシン１０であって、このサーバマシンにアプリケーションを開発する開発ツール１１と、表示に関連する既存ＧＵＩ部品を取り込んで画面表示する既存ＡＰＩ層１３をベースとしたリモート中継層１４で構成され、前記開発ツールから出される操作命令群を、既存ＡＰＩ層に対してブロックし、前記リモート中継層を利用して前記クライアントマシンのビューアプログラムに中継するリモート中継ライブラリ１４とを設けた構成である。【選択図】    図４
2005018227.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンにおいて、
前記アプリケーションを開発する開発ツールと、
表示に関連する既存ＧＵＩ部品を取り込んで画面表示する既存ＡＰＩ層をベースとしたリモート中継層で構成され、前記開発ツールから出される操作命令群を、既存ＡＰＩ層に対してブロックし、前記リモート中継層を利用して前記クライアントマシンのビューアプログラムに中継するリモート中継ライブラリとを備えたことを特徴とするサーバマシン。
【請求項２】
請求項１に記載のサーバマシンにおいて、
前記リモート中継ライブラリは、当該リモート中継ライブラリに属する各ＧＵＩ部品クラスが前記マシン上の既存ＧＵＩ部品クラスを継承し、また前記既存ＧＵＩ部品のメソッドのうち、前記クライアントマシンに処理させたいメソッドの場合には前記ビューアプログラムへの中継処理を上書き実装し、前記クライアントマシンに処理させくないメソッドの場合にはダミーの上書き実装を行うことを特徴とするサーバマシン。
【請求項３】
アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンにおいて、
前記アプリケーションを開発する開発ツールと、
この開発ツールとリンクして動作し、自身に属する各ＧＵＩ部品クラスが前記マシン上の既存ＧＵＩ部品クラスを継承し、また前記既存ＧＵＩ部品のメソッドのうち、前記クライアントマシンに処理させたいメソッドの場合には前記ビューアプログラムへの中継処理を上書き実装し、前記クライアントマシンに処理させくないメソッドの場合にはダミーの上書き実装を行うように組み込む前記リモート中継ライブラリとを備えたことを特徴とするサーバマシン。
【請求項４】
アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を通してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンにおいて、
前記リモート中継ライブラリに属する各ＧＵＩ部品クラスが既存ＧＵＩ部品クラスを継承し、また前記既存ＧＵＩ部品のメソッドのうち、前記クライアントマシンに処理させたいメソッドの場合には前記ビューアプログラムへの中継処理を上書き実装し、前記クライアントマシンに処理させくないメソッドの場合にはダミーの上書き実装するように、前記サーバマシンにリモート中継ライブラリを組み込むことを特徴とするアプリケーション開発方法。
【請求項５】
請求項４に記載のアプリケーション開発方法において、
前記リモート中継ライブラリと同一マシン内で通信可能なサーバ環境向けビューワプログラムを使用し、前記リモート中継ライブラリが前記アプリケーションからの操作命令群を前記サーバ環境向けビューワプログラムに中継し、このビューワプログラムにより前記同一のサーバマシン上で実行し、デバッグ処理を行うことを特徴とするアプリケーション開発方法。
【請求項６】
アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンにおいて、
前記アプリケーションを開発する開発ツールと、
前記アプリケーション開発時に実装され、前記開発ツールからの命令に従って表示画面を表示する既存ＧＵＩライブラリと、
前記アプリケーション開発時に実装され、前記既存ＧＵＩライブラリの画面表示の処理状態を、前記リモート中継ライブラリがローカル表示可能な命令に変換し、前記開発ツールに渡す開発用ライブラリとを備え、
前記開発ツールから出力される命令のソースコードと開発用ライブラリから渡される命令とから前記アプリケーションを作成することを特徴とするサーバマシン。
【請求項７】
請求項６に記載のサーバマシンにおいて、
前記作成されたアプリケーションの実行時、前記マシン上に実装され、当該アプリケーションの操作命令を、通信回線を介してクライアントマシンのビューアプログラムに中継するリモート中継ライブラリを設けたことを特徴とするサーバマシン。
【請求項８】
請求項６と同様に構成され、前記作成されたアプリケーションを実行し、同一マシン上の表示部に画面表示し、デバッグ処理を行うことを特徴とするサーバマシン。
【請求項９】
アプリケーションを開発するアプリケーション開発方法において、
サーバマシンの開発ツールを用いてアプリケーションを開発する際、当該サーバマシン上に開発用ライブラリ及び既存ＧＵＩライブラリを組み込むステップと、
前記開発用ライブラリ及び既存ＧＵＩライブラリを組み込んだ後、当該既存ＧＵＩライブラリが前記開発ツールの命令に従って前記サーバマシン上に所要とする画面を表示するとともに、前記開発用ライブラリが前記既存ＧＵＩライブラリの画面表示の処理状態を、リモート中継ライブラリの使用可能な命令に変換し、前記開発ツールに渡すステップと、
このステップにより受け取った変換命令と前記開発ツールから出力される命令のソースコードからアプリケーションを作成するステップとを有することを特徴とするアプリケーション開発方法。
【請求項１０】
請求項９に記載のアプリケーション開発方法において、
前記作成されたアプリケーションの実行時、前記サーバマシン上に前記リモート中継ライブラリを組み込んだ後、このリモート中継ライブラリが前記アプリケーションの操作命令を、通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるステップとを有することを特徴とするアプリケーション開発方法。
【請求項１１】
請求項９に記載のアプリケーション開発方法において、
前記作成されたアプリケーションのデバッグ時、当該アプリケーションの操作命令に従って前記サーバマシン上に表示画面を表示させながらデバッグ処理を実施するステップとを有することを特徴とするアプリケーション開発方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＧＵＩ中継ライブラリを使用するアプリケーションを開発するためのサーバマシン及びアプリケーション開発方法に関する。
【０００２】
【従来の技術】
従来、アプリケーションを開発するために、幾つかのアプリケーション開発システムが提案されている。
【０００３】
（１）  その１つのシステムは、開発ツールＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｅｎｖｉｒｏｎｍｅｎｔ：統合開発環境）を用い、既存ＧＵＩ部品（例：ボタン）を使用してアプリケーションを作成することが行われている（図１１参照）。
【０００４】
▲１▼  この開発システムは、開発ツールを起動し、表示部に初期画面を表示する（Ｇ１）。
【０００５】
▲２▼  この初期画面に表示されるメニューの中からアプリケーション新規作成用メニューを選択する。新規作成用メニューを選択すると、表示部にアプリケーション画面１０１が表示される（Ｇ２）。
【０００６】
▲３▼  引き続き、初期画面の部品一覧１０２から所要とする“ボタン”をマウスでクリックした後、、アプリケーション画面１０１の所要とする個所までドラッグし、当該ボタン１０３を貼り付ける（Ｇ３）。
【０００７】
▲４▼  さらに、アプリケーション画面１０１の中に貼り付けたボタン１０３の右下コーナーをクリックしてドラッグし、ボタンの大きさを変更する（Ｇ４）。
【０００８】
▲５▼  所要とする数の部品を貼り付けた後、開発ツールの動作を終了する。
【０００９】
従って、このシステムは、以上のようなアプリケーション画面１０１の設定及び既存ＧＵＩ部品であるボタンの座標位置及び大きさ等を含む一連の処理内容はソースコードに変換され、さらにコンパイラによって所要言語のプログラム，つまりアプリケーションとして作成される。
【００１０】
以上のように作成されたアプリケーションの実行について（図１２参照）。
【００１１】
▲６▼  以上のようにして作成されたアプリケーションを起動する。
【００１２】
▲７▼  このアプリケーションの実行により、ボタン１０３を貼付けたアプリケーション画面１０１が表示される。
【００１３】
▲８▼  アプリケーションの実行を終了する。
【００１４】
（２）  ところで、従来、図１３に示すように、サーバマシン１１０とクライアントマシン１２０とを通信回線１３０で接続したアプリケーション開発システムにおいて、サーバマシン１１０は、開発ツール１１１を用い、従来のＧＵＩリモート中継ライブラリ１１２のＧＵＩ部品を使用してアプリケーションを開発する場合、次のような処理手順に従って行う（図１４参照）。なお、図１３において、１２１はビューワプログラムであって、ＧＵＩリモート中継ライブラリ１１２から送信されてくる開発ツール１１１の命令を解釈し、その命令内容に応じてクライアント端末１２２上にＧＵＩ部品をもつアプリケーションの画面が表示する機能をもっている。
【００１５】
▲１▼  サーバマシン１１０は、開発ツール１１１を起動すると、表示部に初期画面が表示される（Ｇ１１）。
【００１６】
▲２▼  この初期画面に表示されるメニューの中からアプリケーション新規作成用メニューを選択する。新規作成用メニューを選択すると、表示部にアプリケーション画面１０１が表示される（Ｇ１２）。
【００１７】
▲３▼  引き続き、ＧＵＩリモート中継ライブラリ１１２のＧＵＩ部品一覧１０２から所要とする“ボタン”をマウスでクリックした後、アプリケーション画面１０１の所要とする個所までドラッグし、当該ボタンを貼り付ける（Ｇ１３）。ところが、当該ボタンは、アプリケーション画面１０１のコーナー部分に点１０４として表示される。
【００１８】
▲４▼  そこで、アプリケーション画面１０１のコーナー部分に点１０４をマウスでクリックし所要とする個所にドラッグする。しかし、このドラッグ操作にも拘らず、点１０４の位置が移動したり、点１０４の大きさを変更することができない。
【００１９】
しかしながら、以上の一連の処理はソースコードの形式でアプリケーションが作成されている。
【００２０】
以上のように作成されたアプリケーションの実行について（図１３、図１５参照）。なお、この場合には開発ツール１１１は使用しない。
【００２１】
▲５▼  クライアントマシン１２０のクライアント端末１２２上でビューアプログラム１２１を起動する。
【００２２】
▲６▼  サーバマシン１１０側では、作成されたアプリケーションを起動すると、ＧＵＩリモート中継ライブラリ１１２は、クライアント端末１２１側で既に起動されているビューアプログラム１２１との間の通信回線１３０を確立する。このアプリケーションの起動後、ＧＵＩ命令（例えば画面表示命令等）を出力すると、ＧＵＩリモート中継ライブラリ１１２は、当該ＧＵＩ命令をビューアプログラム１２１に中継する。
【００２３】
▲７▼  このビューアプログラム１２１は、ＧＵＩ命令を解釈し、クライアント端末１２２上にＧＵＩ部品をもつアプリケーションの画面１０１を表示する。このアプリケーションの画面１０１の中のボタン１０４は画面コーナーに表示される（Ｇ１５）。
【００２４】
▲８▼  サーバマシン１１０側のアプリケーションを終了する。これに伴い、クライアント端末１２２側の表示部に表示されていたアプリケーションの画面１０１が消滅する。
【００２５】
▲９▼  クライアント端末１２２側のビューアプログラム１２１が終了する。
【００２６】
（３）  従来のもう１つアプリケーション開発システムは、ＵＮＩＸ系アプリケーション、ＧＵＩ定義ファイル及びＧＵＩ表示装置を設けたＵＮＩＸ系移植元と、ＷｉｎｄｏｗｓＮＴ系アプリケーション、ＧＵＩ定義ファイル及びＧＵＩ表示装置を設けたＷｉｎｄｏｗｓＮＴ系移植先とを備え、ＵＮＩＸ系移植元のＵＮＩＸ系アプリケーションがＧＵＩ定義ファイルを用いて、所望のＧＵＩメニューを作成し、ＷｉｎｄｏｗｓＮＴ系移植先のＧＵＩ定義ファイルに移植するが、移植元と移植先とのＧＵＩツールであるＵＮＩＸ系アプリケーションとＷｉｎｄｏｗｓＮＴ系アプリケーションとが異なる場合、ＵＮＩＸ系移植元が所望のＧＵＩメニューを作成し、ＷｉｎｄｏｗｓＮＴ系移植先に移植するとしても、当該ＷｉｎｄｏｗｓＮＴ系移植先が必要な情報が過不足な状態にあり、移植先で正しいメニューを作成することが困難となるので、ＵＮＩＸ系移植元とＷｉｎｄｏｗｓＮＴ系移植先との間に変換プログラムを設け、この変換プログラムは、ＵＮＩＸ系移植元で作成されたＧＵＩメニューをＷｉｎｄｏｗｓＮＴ系移植先に移植するに際し、ＵＮＩＸ系移植元側のＧＵＩ定義ファイルを用いて、過不足な情報を追加し、ＷｉｎｄｏｗｓＮＴ系移植先側のＧＵＩ定義ファイルに移植する構成である。
【００２７】
【特許文献１】
特開２００２−１４９４１８号公報（図５）
【００２８】
【発明が解決しようとする課題】
しかしながら、図１３及び図１４に示すアプリケーション開発システムでは、サーバマシン１１０側は、アプリケーションの画面１０１に関連付けて貼り付けたボタン１０４が画面コーナー部分に表示されるだけであり、ＧＵＩ部品の画面を直接見ることができないので、どのようなアプリケーションが作成されているか推測し難い問題がある。また、アプリケーションの画面１０１の中の部品の移動ができないだけでなく、部品の大きさも変更できない。その結果、クライアント端末１２２側の実際のＧＵＩ設計画面を確認しながら、開発・実行を繰り返さなければならない問題がある。
【００２９】
また、作成されたアプリケーションのデバッグ（動作検証→修正）を行う際、いちいちクライアントマシン１２０を用意し、内蔵されているビューアプログラム１２１を動作させる必要があり、またデバッグ処理を行うに際し、クライアントマシン１２０上で操作する必要があるので手間がかかる問題がある。
【００３０】
一方、後者のアプリケーション開発システムは、ＵＮＩＸ系移植元は、ＧＵＩアプリケーションを作成し、この作成されたＧＵＩアプリケーションをＷｉｎｄｏｗｓＮＴ系移植先に移植するに際し、移植元と移植先のＵＮＩＸ系アプリケーションとＷｉｎｄｏｗｓＮＴ系アプリケーションが異なる場合、変換プログラムを用いて、移植先の過不足な情報を追加し表示可能なＧＵＩメニューを作成する情報補完技術である。つまり、ＵＮＩＸ系移植元で作成されたＧＵＩアプリケーションの作り替えを行うものであり、そのままＧＵＩリモート中継ライブラリを用いて、クライアント端末５４に表示するＧＵＩ画面を作成できるものではない。
【００３１】
本発明は上記事情にかんがみてなされたもので、ＧＵＩ中継ライブラリを使用してアプリケーションを効率よく作成するサーバマシン及びアプリケーション開発方法を提供することを目的とする。
【００３２】
また、本発明の他の目的は、単一マシンを用いて、効率よくデバッグ処理を行うサーバマシン及びアプリケーション開発方法を提供することにある。
【００３３】
【課題を解決するための手段】
（１）  上記課題を解決するために、本発明は、アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンであって、前記アプリケーションを開発する開発ツールと、表示に関連する既存ＧＵＩ部品を取り込んで画面表示する既存ＡＰＩ層をベースとしたリモート中継層で構成され、前記開発ツールから出される操作命令群を、既存ＡＰＩ層に対してブロックし、前記リモート中継層を利用して前記クライアントマシンのビューアプログラムに中継するリモート中継ライブラリとを設けた構成である。
【００３４】
なお、前記リモート中継ライブラリは、当該リモート中継ライブラリに属する各ＧＵＩ部品クラスが前記マシン上の既存ＧＵＩ部品クラスを継承し、また前記既存ＧＵＩ部品のメソッドのうち、前記クライアントマシンに処理させたいメソッドの場合には前記ビューアプログラムへの中継処理を上書き実装し、前記クライアントマシンに処理させくないメソッドの場合にはダミーの上書き実装を行うように組み込む。
【００３５】
この発明は以上のような構成とすることにより、ＧＵＩリモート中継ライブラリに属する各ＧＵＩ部品クラスを既存のＧＵＩ部品クラスの承継とすることにより、サーバマシンに開発ツールとともにＧＵＩリモート中継ライブラリを組み込んだ時にＧＵＩ部品として認識できるので、実行時の画面表示をアプリケーションを効率よく作成することが可能となる。
【００３６】
（２）  本発明に係るアプリケーション開発方法は、アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を通してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンにおいて、
前記リモート中継ライブラリに属する各ＧＵＩ部品クラスが既存ＧＵＩ部品クラスを継承し、また前記既存ＧＵＩ部品のメソッドのうち、前記クライアントマシンに処理させたいメソッドの場合には前記ビューアプログラムへの中継処理を上書き実装し、前記クライアントマシンに処理させくないメソッドの場合にはダミーの上書き実装するように、前記サーバマシンにリモート中継ライブラリを組み込むことにより、前記（１）と同様な作用効果を奏する。
【００３７】
なお、前記（２）の方法において、リモート中継ライブラリと同一マシン内で通信可能なサーバ環境向けビューワプログラムを使用し、前記リモート中継ライブラリが前記アプリケーションからの操作命令群を前記サーバ環境向けビューワプログラムに中継し、このビューワプログラムにより前記同一のサーバマシン上で実行すれば、同一マシン上で画面を見ながらデバッグ処理を行うことが可能となる。
【００３８】
（３）  また、本発明は、アプリケーションの遠隔操作命令を受け取ってリモート中継ライブラリが通信回線を介してクライアントマシンのビューアプログラムに中継し、前記操作命令に従った画面表示を実現させるサーバマシンであって、前記アプリケーションを開発する開発ツールと、前記アプリケーション開発時に実装され、前記開発ツールからの命令に従って表示画面を表示する既存ＧＵＩライブラリと、前記アプリケーション開発時に実装され、前記既存ＧＵＩライブラリの画面表示の処理状態を、前記リモート中継ライブラリがローカル表示可能な命令に変換し、前記開発ツールに渡す開発用ライブラリとを備え、前記開発ツールから出力される命令のソースコードと開発用ライブラリから渡される命令とから前記アプリケーションを作成する構成である。
【００３９】
この発明は以上のような構成とすることにより、開発ツールにて開発用ライブラリに属する部品群をＧＵＩ部品群として認識可能となるので、ＧＵＩリモート中継ライブラリを用いたアプリケーションを開発するに際し、実行時の画面表示を見ながらアプリケーションを開発でき、開発効率を向上させることが可能である。
【００４０】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【００４１】
図１は本発明に係るアプリケーション開発システムの一実施の形態を説明する構成図である。
【００４２】
この実施の形態は、サーバマシン側にＧＵＩリモート中継ライブラリを組み込み、アプリケーション開発時に表示画面を見ながら実際の画面に極めて近い状態でアプリケーションを開発する例である。
【００４３】
このアプリケーション開発システムは、サーバマシン１０とクライアントマシン２０とが通信回線３０により接続され、サーバマシン１０は、ＧＵＩアプリケーションを開発する機能を有する例えばマイクロソフトビジュアルＣ＋＋、マイクロソフトビジュアルＪ＋＋（登録商標）等の開発ツールＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｅｎｖｉｒｏｎｍｅｎｔ：統合開発環境）１１と、既存ＡＰＩ（エー・ピー・アイ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）層をベースとしたリモート中継層で構成されるＧＵＩリモート中継ライブラリ１２とによって構成されている。このＡＰＩ層とは、開発ツール１１のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のために用意された各種の機能を有効に利用する仕組みをいう。
【００４４】
このＧＵＩリモート中継ライブラリ１２は、既存のＧＵＩ部品を継承するクラスに処理を実行させる機能をもつ場合に限り、開発ツール１１のＯＳのために用意された各種の機能のうち、表示に関連する機能を取り込んでＧＵＩ画面を表示する既存ＡＰＩ層１３と、開発ツール１１から命令群を受け取ったとき、どの種類の命令群であっても既存ＡＰＩ層１３に流れないようにブロックし、クライアントマシン２０に中継するリモート中継層１４とで構成されている。
【００４５】
この既存ＡＰＩ層１３をベースとしたリモート中継層１４を利用するＧＵＩリモート中継ライブラリ１２は、開発ツール１１からの命令を所要とする通信メッセージに変換する命令−通信メッセージ変換部１４１と、このメッセージ変換部１４１で変換された通信メッセージをクライアントマシン２０に中継する通信メッセージ送信部１４２と、このクライアントマシン２０からの通信メッセージを受信する通信メッセージ受信部１４３と、この受信された通信メッセージを命令に変換し開発ツール１１に渡す通信メッセージ−命令変換部１４４と、開発ツール１１からの命令群を判断し破棄する命令破棄部１４５とによって構成されている。
【００４６】
従って、開発ツール１１からの命令群は通信メッセージ変換部１４１或いは命令破棄部１４５で全て処理され、既存ＡＰＩ層１３の流入をブロックする構成となっている。
【００４７】
一方、クライアントマシン２０は、ビューワプログラム２１を搭載したクライアント端末２２が設けられ、このビューワプログラム２１は、ＧＵＩリモート中継ライブラリ１２から中継される通信メッセージを受信する通信メッセージ受信部２１１と、この受信された通信メッセージを命令に変換する通信メッセージ−命令変換部２１２と、この変換された命令に従ってクライアント端末２２上に画面表示を実行する既存ＡＰＩ層２１３と、画面操作を受けて既存ＡＰＩ層２１３から受け取る操作命令を通信メッセージに変換する命令−通信メッセージ変換部２１４と、このメッセージ変換部２１４で変換された通信メッセージをＧＵＩリモート中継ライブラリ１２に返送する通信メッセージ送信部２１５とによって構成されている。
【００４８】
次に、サーバマシン１０のＧＵＩリモート中継ライブラリ１２を構成する部品の実装例について図２を参照して説明する。この部品の実装例は、既存のＧＵＩ部品の継承により実現するものである。
【００４９】
このサーバマシン１０は、開発ツール１１がＧＵＩリモート中継ライブラリ１２を構成する既存のＧＵＩ部品を用いて画面表示するとともに、ＧＵＩリモート中継ライブラリ１２は当該既存のＧＵＩ部品を承継するクラスを作成し、開発ツール１１の命令群をクライアントマシン２０のビューワプログラム２１に中継する機能をもつものであり、以下、具体的に説明する。
【００５０】
開発ツール１１は、ＧＵＩリモート中継ライブラリ１２を構成する既存のＧＵＩ部品である例えば「Ｂｕｔｔｏｎ：ボタン」１０−１を用いて、印刷・表示を実行するものであるが、この「Ｂｕｔｔｏｎ：ボタン」１０−１は開発ツール１１の一種の命令に相当する。なお、図中、１０−１は既存のＧＵＩ部品、１０−２は開発ツール１１と同一マシン１０上に存在し、画面上に見えるボタン、１０−３は開発ツール１１の動作するマシン１０に接続され、印刷命令に応じて印刷を行うプリンタである。
【００５１】
すなわち、開発ツール１１は、既存のＧＵＩ部品である「Ｂｕｔｔｏｎ：ボタン」１０−１を用いて印刷・表示を行うことから、次のようなメソッド（＊）をもっている。このメソッド（＊）は、オブジェクト指向プログラミングにおいて、オブジェックトの実行する操作方法を記述したプログラムであって、処理内容を表している。
【００５２】
＊  ｐｒｉｎｔ（  ）…プリンタ１０−３に印刷する。
【００５３】
＊  ｓｈｏｗ（  ）…ボタン１０−２を表示する。但し、この例はボタン１０−２が非表示の場合に限る。
【００５４】
＊  ｓｅｔＬａｂｅｌ（Ｓｔｒｉｎｇ  ｌａｖｅｌ）…ボタン１０−２のラベルを変更する。
【００５５】
一方、ＧＵＩリモート中継ライブラリ１２は、既存のＧＵＩ部品であるボタンオブジェクト１０−１を継承するクラスである「Ｒｅｍｏｔｅ  Ｂｕｔｔｏｎ：遠隔ボタン」１４−１をもっている。また、図１に示す命令−メッセージ中継機能１４１，１４２等を有し、クライアントマシン２０側のビューワプログラム２１に命令を送信し、また送信された命令の実行結果を受信する受信機能１４３、１４４が設けられている。
【００５６】
このＧＵＩリモート中継ライブラリ１２の「Ｒｅｍｏｔｅ  Ｂｕｔｔｏｎ：遠隔ボタン」１４−１は既存部品である「Ｂｕｔｔｏｎ：ボタン」１０−１を継承しているので、仮に当該「Ｂｕｔｔｏｎ：ボタン」１０−１のメソッドを上書きしなければボタン１０−２と同様の機能を果たすクラスとなる。すなわち、ｐｒｉｎｔ（  ）を実行すれば、開発ツール１１の動作するマシン１０に接続されるプリンタ１０−３に印刷を行い、ｓｈｏｗ（  ）を実行すれば、開発ツール１１と同一マシン１０上にボタン１０−２を表示する。
【００５７】
しかし、ＧＵＩリモート中継ライブラリ１２の性質上、例えばｐｒｉｎｔ（  ）の実行機能を特に必要としないが、ｓｈｏｗ（  ）の場合にはボタン１０−２をクライアントマシン２０側に表示する必要があるので、命令−通信メッセージ変換部１４１及び通信メッセージ送信部１４２を経由してクライアントマシン２０側に送信する。
【００５８】
そこで、「Ｂｕｔｔｏｎ：ボタン」１０−１を継承する「Ｒｅｍｏｔｅ  Ｂｕｔｔｏｎ：遠隔ボタン」１４−１では、「Ｂｕｔｔｏｎ：ボタン」１０−１に実装されている全てのメソッドを上書きすれば、次のような処理が行われる。
【００５９】
＊  クライアントマシン２０側に何らかの処理を実行させる必要があるメソッドであれば、当該メソッドの含む命令を命令−通信メッセージ変換部１４１及び通信メッセージ送信部１４２を経由してビューワプログラム２１に中継する。
【００６０】
＊  特に必要のないメソッド，例えばｐｒｉｎｔ（  ）等の場合には、ダミー実装とし、実際の処理を行わないようにする。
【００６１】
従って、以上のような実施の形態によれば、開発ツール（ＩＤＥ）１１のマシン上にＧＵＩリモート中継ライブラリ１２を組み込み、このＧＵＩリモート中継ライブラリ１２に属する各ＧＵＩ部品クラスがマシン上に存在する既存のＧＵＩ部品を継承し、また当該既存のＧＵＩ部品クラスのメソッドのうち、クライアントマシン２０側に実行させたいメソッドの場合に上書きをし、ビューワプログラム２１に中継し、当該ビューワプログラム２１に処理させるようにすれば、サーバマシン１０側では、実際のＧＵＩ部品画面に極めて近い表示を見ながら、配置位置を調整しながらアプリケーションを作成できる。
【００６２】
また、サーバマシン１０側は、実際のＧＵＩ部品画面に極めて近い画面を認識できるので、実行時の画面表示を見ながらアプリケーションを効率よく開発できる。
【００６３】
次に、サーバマシン１０によるＧＵＩアプリケーションの開発例ないし本発明に係るアプリケーション開発方法について図３を参照して説明する。
【００６４】
▲１▼  新たなＧＵＩアプリケーションの開発は、サーバマシンと類似の環境をもつアプリケーション開発用サーバマシン１０を用いて行う。このアプリケーション開発用サーバマシン１０には、開発ツール１１の他、ＧＵＩリモート中継ライブラリ１２に組み込んで行う（ライブラリ実装ステップ）。
【００６５】
▲２▼  アプリケーション開発者がＧＵＩリモート中継ライブラリ１２に組み込んだ後、アプリケーション開発サーバマシン１０上に図３に示す初期画面としてのＩＤＥ画面１６を表示するとともに、このＩＤＥ画面１６右側にＧＵＩリモート中継ライブラリ１２に属する部品群を表す部品一覧１７が表示される。
【００６６】
なお、ＧＵＩリモート中継ライブラリ１２の組み込みは、開発ツール１１により異なるが、例えばＩＤＥメニューから「新しい部品を組み込む」などを選ぶことが可能な機能をもつものを組み込む。
【００６７】
ここで、アプリケーション開発者が所要とする操作を行うと、開発ツール１１からアプリケーション設計画面１８の表示命令を出力する。この設計画面の表示命令は、部品一覧１７からアプリケーション設計画面１８に表示すべき１つの部品を選択し、マウスなどのポインティングを用いてドラッグ＆ドロップ操作を行い、該当部品をアプリケーション設計画面１８の中に貼り付け、かつ、その部品の大きさを調整する。
【００６８】
この一連の処理は、アプリケーション開発者の命令を受けて、ＧＵＩリモート中継ライブラリ１２が部品群の中から選択された部品を取り出し、アプリケーション設計画面１８中に貼り付け、かつ、その部品の大きさを調整する（命令実行ステップ）。
【００６９】
従って、アプリケーション開発者は、アプリケーションの開発時に、実行時の実際の画面表示を見ながらＧＵＩアプリケーションを開発できる。
【００７０】
次に、図４はアプリケーション開発時のシステム構成図である。
【００７１】
サーバマシン１０とクライアントマシン２０とが通信回線３０により物理的に接続されている。このサーバマシン１０は、開発ツール１１と図１に示す機能構成を有するＧＵＩリモート中継ライブラリ１２とが設けられている。この開発ツール１１は、ＧＵＩリモート中継ライブラリ１２とリンクされ、サーバマシン１０上で動作する。
【００７２】
クライアントマシン２０は、図１に示す機能構成をもったビューワプログラム２１が搭載されたクライアント端末２２が設けられている。このビューワプログラム２１は、ＧＵＩリモート中継ライブラリ１２と通信回線３０の確立によって通信可能な状態になっており、開発ツール１１からの命令に応じて図３と同様な表示画面２２ａを表示する。
【００７３】
一方、クライアントマシン側のビューアプログラム２２は、表示画面２２ａに対するマウスなどのユーザ操作イベントをＧＵＩリモート中継ライブラリ１２に中継し、サーバマシン１０の開発ツール１１に返送する。
【００７４】
従って、この実施の形態によれば、サーバマシン１０側においては、ＧＵＩリモート中継ライブラリ１２を用いて、開発ツール１１の遠隔操作が可能となる。
【００７５】
次に、図５は開発されたアプリケーションのデバッグ処理を行うシステム構成図である。このデバッグ処理は、サーバマシン１０の図１に示す機能構成を有するＧＵＩリモート中継ライブラリ１２に同一マシン内通信ラインを介してデバッグ用ビューワプログラム１９を接続した後、作成されたアプリケーション１１Ａを起動する。そうすると、クライアント端末２２を使用せずに、ＧＵＩリモート中継ライブラリ１２を用いてサーバマシン１０の表示部にアプリケーション画面１８ａを表示できるので、表示画面１８ａを見ながらデバッグ処理を実行できる。
【００７６】
従って、以上のような実施の形態によれば、サーバマシン１０上に開発ツール１１及びＧＵＩリモート中継ライブラリ１２を組み込んで表示画面を見ながら配置位置などが調整できるので、実際の画面に極めて近い状態でアプリケーションを開発でき、アプリケーションを効率よく開発できる。
【００７７】
また、開発されたアプリケーションのデバッグに際し、クライアント端末２２を使用せずに、単一のサーバマシン１０を用いて、表示画面１８ａを見ながらデバッグ処理を行うことができ、ひいては開発されたアプリケーションの検証ないし修正を速やかに行うことができる。
【００７８】
図６は本発明に係るサーバと類似の環境をもつアプリケーション開発用のサーバマシンの一実施の形態を示す構成図である。
【００７９】
このアプリケーション開発用サーバマシン４０は、具体的には、新たなＧＵＩアプリケーションを開発する機能を有する開発ツール４１と、アプリケーション開発時に実装され、前述するＧＵＩリモート中継ライブラリを使用可能とするアプリケーションを開発する当該ＧＵＩリモート中継ライブラリと完全な互換性を有する開発用ライブラリ４２と、図示右側に示すようにサーバマシン４０上に表示画面４３を表示する機能を有する既存ＧＵＩライブラリ４４とにより構成されている。これら開発用ライブラリ４２及び既存ＧＵＩライブラリ４４はアプリケーション開発の時だけ実装するものである。
【００８０】
この既存ＧＵＩライブラリ４４は、図７に示すように既存のＧＵＩ部品例えば「Ｂｕｔｔｏｎ：ボタン」４０−１、「Ｃｈｅｃｋｂｏｘ：チェックボックス」４０−２などの既存のＧＵＩ部品をもっている。一方、開発用ライブラリ４２は、「Ｂｕｔｔｏｎ：ボタン」４０−１、「Ｃｈｅｃｋｂｏｘ：チェックボックス」４０−２を継承したクラスの部品をもっている。
【００８１】
従って、開発用ライブラリ４２は、アプリケーション開発に必要なリソース（継承部品）を管理し、開発ツール４１が起動すると、既存ＧＵＩライブラリ４４とのリンクを形成し、開発ツール４１からのアプリケーション開発の操作命令を既存ＧＵＩライブラリ４４に受け渡す一方、当該操作命令のもとに既存ＧＵＩライブラリ４４が表示画面４３にＧＵＩ表示画面を表示する一連の処理を実行したとき、既存のＧＵＩ部品を継承するクラスの部品に基づいてローカル表示可能な命令データに変換し、開発ツール４１に渡すデータコンバータ機能をもっている。
【００８２】
従って、開発ツール４１は、既存ＧＵＩライブラリ４４に渡す操作命令のソースコードと開発用ライブラリ４２から受け取るローカル表示可能な命令データとに基づいて遠隔操作可能なアプリケーション４５を作成する。
【００８３】
一方、既存ＧＵＩライブラリ４４は、開発ツール４１に関係するリソース及びＧＵＩ表示に関連するリソースを管理する一方、開発ツール４１から受け取る命令を解釈し、図８に示すごとくＩＤＥ画面４６にアプリケーション設計画面を表示する機能をもっている。
【００８４】
次に、アプリケーション開発用サーバマシン４０によるアプリケーションの開発例ないし本発明に係るアプリケーション開発方法について図８を参照して説明する。
【００８５】
▲１▼  ＧＵＩアプリケーションの開発は、サーバと類似の環境をもつアプリケーション開発用サーバマシン４０を用いて行う。このＧＵＩアプリケーションの開発には、アプリケーション開発用サーバマシン４０に、アプリケーション開発時に限り、開発用ライブラリ４２及び既存ＧＵＩライブラリ４４を組み込む（ライブラリ実装ステップ）。
【００８６】
▲２▼  アプリケーション開発者が開発用ライブラリ４２及び既存ＧＵＩライブラリ４４を組み込んだ後、開発ツール４１を起動する。
【００８７】
この開発ツール４１が起動すると、初期画面の表示要求を出すと、開発用ライブラリ４２を介して既存ＧＵＩライブラリ４４で受け取る。この既存ＧＵＩライブラリ４４は、同一マシン４０の表示部に初期画面である図８に示すＩＤＥ画面４６に開発用ライブラリ４２に属する部品群４７を表示する。
【００８８】
なお、開発用ライブラリ４２の組込みは、開発ツール４１の種類により異なるが、例えばＩＤＥメニューから「新しい部品を組み込む」などを選ぶことが可能な機能をもつものを組み込む。
【００８９】
ここで、アプリケーション開発者が所要とする操作を行うと、開発ツール４１からアプリケーション設計画面４８の表示命令を出力する。この設計画面の表示命令は、開発用ライブラリ４２を介して開発ツール４１とリンクされている既存ＧＵＩライブラリ４４に送られ、ここで開発ツール４１からの表示命令に基づいてサーバマシン４０上にアプリケーション設計画面４８を表示する。このとき、開発用ライブラリ４２は、表示命令のもとにアプリケーション設計画面４８を表示する一連の処理データを取り込み、ローカル表示可能な命令に変換し、開発ツール４１に渡す。
【００９０】
▲３▼  アプリケーション開発者は、前述する操作命令のもとにサーバマシン４０上にアプリケーション設計画面４８を開いた後、部品一覧４７に示す部品群の中からアプリケーション設計画面４８に表示すべき１つの部品を選択し、マウスなどのポインティングを用いてドラッグ＆ドロップ操作を行い、該当部品４９をアプリケーション設計画面４８の中に貼り付け、かつ、その部品の大きさを調整する。
【００９１】
この一連の処理は、アプリケーション開発者の操作命令を受けて、既存ＧＵＩライブラリ４４が部品群の中から選択された部品を取り出し、アプリケーション設計画面４８の中に貼り付け、かつ、その部品の大きさを調整するが、当該既存ＧＵＩライブラリ４４をベースとした開発用ライブラリ４２は、部品群の中から選択された部品を認識し、ローカル表示可能な命令に変換し、開発ツール４１に渡す。前記▲２▼、▲３▼は命令実行ステップを意味する。
【００９２】
ここで、開発ツール４１は、表示及び操作等に伴う命令から取得されるソースコードと開発用ライブラリ４２から受け取るローカル表示可能な命令とを用いてアプリケーション４５を作成する。従って、アプリケーション開発者は、アプリケーションの開発時に、実行時の実際の画面表示を見ながらアプリケーション４５を作成できる。
【００９３】
▲４▼  ところで、以上のようにして作成されたアプリケーション４５の実行時、図９に示すようなシステム構成を構築し、作成されたアプリケーション４５の遠隔操作に従ってクライアントマシン５０上に画面表示を実現させる。
【００９４】
すなわち、このシステム構成は、従来の図１３と同様にアプリケーション４５とＧＵＩリモート中継ライブラリ１２とを備えたサーバマシン４０と、ビューアプログラム５１を搭載した携帯端末等のクライアント端末５２を備えたクライアントマシン５０とで構成され、これらサーバマシン４０のリモート中継ライブラリ４９とクライアントマシン５０とが通信回線６０により接続されている。
【００９５】
従って、このＧＵＩリモート中継ライブラリ１２は、開発されたアプリケーション４５の実行時にサーバマシン４０に組み込み実装され、アプリケーション４５の実効命令をビューアプログラム５１に中継する。このビューアプログラム５１は、アプリケーション４５の実行命令に従ってクライアント端末５２に図８と同様な表示画面５３を表示する。
【００９６】
一方、クライアントマシン５０側のビューアプログラム５１は、表示画面５３に対するマウスなどのユーザ操作イベントをＧＵＩリモート中継ライブラリ１２に中継し、サーバマシン４０のアプリケーション４５に返送する（アプリケーション実行ステップ）。
【００９７】
従って、この実施の形態によれば、サーバマシン４０側においては、リモート中継ライブラリ１２を用いて、アプリケーション４５の遠隔操作が可能となる。
【００９８】
次に、図１０は開発されたアプリケーション４５のデバッグ処理を説明するシステム構成図である。
【００９９】
このシステムは、図６と同様にサーバマシン４０に開発用ライブラリ４２及び既存ＧＵＩライブラリ１４を組み込み、作成されたアプリケーション４５のデバッグ処理を行うものであり、特にクライアントマシン５０を使用しない。
【０１００】
アプリケーション４５は、開発用ライブラリ４２とリンクし、サーバマシン４０上で動作する。既存ＧＵＩライブラリ４４は、開発用ライブラリ４２とリンクして動作し、アプリケーション４５の命令に従ってサーバマシン４０上に表示画面を表示するので、アプリケーション開発者は、当該サーバマシン４０の表示画面を見ながら開発されたアプリケーションのデバッグ処理を実施することができる（デバッグ処理ステップ）。
【０１０１】
従って、以上のような実施の形態によれば、開発ツール４１にＧＵＩリモート中継ライブラリ１２を組み込んでアプリケーション４５の開発・実行を行うに先立ち、サーバマシン４０に開発用ライブラリ４２及び既存ＧＵＩライブラリ４４を組み込み、既存ＧＵＩライブラリ４４がサーバマシン４０上に画面を表示しながら開発するので、表示画面を見ながら配置位置などが調整できるので、実際の画面に極めて近い状態でアプリケーションを開発でき、しかも開発用ライブラリ４２がアプリケーションの開発時にＧＵＩリモート中継ライブラリ１２で使用可能な命令に変換し、開発ツール４１に渡してアプリケーション４５を作成するので、ＧＵＩリモート中継ライブラリ１２が使用できるアプリケーションを効率よく開発できる。
【０１０２】
また、開発されたアプリケーションのデバッグに際し、クライアントマシン５０を使用せずに、単一のサーバマシン４０を用いて、表示画面５４を見ながらデバッグ処理を行うことができ、ひいては開発されたアプリケーションの検証ないし修正を速やかに行うことができる。
【０１０３】
なお、本願発明は、上記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変形して実施できる。
【０１０４】
また、各実施の形態は可能な限り組み合わせて実施することが可能であり、その場合には組み合わせによる効果が得られる。さらに、上記各実施の形態には種々の上位，下位段階の発明が含まれており、開示された複数の構成要素の適宜な組み合わせにより種々の発明が抽出され得るものである。例えば問題点を解決するための手段に記載される全構成要件から幾つかの構成要件が省略されうることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【０１０５】
【発明の効果】
以上説明したように本発明によれば、開発実行時に画面を見ながらアプリケーションを効率よく開発できるサーバマシン、アプリケーション開発方法及びＧＵＩリモート中継ライブラリを提供できる。
【０１０６】
また、本発明は、単一マシンを用いて、効率よくデバッグ処理を行うことができるサーバマシン及びアプリケーション開発方法を提供できる。
【図面の簡単な説明】
【図１】本発明に係るサーバマシンの一実施の形態を含むシステムの構成図。
【図２】ＧＵＩリモート中継ライブラリを構成する部品の実装例を説明する図。
【図３】サーバと類似の環境をもつサーバマシンによるアプリケーション開発画面例を示す図。
【図４】図１ないし図３によって開発されたアプリケーションをクライアントマシン上で画面表示させるシステムの構成図。
【図５】開発されたＧＵＩアプリケーションのデバッグ処理を説明する図。
【図６】本発明に係るサーバマシンによるＧＵＩアプリケーションの開発例を説明する他の実施形態を示す構成図。
【図７】図６に示す既存ＧＵＩライブラリのＧＵＩ部品と開発用ライブラリの部品との継承関係を説明する図。
【図８】サーバマシン上のＩＤＥ画面に開発用ライブラリに属する部品群を表示するとともに、アプリケーション設計画面に部品を貼り付けた図。
【図９】図６により開発されたＧＵＩアプリケーションをクライアントマシン上で画面表示させるアプリケーション開発・実行システムの構成図。
【図１０】図６により開発されたＧＵＩアプリケーションのデバッグを説明する図。
【図１１】サーバマシンが開発ツールを用い、既存ＧＵＩ部品を使用してアプリケーションを開発する従来例を説明する図。
【図１２】図１１で作成されたアプリケーションの実行を説明する図。
【図１３】従来のアプリケーション開発システムの構成図。
【図１４】サーバマシンが開発ツールを用い、かつ、従来型リモート中継ライブラリのＧＵＩ部品を使用してアプリケーションを開発する従来例を説明する図。
【図１５】図１４で作成されたアプリケーションの実行を説明する図。
【符号の説明】
１０…サーバマシン、１１…開発ツール、１１Ａ…アプリケーション、１２…ＧＵＩリモート中継ライブラリ、１３…既存ＡＰＩ層、１４…リモート中継層、１６…ＩＤＥ画面、１７…部品一覧、１８…アプリケーション設計画面、１９…ビューワプログラム（デバッグ用）、２０…クライアントマシン、２１…ビューワプログラム、２２…クライアント端末、３０…通信回線、４０…サーバマシン、４１…開発ツール、４２…開発用ライブラリ、４４…既存ＧＵＩライブラリ、４５…アプリケーション、４６…ＩＤＥ画面、４７…部品群、４８…アプリケーション設計画面、５０…クライアントマシン、５１…ビューワプログラム、５２…クライアント端末。
【図１】
2005018227.tif 000003
【図２】
2005018227.tif 000004
【図３】
2005018227.tif 000005
【図４】
2005018227.tif 000006
【図５】
2005018227.tif 000007
【図６】
2005018227.tif 000008
【図７】
2005018227.tif 000009
【図８】
2005018227.tif 000010
【図９】
2005018227.tif 000011
【図１０】
2005018227.tif 000012
【図１１】
2005018227.tif 000013
【図１２】
2005018227.tif 000014
【図１３】
2005018227.tif 000015
【図１４】
2005018227.tif 000016
【図１５】
2005018227.tif 000017