JP5264748B2 - シンクライアントソフトウエア開発環境 - Google Patents

シンクライアントソフトウエア開発環境 Download PDF

Info

Publication number
JP5264748B2
JP5264748B2 JP2009534749A JP2009534749A JP5264748B2 JP 5264748 B2 JP5264748 B2 JP 5264748B2 JP 2009534749 A JP2009534749 A JP 2009534749A JP 2009534749 A JP2009534749 A JP 2009534749A JP 5264748 B2 JP5264748 B2 JP 5264748B2
Authority
JP
Japan
Prior art keywords
software development
server
computer
client computer
project
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.)
Active
Application number
JP2009534749A
Other languages
English (en)
Other versions
JP2010508580A (ja
Inventor
エー.バーグストローム ラース
ジー.ラジ ビジャイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010508580A publication Critical patent/JP2010508580A/ja
Application granted granted Critical
Publication of JP5264748B2 publication Critical patent/JP5264748B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Description

本発明はシンクライアントソフトウエア開発環境に関する。
今日のマイクロソフト(商標)Visual Studio、Eclipseなどのソフトウエア開発環境は、シッククライアント基準に基づいている。このような環境において、開発環境が利用可能になる前にインストールするのに時間がかかり得るマルチギガバイトソフトウエアインストールは一般的である。ソフトウエア開発アプリケーションがインストールされるマシンは、編集を処理するのに十分なリソースを持たなければならず、大きなRAMおよび他のシステムリソースをしばしば必要とし得る。これは、ローカルの開発マシンには重荷となる。
さらに、そのようなソフトウエア開発環境のユーザーは、他人にプロジェクトを電子メール送信することまたはソースコードを管理するバージョンコントロールシステムを使用することにより、サードパーティのコード共有メカニズムを使用することなく、簡単に友人および/または同僚と自分の仕事を共有することができる。プロジェクトを電子メール送信することに関する1つの問題は、関与するソースコードファイルがしばしば大量であり、電子メールの受信者は、彼らのコンピュータにもインストールされたソフトエア開発アプリケーションを持たなければならないことである。バージョンコントロールシステムに関する1つの問題は、それらはしばしばシッククライアントインストールにもまた限定され、会社のセキュリティ制約のために、同じ特別な会社の同僚からのみ典型的にはアクセスされ得る。
さまざまなテクノロジーおよび技術がシンクライアントソフトウエア開発環境を提供することが開示される。サーバーベースのソフトウエア開発アプリケーションは、クライアントコンピュータにおけるシンクライアントユーザーインターフェースでディスプレイされるよう動作可能であるように提供される。サーバーベースの開発アプリケーションは、サーバーベースのコンパイラを備え、それは、しばしばリソース集約的であり得るコンピレーションタスクを取り扱う。インプット(入力)はクライアントコンピュータから受信されて、サーバーベースのソフトウエア開発アプリケーションを使用して、ソフトウエア開発プロジェクトと相互作用する。ソフトウエア開発プロジェクトがソフトウエア開発アプリケーションからアクセス可能なロケーションにストアされる。コンパイル選択は、クライアントコンピュータから受信されて、サーバーベースのソフトウエア開発アプリケーションを使用してソフトウエア開発プロジェクトをコンパイルする。クライアントコンピュータからのコンパイル選択に応答して、コンパイルされたアプリケーションは、サーバーベースのソフトウエア開発アプリケーションで生成され、ファイルダウンロード機能を利用して、クライアントコンピュータに提供される。
ある実施において、コマンド完了、シンタックスカラーリング、およびパラメータヘルプなどのさまざまな開発機能が、シンクライアントユーザーインターフェースにおいてユーザーに提供されて、いくらかの非限定的な例示を指定する。他の実施では、共有機能は、ソフトウエア開発プロジェクトが異なるコンピュータから複数のユーザーによりアクセスされて、ユーザーが修正をレビューし、および/またはプロジェクトにコメントすることを可能としている。1つまたは複数のセキュリティ設定は、1または複数のユーザーによるプロジェクトへのアクセスを制御し得る。ある実施において、プロジェクトを作成したユーザーは、そのプロジェクトにアクセスできるユーザーを制御する。
ここの記述は、詳細な説明において以下にさらに記述される単純化された形式でコンセプトの選択を導入するように提供される。ここの記述は、特許請求の範囲に記載された主題のキーとなる特徴または必須の特徴を識別するようには意図されておらず、特許請求の範囲に記載された主題の範囲を判断する手段として使用されることも意図されていない。
コンピュータシステムの一実施形態を示す図である。 図1のコンピュータシステムで動作するサーバーベースのソフトウエア開発アプリケーションの一実施形態を示す図である。 シンクライアントユーザーインタフェースでアクセスされ得るサーバーベースのソフトウエア開発アプリケーションを提供することに関与する段階を図示する、図1のシステムの一実施形態についてのプロセスフロー図である。 シンクライアントソフトウエア開発プロジェクト共有機能の使用に関与する段階を図示する、図1のシステムの一実施形態についてのプロセスフロー図である。 シンクライアントユーザーインタフェースにおいてアクセス可能なサーバーベースのソフトウエア開発アプリケーションの提供に関与するコンポーネントを図示する、図1のシステムの一実施形態を示すロジカル図である。 ユーザーがプロジェクトを作成するかまたは存在するプロジェクトを継続することを可能とするサーバーベースのソフトウエア開発アプリケーションのためのシンクライアントユーザーインタフェースを図示する、図1のシステムの一実施形態のシミュレーション画面を示す図である。 ユーザーがソースコードを記述し、ソースコードをコンパイルし、結果を見ることを可能とするサーバーベースのソフトウエア開発アプリケーションのシンクライアントユーザーインタフェースを図示する、図1のシステムの一実施形態のシミュレーション画面を示す図である。
本発明の原理の理解を促進する目的で、図面に表された実施形態が参照され、特定の言語が同様のものを記述するために使用される。それでも、その範囲は限定されることは意図されていないことを理解されたい。記述された実施形態におけるいずれの選択およびさらなる修正も、原理のさらなる適用も、ここで記載されたものとして当業者には解釈されるであろう。
システムは、一般的状況においては、ソフトウエア開発アプリケーションとして記述されるが、これらに加えて、システムは他の目的をも提供し得る。ある実施においては、ここで記述される1または複数の技術が、マイクロソフト(商標)Visual Studio、Eclipse、または1もしくは複数のオペレーティングシステムプラットフォームのソフトウエアをユーザーが作成することを可能にする、他のいずれかの種類のプログラムまたはサービスなどのソフトウエア開発プログラム内の機能として実現され得る。ある実施において、サーバーベースのソフトウエア開発アプリケーションは、シンクライアントユーザーインタフェースにおいてユーザーからアクセス可能に提供される。サーバーベースのコンパイラが編集および他のリソース集約的タスクを実行し、ユーザーのコンピュータは実行する必要がない。ある特定のユーザーのソフトウエア開発プロジェクトのファイルは、選択的に複数のユーザーで共有されることができる。
図1に示されるように、1または複数のシステム部分を実施するために使用する例示的コンピュータシステムは、コンピューティングデバイス100および/または130などの1つ又は複数のコンピューティングシステムを含む。その一番基本的な構成では、コンピューティングデバイス100および/または130は、少なくとも1つのプロセッシングユニット(それぞれ102と132)と、メモリ(それぞれ104と134)を典型的に含む。正確な構成およびコンピューティングデバイスのタイプによって、メモリ104または134は、(RAMなどの)揮発性、(ROM、フラッシュメモリなどの)不揮発性またはこれら2つのコンビネーションであり得る。この最も基本的な構成は、図1において、境界線106および136によって図示されている。
さらに、デバイス100および/または130は、追加的特徴/機能も備えていてもよい。例えば、デバイス100および/または130は、限定されないが、磁気的または光学的なディスクまたはテープを含む(リムーバブル(取り外し可能)および/非リムーバブル(取り外し不能))の追加的なストレージを含んでいてもよい。このような追加的なストレージは、リムーバブルストレージ(それぞれ108および138)および非リムーバブルストレージ(それぞれ110および140)によって図1に図示されている。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどのストレージ情報についてのあらゆる方法または技術で実現される揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含んでいる。メモリ104および134、リムーバブルストレージ108および138、ならびに非リムーバブルストレージ110および140は、全てコンピュータストレージ媒体の例示である。コンピュータストレージ媒体は、限定されないが、RAM、ROM、EERPOM、フラッシュメモリ、またはたのメモリ技術、CD−ROM、DVD(digital versatile disks)または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはデバイス100および/または130からアクセスされ得る所望の情報をストアするために使用され得る他の磁気ストレージデバイスを含む。このようなコンピュータストレージ媒体は、デバイス100および/または130の部分からアクセスされ得る。
コンピューティングデバイス100および/または130は、コンピューティングデバイス100および/または130が、互いにおよび/または1つまたは複数のコンピューティングデバイス(それぞれ150、160および170)と通信することを可能にする1つまたは複数の通信接続を含んでいる。通信接続114および144は、通信媒体の例示である。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは搬送波または他の搬送メカニズムなどの変調されたデータ信号の形態の他のデータを典型的には含んでおり、いずれの情報伝送媒体をも含む。「変調されたデータ信号」との用語は、1または複数の特徴のセットを有し、または情報を信号の形態にエンコードする方法で変換された信号を意味する。例示の方法で、限定でないが、通信媒体は、有線のネットワーク又は直接接続などの有線媒体と、アコースティック、RF、赤外線、および他の無線媒体などの無線媒体とを含む。ここで使用されるコンピュータ可読媒体との用語は、ストレージ媒体および通信媒体の両方を含む。
ある実施において、コンピューティングデバイス100は、通信手段114およびネットワークを介した通信手段144を使用して、サーバーコンピュータ130と通信するクライアントコンピュータである。この実施において、クライアントコンピューティングデバイス100のシンクライアント(例えばブラウザ)ユーザーインタフェース118は、(もしあれば)ユーザソフトウエア開発プロジェクトデータ150、および1または複数のソフトウエア開発タスクを実行するサーバーコンピューティングデバイス130上のサーバーベースのソフトウエア開発アプリケーション200にアクセスする。ユーザソフトウエア開発プロジェクトデータ150および/またはサーバーベースのソフトウエア開発アプリケーション200が、同じコンピュータまたは異なるコンピュータにストアされ得るが、明確さのために同じサーバーコンピューティングデバイス130上に表現されていることを認められたい。ある実施において、クライアントコンピューティングデバイス100のシンクライアントユーザーインタフェース118は、ブラウザベースのユーザーインタフェースであり、サーバーコンピューティングデバイス130はウェブサーバである。
コンピューティングデバイス100および130は、キーボード、マウス、ペン、音声インプットデバイス、タッチ入力デバイスなどのインプットデバイス(それぞれ114と134)を備えていてもよい。ディスプレイ、スピーカー、プリンタなどのアウトプットデバイス(それぞれ116と136)もまた含まれている。これらのデバイスは、周知であり、ここで詳細に論じる余地はない。
図1を参照しつつ図2に転じてみると、コンピューティングデバイス100で動作するサーバーベースのソフトウエア開発アプリケーション200が図示されている。サーバーベースのソフトウエア開発アプリケーション200は、コンピューティングデバイス上に存在するアプリケーションプログラムの1つである。しなしながら、サーバーベースのソフトウエア開発アプリケーション200は、1または複数のコンピュータ上のコンピュータ実行可能命令として、および/または図1に示されるよりも異なったバリエーションで、選択的にまたは付加的に実施され得る。選択的にまたは追加的に、サーバーベースのソフトウエア開発アプリケーション200の1または複数の部分は、システムメモリ104の部分、他のコンピュータおよび/またはアプリケーション115、またはコンピュータソフトウエア技術においてそれを引き起こす他のバリエーションであり得る。
サーバーベースのソフトウエア開発アプリケーション200は、プログラムロジック204を含んでおり、それはここで記述する技術のいくらかまたは全てを実行する能力がある。プログラムロジック204は、少なくとも1つのクライアントコンピュータ上のシンクライアントユーザーインタフェースの形態で表示されるよう動作できるサーバーベースのソフトウエア開発アプリケーションを提供するロジック206と、開発アプリケーションの部分としてのサーバーベースのコンパイラを提供するためのロジックであって、コンパイラはコンピレーションを要求するクライアントコンピュータに基づいて1又は複数のコンパイルされたファイルを特定の目標に提供するよう動作できる、ロジック208と、シンクライアントユーザーインタフェースを使用して少なくとも1つのクライアントコンピュータからの入力を受け取って開発アプリケーションにアクセスするロジック210と、クライアントコンピュータがサーバーベースのソフトウエア開発アプリケーションにアクセスしたときに、クライアントコンピュータによって作られる少なくとも1つのユーザープロジェクトをストアするロジック212と、プロジェクトのセキュリティ設定の組(set)に基づいて、ユーザープロジェクトが1または複数のユーザーに利用(例えばレビュー、編集、および/またはコメント作成)可能とするロジック214と、コマンド完了、シンタックスカラーリング、およびパラメータヘルプなどの複数の開発機能を提供するロジック216と、アプリケーションを操作する他のロジック220とを含む。
図1および2を参照しつつ、図3および4に転じてみると、サーバーベースのソフトウエア開発アプリケーションの1または複数の実行を実現する段階200は、さらに詳細に記述される。図3は、シンクライアントユーザーインタフェースにおいてアクセスされることが可能なサーバーベースのソフトウエア開発アプリケーションを提供する段階200を図示するフローチャートである。1つの形態において、図3のプロセスは、少なくとも部分的にコンピューティングデバイス100の動作ロジックにおいて実現される。処理手続きは、スタートポイント204で開始し、クライアントコンピュータ上のシンクライアントユーザーインタフェースの形態で表示されるよう動作することができるサーバーベースのソフトウエア開発アプリケーションを提供する(段階242)。ある実施において、シンクライアントユーザーインタフェースは、AJAXまたは他の技術に基づくいくらかのコマンドを使用するオペレーティングシステムプラットフォームの種類のものからウェブブラウザでアクセス可能である。ある実施において、コマンド完了、シンタックスカラーリング、およびパラメータヘルプなどの開発機能が提供され、いくらかの非限定的例示を指定する(段階242)。選択的または追加的に、シンクライアントユーザーインタフェースが適正に機能するまえに、1又は複数のウェブコンポーネントは、サーバーベースの開発アプリケーションから特定のクライアントコンピュータに最初にダウンロードされる。サーバーベースのソフトウエア開発アプリケーションは、約1ギガバイトのサーバーストレージスペースを占有し得る(段階242)。
インプットは、クライアントコンピュータから受信され、ソフトウエア開発アプリケーションを使用して、ソフトウエア開発プロジェクトと相互作用する(段階244)。ソフトウエア開発プロジェクトは、(例えばサーバーコンピュータ、クライアントコンピュータなどに)ストアされ、ソフトウエア開発アプリケーションによりアクセス可能である(段階246)。ソフトウエア開発プロジェクトは、1または複数のユーザーが所有し得るそのプロジェクトに対するアクセス権限(読み出しのみ可能、読み書き可能、コピー保護されているなど)を規定する1または複数のセキュリティ設定を選択的に備えることができる(段階248)。ある実施において、プロジェクトを作成できるユーザーは、アクセス権限を制御するセキュリティ設定を修正することができる(段階248)。選択的または追加的に、プロジェクトマネージャーまたはネットワークアドミニストレータなどの)他のユーザーは、許可が認証され、1または複数のプロジェクトのセキュリティ設定を修正することができる。
コンパイル選択は、ソフトウエア開発アプリケーションを使用して、クライアントコンピュータから受信されて、ソフトウエア開発プロジェクトをコンパイルする(段階250)。コンパイルされたアプリケーション(または1もしくは複数のコンポーネント)がサーバーベースのコンパイラによってソフトウエア開発アプリケーションで生成される(段階252)。ここで使用する「コンパイル」との用語は、EXE(executable)ファイル、DLL(dynamic link library)、コントロール、プラグインなどの実行可能フォーマットにソースコードを変換することとして定義される。コンパイルされたアプリケーションは、(クライアントコンピュータまたは他のコンピュータなどの)目的のコンピュータに提供される、例えばダウンロードで利用可能な1または複数のファイル(実行可能ファイル、DLL、プラグイン、コントロールなど)を作成することなどである(段階254)。選択的または追加的に、コンパイラによって生成されたファイルは、サーバーによって自動的に展開され得る、例えばウェブパートまたはウェブアプリケーション拡張開発は関係し、非限定的な例示を指定する。コンパイルされた1または複数のファイルについての他のファイルのダウンロードおよび/またはファイル展開のシナリオは、ソフトウエアの当業者が当然思いつくものであり得る。プロセスは終了ポイントで終了する256。図4は、機能を共有するシンクライアントソフトウエア開発プロジェクトを使用して、関与する段階のある実施を図示する。ひとつの形態において、図4のプロセスは、コンピュータデバイス100の動作ロジックで少なくとも部分的に実行される。処理手順は、開始ポイント270において開始し、サーバーベースのコンパイラを有するサーバーベースのソフトウエア開発アプリケーションを提供する(段階272)。サーバーベースのソフトウエア開発アプリケーションは、(適正なログイン認証が受信された後、クライアントコンピュータアクセスを可能とするなどの)シンクライアントユーザーインタフェースを介して、複数のクライアントコンピュータからアクセス可能である(段階272)。サーバーベースのソフトウエア開発アプリケーションを使用して、第1のクライアントコンピュータからインプットが受信されて、ソフトウエア開発プロジェクトを作成する(および選択的にどのユーザーがプロジェクトにアクセスできるかを規定するセキュリティ設定を受信する)(段階274)。ソフトウエア開発プロジェクトは、(例えば同一のまたは異なるコンピュータにおける)サーバーベースのソフトウエア開発アプリケーションからアクセス可能であるストレージロケーションにストアされる(段階276)。インプットは、第2のクライアントコンピュータから受信されて、ソフトウエア開発プロジェクトをアクセスする(段階278)。ソフトウエア開発プロジェクトは、第2のクライアントコンピュータに提供される(段階280)。ソフトウエア開発アプリケーションは、プロジェクトとともにストアされたコメントおよび/または修正を、第2のコンピュータから選択的に受信する(段階280)。プロセスは終了ポイントで終了する282。
図5は、シンクライアントユーザーインタフェースにおいてアクセス可能であるサーバーベースのソフトウエア開発アプリケーションを提供すること400(図1および2では200)に関連するコンポーネントを図示する図1のシステムの1つの実施についてのロジカルブロック図である。クライアントコンポーネント402およびサーバーコンポーネント404が示されている。クライアントコンポーネントは、シンクライアントユーザーインタフェース406を含んでいる、それは例えばマイクロソフト(商標)Internet Explorer, Firefoxなどのブラウザなどである。シンクライアントユーザーインタフェース406は、いくらかの機能を実現するAtlas、または他のAJAXライブラリなどを使用することができる。サーバーコンポーネント404は、シンタックスカラーリング408と、コマンド完了410と、パラメータヘルプ412と、ウェブレイヤー414と、開発環境バックエンド416とを含んでいる。シンタックスカラーリング408と、コマンド完了410と、パラメータヘルプ412とは、サーバーベースのソフトウエア開発アプリケーションにより提供される開発機能の種類の非限定的な例示にすぎない。ウェブサービスレイヤーは、開発環境バックエンド416およびシンクライアント406の間に生ずる通信を可能にする機能を参照する。開発環境バックエンド416は、アプリケーションの機能を提供する能力があり、これは例えばプロジェクトコンテキスト(文脈)、セマンティックコンテキスト、シンタックスカラーリングなどである。
図6は、ユーザーがプロジェクト434を作成しまたは存在するプロジェクト432を継続することを可能とするサーバーベースのソフトウエア開発アプリケーションについてのシンクライアントユーザーインタフェースを図示する図1のシステムの1つの実施についてのシミュレーションされたスクリーン430である。図7は、ユーザーがソースコード458を記述し、組み込まれた機能452を使用してソースコードをコンパイルすることと、コンピレーションウインドウ460でコンパイル結果をみることを可能とし、サーバーベースのソフトウエア開発アプリケーションについてのシンクライアントユーザーインタフェースを図示する図1のシステムの1つの実施についてのシミュレーションされたスクリーン450である。プロジェクトは、保存オプション452を使用して保存され、他のユーザーが共有オプションを使用して他のユーザーと選択的に共有することができる。コマンド完了機能462は、「コンソール」との用語のあとに示されて、コマンドを完了するさまざまなオプションを示す。明確さを失わないために示さないが、シンタックスカラーリングは、異なるタイプのシンタックスのカラーに変更されて、ユーザーが容易に区別できるようにするように使用可能である。1つの非限定的な例示が、実際のコマンドとは異なる色のコメントを提供することである。パラメータヘルプは、ユーザーがその手順のコールを記述することを終了するのを助けるために、例えば所与のプロシジャーコールがどんなパラメータを受け入れるかをユーザーに示すことをもまた提供することができる。
構造的特徴および/または方法的行為に特有な言語で主題が記述されてきたが、添付の特許請求の範囲に記載された主題は、特有の特徴または上述した行為に限定される必要がない。むしろ、特有の特徴および上述の行為は、特許請求の範囲の実施の例示形態として開示される。ここでおよび/または添付の特許請求の範囲により記述された実施の精神の範囲内の全ての均等物、変更、または修正は保護を要求する。
例えば、コンピュータソフトウエア分野における当業者は、ここで議論した例示において記述された、クライアントおよび/またはサーバーの配置、ユーザーインタフェース画面の内容および/またはデータ配置は、1つまたは複数のコンピュータで異なって構成されて、実施形態で記述したよりも少ないかまたは追加のオプションまたは特徴を含むことを理解するだろう。

Claims (18)

  1. シンクライアント開発環境を提供する方法であって、前記方法は、
    クライアントコンピュータにおいてシンクライアントユーザーインタフェースの形態で表示されるよう動作可能なサーバーベースのソフトウエア開発アプリケーションを提供すること(242)と、
    サーバーベースのソフトウエア開発アプリケーションを使用した、第1のクライアントコンピュータからのインプットを受信して、ソフトウエア開発プロジェクトと相互作用すること(244)と、
    サーバーベースのソフトウエア開発アプリケーションを使用した、第1のクライアントコンピュータからのコンパイル選択を受信して、ソフトウエア開発プロジェクトをコンパイルすること(250)と、
    サーバーベースのソフトウエア開発アプリケーションでコンパイルされたアプリケーションを生成すること(252)と、
    コンパイルされたアプリケーションを目標のコンピュータに提供すること(254)と、
    第1のクライアントコンピュータからのインプットを受信して、ソフトウエア開発プロジェクトを作成することと(274)、
    第1のクライアントコンピュータおよび第2のクライアントコンピュータのそれぞれのサーバーベースのソフトウエア開発アプリケーションからアクセス可能であるストレージロケーションに前記作成したソフトウエア開発プロジェクトをストアすることと(276)、
    第2のクライアントコンピュータのサーバーベースのソフトウエア開発アプリケーションを使用した、前記作成したソフトウエア開発プロジェクトへのアクセスを可能として(278)、前記作成したソフトウエア開発プロジェクトを第2のクライアントコンピュータに提供する(280)ことと、を含み、
    前記作成したソフトウエア開発プロジェクトを第2のクライアントコンピュータに提供する(280)ことは、プロジェクトとともにストアされたコメントおよび/または修正を、第2のコンピュータから選択的に受信することを含むことを特徴とする方法。
  2. コンパイルされたアプリケーションは、ダウンロードのための少なくとも1つのファイルを作成することによって、目標のコンピュータに提供されることを特徴とする請求項1に記載の方法。
  3. 少なくとも1つのファイルが実行可能プログラムを含む(254)ことを特徴とする請求項1に記載の方法。
  4. 前記目標のコンピュータは、クライアントコンピュータである(254)ことを特徴とする請求項1に記載の方法。
  5. サーバーベースのソフトウエア開発アプリケーションは、複数のオペレーティングシステムプラットフォームについての開発をサポートする(252)ことを特徴とする請求項1に記載の方法。
  6. 前記ソフトウエア開発プロジェクトがサーバーコンピュータにストアされるよう動作可能である(246)ことを特徴とする請求項1に記載の方法。
  7. 前記ソフトウエア開発プロジェクトは、クライアントコンピュータにストアされるよう動作可能である(246)ことを特徴とする請求項1に記載の方法。
  8. サーバーベースのソフトウエア開発アプリケーションは、サーバー上で少なくとも1ギガバイト以上のストレージ空間を占有し、複数のソフトウエア開発機能を提供する(242)ことを特徴とする請求項1に記載の方法。
  9. サーバーベースのソフトウエア開発アプリケーションは、クライアントコンピュータに、コマンド完了、シンタックスカラーリング、およびパラメータヘルプからなるグループから選択される開発機能を提供する(242)ことを特徴とする請求項1に記載の方法。
  10. サーバーベースのソフトウエア開発アプリケーションは、AJAX技術に基づいた少なくともいくらかのコマンドを使用して、シンクライアントユーザーインタフェースを提供するよう動作可能である(242)ことを特徴とする請求項1に記載の方法。
  11. コンピュータに、請求項1に記載のステップを実行させるコンピュータ実行可能命令を記録したコンピュータ可読記録媒体。
  12. コンピュータに、
    第1のクライアントコンピュータおよび第2のクライアントコンピュータのそれぞれに、シンクライアントユーザーインタフェースの形態で表示されるよう動作可能なサーバーベースのソフトウエア開発アプリケーションを提供する(206)ステップであって、サーバーベースのソフトウエア開発アプリケーションは、サーバーベースのコンパイラを含む(208)、ステップと、
    第1のクライアントコンピュータからのインプットを受信して、ソフトウエア開発プロジェクトを作成するステップと、
    第1のクライアントコンピュータおよび第2のクライアントコンピュータのそれぞれのサーバーベースのソフトウエア開発アプリケーションからアクセス可能であるストレージロケーションに前記作成したソフトウエア開発プロジェクトをストアするステップと、
    第2のクライアントコンピュータのサーバーベースのソフトウエア開発アプリケーションを使用した、前記作成したソフトウエア開発プロジェクトへのアクセスを可能として、前記作成したソフトウエア開発プロジェクトを第2のクライアントコンピュータに提供するステップと、
    を実行させるコンピュータ実行可能命令を記録したコンピュータ可読記録媒体であって、
    前記作成したソフトウエア開発プロジェクトを第2のクライアントコンピュータに提供する(280)ことは、プロジェクトとともにストアされたコメントおよび/または修正を、第2のコンピュータから選択的に受信することを含むことを特徴とするコンピュータ可読記録媒体。
  13. サーバーベースのソフトウエア開発アプリケーションは、コマンド完了、シンタックスカラーリング、およびパラメータヘルプからなるグループから選択される開発機能を提供するようさらに動作可能である(216)ことを特徴とする請求項12に記載のコンピュータ可読記録媒体。
  14. サーバーベースのコンパイラを備えたサーバーベースのソフトウエア開発アプリケーションを提供するステップであって、前記ソフトウエア開発アプリケーションは、シンクライアントユーザーインタフェースを介して複数のクライアントコンピュータからアクセス可能である(272)、ステップと、
    サーバーベースのソフトウエア開発アプリケーションを使用して、複数のクライアントコンピュータのうちの第1のクライアントコンピュータからのインプットを受信して、ソフトウエア開発プロジェクトを作成する(274)ステップと、
    複数のクライアントコンピュータのうちの第2のクライアントのサーバーベースのソフトウエア開発アプリケーションからアクセス可能なストレージロケーションに前記作成したソフトウエア開発プロジェクトをストアする(276)ステップと、
    前記第2のクライアントコンピュータからのインプットを受信して、前記作成したソフトウエア開発プロジェクトにアクセスする(278)ステップと、
    前記作成したソフトウエア開発プロジェクトを第2のクライアントコンピュータに提供する(280)ステップとを含み、
    前記作成したソフトウエア開発プロジェクトを第2のクライアントコンピュータに提供する(280)ことは、プロジェクトとともにストアされたコメントおよび/または修正を、第2のコンピュータから選択的に受信することを含むことを特徴とする、サーバーベースのソフトウエア開発プロジェクト共有のための方法。
  15. ソフトウエア開発プロジェクトに関連して第2のクライアントコンピュータからコマンドを受信し、コマンドはソフトウエア開発プロジェクトと共にストアされる(280)ことを特徴とする請求項14に記載の方法。
  16. サーバーベースのソフトウエア開発アプリケーションにアクセスする前に、第1のクライアントコンピュータおよび第2のクライアントコンピュータは、適正なログイン権限の提供を要求される(272)ことを特徴とする請求項14に記載の方法。
  17. サーバーベースのソフトウエア開発アプリケーションは、第1のユーザーが、複数のユーザーのいずれかのユーザーがプロジェクトへの1つまたは複数のアクセス権を有するかを規定することを可能とする(274)ことを特徴とする請求項14に記載の方法。
  18. 請求項14に記載されたステップをコンピュータに実行させるコンピュータ実行可能命令を記録した(200)ことを特徴とするコンピュータ可読記録媒体。
JP2009534749A 2006-10-27 2007-10-05 シンクライアントソフトウエア開発環境 Active JP5264748B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/588,745 US8453104B2 (en) 2006-10-27 2006-10-27 Thin client software development environment
US11/588,745 2006-10-27
PCT/US2007/080546 WO2008051695A1 (en) 2006-10-27 2007-10-05 Thin client software development environment

Publications (2)

Publication Number Publication Date
JP2010508580A JP2010508580A (ja) 2010-03-18
JP5264748B2 true JP5264748B2 (ja) 2013-08-14

Family

ID=39324917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009534749A Active JP5264748B2 (ja) 2006-10-27 2007-10-05 シンクライアントソフトウエア開発環境

Country Status (9)

Country Link
US (1) US8453104B2 (ja)
EP (1) EP2080112A4 (ja)
JP (1) JP5264748B2 (ja)
KR (1) KR101424303B1 (ja)
CN (1) CN101529414B (ja)
BR (1) BRPI0716149A2 (ja)
CA (1) CA2666976A1 (ja)
RU (1) RU2469385C2 (ja)
WO (1) WO2008051695A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7954135B2 (en) * 2007-06-20 2011-05-31 Novell, Inc. Techniques for project lifecycle staged-based access control
US8365153B2 (en) * 2007-10-26 2013-01-29 Qualcomm Incorporated Server-based code compilation
US20090119300A1 (en) * 2007-11-01 2009-05-07 Sun Microsystems, Inc. Technique for editing centralized digitally encoded information
US9117071B2 (en) * 2009-06-03 2015-08-25 Apple Inc. Methods and apparatuses for secure compilation
US8677329B2 (en) 2009-06-03 2014-03-18 Apple Inc. Methods and apparatuses for a compiler server
KR101316677B1 (ko) * 2009-12-17 2013-10-10 한국전자통신연구원 사용자 인터페이스 가상화에 의한 어플리케이션 서비스 시스템 및 방법
US9116778B2 (en) 2010-04-29 2015-08-25 Microsoft Technology Licensing, Llc Remotable project
US8627280B2 (en) * 2011-06-20 2014-01-07 Microsoft Corporation Multi-tenant collaborative review service
US9049174B2 (en) 2011-08-09 2015-06-02 Mobileframe, Llc Maintaining sessions in a smart thin client server
US20130042312A1 (en) * 2011-08-09 2013-02-14 Mobileframe Llc Authentication in a smart thin client server
US9053444B2 (en) 2011-08-09 2015-06-09 Mobileframe, Llc Deploying applications in a smart thin client server
CN102541609B (zh) * 2012-02-17 2014-07-02 北京星网锐捷网络技术有限公司 安装程序制作方法、装置及网络设备
US9075913B2 (en) 2012-02-27 2015-07-07 Qualcomm Incorporated Validation of applications for graphics processing unit
ES2606175T3 (es) 2012-11-30 2017-03-23 Accenture Global Services Limited Red de comunicaciones, arquitectura de ordenador, método implementado en ordenador y producto de programa de ordenador para el desarrollo y la administración de aplicaciones basadas en femtoceldas
KR101539968B1 (ko) * 2012-12-20 2015-07-29 슈어소프트테크주식회사 어플리케이션 실행 제어 방법 및 어플리케이션 실행 여부 판별 방법과 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
US9134962B1 (en) 2013-03-15 2015-09-15 Sanctum Solutions, Inc. Interactive content development
US9684505B2 (en) 2013-06-12 2017-06-20 Mitsubishi Electric Corporation Development environment system, development environment apparatus, development environment providing method, and program
US20150334190A1 (en) * 2014-05-13 2015-11-19 Yoram Bucks Cloud Side Application
CA3009166A1 (en) * 2015-12-21 2017-06-29 Ciambella Ltd. Method and apparatus for creating and managing controller based remote solutions
DE102016110939B3 (de) * 2016-06-15 2017-10-05 Phoenix Contact Gmbh & Co. Kg Datenorganisationsverfahren und Entwicklungsumgebungssystem
CN106775907A (zh) * 2016-11-22 2017-05-31 福建中金在线信息科技有限公司 一种Java项目开发环境搭建方法及装置
US11805125B2 (en) * 2021-05-26 2023-10-31 Microsoft Technology Licensing, Llc Task based access rights control

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10214181A (ja) 1997-01-31 1998-08-11 Toshiba Corp 分散アプリケーション開発支援方法及び装置
US6158044A (en) * 1997-05-21 2000-12-05 Epropose, Inc. Proposal based architecture system
RU2237275C2 (ru) * 1999-02-18 2004-09-27 Ситрикс Системз, Инк. Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер
AU2001249621A1 (en) 2000-03-31 2001-10-15 Siebel Systems, Inc. Thin client method and system for generating page delivery language output from applets, views, and screen definitions
WO2002023308A2 (en) 2000-09-12 2002-03-21 Viaken Systems, Inc. Techniques for providing and obtaining research and development information technology on remote computing resources
US20020078255A1 (en) 2000-10-17 2002-06-20 Shankar Narayan Pluggable instantiable distributed objects
US6944860B2 (en) * 2001-01-16 2005-09-13 Sun Microsystems, Inc. Method and apparatus for representing and encapsulating active computing environments
US7000220B1 (en) 2001-02-15 2006-02-14 Booth Thomas W Networked software development environment allowing simultaneous clients with combined run mode and design mode
US7546576B2 (en) * 2001-06-15 2009-06-09 Lightsurf Technology, Inc. Software framework for web-based applications
US20030014442A1 (en) * 2001-07-16 2003-01-16 Shiigi Clyde K. Web site application development method using object model for managing web-based content
US20030065715A1 (en) 2001-08-20 2003-04-03 Burdick William R. System and method of a wireless thin-client, server-centric framework
US20030046557A1 (en) 2001-09-06 2003-03-06 Miller Keith F. Multipurpose networked data communications system and distributed user control interface therefor
KR100490401B1 (ko) 2002-03-26 2005-05-17 삼성전자주식회사 TC(Thin-Client)환경에서 영상 처리 장치 및 방법
CA2391756A1 (en) * 2002-06-26 2003-12-26 Ibm Canada Limited-Ibm Canada Limitee Accessing a remote iseries or as/400 computer system from the eclipse integrated development environment
US20040031017A1 (en) * 2002-08-12 2004-02-12 Shankar Vaidyanathan System and method for context-sensitive help in a design environment
US7213228B2 (en) * 2003-03-17 2007-05-01 Macrovision Corporation Methods and apparatus for implementing a remote application over a network
EP1465069B1 (en) * 2003-04-01 2017-01-25 Sap Se Method and computer system for activation of source files
US7596778B2 (en) * 2003-07-03 2009-09-29 Parasoft Corporation Method and system for automatic error prevention for computer software
US20050021756A1 (en) 2003-07-26 2005-01-27 Grant Bruce K. Method of developing, delivering and rendering network applications
KR100546742B1 (ko) 2003-09-04 2006-01-26 한국전자통신연구원 타겟 시스템 기반 소스 프로그램 개발장치 및 방법
US7685257B2 (en) 2003-11-10 2010-03-23 Sun Microsystems, Inc. Portable thin client for the enterprise workspace
US20050108023A1 (en) 2003-11-13 2005-05-19 Chris Hemmings Methods and systems for producing and/or distributing electronic publications
US7293232B2 (en) * 2003-11-26 2007-11-06 Microsoft Corporation Source code editor for editing multilanguage documents
US20050197157A1 (en) 2004-02-13 2005-09-08 Wendong Li System enabling easy application development on mobile devices
US7890926B2 (en) 2005-01-04 2011-02-15 Vaakya Technologies Private Limited System and method for application development and deployment
US7734686B2 (en) 2005-01-25 2010-06-08 International Business Machines Corporation Markup method for managing rich client code and experiences using multi-component pages
US7730157B2 (en) 2005-02-03 2010-06-01 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for displaying information on a thin-client in communication with a network
US8037452B2 (en) * 2005-04-15 2011-10-11 Microsoft Corporation Task aware source checkin and build
US8302070B2 (en) * 2006-07-12 2012-10-30 International Business Machines Corporation Output styling in an IDE console
US7861213B2 (en) * 2006-09-05 2010-12-28 Oracle International Corporation Mechanism for developing AJax applications using java swing framework and method for using the same
US20090125880A1 (en) * 2007-11-12 2009-05-14 Microsoft Corporation Polymorphic software architecture
US8239824B2 (en) * 2009-05-18 2012-08-07 National Instruments Corporation Developing a graphical data flow program with multiple models of computation in a web browser

Also Published As

Publication number Publication date
KR20090073177A (ko) 2009-07-02
EP2080112A4 (en) 2009-11-18
EP2080112A1 (en) 2009-07-22
CN101529414B (zh) 2010-12-08
CA2666976A1 (en) 2008-05-02
JP2010508580A (ja) 2010-03-18
US8453104B2 (en) 2013-05-28
RU2469385C2 (ru) 2012-12-10
KR101424303B1 (ko) 2014-08-06
WO2008051695A1 (en) 2008-05-02
CN101529414A (zh) 2009-09-09
US20080127135A1 (en) 2008-05-29
BRPI0716149A2 (pt) 2013-09-17
RU2009115662A (ru) 2010-10-27

Similar Documents

Publication Publication Date Title
JP5264748B2 (ja) シンクライアントソフトウエア開発環境
US11216256B2 (en) Determining based on static compiler analysis that execution of compiler code would result in unacceptable program behavior
US9223568B2 (en) Designing and cross-configuring software
US8296721B2 (en) Template-based software development
TWI528288B (zh) 一種跨平臺轉換應用代碼的方法及裝置
US20200065124A1 (en) Shortening just-in-time code warm up time of docker containers
US20070016696A1 (en) Method, System, and Software Tool for Emulating a Portal Application
US20070073724A1 (en) System and method for automatic or semi-automatic software integration
US20120102471A1 (en) Generating specifications of client-server applications for static analysis
JP2008533598A (ja) オントロジを組み込むリソース・オーサリング
US10289397B2 (en) Silent installation of software with dependencies
JP2015201196A (ja) メディア構成アプリケーションにないプラグインの自動検出およびロード
JP2014071899A (ja) ソフトウェア開発方法及びそのためのシステム
JP5108773B2 (ja) 宣言的に定義されるコントロールアクション
US20170286064A1 (en) Projection of build and design-time inputs and outputs between different build environments
US9734160B1 (en) Virtual file system for hosted network sites
KR101987183B1 (ko) 프론트-앤드 개발을 지원하는 앱 저작 장치, 앱 저작 도구를 사용한 앱 저작 방법 및 앱 개발 서버
KR20190112491A (ko) 애플리케이션 변환 장치 및 방법
Wadhwa Exploring Ubuntu Touch OS: privacy, performance, and private server integration
JP7231823B2 (ja) プログラム、情報処理システム及びその制御方法
Tsadok et al. Testing Is Caring
KR101084662B1 (ko) Ria 어플리케이션 실행 방법 및 ria 컴포넌트 다중 버전 지원 방법
Sun et al. Model-based testing of web service with EFSM
Arundel Puppet 2.7 Cookbook
Caleb Flash iOS Apps Cookbook

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130430

R150 Certificate of patent or registration of utility model

Ref document number: 5264748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250