JP2008276690A - 開発システム、開発システムのサーバ、開発方法 - Google Patents

開発システム、開発システムのサーバ、開発方法 Download PDF

Info

Publication number
JP2008276690A
JP2008276690A JP2007122503A JP2007122503A JP2008276690A JP 2008276690 A JP2008276690 A JP 2008276690A JP 2007122503 A JP2007122503 A JP 2007122503A JP 2007122503 A JP2007122503 A JP 2007122503A JP 2008276690 A JP2008276690 A JP 2008276690A
Authority
JP
Japan
Prior art keywords
file
server
source
terminal
development
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
JP2007122503A
Other languages
English (en)
Inventor
Hiroshi Kawabe
浩 川邊
Toshiharu Nishiwaki
俊晴 西脇
Kanemasa Otani
謙勝 大谷
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.)
IZE KK
Original Assignee
IZE KK
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 IZE KK filed Critical IZE KK
Priority to JP2007122503A priority Critical patent/JP2008276690A/ja
Priority to PCT/JP2008/058407 priority patent/WO2008136508A1/ja
Priority to US12/599,156 priority patent/US20100217839A1/en
Publication of JP2008276690A publication Critical patent/JP2008276690A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Abstract

【課題】サーバ端末システムで使用できる統合開発環境の開発システムを提供する。
【解決手段】ネットワークのサーバと端末においてソフトウェアを開発する開発システムであって、サーバと、端末とを備える。サーバは、既定のソースファイルを作成することができるライブラリ・ソースデータベースと、ソースファイル作成手段とを備える。また、既定のソースファイルから実行ファイルを作成するコンパイル手段と、ソースファイルと前記実行ファイルを送受信するネットワーク接続手段とを備える。端末は、ネットワーク接続手段と、端末の前記ネットワーク接続手段により前記サーバより送信されたソースファイルを修正して送信することができる統合開発環境手段とを備える。
【選択図】図2

Description

本発明は、ネットワークに接続されたコンピュータ上で動作するソフトウェアの開発システム、特に開発システム、開発システムのサーバ、開発方法に関する。
近年、企業のIT(インフォメーション・テクノロジー)導入の進展によって、さまざまな企業においてコンピュータと、このコンピュータ上で実行されるソフトウェアが使用されている。たとえば、企業の業務・会計等に、ソフトウェアが使用されている。
企業で使用されるソフトウェアとして、一般的な業務・会計の仕様に合わせた市販のものが用いられることがある。
一方、企業ごとに必要とする機能や仕様が異なるため、企業のニーズに合わせてカスタマイズ(ソフトウェアの設定や設計を調整してソフトウェア開発をすること)されたソフトウェアが用いられることもある。
このカスタマイズされたソフトウェアである専用ソフトウェアの需要は非常に高いため、ソフトウェアの開発を専門に行う開発会社が多数存在している。
実際には、専用ソフトウェア開発において、ソフトウェア開発を行う開発会社の工程は、
1.受注先の企業から依頼を受ける
2.企業にソフトウェアの仕様を提示する
3.企業から修正の指示を貰う
4.実際にソフトウェア開発を行い、企業に使用してもらう
3.企業から修正の指示を貰う
5.ソフトウェアを修正する
6.完成
という流れで行われることが多い。
このようなソフトウェア開発においては、たとえばマイクロソフト社製の開発ツールであるVisual Studio(登録商標)上で使用するVisual Basic(登録商標)言語が、よく用いられている。
Visual Studio(登録商標)は高機能なソフトであり、高度で大規模なソフトウェアを開発する場合のバージョン管理を行う機能を呼び出したり、携帯電話等のいわゆる「組み込み」向けのソフトウェアを開発することが可能である。
しかし、このVisual Studioは、高機能すぎるため、ソフトウェア開発技術者の高いスキルを要求し、多人数で開発する際の開発環境の構築に労力を費やす必要があるという問題点がある。
そこで、企業が求めるニーズに合わせたプログラムの「ひな形」を、あらかじめ多数用意しておいて、それを基にしてソフトウェアを開発する開発ツールが存在する。
たとえば、特許文献1を参照すると、アプリケーションに特化した開発システムも存在する(以下、これを従来技術1とする。)。
従来技術1の開発システムにおいては、イントラネット又はインターネット上に接続されたクライアントと、ひな形を蓄えているサーバが接続されている。専用ソフトウェアを開発する開発者は、クライアントを操作して、サーバ上のひな形を使用して専用ソフトウェアを手軽に開発することができる。また、ネットワーク上のサーバに接続された機能をクライアントが呼び出すだけで開発が可能なので、常に同じ環境でソフトウェア開発ができるという利点がある。
これによりソフトウェアの最終的な開発までの費用を削減でき、コストを下げることが可能になる。
特開2002−229786号公報
しかしながら、従来技術1の開発システムにおいては、クライアント上から操作するためのユーザインターフェイスが、単純な「ウィザード形式」(対話的に質問に答えていくユーザインターフェイスが単純こと)であるという問題点があった。
実際に、ソフトウェア開発の工程においては、企業からの受注や修正の指示のために、直接企業を訪問したり大量の電子メール等を使用して、開発したソフトウェアや仕様書を提示するといった、人為的コストが非常に多くかかっていた。
また、従来技術1の開発ツールはウィザード形式の固定化されたユーザインターフェイスであるため、作成したソフトに対して、企業から指示を受けてさらに修正するといった過程が必要であり、同様に人為的コストを削減するのが難しいという問題があった。
本発明は、このような状況に鑑みてなされたものであり、上述の課題を解消することを課題とする。
本発明の開発システムは、ネットワークのサーバと端末においてソースプログラムと該ソースプログラムの実行ファイルであるソフトウェアを開発する開発システムであって、前記サーバは、汎用的なソースプログラムのファイルである汎用ソースファイルを記憶しているライブラリ・ソースデータベースと、前記汎用ソースファイルを修正したソースファイルから実行ファイルを作成するコンパイル手段と、前記ソースファイルと前記実行ファイルとを前記サーバと前記端末間で送受信するネットワーク接続手段と、ライブラリ・ソースデータベースから汎用ソースファイルを組み合わせるソースファイル作成手段とを備え、前記端末は、前記サーバとネットワークを介して接続するネットワーク接続手段と、前記端末の前記ネットワーク接続手段により前記サーバより送信された前記汎用ソースファイルを修正して送信することができる統合開発環境手段とを備えることを特徴とする。
本発明の開発システムは、前記統合開発環境手段は、前記汎用ソースファイルを修正することができるソースファイル修正手段と、前記サーバから受信した前記実行ファイルを基に前記ソースファイルをデバッグするデバッグ手段とを含むことを特徴とする。
本発明の開発システムは、前記ソースファイルは、プログラムの共通部分の処理をする共通ファイル手段と、ウィンドウを作成するための処理をするウィンドウ生成手段と、前記ウィンドウ内のコンポーネントの処理をするソースコードを含むリスナー・クラス手段とを含むことを特徴とする。
本発明の開発システムは、前記リスナー・クラス手段の前記ソースコードのみを、前記端末で修正することができることを特徴とする。
本発明の開発システムは、前記サーバは、前記ソースファイルと前記実行ファイルの更新に関する情報を管理するバージョン管理手段を更に備えることを特徴とする。
本発明の開発システムは、前記サーバは、前記サーバにアクセスしている前記端末間で情報を送受信するユーザ間処理手段を更に備えることを特徴とする。
本発明の開発システムは、前記端末は、シンクライアント用OSにより前記サーバにアクセスするシンクライアント用OS手段を更に備えることを特徴とする。
本発明の開発システムは、前記サーバは、前記実行ファイルを呼び出すことができるデスクトップ画面手段をさらに備え、前記端末は、前記デスクトップ画面手段を受信して実行コマンドを送信することができることを特徴とする。
本発明の開発システムのサーバは、ネットワークのサーバと端末においてソースプログラムと該ソースプログラムの実行ファイルであるソフトウェアを開発する開発システムのサーバであって、汎用的なソースプログラムのファイルである汎用ソースファイルを記憶しているライブラリ・ソースデータベースと、前記汎用ソースファイルを修正したソースファイルから実行ファイルを作成するコンパイル手段と、前記ソースファイルと前記実行ファイルとを前記サーバと前記端末間で送受信するネットワーク接続手段と、ライブラリ・ソースデータベースから汎用ソースファイルを組み合わせるソースファイル作成手段とを備えることを特徴とする。
本発明の開発方法は、ネットワークのサーバと端末においてソフトウェアを開発する開発方法であって、前記サーバは、汎用ソースファイルを作成し、前記サーバは、前記汎用ソースファイルを前記端末に送信し、前記端末は、受信した前記汎用ソースファイルを統合開発環境で修正して、修正されたソースファイルを作成し、前記端末は、前記修正されたソースファイルを前記サーバに送信し、前記サーバは、前記修正されたソースファイルから実行ファイルを作成し、前記サーバは、前記端末から前記実行ファイルを呼び出すことができるデスクトップ画面を作成し、前記サーバは、前記端末の呼び出しに応答して前記デスクトップ画面を前記端末に送信することを特徴とする。
本発明によれば、ソフトウェア開発における人為的コストを削減できる、ネットワークに接続された開発システムを提供することができる。
<実施の形態>
(概念図)
以下、図面を参照して、本発明の実施の形態に係るソフトウェア開発システムについて説明する。
図1は、本発明の実施の形態に係るソフトウェア開発システムを実行するためのサーバ・シンクライアントシステムの概念図である。
本発明の実施の形態に係るサーバ・シンクライアントシステムXは、ウィンドウズ(登録商標)・サーバ2003やLinux(登録商標)等のサーバ用OSと本発明の実施の形態に係るソフトウェア開発システムのサーバ用プログラムが稼働しているサーバ10と、ソフトウェア開発者と専用ソフトウェアの顧客とが使用する一般的なPC/AT互換機等のPC等である端末20−1〜20−nとが、インターネットやイントラネット等であるネットワーク部5を介して接続されている。
(サーバの構成)
図2は、本発明の実施の形態に係るサーバ10の構成を示すブロック図である。
サーバ10は、例えばPC/AT互換機等の機能を備えた複数のサーバからなるサーバのクラスタ等であって、NFS(ネットワーク・ファイルシステム)等を使用して各サーバの内蔵HDDが接続されており、1つのサーバにユーザが接続するように使用できる。また、MySQL(登録商標)やPostgreSQL等のデータベースエンジンが実行されている。
サーバ10の主な構成要素としては、CPU等の制御装置である制御部101と、開発システムにてユーザが作成したソースコードを実行可能な実行ファイルにコンパイルするコンパイル処理部102(コンパイル手段)と、各ユーザごとに、ユーザのホームディレクトリや設定ファイル等が記憶されているユーザ記憶部103と、コンパイル時の一時ファイル等を記憶しておく一時ファイル記憶部104と、開発システムのライブラリ(共通ファイル)の実行ファイル等が記憶されているライブラリ・バイナリデータベース105と、同様に開発システムのライブラリのソースファイルが記憶されているライブラリ・ソースデータベース106と、ネットワークに接続するための有線LANや無線LAN等であるネットワーク接続部107(ネットワーク接続手段)と、端末のシンクライアント用OSのためのファイルやユーザのデスクトップ画面等の構成に使用するユーザインターフェイス部108と、ライブラリ・ソースデータベースから汎用ソースファイルを作成するソースファイル作成部109(ソースファイル作成手段)と、他のユーザとの間でコミュニケーション処理を行う電子メール、BBS(電子掲示板システム)、チャットや音声チャット等であるユーザ間処理部110(ユーザ間処理手段)と、ソースファイルと実行ファイルの更新に関する情報を管理するバージョン管理部111(バージョン管理手段)とを含んで構成されている。
(端末の構成)
図3は、本発明の実施の形態に係るこれらの端末の一つで、通常のPCである端末20−1の構成を示すブロック図である。
端末20−1は、例えばPC/AT互換機の機能を備えるPCであるが、PC/AT互換機として最低限必要な機能を汎用品から組み立てた専用設計ではないシンクライアントであってもよい。
端末20−1は主な構成として、PCの制御部である例えばIntel社製Core2(登録商標)等のCPU(中央処理装置)である制御部21と、DRAM等である主記憶部22と、主記憶部22と制御部21とのメモリ記憶内容のリード/ライトを行うためのやり取りをするメモリコントローラやI/Oコントロール等を行う集積回路であるチップセット23と、ハードディスクドライブ(HDD)等である固定ディスク装置25と、ネットワーク接続部27とを含む。さらに、チップセット23は、ユーザがPCの操作を行うための入力部であるキーボード40とマウス等であるポインティングデバイス45とに接続されている。ビデオカード26は、PCの表示用に用いられる部位である。このビデオカード26には、CRTディスプレイや液晶ディスプレイ等である表示部50が接続されている。ネットワーク接続部27(ネットワーク接続手段)は、LANカード等の有線LANや無線LANのインターフェイスであり、端末20−1をインターネット等のネットワークに接続可能である。
(シンクライアント用OSの起動)
ここでは、端末20−1をソフトウェア開発者Aが使用する端末とし、端末20−2を専用ソフトウェアの顧客Bが使用する端末として説明する。
まず、本発明の実施の形態に係るソフトウェア開発システムは、例えば、端末のPCに、通常のPCをシンクライアントとして使用することができるシンクライアント用OS(シンクライアント用OS手段)が記憶された記憶メディアを、例えば光ディスク装置24に挿入した上で起動する(このシンクライアント用OSは、端末20−1の固定ディスク装置25に記憶されていても、図示しないUSB接続のフラッシュメモリー等から起動してもよい)。
このシンクライアント用OSの場合、記憶メディアに記憶メディアの所有者を識別するコードが記憶されており、端末からパスワード認証等を行うことなく使用することができる。
サーバ10と端末20−1〜端末20−nとの間の通信は、例えばSSL等の暗号化を施した上で行われる。
このシンクライアント用OSが起動した画面ショットである図4を参照して説明する。
サーバ10のユーザ記憶部103は、それぞれのユーザごとにデスクトップ画面を構成する一連のファイル群を記憶している。たとえば、サーバ10は、例えばXML形式のdesktop.xmlファイル(デスクトップ画面手段)を、各ユーザごとに記憶している。端末が起動した後、サーバ10は、このdesktop.xmlファイルを起動した端末に向けて送信する。
端末20−1又は端末20−2が起動した場合、これらの端末の表示部50は、Adobe社製のFlash(登録商標)プレイヤー等を使用して、サーバ10から送信された上記のデスクトップ画面を構成するデータであるdesktop.xmlを基にそれぞれのユーザのデスクトップ画面を表示する。
ユーザが、このデスクトップ画面で、ポインティングデバイス45等を使用して、アイコンをクリックやダブルクリック、ドラッグ等を行うと、端末の制御部21が対応する操作を表示部50の画面上に反映させる。この上で、ネットワーク接続部27からネットワーク部5を介して該当する操作に関するコマンドをサーバ10に送信する。
サーバ10の制御部101は、ネットワーク接続部107から受け取ったコマンドに対応したデスクトップ画面を構成するdesktop.xmlを作成し、その上で、ネットワーク接続部107からネットワーク部5を介して端末20−1又は20−2へ出力する。
このdesktop.xmlは、当該端末のネットワーク接続部27が受信し、制御部21が主記憶部22に記憶する。この記憶されたデータを基に制御部21はデスクトップ画面を更新して、表示部50の画面上に出力する。
ユーザが端末20−1又は22−2において体験することができる動作としては、汎用OSであるWindows(登録商標)と同様に、デスクトップ画面上のアイコンをダブルクリックすると、そのアイコンに関連するプログラムが実行される。この際、サーバ10のユーザ記憶部103に記憶されたアイコンに関連するプログラムが、端末20−1又は20−2に上述の過程によりダウンロードされ、端末20−1又は20−2の制御部21が実行する。
(ソフトウェア開発ツールの起動)
次に、本発明の実施の形態に係るソフトウェア開発システムの構成を図面を参照して説明する。
図4において本発明の実施の形態に係る専用ソフトウェア開発ツール(統合開発環境手段)を起動する場合、ソフトウェア開発者Aが、デスクトップ画面上の「Ukiyoe」アイコンであるアイコン200について、ポインティングデバイス45をダブルクリックする等の実行コマンドを入力する。
これにより、上述の過程により、サーバ10のライブラリ・バイナリデータベース105及び/又はライブラリ・ソースデータベース106に含まれる図示しない開発ツールのベースディレクトリに含まれている、専用ソフトウェア開発ツールの端末用のプログラムが、端末20−1にダウンロードされて実行される。
このベースディレクトリには、各種設定ファイルも含まれており、これも同時に端末20−1にダウンロードされる。この設定ファイルとしては、例えば、ユーザが専用ソフトウェア開発ツールでソースコードを記述するための「コンポーネント」の一覧を表現するための「componentlist.xml」等がある。
このcomponentlist.xmlとしては、例えば、以下のようなコードを用いることができる。

<component-list image-dir="images">
<basic>
<component name="notation" available="true" image="notation.jpg" tool-tip="Notation" />
</basic>
<custom>
</custom>
</component-list>
次に、サーバ10の制御部101は、ユーザのホームディレクトリを参照して、後述するカスタムコンポーネント用の設定ファイルをユーザが作成しているかどうかを参照する。
ユーザのホームディレクトリは、既定の設定では「/users/(グループID)/(ユーザID)」をホームディレクトリである。たとえば、ソフトウェア開発者AのグループIDを「dev」、ユーザIDを「user_a」とすると、ソフトウェア開発者Aのホームディレクトリは「/users/dev/user_a」になる。
カスタムコンポーネント用の設定ファイルは、ユーザがホームディレクトリ直下にcomponents/components.xmlとして作成し、上述のcomponentlist.xmlと同等の機能を実現する設定ファイルである。
このcomponents.xmlファイルを、ソフトウェア開発者Aが作成していない場合やユーザが削除した等で無かった場合は、サーバ10は起動時に読み込まない。
components.xmlファイルをユーザが作成している場合、サーバ10の制御部101は、上述のcomponentlist.xmlと同様に、端末20−1に送信する。
また、シンクライアント用OSのデスクトップ画面は、マルチウィンドウシステムを採用しているため、上述の過程により、専用ソフトウェア開発ツールがウィンドウの形でデスクトップ画面上に表示される。この専用ソフトウェア開発ツールは、GUI(グラフィカル・ユーザ・インターフェイス)の統合開発環境により、柔軟性が高く、開発効率が高いソフトウェア開発を行うことができる。
ソフトウェア開発者Aはこのウィンドウ上で、専用ソフトウェアとなるプログラムを開発するための開発システムの各種機能を使用できる。
このソフトウェア開発ツールを、ソフトウェア開発者Aが使用する際の具体的な手順を説明する。
まず、ソフトウェア開発者Aは、起動した専用ソフトウェア開発ツール上で、専用ソフトウェアの基礎となるソースコード等の集合体である「プロジェクト」を作成する。
この上で、ユーザは既存のソースコードを適宜修正して、カスタマイズされたプログラムを記述する。
記述が終わった後で、ソフトウェア開発者Aはコンパイル処理を行い、実行ファイルを生成させる。
また、ソフトウェア開発者Aは、ソースコードと実行ファイルを対応させてデバッグを行うこともできる。
さらに、サーバ内に作成された実行ファイルについて、顧客Bにチェックしてもらい、修正依頼を受けて、ソースコードを修正してまた実行ファイルを作成するまでの手順を迅速に行うことが可能である。
完全に完成した実行ファイルは、サーバ内でコピーを行うだけで、インストール等の作業を行う必要がなく、直ちに顧客Bが使用することができる。
(開発システムのプログラム言語)
この開発システムで開発するプログラム用のプログラム言語としては、Adobe社が規格を策定したAction Script 3.0の互換スクリプトであるhaXe(http://haxe.org)や、Action Script 3.0のソースコードを作成できる。さらに、これらのソースコード用のコンポーネントライブラリとして、例えば、AsWing(http://www.aswing.org/)を用いることができる。
また、上述するソースコードの記述されたソースファイルをサーバ10上で後述するコンパイルを行うことでFlashの実行ファイル(.swfファイル)を作成できる。また、このFlashの実行ファイルを、端末20−1〜20−n上の開発ツールにてデバッグを行うことができる。
さらに、Flashの実行ファイルは、シンクライアント用OSのデスクトップ画面で実行できるだけではなく、汎用の例えばWindows(登録商標)やMacOS(登録商標)、i−mode(登録商標)等のウェブブラウザ等で単独で実行できるという特徴がある。これにより、専用ソフトウェアの使用者のプラットフォームに依存しないプログラムを開発することができる。
なお、本発明の実施の形態に係る開発システムで開発できるのは、Flashに限られるものではなく、例えばC++やJAVA(登録商標)等の他のプログラム言語のプログラムを開発することも可能である。
(開発システムのAPI)
また、この開発で使用することができるAPI(アプリケーション・プログラム・インターフェイス)となるプログラム言語上のオブジェクト群としては、「jp.ize.sharaku.common」(シンクライアント用OSのログイン処理等に関するAPI)、「jp.ize.sharaku.common.acl」(シンクライアント用OS用のセキュリティー等に関するAPI)、「jp.ize.sharaku.common.db」(ユーザが作成するデータベースにアクセスするためのAPI)、「jp.ize.sharaku.core」(カスタム・コンポーネントを使用するためのAPI)、「jp.ize.sharaku.io.filechooser」(ファイル操作に関するAPI)、「jp.ize.sharaku.util」(シンクライアント用OS用のアプリケーションに関するAPI)を含むことができる。
(開発システムの動作例)
図5は、開発ツールに係る画面ショットである。例えば端末20−1上で、ソフトウェア開発者Aが実際に起動した際には、デスクトップ画面にこの開発ツールのメイン画面であるウィンドウが表示される。このメイン画面には、Visual Studio等の開発ツールを使い慣れたソフトウェア開発者Aにとって、ツールとなるウィンドウが分かりやすく配置されている。
これらのツールとなるウィンドウとしては、ファイル操作等の開発ツールの機能を呼び出すメニューバー201、このメニューバーの機能をアイコン化して素早くアクセスできるようにしたツールバー202、デザイン&コード作成ウィンドウ205上のウィンドウに貼り付けてプログラムの動作を行わせるためのコンポーネントであるコンポーネント一覧203、各ウィンドウごとのパネルとパネルに係るオブジェクトの構成要素を表示するパネル管理ウィンドウ204、開発するプログラムに当たる各ウィンドウのデザインを行いソースコードを作成するためのデザイン&コード作成ウィンドウ205(ソースファイル修正手段)、プログラムのプロパティ(特質、特性)や画面デザインを設定するプロパティ・ウィンドウ206が表示されている。
ここで、ソフトウェア開発者Aは、これらのウィンドウをポインティングデバイス45でフォーカス(ウィンドウを操作可能なアクティブ状態にすること)し、各種値を画面上のボタン上で調整し、又は、キーボード40でコードを入力することで、プログラムを開発することができる。
(ステップS101)
以下で、図10のフローチャートを参照して、実際にプログラムを開発する際の典型的な各ウィンドウの動作について、さらに詳しく説明する。
まず、ソフトウェア開発者Aは、ポインティングデバイス45とキーボード40を使用して、ファイルメニューから例えば「新規作成」を選ぶ。これにより、プログラムのフレームワークであるプロジェクトが、サーバ10のユーザ記憶部103のユーザ(この場合はソフトウェア開発者A)のホームディレクトリに作成される。
これらプロジェクトファイルとしては、例えば、拡張子が「.prx」であるXML形式のファイルとして保存することができる。この.prxファイルは、例えばGUIコンポーネントライブラリである、AWML(AsWing Markup Language。http://www.aswing.org/で提供される)と互換のXML形式の記述方式を使用して、ソースコード等を記憶することができる。
さらに、プロパティ・ウィンドウ206を使用するか専用の図示しない画面デザインツールで作成したウィンドウのデザインや、アイコンの情報、動作が記述してあるクラスの内容等を記憶することができる。
プロジェクトの作成時に作成されるソースファイルとして、既定のソースファイル(汎用ソースファイル)としてライブラリ・ソースデータベース106に記憶されている(1)AWML共通ファイル(共通ファイル手段)、(2)Project.hx(ウィンドウ生成手段)、(3)ProjectListener.hx(リスナー・クラス手段)の3つのファイルと、これらのファイルに関連するファイルを、サーバ10の制御部101がネットワーク接続部107により送信する。
これらのファイルは、ネットワーク部5を介して端末20−1のネットワーク接続部27が受信し、制御部21が主記憶部22に記憶する。この上で、表示部50に表示されている開発ツールのウィンドウに、ユーザがポインティングデバイス45やキーボード40を操作することにより、制御部21が表示する。
表示と対応するデザイン&コード作成ウィンドウ205の画面ショットである図6を参照すると、各ファイルのソースコードを表示するタブ(表示の単位)の画面ショットであるタブ2051が(1)、タブ2052が(2)、タブ2053が(3)に、それぞれ対応している。これらのソースコードは、(3)のソースコードのみ、後述するステップS104のソースコードの作成ステップで端末20−1上で編集することができる。
また、(2)のProject.hxの「Project」の部分は、アプリケーションによって変更される「アプリケーション名」にあたる。
最初にプロジェクトが作成されたときのデフォルト(初期設定、既定値)のアプリケーション名前は、「Project」である。
アプリケーション名は、コンパイル時に指定するタブ2071の「Application Name」で指定することができる(例えば、アプリケーション名を「Test」とした場合、(2)はTest.hxとなる)。なお、(1)のAWMLの共通ファイルは(2)Project.hx の中に含ませることも可能である。
(1)のソースファイルは、XML形式にて、AWML共通ファイルとしてクラスの型、ウィンドウや後述するパネルのプロパティ等が記述されている。このコードは、上述のように、ライブラリ・ソースデータベース106を基に制御部101が自動生成し、ユーザであるソフトウェア開発者Aは編集することができない。しかし、プロパティ・ウィンドウ206の値をユーザが修正すると、制御部21が自動的にソースファイルの変化として反映させる。
(2)のソースファイルは、本発明の実施の形態に係るプログラムの、主要部分のソースコードが記述されている。このコードは、(1)と同様にライブラリ・ソースデータベース106を基に制御部101が自動生成し、ユーザであるソフトウェア開発者Aは編集することができない。
また、(2)には、画面デザインに対応するAWMLが埋め込まれており、画面デザインを変更するたびに自動的に、変更が反映されるようになっている。
さらに、アプリケーション起動処理の main()関数、初期化処理のnew()、initComponents()関数、各コンポーネントの動作を記述しているリスナー・クラスの名前を返すgetListenerClassName()関数、アプリケーションのメインのウィンドウであるJFrameコンポーネントを取得するためのgetRootJFrame()関数が用意されている。
この(2)のコードは、実際にコンパイル処理が行われた後は、ウェブブラウザ上ではFlashの実行ファイルとして実行できる1つのウィンドウとして記述される。実行時のウィンドウの数は、デフォルトでは1つであるが、ユーザが自由に追加することができる。
これらのデフォルトのプロジェクトのソースコードは、後述するようにそのままコンパイル処理を行うと1つのウィンドウとして表示される実行ファイル(.swfファイル)を作成することができる。
画面デザインの変更により追加されたコンポーネントは、同時に(3)のリスナー・クラスでも利用できるように登録される。
(3)はリスナー・クラスで、(2)に追加された各コンポーネントの動作を記述し、専用プログラムとしてのプログラム自体の動作を記述するためのクラスである。
たとえば、「ボタンをクリックしたときにどういった処理をするのか」といった場合のソースコードが、このファイルに記述される。
このソースコードは、後述するコンポーネントの配置ステップS102において、コンポーネントをデザイン&コード作成ウィンドウ205上に配置することで、デフォルトのソースコードを制御部101が追加し、ユーザが一時ファイル記憶部104に記憶されているこのソースコードを変更することができる。
以上のように(1)(2)(3)にソースコードを分けることにより、サーバ10内のライブラリ・ソースデータベース106が更新された場合、たとえば(1)(2)に係るソースファイルを入れ替えるだけで、すぐに最新の開発環境に係る実行ファイルを作成することが可能になる。また、たとえば、携帯電話用やPDA用といった「組み込み」アプリケーションを作成する場合や、クロスプラットフォームのソフトウェアを作成する場合等、対応する(1)(2)に係るソースファイルを入れ替えるだけで、対応することが可能である。たとえば、AWMLとは違う、ウィンドウズ(登録商標)・ビスタの「ガジェット」ファイル等を作成することも可能である。また、(3)に係るユーザのファイルを、ユーザ自らがライブラリとして、使い回しで利用する効率を上げることができる。
(ステップS102)
次に、ステップS102の各コンポーネントの配置について説明する。
ソフトウェア開発者Aがコンポーネント一覧203から、ポインティングデバイス45等を使用して、コンポーネントをデザイン&コード作成ウィンドウ205のタブ2050の上に配置すると、上述のようにデスクトップ画面が更新されると同時に、(3)の(アプリケーション名)Listener.hx上に、ソースファイル作成部109が対応するソースコードを作成する。
本発明の実施の形態に係る開発ツールでは、図13に示すように、ボタンやテキストエリアといった、各種のコンポーネントが使用可能である。
このコンポーネントとしては、本発明の実施の形態に係る開発ツールで使用可能にするために、IzeComponentというクラスのソースコードをライブラリ・ソースデータベース106に用意している。このIzeComponentは、上述のAsWingコンポーネントを使用して作成することができる。この場合、IzeComponentのすべてのクラスではAsWingコンポーネントであるorg.aswing.Componentを継承したクラスを使用する。
また、この開発ツールで使用可能なコンポーネントはすべて IzeComponentを継承するように作成してある。加えて、IzeComponent は、AWMLへの出力、プロパティの編集を動的にするための関数(メソッド)群を用意している。
更に、このコンポーネントとしては、本発明の実施の形態に係る開発ツールが標準で用意する標準コンポーネント以外に、ユーザが独自にコンポーネントを作成することも可能である。このユーザが独自に作成するコンポーネントを、カスタム・コンポーネントと呼ぶ。
このカスタム・コンポーネントを作成するためには、ユーザのホームディレクトリ直下に「components」ディレクトリを作成し、このディレクトリに「components.xml」のファイルを作成する。このファイルは、ユーザが編集することで、カスタム・コンポーネントを使用することが可能になる。
このファイルは、シンクライアント用OSに標準で付属する、ファイルを作成する「メモ帳」等のソフトウェアを使用して作成することもできる。
また、メニューバー201のファイルメニューから「ファイルの作成」をユーザが選択することで、端末20−1上でユーザが主記憶部22上で作成し、サーバ10に転送することができる。なお、本発明の実施の形態に係る開発ツールが作成しないファイルは、すべて同様の方法で作成することができる。
この場合の、ユーザのホームディレクトリ直下のcomponents/components.xmlの内容(カスタム・コンポーネントの形式)としては、例えば、以下のようなコードを用いることができる。

<component-list image-dir="apps/ukiyoex2">
<component
name="Clock"
available="true"
image="images/custom/custom1.jpg"
tool-tip="Clock"
package="aaa.bbbb"
swf="clock.swf"
class-name="IzeClock"
parser-name="ClockParser"
ui-name="ClockUI"
awml-tag="clock"
/>
</component-list>
このカスタム・コンポーネントの処理を記述するコードは、コンポーネントクラス、UIクラス、パーサクラス、上述のIzeComponentを継承するIzeComponent継承クラスの4つのソースコードから作成することができる。
ここで、コンポーネントクラスは、org.aswing.Componentを継承することができる、実際のコンポーネントを記述するクラスである。
UIクラスは、コンポーネントクラスで使用し、外観を決定するためのクラスである。
パーサクラスは、AWMLとしてのXML情報を入出力するためのクラスである。プロパティやイベントとタグ、属性情報との関連付けを行なうことができる。
IzeComponent継承クラスは、本発明の実施の形態に係る開発ツールと連携して使用するためのクラスである。プロパティの設定・取得やイベント処理ソースコードの自動生成等に必要な情報を記述しておくことができる。
このカスタム・コンポーネントのさらなる詳細については、後述する。
(ステップS103)
次に、ステップS103において、上述のコンポーネントをデザイン&コード作成ウィンドウ205に追加すると、このコンポーネント用のプロパティを設定することができる。
この状態の本発明の実施の形態に係る開発ツールのウィンドウのユーザの操作について、図7Aと図7Bを参照して説明する。
まず、ソフトウェア開発者Aが、プロパティ・ウィンドウ206のプロパティを設定するタブ2061の各値をキーボード40やポインティングデバイス45で変更する。
これにより、各コンポーネントが実行時に表示するプロパティを設定することができる。
さらに、各プロパティをさらに詳しく設定する必要がある場合、これに付随した外観の設定ウィンドウであるセッティングウィンドウ2063が表示される。この値に関しても、ソフトウェア開発者Aが変更可能である。
(ステップS104)
次に、ステップS104において、ソフトウェア開発者Aが、プロパティ・ウィンドウ206のタブ2062において、各コンポーネントの動作を設定する。
すなわち、ユーザが「key」で示されるイベントに対して「value」を記述して「edit」ボタンをクリックすると、この情報が端末20−1の制御部21よりネットワーク接続部27から送信される。
これを、サーバ10のネットワーク接続部107が受信し、サーバ10の制御部101が検出する。
ここで、制御部101はカスタムコンポーネントがユーザにより記述されている場合は読み込む。標準コンポーネントの場合は、制御部101は、上述の「componentlist.xml」に記述されているあらかじめ読み込まれた標準コンポーネントのコンポーネント情報からライブラリ・ソースデータベース106の「key」に対応するイベントを取得する。次に、ソースファイル作成部109が、ライブラリ・ソースデータベース106に記憶されているデフォルトの汎用ソースコードを読み込んでソースコードを自動生成する。
このようにして、ソースファイル作成部109が、サーバ10のユーザ記憶部103内に、対応するソースコードを生成する。
このコンポーネントの読み込み処理について、さらに詳しく説明する。
まず、上述の「edit」ボタンがソフトウェア開発者によって押されたとする。上述の過程を通じて、サーバ10の制御部101がこれを感知した場合、制御部101が、ライブラリ・ソースデータベース106に記憶されている標準コンポーネントのデフォルトのソースコードを読み込んで、上述のソースファイルに追加する。
ここで、components.xmlファイルをユーザが作成していた場合は、ユーザが独自に作成した(標準コンポーネントに含まれない)カスタム・コンポーネントを読み込む処理を行う。この処理について説明する。
すなわち、ユーザのホーム直下のcomponents/components.xmlがあった場合、制御部101は、パス(ファイルの位置)をチェックし、ソースコードが含まれているファイルがあるか/ないか、ファイルを参照又は使用する権限があるか/ないかを確認する。
このファイルがない、又は使用する権限がなかった場合は、警告を表示して、コンポーネントを読み込まずに無視する。
このファイルがあり、更に使用する権限があった場合は、コンポーネントを一覧に追加し、利用可能な状態にする。
さらに、本発明の実施の形態に係る開発ツールにおいては、設定を行うことにより通常コンポーネントがカスタム・コンポーネントを読み込むことができる。
この場合、開発ツールの起動時に、このカスタム・コンポーネントの設定ファイルの読み込みに失敗したときは、そもそもコンポーネント一覧203にはボタンが追加されず、ユーザが使用不可となる。
また、ユーザは、カスタムタイプ(プログラム上のデータの型)を使用することができる。
この場合、ユーザのホームディレクトリ直下に、
types/types.xml
ファイルをコンパイル処理までに作成しておく必要がある。このtypes/types.xmlファイルは、components/components.xmlの読み込みの前に、制御部101が参照する。
このtypes/types.xmlファイル があった場合は、制御部101はパス(ファイルの位置)をチェックし、ソースコードが含まれているファイルがあるか/ないか、ファイルを参照又は使用する権限があるか/ないかを確認する。
このファイルがない、又は使用する権限がなかった場合は、警告を表示して、カスタムタイプを読み込まずに無視する。
このファイルがあり、更に使用する権限があった場合は、カスタムタイプを使用可能な状態にする。
また、カスタムタイプ用のバイナリファイル(実行可能ファイルのような、文字ではなく数値で構成されるファイル)として用いられる.swfファイルも、このディレクトリに配置する。
上述のステップにて、ソースファイル作成部109がソースコードを作成した後、このソースコードはネットワーク接続部107がネットワーク部5を介して端末20−1に送信し、端末20−1のネットワーク接続部27が受信して、端末20−1の主記憶部22に記憶する。さらに、制御部21が、表示部50に表示されているデザイン&コード作成ウィンドウ205に追加して表示する。
上述のコンポーネントの動作を設定するソースコードの設定の例を説明する。例えば、ソフトウェア開発者Aが、デザイン&コード作成ウィンドウ205にのタブ2050にボタン(Button1)のコンポーネントを貼り付け、プロパティのタブ2062の”on−clicked”の値(value)を”onButton1Clicked”としておき、「edit」ボタンをクリックすると以下のようなソースコードがリスナー・クラスに生成される。

public function onButton1Clicked(source:Component, clickCount:Float):Void
{
//(ここに処理を記述する)
}

値が無い場合のデフォルトの値は、それぞれのコンポーネント名のイベント名に関連した関数名を使用する。
ソフトウェア開発者Aは、このソースコード内に必要な処理をキーボード40等を使って記述することで、顧客B等の企業の企業のニーズに合わせてカスタマイズした、専用ソフトウェアであるプログラムの開発を行うことができる。
(ステップS105)
次に、ソフトウェア開発者Aは、各ソースコードを完成させた後、実行ファイル(例えば、.swfファイル)を作成するために、ソースファイルのコンパイルを行う。このコンパイルの際に、ユーザが行う操作について、図8Aと図8Bを参照してさらに詳しく説明する。
具体的には、ソフトウェア開発者Aがポインティングデバイス45やキーボード40等で、メニューバー201のファイルメニューから「コンパイル」を選択するか、ツールバー202の右端にある「円に三角矢印」ボタンを選択してコンパイル処理を行うコマンドを選択すると、図8Aで示すコンパイル・ウィンドウ207(デバッグ手段)が表示される。
このコンパイル・ウィンドウにおいては、ソフトウェア開発者Aは、タブ2071、タブ2072、及びタブ2073の、各タブにより、アプリケーションをコンパイル処理する際の設定やメッセージの受信、デバッグ等を行うこともできる。
ソフトウェア開発者Aがタブ2071を選択すると、上述のアプリケーション名を変更することができる。また、アプリケーションに用いるアイコンを選択でき、ユーザが選択を行うと、制御部21が「preview」の箇所に当該アイコンを表示する。
ソフトウェア開発者Aがタブ2072を選択すると、コンパイル処理後に作成される実行ファイルであるの.swfファイルを実行する際の画面解像度を設定することができる。また、.swfファイルの属性であるFPS(フレーム・パー・セカンド、一秒間の描画回数)を設定することができる。
また、タブ2071もユーザが選択できるとともに、後述のコンパイル処理時に制御部21が、このタブのメッセージボックス内にメッセージを表示する。このメッセージとしては、コンパイル処理が成功したか失敗したかというメッセージ等を表示する。
さらに、タブ2071は、コンパイル処理が失敗した場合、エラーメッセージ等を表示し、エラーが起こった箇所のソースコードを指し示したり、ステップ実行等の際のメッセージを表示する等のデバッグを行うことができる。
このステップ実行やブレークポイントの設定、トレースやウォッチを行う際は、ツールバー202の「→」(矢印)マークを使用するか、ファイルメニューから「ステップ実行」等を個別に選択することができる。
このコンパイル・ウィンドウの「compile」ボタンをソフトウェア開発者Aがポインティングデバイス45やキーボード40等で選択すると、端末20−1とサーバ10の間で情報が送信・受信されてコンパイル処理が実行される(また、「close」ボタンを押すと、コンパイル処理がキャンセルされる)。
このステップである、ステップS105の処理について、図11Aのフローチャートと図11Bのタイミングチャートを参照して更に詳しく説明する。
(ステップS1051)
まず、ステップS1051において、端末20−1の制御部21が、ネットワーク接続部27からネットワーク部5に上述のコンパイル処理を行うコマンドと、ソフトウェア開発者Aが完成させたソースコードを含む、ソースファイルである、上述の(1)(2)(3)のファイルを送信する。ここで、(2)のファイルに(1)が含まれる場合は、(2)と(3)のみを送信する。
これは、図11Bの、「ソースファイルを送信」に対応する。
(ステップS1052)
サーバ10のネットワーク接続部107は、上述のコマンドとソースファイルを受信して、一時ファイル記憶部104に記憶する。さらに、制御部101に、ソースファイルが受信できたことを通知する。
この時点では、ユーザ記憶部103にあるソフトウェア開発者Aのホームディレクトリにある元となるファイルは更新しない。
また、この時点で、受信は失敗したと制御部101が判断した場合、一時ファイル記憶部104に記憶されたファイルの断片を消去し、ネットワーク接続部107からクライアント20−1に向けて受信が失敗した旨のエラーメッセージを送信する。
(ステップS1053)
次に、サーバ10のコンパイル処理部102が、一時ファイル記憶部104に記憶されているソースファイルを基にして、実際のコンパイル処理を実行する。
ここで、このソースファイルにて、ソフトウェア開発に共通に使えるファイルであるライブラリやAPIを使用していた場合、ソースコードがライブラリ・ソースデータベース106に保存されている場合は、これを制御部101がインクルード(組み込み)を行う。
また、ソースコードが提供されないバイナリファイルのインクルードを行う場合は、制御部101がライブラリ・バイナリデータベース105からバイナリファイルを取得してインクルード又はリンクする。
これにより、ソースコードのコンパイル処理が成功した場合、制御部101は、通常は単一の実行ファイルである.swfファイルが一時ファイル記憶部104に作成する。
コンパイル処理に失敗していた場合、制御部101は、一時ファイル記憶部104に、コンパイル処理時のエラーメッセージを記憶する。
(ステップS1054)
次にステップS1054において、制御部101は、ステップS1053のコンパイル処理が成功したかについて判定する。
コンパイル処理が失敗した場合、制御部101は、ステップS1055に処理を進める。
コンパイル処理が成功した場合、制御部101は、ステップS1056に処理を進める。
(ステップS1055)
ステップS1055において、ユーザインターフェイス部108が、コンパイル処理時のエラーメッセージを、ネットワーク接続部107から出力する。このステップは、図11Bの「成否の応答」に対応する。
このエラーメッセージは、ネットワーク部5を介して、端末20−1のネットワーク接続部27が受信し、制御部21がタブ2073に出力する。
本発明の開発システムは統合開発環境を実現している。このため、このエラーメッセージをユーザがポインティングデバイス45でクリックすることにより、エラーのあったソースコードの箇所に移動するといったことが可能である。
(ステップS1056)
ステップS1056において、制御部101は、一時ファイル記憶部104に記憶されている実行ファイルである.swfファイルを、ユーザ記憶部103のホームディレクトリにコピーする。
(ステップS1057)
次に、ステップS1057において、ユーザインターフェイス部108は、コンパイル処理が成功した旨のメッセージを、ネットワーク部5を介して、端末20−1のネットワーク接続部27が受信し、制御部21がタブ2073に出力する。このステップも、図11Bの「成否の応答」に対応する。
この成功した旨のメッセージに関しても、ネットワーク部5を介して、端末20−1のネットワーク接続部27が受信し、制御部21がタブ2073に出力する。
(ステップS1058)
次に、ステップS1058において、制御部101は、desktop.xmlを更新する。具体的には、desktop.xml上に、コンパイル後の.swfファイルを呼び出すためのアイコンが表示されるようなデータを追加する。
また、この更新されたdesktop.xmlは、上述のようにサーバ10から送信されて、クライアント20−1の表示部50に表示される。
これにより、ユーザであるソフトウェア開発者Aが開発ツールのウィンドウを閉じた後でも、このアイコンをクリックすることで、即、この.swfファイルの実行を行うことができる。このため、作成されたソフトウェアのテスト等を行うことが用意であるという効果が得られる。
また、この.swfを後述する共有フォルダに出力するように設定している場合、顧客Bも即時に実行してチェックする(試す)ことが可能である。
このdesktop.xmlの更新ができた時点で、コンパイル処理は終了する。ユーザであるソフトウェア開発者Aは、メニューバー201のツールメニューや、ツールバー202の「→」(矢印)マーク等を使用することで、デバッグを行うことができる。
ユーザがデバッグを行うと、サーバ10から実行ファイルが端末20−1に転送され、プレビューとしてアイコンが表示されて、制御部21により実行される。
ユーザは、この実行ファイルとソースファイルを基にして、ソースコードのある位置までプログラムを実行させるトレースを行ったり、ブレークポイントの設定を行ったり、1行ごとのステップ実行を行ったり、図示しないウォッチウィンドウにより変数の値を参照したりといったことが可能になる。また、変数がある値を示したときや例外発生時にプログラムを停止させることも可能である。
これらの処理としては、端末20−1に読み込まれている専用ソフトウェア開発ツールの端末用のプログラムと、サーバ10とが連携して行うリモートデバッグを行うことができる。
ソフトウェア開発者Aは、さらにソースコードを修正させ、デバッグとコンパイル処理を繰り返すことで、専用ソフトウェアを完成させることができる。
なお、ソフトウェア開発者Aは、ステップS101〜ステップS105までの工程を、適宜入れ替えて実行することが可能である。
これは、本発明の実施の形態が、従来技術1のような、単純なウィザード形式の固定化されたユーザインターフェイスではない、高度な統合開発環境をウェブ上で実現することが可能であるためである。
(開発の手順の例)
次に、実際にコードを作成して実行するまでの過程について、本発明の実施の形態に係る開発ツールのウィンドウである図5と図7C、実際に専用ソフトウェアをユーザが実行した際の画面ショットである図9とを参照して説明する。
まず、ユーザであるソフトウェア開発者Aは、上述のような手順で、プロジェクトを作成し、アプリケーション名を「SamplePanel」とした。
ここで、本発明の実施の形態に係る開発ツールは、AsWingを使用している関係上、通常は単一のファイルで単一のウィンドウとなる実行ファイル(.swfファイル)を作成する。
しかし、アプリケーションを作成するときに、登録した情報を確認する場合に、2つの画面、すなわち情報を入力するための「登録画面」と、入力した情報に誤りがないかを確認するための「確認画面」を作ることがある。この場合は、ウィンドウ自体は1つのみ必要であるというユーザの要求が存在する。
そういった要求に対応するために、パネル管理ウィンドウ204を用意して、同一のウィンドウの中でパネル(表示要素)を切り替えられる仕組みを用意した。
たとえば、ユーザがメニューバー201の「パネルの作成」を行うことで、ユーザは標準のウィンドウに加えて、2つ目以降のパネルを作成することができる。
ここでは、2つのウィンドウをユーザが作成した場合の、パネル管理ウィンドウ204の例を説明する。
まず、プロジェクトを作成した時点では、パネル管理ウィンドウ204には、「Panel1」と称されるウィンドウ1のみが表示されている。
ここで、上述のように、「パネルの作成」を行うと、タブ2064に「Panel2」が表示される。なお、「Panel1」や「Panel2」は、パネル名であり、ユーザが自由に変更することができる。
次に、ソフトウェア開発者Aは、
「Panel1」を「登録画面」、
「Panel2」を「確認画面」とするため、画面デザインのAWMLについて、簡略化された説明例として以下のような構造を持つようにプロパティを設定する。

<frame>
<panel name="Panel1" visible="true" />
<panel name="Panel2" visible="false" />
</frame>

さらに、タブ2065において、各パネルのオブジェクト(又はクラス)内の関数を表示することができる。具体的には、例えば、「Panel1」の横にある三角印をユーザがポインティングデバイス45でダブルクリックすると、制御部21が関数の表が表示する。ユーザが、その関数の表に示される関数をダブルクリックすると、デザイン&コード作成ウィンドウ205の対応する関数のところに、制御部21がカーソル(入力する位置を示す手段)を移動して表示する。
また、本発明の実施の形態に係る開発ツールにおいては、APIである「jp.ize.sharaku.core」において、AbstractAppListenerクラスにパネルの表示を切り替えるための関数(メソッド)showPane()を用意している。
よって、showPane(”Panel1”)のように「Panel1」等のパネル名を渡すことで、表示を切り替えることができる。
ここで、ボタンクリック時に表示を切り替える場合、以下のようなコードをソフトウェア開発者Aが入力することができる。

public function gotoPanel2(source:Component, clickCount:Float):Void
{
getComponent("Label4").setText(getComponent("TextField1").getText()); // 名前の入力内容を確認用に設定
var seibetsu:String = "";
if ( getComponent("RadioButton1").isSelected() ) {
// 「男」が選択されていた場合は、「男」と表示
seibetsu = getComponent("RadioButton1").getText();
} else if ( getComponent("RadioButton2").isSelected() ) {
// 「女」が選択されていた場合は、「女」と表示
seibetsu = getComponent("RadioButton2").getText();
} else {
// 何も選択されていなければ「男」を初期値として使用
seibetsu = getComponent("RadioButton1").getText();
}
getComponent("Label6").setText( seibetsu ); // 性別の選択内容を確認用に設定
showPane("Panel2"); // Panel2 に表示を切り替え
}

このコードは、「確認」ボタンのプロパティとして、

<button x="100" y="120" width="140" height="20" enabled="true" visible="true" opaque="true" hand-cursor="false" trigger-enabled="true" alpha="100" id="Button1"
on-clicked="SamplePanel.gotoPanel2"
horizontal-align="center" vertical-align="center" horizontal-position="right" vertical-position="center" icon-text-gap="2" text="確認">
<background alpha="100" rgb="C0C0C0"></background>
<foreground alpha="100" rgb="000000"></foreground>
<font embeded="false" underline="false" italic="false" bold="false" size="11" name="Tahoma"></font>
<margins bottom="0" right="0" left="0" top="0"></margins>
</button>

のように、
on−clicked=”SamplePanel.gotoPanel2”
を定義している。
これは、ユーザがクリックした際に、gotoPanel2()が呼び出されることを示している。
この定義は、これはプロパティの設定時に、プロパティ・ウィンドウ206の中の「Events」タブ(タブ2062)の ”on−clicked”に値”gotoPanel2”を入力することで設定できる。
また、プロジェクトで作成された各ウィンドウは、プロパティを変更することで表示状態の変更を行うことができる。これにより、ウィンドウを半透明にしたり、デフォルトの大きさを変更したりといったことが可能になる。
(バイナリファイルの実行)
実際に、本発明の実施の形態に係る開発システムで開発された上述のアプリケーションの例であるアプリケーション名「SamplePanel」について、図9を参照して説明する。
まず、ユーザであるソフトウェア開発者Aは、コンパイル処理を行い、画面上にある「SamplePanel」アイコンが表示されていものとする。ここで、ユーザは、ポインティングデバイス45等でこのアイコンをダブルクリックしたり、キーボード40のエンターキーを押下したりする等により、実行コマンドを入力する。
この実行コマンドは、制御部21がネットワーク接続部27から出力する。
サーバ10のネットワーク接続部107は、ネットワーク部5を介して実行コマンドを入力する。ユーザインターフェイス部108がこれを検知すると、制御部101は、ユーザ記憶部に記憶されている、「SamplePanel」に対応する実行ファイルである.swfファイルを、ネットワーク接続部107から出力する。
次に、端末20−1のネットワーク接続部27が、上述の.swfファイルを受信し、主記憶部22に記憶する。この上で、制御部21が.swfファイルを実行し、表示部50に表示する。
この場合の画面ショットの例である、画面ショット3001を参照すると、制御部21が、デスクトップ画面上に「Panel1」に相当するウィンドウを表示する。
ユーザが名前欄に「テスト太郎」、性別を「男」とチェックして「確認」ボタンをポインティングデバイス45等でクリックすると、画面ショット3002のように、制御部21が、デスクトップ画面上に「Panel2」に相当するウィンドウを表示する。
このように、本発明の実施の形態に係る開発システムは、複数のウィンドウにおける画面遷移を実現することができるという特徴がある。
(共同開発する場合の例)
また、通常、専用ソフトを開発する場合は、複数のソフトウェア開発者が共同して開発することがある。
この場合、あるユーザ(たとえば、ソフトウェア開発者A)が中心になって、ソフトウェアを開発する場合、本発明の実施の形態に係る開発システムにおいては、カスタム・コンポーネント用ファイルの配置を工夫することで対処することが可能である。
まず、ソフトウェア開発者Aのホームディレクトリ直下であるcomponents/以下にすべてのファイルを配置する。さらに、ソフトウェア開発者Aのホームディレクトリ直下に、同様にtypes/以下にすべてのファイルを配置する。
この上で、例えば共同開発者であるソフトウェア開発者Cが、端末20−3上でシンクライアント用OSを使用して、サーバ10にアクセスし、開発システムを起動する。
ソフトウェア開発者Cは、開発システムから、ソフトウェア開発者Bのディレクトリにあるプロジェクトを読み込む。
これにより、ソフトウェア開発者Aとソフトウェア開発者Cは、同一のプロジェクトについて、共同してソフトウェア開発を行うことができる。なお、当然ながら、同じプロジェクトの開発者のグループでないと、このプロジェクトが記憶されたディレクトリにアクセスできないように設定することが可能である。
また、上述のように共同してソフトウェア開発を行う場合、ユーザがソースコードを変更した際の変更箇所について、コンパイル処理ごとにバージョン管理部111が、たとえばCVS形式でユーザ記憶部103に記憶する。すなわち、ソースファイルと実行ファイルの更新に関する情報を記憶し、管理する。これにより、ソースコードの管理を意識することがなく、共同で専用ソフトウェアを開発することが可能になる。
また、たとえば、一定時間ごとにユーザが変更したソースコードを、たとえば端末20−1又は20−2がサーバ10に送信し、サーバ10の制御部101が一時ファイル記憶部に記憶するといったことも可能である。
これにより、端末20−1又は20−2が開発システムの使用時に停電等でシャットダウンした場合や故障した場合等でも、ソースコードがサーバ上に記憶されているため、もう一度サーバ10にアクセスすることで、開発を続けることができる。
さらに、上述のソースコードがコンパイルされた際に、(desktop.xmlが更新されている)ソフトウェア開発者Aのデスクトップに、ソフトウェア開発者Cもアクセスできる。このために、ソフトウェア開発者Aと同様に作成された.swfファイルをすぐにチェックすることが可能である。
さらに、本発明の実施の形態に係る開発システムにおいては、サーバ10のユーザ間処理部110を備えている。
ユーザ間処理部110は、ユーザ間でメッセージをやり取りしてコミュニケーションする、いわゆる「メッセンジャー」ソフトウェアのような動作をすることができ、他のユーザがサーバ10にアクセスした際に、そのユーザがアクセスしたことを、通知する機能がある。
さらに、他のユーザの端末と、電子メール、BBS(電子掲示板システム)、チャットや音声チャット等により、ユーザ間の連絡を取ることが可能である。さらに、RSS等の技術により、BBS等の情報が更新したことを端末に通知することが可能である。
これにより、遠隔地にいるソフトウェア開発者同士で、より効率的に専用ソフトウェアの開発を行うことができる。
(専用ソフトウェアの開発の効率化)
次に、ある程度上述の開発の工程が進展し、顧客Bにソフトウェアの修正依頼を行う場合についてタイミングチャートである図12を参照して説明する。
まず、ソフトウェア開発者Aは、上述の工程により専用ソフトウェアを開発し、コンパイル処理が可能である段階まで開発を進展させていることとする。
この上で、ソフトウェア開発者Aは、メニューバー201から「プロジェクトの設定」を選択し、プロジェクトの実行ファイルの出力フォルダを変更する。具体的には、顧客Bがアクセス可能であるディレクトリである「共有フォルダ」を指定する。この上で、ソフトウェア開発者Aは、上述のようなコンパイル処理を行う。
ここで、顧客Bが、端末20−2によりシンクライアント用OSを起動させる。
ソフトウェア開発者Aは、上述のユーザ間処理部110により、顧客Bがサーバ10にアクセスしたことを確認することができる。
この確認を行った後、ソフトウェア開発者Aは、ユーザ間処理部110により、顧客Bに「コンパイル処理が終了した」旨のメッセージを送信することができる。
顧客Bのユーザは、このメッセージを端末20−2で受け取ると、「共有フォルダ」を開くことができる。すると、上述の過程により顧客Bのホームディレクトリのdesktop.xmlが更新され、共有フォルダの記憶内容が表示される。この表示において、サーバ10のコンパイル処理部102が作成した.swfファイルは、ソフトウェア開発者Aのデスクトップ画面と同様に、アイコンとして表示される。
顧客Bはこの共有フォルダ内の.swfファイルを実行することで、専用ソフトウェアのチェックを行うことができる。
ここで、顧客Bが修正の指示を出す場合、ユーザ間処理部110を使用して、ソフトウェア開発者Aに対して修正依頼を行うことができる。
修正依頼を受けたソフトウェア開発者Aは、さらにソースコードを修正して、上述のようにコンパイル処理を行う。
この上で、また顧客Bは、共有フォルダ内の.swfファイルを実行し、専用ソフトウェアのチェックを行うことができる。
ここで、さらに修正依頼がある場合は、またユーザ間処理部110を使用して行うことができる。
修正が満足できるものである場合は、ユーザ間処理部110を使用してその旨を伝える。
これにより、ソフトウェア開発者Aは専用ソフトウェアの開発を終了する。さらに、サーバ10内の図示しない決済手段により、顧客Bとの間で開発費の決済を行うことができる。
このように、「リアルタイム」に近い状態でソフトウェアの修正指示と実行のチェックを行うことができるため、ソフトウェアの開発を非常に効率的に行うことができるという効果が得られる。
これにより、企業からの受注や修正の指示のために直接企業を訪問したり、提案書を提示するといった人為的コストを大幅に削減することが可能になる。
また、顧客Bは、共有フォルダから自らのデスクトップ画面に、専用ソフトの.swfファイルをコピーするだけで、いつでも実行することが可能になる。
すなわち、顧客Bは、難しいインストール等の作業がまったく必要ないという効果が得られる。これにより、ソフトウェア開発者Aが顧客BのPC上にソフトウェアをインストールするための出張費等のコストを削減することが可能になる。
さらに、サーバ10は、バックアップ等が適宜行われるサーバのため、ユーザが専用ソフトウェアを自らのPCにインストールする場合に比べて、HDDの故障といった障害への耐性が高いという効果が得られる。
さらに、サーバ上にすべてのファイルが保存され、サーバ上でコンパイルが行われるため、サーバ上のファイルを更新することで常に同じ開発環境でコンパイル処理を行うことが可能であるため、ソフトウェア開発者間の環境の違いによって生じるバグ(ソフトウェア上の間違い)や不具合を極力減じることが可能になる。
これにより、さらに人為的コストを削減することが可能になる。
また、本発明の実施の形態に係る開発システムは、従来技術1のウィザード形式の固定された固定化されたユーザインターフェイスよりも、開発するプログラムの柔軟性が高い。これにより、より企業のニーズに合わせた専用ソフトウェアの作成をすることが可能になる。
さらに、シンクライアント用OSを用いたデスクトップ画面で開発を行うことにより、ソースコードの流失を防ぐことができるという効果が生じる。これにより、秘匿性の高いソフトウェアの開発において、情報漏洩を極力減じることが可能になるという効果が得られる。
また、実行ファイルに関しても、サーバ10上にのみ記憶されており、シンクライアント用OSにおいては、この実行ファイルを外部に持ち出す手段がないため、逆アセンブル等による情報漏洩についても、極力減じることが可能になる。
なお、上述の本発明の実施の形態に係る開発システムにおいては、専用のシンクライアント用OSを使用した場合について説明したが、当然のごとく他の汎用のOSを使用した端末を用いて開発を行うことが可能である。
この汎用OSとしては、たとえば、Windows(登録商標)XP、MacOS(登録商標)X、又はUNIX(登録商標)やLinux(登録商標)等のOSを用いてサーバ10に接続してもよい。
この汎用のOSを端末に使用した場合、端末のOSが起動した後に、ユーザであるソフトウェア開発者A又は顧客Bは、インターネット・エクスプローラ(登録商標)やFireFox(登録商標)等のウェブブラウザを使用してサーバ10にアクセスする。
次に、ユーザ認証を行ったのちに、サーバ10に記憶されているデスクトップ画面が例えば一枚のFlashとして表示される。これにより、上述のシンクライアント用OSを使用した場合と同様に開発システムを使用することが可能になる。
この構成は、専用OSを使用しないので手軽であるのが利点である。すなわち、シンクライアント用OSの記憶メディアを持っていない顧客が、手軽に開発中又は開発が終了した専用ソフトウェアをチェックすることが可能になる。
また、上述の共同で専用ソフトウェアを開発する場合は、別のユーザがアクセスして別のユーザ上のホームディレクトリで開発するように説明したが、共通のディレクトリを用意して、そこにソースファイルを記憶することも当然可能である。
さらに開発者同士で共同で専用ソフトウェアを開発する場合、開発者のグループIDごとに共通のディレクトリを使用して開発を行うことも当然可能である。
また、上述の実施の形態においては、コンパイル時にソースファイルがサーバに送信され、開発時にソースコードの修正は端末内のみで管理するように説明したが、ユーザが修正したソースコードを反映したソースファイルを、端末側から一定時間ごとに送信することで、自動的にソースファイルをサーバ側に蓄積することも可能である。
さらに、ソースファイルとソースコードについて、サーバに蓄積されたソースファイルに対してソースコードを追加し、その変更部分を端末に送信し、修正が行われた際には、その修正部分のソースコードをサーバのソースファイルに追加するような構成をとることも可能である。
これによって、不意の停電等で端末がシャットダウンした場合でも、従来の開発システムと異なり、ソースファイルが失われることがないため、開発効率を向上させることができる。
さらに、本発明の実施の形態に係る開発システムにおいて開発することができる専用ソフトウェアは、シンクライアントのためのアプリケーションだけではなく、既存の汎用OSや将来は家電等のFlash(及びFlashに互換スクリプト若しくは同等な機能を備える実行ファイル)の実行環境がある端末すべてを対象とすることができる。すなわち、大規模な汎用アプリケーションから、組み込み向けのソフトウェアまで、スケーラブルに専用ソフトウェアの開発をすることが可能である。
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
本発明は、サーバ端末システムで使用できる統合開発環境の開発システムを提供することができる。これにより、ソフトウェア開発の期間を短縮し、人為的コストを削減することが可能となる。
本発明の実施の形態に係るシンクライアント・サーバシステムの概念図である。 本発明の実施の形態に係るサーバ10の構成を示すブロック図である。 本発明の実施の形態に係る端末20−1の構成を示すブロック図である。 本発明の実施の形態に係るシンクライアント用OSが起動した画面ショットである。 本発明の実施の形態に係る開発ツールの画面ショットである。 本発明の実施の形態に係るデザイン&コード作成ウィンドウ205の各タブの画面ショットである。 本発明の実施の形態に係る開発システムのプロパティの設定に関する画面ショットである。 本発明の実施の形態に係る開発システムのプロパティ・ウィンドウ206の各タブと、設定ウィンドウを示す画面ショットである。 本発明の実施の形態に係る開発システムのパネル管理ウィンドウ204の各タブの画面ショットである。 本発明の実施の形態に係る開発システムのコンパイル・ウィンドウ207に関する画面ショットである。 本発明の実施の形態に係る開発システムのコンパイル・ウィンドウ207の各タブの画面ショットである。 本発明の実施の形態に係る開発システムで開発されたアプリケーションの画面ショットである。 本発明の実施の形態に係る開発システムの開発の工程を示すフローチャートである。 本発明の実施の形態に係る開発システムの開発のコンパイル処理を示すフローチャートである。 本発明の実施の形態に係る開発システムのコンパイル処理に関するタイミングチャートである。 本発明の実施の形態に係る開発システムのソフトウェア開発者Aと顧客Bとのメッセージのやり取りに係るタイミングチャートである。 本発明の実施の形態に係る開発システムのコンポーネント一覧を示す図である。
符号の説明
5 ネットワーク部
10 サーバ
20−1〜20−n 端末
21 制御部
22 主記憶部
23 チップセット
24 光ディスク装置
25 固定ディスク装置
26 ビデオカード
27、107 ネットワーク接続部
40 キーボード
45 ポインティングデバイス
50 表示部
101 制御部
102 コンパイル処理部
103 ユーザ記憶部
104 一時ファイル記憶部
105 ライブラリ・バイナリデータベース
106 ライブラリ・ソースデータベース
108 ユーザインターフェイス部
109 ソースファイル作成部
110 ユーザ間処理部
111 バージョン管理部
200 アイコン
201 メニューバー
202 ツールバー
203 コンポーネント一覧
204 パネル管理ウィンドウ
205 デザイン&コード作成ウィンドウ
206 プロパティ・ウィンドウ
207 コンパイル・ウィンドウ
2050、2051、2052、2053、2061、2062、2064、2065、2071、2072、2073 タブ
2063 セッティングウィンドウ
3001、3002 画面ショット

Claims (10)

  1. ネットワークのサーバと端末においてソースプログラムと該ソースプログラムの実行ファイルであるソフトウェアを開発する開発システムであって、
    前記サーバは、
    汎用的なソースプログラムのファイルである汎用ソースファイルを記憶しているライブラリ・ソースデータベースと、
    前記汎用ソースファイルを修正したソースファイルから実行ファイルを作成するコンパイル手段と、
    前記ソースファイルと前記実行ファイルとを前記サーバと前記端末間で送受信するネットワーク接続手段と、
    ライブラリ・ソースデータベースから汎用ソースファイルを組み合わせるソースファイル作成手段とを備え、
    前記端末は、
    前記サーバとネットワークを介して接続するネットワーク接続手段と、
    前記端末の前記ネットワーク接続手段により前記サーバより送信された前記汎用ソースファイルを修正して送信することができる統合開発環境手段とを備える
    ことを特徴とする開発システム。
  2. 前記統合開発環境手段は、
    前記汎用ソースファイルを修正することができるソースファイル修正手段と、
    前記サーバから受信した前記実行ファイルを基に前記ソースファイルをデバッグするデバッグ手段とを含む
    ことを特徴とする請求項1に記載の開発システム。
  3. 前記ソースファイルは、
    プログラムの共通部分の処理をする共通ファイル手段と、
    ウィンドウを作成するための処理をするウィンドウ生成手段と、
    前記ウィンドウ内のコンポーネントの処理をするソースコードを含むリスナー・クラス手段とを含む
    ことを特徴とする請求項1又は2に記載の開発システム。
  4. 前記リスナー・クラス手段の前記ソースコードのみを、前記端末で修正することができることを特徴とする請求項3に記載の開発システム。
  5. 前記サーバは、前記ソースファイルと前記実行ファイルの更新に関する情報を管理するバージョン管理手段を更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の開発システム。
  6. 前記サーバは、前記サーバにアクセスしている前記端末間で情報を送受信するユーザ間処理手段を更に備えることを特徴とする請求項1乃至5のいずれか1項に記載の開発システム。
  7. 前記端末は、シンクライアント用OSにより前記サーバにアクセスするシンクライアント用OS手段を更に備えることを特徴とする請求項1乃至6のいずれか1項に記載の開発システム。
  8. 前記サーバは、前記実行ファイルを呼び出すことができるデスクトップ画面手段をさらに備え、
    前記端末は、前記デスクトップ画面手段を受信して実行コマンドを送信することができることを特徴とする請求項1乃至7のいずれか1項に記載の開発システム。
  9. ネットワークのサーバと端末においてソースプログラムと該ソースプログラムの実行ファイルであるソフトウェアを開発する開発システムのサーバであって、
    汎用的なソースプログラムのファイルである汎用ソースファイルを記憶しているライブラリ・ソースデータベースと、
    前記汎用ソースファイルを修正したソースファイルから実行ファイルを作成するコンパイル手段と、
    前記ソースファイルと前記実行ファイルとを前記サーバと前記端末間で送受信するネットワーク接続手段と、
    ライブラリ・ソースデータベースから汎用ソースファイルを組み合わせるソースファイル作成手段とを備える
    ことを特徴とする開発システムのサーバ。
  10. ネットワークのサーバと端末においてソフトウェアを開発する開発方法であって、
    前記サーバは、汎用ソースファイルを作成し、
    前記サーバは、前記汎用ソースファイルを前記端末に送信し、
    前記端末は、受信した前記汎用ソースファイルを統合開発環境で修正して、修正されたソースファイルを作成し、
    前記端末は、前記修正されたソースファイルを前記サーバに送信し、
    前記サーバは、前記修正されたソースファイルから実行ファイルを作成し、
    前記サーバは、前記端末から前記実行ファイルを呼び出すことができるデスクトップ画面を作成し、
    前記サーバは、前記端末の呼び出しに応答して前記デスクトップ画面を前記端末に送信する
    ことを特徴とする開発方法。
JP2007122503A 2007-05-07 2007-05-07 開発システム、開発システムのサーバ、開発方法 Pending JP2008276690A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007122503A JP2008276690A (ja) 2007-05-07 2007-05-07 開発システム、開発システムのサーバ、開発方法
PCT/JP2008/058407 WO2008136508A1 (ja) 2007-05-07 2008-05-02 開発システム、開発システムのサーバ、開発方法
US12/599,156 US20100217839A1 (en) 2007-05-07 2008-05-02 Development system, server of development system, and development method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007122503A JP2008276690A (ja) 2007-05-07 2007-05-07 開発システム、開発システムのサーバ、開発方法

Publications (1)

Publication Number Publication Date
JP2008276690A true JP2008276690A (ja) 2008-11-13

Family

ID=39943612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007122503A Pending JP2008276690A (ja) 2007-05-07 2007-05-07 開発システム、開発システムのサーバ、開発方法

Country Status (3)

Country Link
US (1) US20100217839A1 (ja)
JP (1) JP2008276690A (ja)
WO (1) WO2008136508A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100125827A1 (en) * 2008-11-18 2010-05-20 International Business Machines Corporation Developing software code using parameterized annotations
JP2010128818A (ja) * 2008-11-27 2010-06-10 Dainippon Printing Co Ltd プラットフォーム完全性検証システム及び方法
JP2014071899A (ja) * 2012-09-28 2014-04-21 Ricoh Co Ltd ソフトウェア開発方法及びそのためのシステム
JP2019503549A (ja) * 2015-12-21 2019-02-07 チャンベッラ・リミテッド コントローラベース遠隔ソリューションを作成および管理するための方法および装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110131523A1 (en) * 2009-11-30 2011-06-02 International Business Machines Corporation Grouping of windows based on user-defined contexts
US8281288B1 (en) 2011-10-20 2012-10-02 Google Inc. Integrated development environment with network-based compilation and sandboxed native machine-language capabilities
CN103455337A (zh) * 2013-09-12 2013-12-18 四川长虹电器股份有限公司 在安卓开发环境下使用动态库的方法
US10417183B2 (en) * 2017-03-14 2019-09-17 Salesforce.Com, Inc. Database and file structure configurations for managing text strings to be provided by a graphical user interface
CN112988138A (zh) * 2019-12-16 2021-06-18 杭州中天微系统有限公司 应用于集成开发环境中的系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200185A (ja) * 1999-01-07 2000-07-18 Nec Corp プログラムのバ―ジョン管理装置
JP2002182916A (ja) * 2000-12-18 2002-06-28 Hitachi Ltd プログラム変更管理方式
JP2004355282A (ja) * 2003-05-28 2004-12-16 Japan Science & Technology Agency シミュレーション・システムおよびインタラクティブ教育システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2451253A1 (en) * 2003-11-27 2005-05-27 Ibm Canada Limited - Ibm Canada Limitee Method for competitive peer programming
US7779387B2 (en) * 2004-04-15 2010-08-17 Microsoft Corporation Offline source code control
JP4982998B2 (ja) * 2005-10-28 2012-07-25 カシオ計算機株式会社 コンピュータシステム
US8561024B2 (en) * 2007-01-23 2013-10-15 International Business Machines Corporation Developing software components and capability testing procedures for testing coded software component

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200185A (ja) * 1999-01-07 2000-07-18 Nec Corp プログラムのバ―ジョン管理装置
JP2002182916A (ja) * 2000-12-18 2002-06-28 Hitachi Ltd プログラム変更管理方式
JP2004355282A (ja) * 2003-05-28 2004-12-16 Japan Science & Technology Agency シミュレーション・システムおよびインタラクティブ教育システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100125827A1 (en) * 2008-11-18 2010-05-20 International Business Machines Corporation Developing software code using parameterized annotations
JP2010128818A (ja) * 2008-11-27 2010-06-10 Dainippon Printing Co Ltd プラットフォーム完全性検証システム及び方法
JP2014071899A (ja) * 2012-09-28 2014-04-21 Ricoh Co Ltd ソフトウェア開発方法及びそのためのシステム
JP2019503549A (ja) * 2015-12-21 2019-02-07 チャンベッラ・リミテッド コントローラベース遠隔ソリューションを作成および管理するための方法および装置

Also Published As

Publication number Publication date
WO2008136508A1 (ja) 2008-11-13
US20100217839A1 (en) 2010-08-26

Similar Documents

Publication Publication Date Title
JP2008276690A (ja) 開発システム、開発システムのサーバ、開発方法
US9400784B2 (en) Integrated application localization
KR102341154B1 (ko) 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션
CN102187314B (zh) 生成适用于数据集的资源脚本的方法和系统
US20120005603A1 (en) Application development supporting apparatus, program, and recording medium
JP2008021111A (ja) 業務システム構成変更方法、管理コンピュータ、および、業務システム構成変更方法のプログラム
JP2009277058A (ja) 通信ネットワークを利用したファームウェアの提供方法、そのシステムおよびサービスサーバ
JP4672754B2 (ja) プログラム・設計書の生成装置及びプログラム・設計書の生成プログラム
CN117112060A (zh) 组件库构建方法、装置、电子设备及存储介质
EP4006715A1 (en) Creating a native app method and system
JP2008287365A (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
Dutson Android Development Patterns: Best Practices for Professional Developers
JP2014056547A (ja) 障害対応支援装置、障害対応支援システム、障害対応支援方法、及び障害対応支援プログラム
JP2012133567A (ja) 情報処理装置、情報処理装置の制御方法、プログラム。
Göth Testing techniques for mobile device applications
WO2013088534A1 (ja) クライアントからネットワークを介して携帯端末にアクセスするためのサーバ、方法、及び、コンピュータを該サーバとして機能させるプログラム
KR20150098818A (ko) 애플리케이션 개발 환경 제공 방법
JP7323755B2 (ja) 情報処理システム、その制御方法及びプログラム
TWI667613B (zh) 前端整合開發管理系統及其方法
Le A react responsive web application managing offers and configurations of projects
JP2007304778A (ja) プログラムのテスト方法、プログラム、テスト装置、及びアプリケーション開発システム
US20080282227A1 (en) System and method for device skinning
JP2020119170A (ja) プログラム、情報処理装置及び処理方法
CN110990668A (zh) 一种文档数据显示方法及相关装置
JP2008071276A (ja) Cadデータ管理装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120313