JP2008533549A - アプリケーション開発及び展開のためのシステム及び方法 - Google Patents

アプリケーション開発及び展開のためのシステム及び方法 Download PDF

Info

Publication number
JP2008533549A
JP2008533549A JP2007550021A JP2007550021A JP2008533549A JP 2008533549 A JP2008533549 A JP 2008533549A JP 2007550021 A JP2007550021 A JP 2007550021A JP 2007550021 A JP2007550021 A JP 2007550021A JP 2008533549 A JP2008533549 A JP 2008533549A
Authority
JP
Japan
Prior art keywords
application
web portal
user
computing system
client computing
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
JP2007550021A
Other languages
English (en)
Inventor
バラタンダパニ,コンガルナガルプドゥル・ラマサミー
ムラリダラン,カンチ・ラクシュミナラシマン
Original Assignee
ヴァークヤ・テクノロジーズ・プライヴェイト・リミテッド
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 ヴァークヤ・テクノロジーズ・プライヴェイト・リミテッド filed Critical ヴァークヤ・テクノロジーズ・プライヴェイト・リミテッド
Publication of JP2008533549A publication Critical patent/JP2008533549A/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本発明は、ウェブポータル上でのアプリケーション開発のシステム及び方法に関する。1つの実施形態では、ユーザがウェブポータルへログオンすると、アプリケーションを書くこと、アプリケーションをコンパイルすること、そしてアプリケーションをテストすることを選択する様々なツールが提供される。アプリケーションの開発プロセスが完了した後、ユーザは、ウェブポータル上にアプリケーションを格納し、ウェブポータルのサービスを利用するか、自分のコンピュータにアプリケーションをダウンロードするかの何れかを選択することができる。ユーザはまた、多数のクライアントのためにサービスするサーバとして使用されるウェブポータルからアプリケーションを展開させるオプションも与えられる。これによって、展開中は、サーバリソースを使用し、インフラストラクチャの高コストを避けることができる。

Description

本発明は、一般に、アプリケーション開発環境の分野に関する。特に、最小のウェブポータル及びネットワークリソースを用いてウェブポータル上においてアプリケーションを書き込み、コンパイルし、テストし、展開するシステム及び方法に関する。
クライアント−サーバ環境と、スタンドアロン環境との両方においてアプリケーションを開発するために使用される幾つかの方法及びシステムが存在する。これら全ては、例えば、リソース利用性、アプリケーション開発のために異なるツールを使用する柔軟性、バックアップインフラストラクチャ、他の問題のような幾つかの欠点を有する。
技術の進展により、世界では、情報の普及及び共有が絶対的に重要であるユニポーラなコミュニティへ急激に変わりつつある。世界中のビジネスは、自分たちに限定されるニーズに最も効率的な方法で応じる機能及びソフトウェアを構築することによって、自分たちの収益を最大化することに注目している。エンタープライズリソースプランニング(ERP)及びカスタマリレーションシップマネジメント(CRM)は、そのようなアプリケーションを例示する。アプリケーション開発用のインフラストラクチャは、様々なソフトウェアリソース及びハードウェアリソースを要求する。ソフトウェアリソースは、自動化するためのツール及びユーティリティ、又はSDLCプロセスの多くを含む。ハードウェアリソースは、1つの形式、あるいはDumb端子、LAN、WAN、無線等の他の形式によって相互に接続された1つ以上のコンピュータを含む。
アプリケーション開発は、このように、大きな重要性を担っている。効果的なアプリケーション開発環境は、顧客満足を高め、効率を改善し、操作コストを低減することにより、企業の投資効率を大いに改善する。アプリケーションが、マルチタスクを実行する商業ベースにのったソフトウェアパッケージを作り出すように統合される場合、アプリケーション開発は重要性を担い、企業の付加価値となる。
ウェブ及びeビジネスの発展は、開発者にジレンマをもたらした。今や、開発者は、より少ない時間で、より複雑なアプリケーションを開発することが要求されている。そして、これは、自分たちの専門のニッチ領域を有するまとまった開発チームからなる協力的なアプリケーション開発環境を必要とする。これは、ソフトウェアを所有及び操作し、サーバを維持し、インターネットを経由したブラウザによって、あるいは、ある種のシンクライアントによって顧客に対してアプリケーションを利用可能にするアプリケーションサービスプロバイダの必然性を説明する。シンクライアントは、一般に、サーバ中心の計算モデルで動作する廉価な計算デバイスである。一般に、シンクライアントは、中央サーバ又はネットワークからアプリケーションにアクセスするため、最先端技術と、強力なプロセッサと、大量のメモリとを必要としない。アプリケーションサービスプロバイダは、低い加入コスト、極端に短いセットアップ時間、インストールしなければならない専用ソフトウェアのヘッドカウントや高い費用の省略により、小規模なビジネスや企業に対して特に魅力的である。
しかしながら、現在のアプリケーションサービスプロバイダの欠点は、アプリケーションテスト機能と展開機能の欠如である。これは、自己のカスタマイズされたアプリケーションの開発を望むが、タスクを実行するためのインフラストラクチャを有さない企業にとって重大である。開発者は、2つの選択肢を有し、プログラミングを行うために、個別の環境を使用することができる。アプリケーション開発の種類によって、スタンドアロン計算機、又は協力的な環境を用いて遂行される。
協力的なアプリケーション開発環境に対する必要性は、非常に望ましく、かつポピュラーなプラットフォームとして、インターネットを大いに普及させた。SourceForgeやFreshmeatのようなウェブポータルは、協力的アプリケーション開発のために様々なサービスを提供する。ユーザ及びプロジェクトグループは、SourceForgeによって提供されるツールを用いてアプリケーションを開発するため、ポータル上にスペースが割り当てられる。しかしながら、SourceForgeの欠点は、好みの言語及びツールを用いてウェブポータル上にプログラムするための柔軟性をユーザに与える、例えば、Visual C++、Oracle開発ツール、Java(登録商標)開発ツールのようなライセンスを受けたサードパーティツールが無いことである。更に、アプリケーション展開ツールやテストツールを備えていない。協力的アプリケーション開発ポータルは、コミュニティのために協力し、かつ、アプリケーションを開発するために、ユーザを呼び集める。
一般に、エンドユーザは、組織内の情報技術チームを有する。大型汎用計算機の時代には、同じ計算機上で開発と展開を行った。エンドユーザと開発者とが単一の計算機に接続されていた。リソース管理は、中央位置において取り扱われ、開発者とエンドユーザとは、ダム端末の助けを借りて接続される。
カスタムアプリケーションに関する開発は、専門のソフトウェア開発組織に外部委託された。しかしながら、デスクトップとサーバの到来により、開発者は、リソースを保持し、かつ、最終的な実行可能バージョンをエンドユーザに送る柔軟性を有する。柔軟性に加えて、リソースを管理する複雑さが加わった。また、アプリケーション開発者とエンドユーザとの間には、明確な境界がある。エンドユーザは、通常、完全に開発された包装製品を買ったユーザである。エンドユーザによって要求されるあらゆる変更、又は、アプリケーションのためのカスタマイズのあらゆる形態は、ベンダによって行われる。
しかしながら、SAP、PeopleSoftのような幾つかの会社は、予め構築されたコンポーネントを与え、エンドユーザは、自分たちのアプリケーションを自分たちの場所でカスタマイズする柔軟性を有する。
ソフトウェアZOPEを有するZope Corporationは、メンバが、例えばポータルのような動的なウェブアプリケーションと、イントラネットサイトとを、ウェブインタフェースを介して作成及び管理することを可能にする。しかしながら、Pythonに新たなZopeアドオンを書き込むことによって、新たなオブジェクトのみを作成することができる。それは、ユーザが選択した言語又は開発ツールを用いてプログラムする柔軟性がユーザに与えられた成熟した産業レベルのアプリケーション開発環境を提供しない。
今日では、利用可能な技術は、上述したようにアプリケーション開発分野における幾つかの欠点に対処する。しかしながら、アプリケーション開発、アプリケーションコンパイル、及びアプリケーションテストのためにサードパーティがライセンスを受けたツールを提供するウェブポータルに対する必要性が未だに存在する。例えば、Visual Studio、J Builderのような統合開発環境では、ユーザは、市場から全てのソフトウェアツールを購入又はライセンスを受けなければならない各ユーザよりも、必要ベースで、低コストで使用することができる。
また、アプリケーションを開発し、その後に、このアプリケーションをウェブポータル自体で展開させることを望む会社のために、インフラストラクチャ、リソース、セキュリティ、バックアップ機能、アプリケーションメンテナンスの容易さ等を提供する必要性も存在する。
本発明の目的及び長所の多くは、以下の詳細説明及び添付図面を検討した後、当業者によって明らかになる。
本発明は、いくつかの形式、構成、及び方式で具体化される。以下に示す説明及び図面は、クライアント−サーバ環境における本発明の典型的な実施形態を示す。当業者であれば、本発明は、スタンドアロン環境を含む以下に示されていない他の形式、構成、及び方式でも具体化されることを認識する。本発明は、請求項の全範囲を有し、かつ、以下に示す実施形態によって限定されないものとする。
本発明は、サーバコンピュータにホストされたウェブポータル上でアプリケーションを開発するシステム及び方法に関する。幾つかの会社や個人は、市場で利用可能であるツールを用いてアプリケーションを開発することを望んでいる。しかし、彼らのニーズを満たすのに必要なインフラストラクチャ及びリソースを有さない。開発者でもあるユーザは、しばしば、別の目的のために様々なツールを必要とする。それらは例えば、アプリケーション開発用の別のツールであったり、アプリケーションをテストするためのものであったり、結果として、アプリケーションを展開するための計算システムであったりする。この目的のために、ソフトウェアベンダから各ソフトウェアツールのライセンスを取得、あるいはアプリケーションの開発を必要とする各ソフトウェアツールを購入する必要がある。ユーザ/開発者は、経験豊かなコンピュータプログラマではないことがあり、ビジネスロジックを書き込むことによって、自分のニーズのための小規模なアプリケーションの開発を望むかもしれない。開発者は、自分のアプリケーションを開発するために、PDA、モバイル電話、あるいは、最小のリソースを備えたその他任意のデバイスの使用を望むかもしれない。従来技術から明らかなように、最小のネットワーク帯域幅とサーバリソースとを利用し、ウェブポータル上でカスタムアプリケーション、又は企業レベルのアプリケーションを開発することをユーザに提供するようなシステムが存在しない。
これは、本発明により可能になる。1つの実施形態では、ユーザはウェブポータルからランタイムエンジンをダウンロードし、これによって、リッチクライアント計算システムになることができる。ランタイムエンジンは、予め定義された構成を備える。予め定義された構成(PDS)は、幾つかのコンポーネントタイプのうちの1つの意図された機能で作成される構成である。したがって、例えば、フォームのためのPDSは、ユーザインタフェース、フィールド、ボタン、相互関係、及び表現の意図した機能を含む一般的な構成を含む。
ユーザ/開発者は、様々なソフトウェアベンダからライセンスを受けたツールを提供するウェブポータルにログオンするか、あるいは、予め定義された構成を有するランタイムエンジンをダウンロードすることができる。これによって、アプリケーションを開発するために任意のソフトウェアを使用する柔軟性をユーザ/開発者に与えることができる。ユーザは、自分のコンピュータに何れのアプリケーションをインストールすることも要求されず、ウェブブラウザや、サーバ端末等をエミュレートするウィンドウのような端末エミュレータを用いてこれらサービスにアクセスすることができる。つまりユーザ/開発者は、シンクライアントとして振舞い、したがって、必要に応じて、例えばプロセッサ、ハードディスク、メモリ等のリソースを、自分自身のものではなく、ウェブポータルのものを利用することができる。
ポータルはまた、アプリケーションのメンテナンスやエラーからの復元のためのバックアップ機能に加えて、ユーザプライバシを維持し、海賊行為等を回避するために、一定のセキュリティ手段及び暗号化手段を提供する。アプリケーションが一旦開発されると、多くのクライアントが接続して利用したり、あるいは自分のコンピュータにアプリケーションをダウンロードする中央サーバとしてウェブポータルを使用して、ウェブポータル自体からアプリケーションを展開するオプションがユーザに与えられる。
図1は、クライアント−サーバ環境における本発明の1つの実施形態を示す。各クライアント115、120及び125はそれぞれ、ウェブポータルをホストするウェブサーバのようなサーバ105と、通信ネットワーク110とを経由して通信している。通信ネットワーク110は、例えば、インターネットのような広域ネットワーク、ローカルエリアネットワーク、又は基地局と移動局を含む無線ネットワークである。1つの実施形態では、ユーザ/開発者は、アプリケーションを開発し、かつ、多くのユーザがウェブポータル105に接続することを可能にする。ウェブポータル105では、アプリケーションによって提供される機能及びサービスを利用するためにアプリケーションが展開される。例えば、小さな宅配会社は、従業員の行き先に加えて、配達された荷物及び郵便物のログを保持することを望むが、そのようなサービスを提供するために必要なインフラストラクチャを有さないかもしれない。この宅配会社は、ポータルによって提供されるサービスを利用して、ウェブポータル上でアプリケーションを開発し、提供されている様々なテストユーティリティを用いてアプリケーションの実行可能性をテストし、このアプリケーションを展開することができる。本発明の好ましい実施形態として、この宅配会社には、予め定義した構成を有するラインタイムエンジンを、この宅配会社の従業員によって操作される各ハンドヘルドデバイス上にダウンロードするオプションが与えられる。これら従業員は、ウェブポータルの最小のリソースを利用しながら、ウェブポータルと連続的に通信し、最新版を取得し、変更等を行うことができる。
図2及び図3は、ウェブポータル205及びクライアントコンピュータ245上のコンポーネントの実施形態のブロック図を示す。図2に示すように、ウェブポータル205は、クライアントコンピュータ245が要求するサービスを提供するサーバコンピュータにホストされる。1つの実施形態では、図7に示すように、ウェブポータル205は、サービスマネージャ705と、機能マネージャ710と、実行マネージャ715と、契約マネージャ720とから構成される。好ましい実施形態では、ウェブポータル205の長期メモリ225は、予め定義した構成235を備えたランタイムエンジン240をも備える。ユーザ/開発者が、例えば、クライアントコンピュータに格納されたウェブブラウザや端末エミュレータ等を介してウェブポータル205にアクセスする場合、必要とするサービスに関するオプションが与えられる。例えば、Integrated Development Environments、エディタ、及び、アプリケーションを書くために必要な他のツールのような様々なツールから選択することを求められる。1つの実施形態では、ユーザ/開発者は、予め定義した構成235を有するランタイムエンジン240を選択するオプションが与えられる。このランタイムエンジン240は、リンカ230と、予め定義した構成235とを備える。サービスマネージャ705は、この全プロセスを制御し、かつ、ユーザ設定を受け付けるようにプログラムされる。1つの実施形態では、サービスマネージャ705は、ある所定の条件に基づいて費用を自動的に定めるか、あるいは、ウェブポータル205の所有者がユーザ設定を評価し推定値を提供することを待つことができる。
ユーザが料金を一旦受け取ってアプリケーション開発のために必要なツールを選択すると、ウェブポータル205上の機能マネージャ710が制御を行う。1つの実施形態では、機能マネージャ710は、リソースの割り当てを取り扱うことに加えて、ユーザによって要求されるワークスペースを作成し、かつ、ユーザ設定に応じてツールをロードすることに責任を有する。予め定義した構成を有するランタイムエンジンを用いてアプリケーションを開発することをユーザが選択した場合、機能マネージャ710は、ユーザが、予め定義した構成235を有するランタイムエンジン240のコピーをダウンロードすることを可能にする。そのようにして、クライアント計算システムは、リッチクライアント計算システムになる。図3に示すように、クライアント計算システム及びウェブポータルは、同じランタイムエンジン、及び予め定義した構成を備える。ランタイムエンジン及び予め定義した構成を有するクライアントは、リッチクライアント計算システムと呼ばれる。
図4に示すように、開発プロセスの開始前に、ユーザ/開発者には多くのオプションが与えられる。ユーザ/開発者は、ウェブポータルへログオンし、必要とするツール、機能等を選択する。好ましい実施形態では、ユーザは、予め定義した構成を有するランタイムエンジンをダウンロードし、ランタイムエンジンに備えられた技術に基づいてアプリケーションを開発する。ウェブポータル機能が作成され、異なるプロジェクトで作業している多くの異種のユーザ/開発者が同時にアプリケーションを開発することができる。サービスマネージャ705はまず、ユーザ設定を受け取り、ユーザによって入力されたデータを、機能マネージャ710に与えることに責任を有する。機能マネージャ710は、サーバ上のハードディスク空間を割り当て、かつ、例えばユーザ/開発者によって設定されたスケジュールのようなユーザ設定に基づいてトリガされるあるイベントをスケジュールする。1つの実施形態では、ユーザ/開発者が、予め定義した構成を有するランタイムエンジンを使用すると決定した場合、機能マネージャ710は、ユーザが自分のタスクを行うための特定のソフトウェアをロードする。ランタイムエンジンは、ユーザ/開発者にとって有益ないくつかの機能を示す。ランタイムエンジンは、主として、複数の予め定義した構成(PDS)及びリンカを備える。
開発された全てのプログラムは、意図された同じ機能を有する多くのコンポーネントから構成される。例えば、フォームコンポーネントを有するプログラムは、グラフィックユーザインタフェース、データ入力用フィールド、フォームを他のフォーム又はコンポーネントにリンクさせるボタン、フォームに入力されたデータが、他のフォーム又はコンポーネントにどのように影響するかを示す相互関係情報、及び、式を計算する式解答能力を有する機能を有する。例えば、メニューコンポーネントタイプは、特定のグラフィックディスプレイを示し、かつ、実行時に他の様々なコンポーネントタイプにリンクするためのドロップダウンメニュー及びドロップダウンメニュー選択を含む。
従って、作成されたPDSは、幾つかのコンポーネントタイプのうちの1つと同じ意図された機能を有する。当業者は、他の意図された機能を有する他のコンポーネントタイプが存在し、これら他のコンポーネントタイプが本発明の範囲内にあることを認識する。ユーザ設定に基づいて、ウェブポータルのサービスプロバイダは、意図した機能のためのアプリケーションを開発しながら、ユーザ/開発者による用途の予め定義した構成を生成するか、あるいは、ユーザ/開発者に対して、自分の用途のために予め定義した構成を作成することを許可することができる。
ユーザ/開発者はまた、アプリケーション開発のプロセス中のユーザ/開発者を支援するヘルプ機能が提供される。例えば、提供されるヘルプサービスは、ウェブポータルの所有者によって利用可能とされ、かつ、ユーザ/開発者が、他の開発者又は経験のあるプログラマと話すことができるチャットウィンドウを含み、出くわした問題に関する質問を尋ねたり、あるいは、チャットをしていない他のユーザ/経験のあるプログラマが、書き込まれた質問に対して後で回答できるように、質問を書き込むためのフォームが提供される。
ユーザ/開発者が、アプリケーションを開発するプロセスにある場合、機能マネージャ710は、ウェブポータルの制御全体に責任を有する。1つの実施形態では、機能マネージャ710は、ユーザによって利用されたワークスペースのログを保持し、ユーザが最後に操作したときのワークスペースと同じ外観及び感覚をユーザに提供する。これは、ユーザ/開発者が、自分のニーズに応じてあるツールを再設定し、ログオンする毎に、選択されたアイテムをアレンジしたり、あるいは自分の好みに応じてワークスペースを再生成する時間を節約する。機能マネージャ710は更に、ユーザ特権及び認証の作成に責任を有する。ユーザ/開発者が、アプリケーションを開発したい場合、機能マネージャ710は更に、クライアントを認証することに責任を有し、これによって、特権を確立したユーザ/開発者に基づいて、ツール及び機能に対するアクセスを提供する。例えば、開発者は、開発サイクルのカレンダーをスケジュールするためのアクセスが与えられず、機能マネージャ710は、開発者に、フルアクセスを与えないかもしれない。
ステップ毎に、契約マネージャ720は、アプリケーション開発が完了した場合、ユーザに手数料が与えられるようにユーザによって利用されるツールに加えて、時間のログを保持するようにプログラムされている。契約マネージャ720は、クライアント(ユーザ)とウェブポータルの所有者との間の合意に基づいてコストを更新するように予めプログラムされる。例えば、料金が、利用時間ベースである場合、契約マネージャ720は、ユーザ/開発者がウェブポータル上で費やした時間長さのログを保持し、それに従って料金を更新する。
好ましい実施形態では、クライアントが、ランタイムエンジンをダウンロードし、リッチクライアント計算システムになる。ランタイムエンジンは、予め定義した構成を備える。ランタイムエンジンをダウンロードする場合、リッチクライアント計算システムは、ランタイムエンジンの技術を用いて、アプリケーションを開発するために備えられる。
図5は、ランタイムエンジンを用いて、ユーザ/開発者によって開発されるアプリケーションの開発及び実行プロセスを示す。ステップ505において、クライアントが、ビジネスロジックを用いて、あるいはソースコードを書き込んで、ウェブポータル上でアプリケーションを開発すると、実行マネージャ715が制御を行う。ステップ510では、ユーザには、ユーザのニーズのためにアプリケーションを展開させるためにサーバコンピュータによって提供されるリソースを使用するオプションが与えられ、相互に合意した費用で行うオプションが与えられ、実行マネージャ715に制御が与えられ、プロセスが監視される。実行マネージャ715は、契約マネージャ720と協調して動作し、アプリケーションを展開する際にユーザによって費やされた時間のタブが維持され、これにより、費用を更新することができる。ユーザはまた、サーバコンピュータ上の他のコンポーネントを利用することによって、実行中ベースでアプリケーションを微調整することができる。
ユーザ/開発者は、ランタイムエンジン内の予め定義した構成を用いて、ウェブポータル上でアプリケーションを開発する。また、この予め定義した構成は、リッチクライアント計算システム上にも存在し得る。ユーザ/開発者が、ウェブポータルからのアプリケーションの実行を望む場合、ステップ515において、アプリケーションのソースコードをコンパイルする。コンパイルされると、ステップ520において、ソースコードからのパラメータ情報が、クライアント計算システムに送られる。このパラメータ情報は、予め定義した構成で定義されたユーザに特有の情報である。例えば、フォームコンポーネントの予め定義した構成の場合、パラメータ情報は、フォーム名、フォームに含まれるフィールド、フォーム上の特定のボタン、フィールド及びボタンの名前等を備える。当業者は、予め定義した幾つかの構成がユーザ/開発者に提供されることを認識するものとする。コンポーネントに対応する予め定義した各構成のためのパラメータ情報は、異なっているものとする。予め定義した同じ構成もまた、ユーザ/開発者によって特定される情報に基づいて、異なるパラメータ情報を有することができる。
ステップ520では、スクリプトのパラメータ情報がクライアントに送られる。ステップ530では、リッチクライアント計算システムに存在するリンカが、リッチクライアント計算システムにおいて、パラメータ情報を、予め定義した構成にリンクさせ、リッチクライアント計算システムにおいて、スクリプト特有の予め定義した構成を生成することに責任を有する。その後、ランタイムエンジンは、ステップ535において、リッチクライアント計算システムにおいて、スクリプト特有の予め定めた構成を実行する。
実行プロセス中、クライアントは、ほとんどの実行を行う。アプリケーションのオリジナルのスクリプトは、ウェブポータルに存在する。ウェブポータルにおいて存在するが、リッチクライアント計算システムに存在しない追加情報が必要な場合、リッチクライアント計算システムは、ステップ540において、ウェブポータルに要求を送る。追加情報は更に、ウェブポータルに存在するデータベースからデータを取得することを含み得る。例えば、宅配会社の場合、その建物内に、データベースを維持するためのインフラストラクチャを有さないかもしれない。このデータベースはウェブポータルに存在し、アプリケーションのユーザ、すなわち、この宅配会社の従業員は、このデータベースからの情報を必要とするかもしれない。この場合、ステップ550及び555において、この追加情報を取得するために、ウェブポータルがコンタクトされる。更に、異なるコンポーネントを実行するために、追加パラメータ情報がスクリプトから要求される場合にも、ウェブポータルはコンタクトされる。ユーザがアプリケーションを閉じると、アプリケーション実行が終了する。
アプリケーション開発の全プロセスは、幾つかの段階から構成される。これら5つの主要な段階を図6に示す。本発明の1つの実施形態では、プロセスを容易にするために、アプリケーション開発及び展開の全てのレベルにおいてユーザを支援するツールが利用可能になる。含まれる段階を以下に示す。ユーザ好みのツールを選択する柔軟性をユーザに与えるため、アプリケーション開発の各段階に関連した幾つかのツールが提供される。
アプリケーション開発の第1段階は、十分な要求分析605を含む。このプロセスは、開発マネージャと、アプリケーションを開発するために開発マネージャと携わることを望むクライアントとの間の対話型セッションを含む。アプリケーションによって必要とされる機能、ユーザ数、展開中に利用可能なリソース、クライアントがクライアントサーバ環境上でのアプリケーションを好むか、あるいは、スタンドアロン環境でのアプリケーションを好むかのようなアーキテクチャ、相互運用、信頼性、再利用要求および他の同様の要求のようなクライアントの要求の詳細分析が議論され特定される。本発明は、アプリケーション開発の要求分析段階を容易にする際に、ユーザ/開発者を支援するためにライセンスを受け、ウェブポータルの所有者によって提供されるDoors、Requisite Pro、Protegeのような幾つかのツールを提供する。
設計段階610は、要求分析段階605の直後に始められる。上級開発者及びアプリケーション開発マネージャは、アプリケーションの設計について議論する。設計は、アプリケーションをプログラムするための青写真として役立つ。例えば、設計プロセスは、アプリケーションで実施されるクラス及び機能のためのブロック図を作成することを含み、アプリケーションの外観と感覚、グラフィックユーザインタフェース、及び他の類似のアプリケーション設計特性が特定される。Rational Rose、TogetherJのようなツールは、これらのタスクを実行する際にユーザ/開発者を支援する。ウェブポータルの所有者は、アプリケーショ開発中にユーザ/開発者によって使用されるのと同様に、これらのツールを許可し、利用可能にすることができる。
開発マネージャは、上級開発者とともに、アプリケーションの設計をプログラマに説明するためにこの青写真を用いる。青写真からコードを直接的に生成するツールは、処理を容易にするために使用することができる。1つの実施形態では、ユーザがプログラマではない場合、ユーザは、コードを書くことが省略されるツールを使用するオプションが与えられる。経験を積んだプログラマの場合、統合された開発環境とその他のツールが提供され、ユーザに、自分のプログラミング言語及びツールを選択する柔軟性が与えられる。プログラマは、今や、アプリケーションを開発し315、このアプリケーションを実行可能にするためにコンパイルすることができる。
テスト段階620は、例えば、メモリリーク、相互運用、誤り等のためにアプリケーションをテストすることのように、アプリケーションの様々な態様をテストするためにテストツールを使用することを含む。ユーザは、誤りを正し、ワーキングアプリケーションを生成することができる。この段階は、アプリケーションの開発段階を完了させる。最終段階は、展開段階625であり、ここでユーザは、アプリケーションをパッケージし、ヘルプマニュアル及びその他市場に対する付随情報を生成し、このアプリケーションを展開させる。
ウェブポータルへのアクセスは、非同期ベースになりえる。ここでは、情報が必要とされる場合にウェブポータルがコンタクトされ、この情報が一旦受け取られると、接続を切り離すことができる。
クライアント−サーバアーキテクチャを示す。 クライアントがリッチクライアントになる前のウェブポータル及びクライアントのアーキテクチャのブロック図を示す。 クライアントがリッチクライアントであるウェブポータル及びクライアントのアーキテクチャのブロック図を示す。 本発明の実施形態に従ったアプリケーション開発中に含まれるステップのフロー図を示す。 本発明の実施形態に従ったアプリケーション開発中に含まれるステップのフロー図を示す。 本発明の実施形態に従ったアプリケーション開発中に含まれるステップのフロー図を示す。 本発明の実施形態に従ったウェブポータル上でのアプリケーション開発のプロセスを容易にするコンポーネントのフロー図である。

Claims (19)

  1. クライアント計算システムを用いて、ウェブポータル上において意図した機能のためのアプリケーションを開発するステップと、
    少なくとも1つの予め定義した構成を備えるランタイムエンジンのコピーを前記クライアント計算システム上にダウンロードするステップであって、前記クライアント計算システムは、前記ランタイムエンジンを受け取り、リッチクライアント計算システムになる、ステップと、
    前記リッチクライアント計算システムを用いて、前記ウェブポータル上において前記意図した機能のためのアプリケーションを実行するステップと、
    前記アプリケーションをローカルに実行するため、前記ウェブポータルと通信し、前記リッチクライアント計算システムによって要求されるデータを取得するステップと、
    前記リッチクライアント計算システム上においてローカルに実行ができない前記アプリケーションの一部を前記ウェブポータル上において実行するステップと
    を含む、前記リッチクライアント計算システムが、最小のネットワーク帯域幅とサーバリソースの使用を可能にする、アプリケーション開発及び実行にウェブポータルを使用する方法。
  2. モバイルデバイス又はパーソナルデジタルアシスタントのようなデバイスを用いてアプリケーションを開発するために使用される請求項1に記載の方法。
  3. 前記開発するステップは、前記意図した機能のためのアプリケーションのビジネスロジック又はソースコードをウェブポータル上に書き込むステップを更に含む請求項1に記載の方法。
  4. ユーザは、複数の所有者及びサードパーティがライセンスを受けた典型ビジネスロジック開発可能ツールを含む開発ツールが提供される請求項3に記載の方法。
  5. 前記ソースコードは、前記アプリケーションのソースコードを誤使用から保護するため、ユーザ選択された暗号化機能を用いて、暗号化され安全にされる請求項3に記載の方法。
  6. ユーザに、前記意図した機能のためのアプリケーションをテストするため、複数の所有者及びサードパーティがライセンスを受けたテストツールが提供される請求項3に記載の方法。
  7. 前記ランタイムエンジンをダウンロードするステップは、前記アプリケーション開発及び実行の間、前記ランタイムエンジンが前記ウェブポータル上で更新されるまで1度だけ要求される請求項1に記載の方法。
  8. 前記アプリケーションを実行するステップは、
    前記ウェブポータルに存在するランタイムエンジンを用いて、前記意図した機能のためのアプリケーションのコンポーネントをコンパイルするステップであって、前記コンパイルするステップは、前記ウェブポータルから前記リッチクライアント計算システムへコンポーネント特有のパラメータ情報を送信することを更に含むステップと、
    前記送信されたコンポーネントパラメータ情報を、前記リッチクライアント計算システムにおいて、予め定義した構成にリンクさせ、スクリプト特有の予め定義した構成を提供するステップであって、前記予め定義した構成は、要求されたコンポーネントの意図した機能に対応する意図した機能を有するステップと、
    前記スクリプト特有の予め定義した構成を実行し、前記コンポーネントを実行するステップと
    を更に含む請求項1に記載の方法。
  9. 前記通信するステップは、前記ウェブポータルから要求されるあらゆる追加のコンポーネント特有のパラメータ情報を、前記リッチクライアント計算システムへ送信するステップを更に備える請求項1に記載の方法。
  10. 前記アプリケーションの一部を実行するステップは、前記アプリケーションによって要求される少なくとも1つの計算を前記ウェブポータルにおいて実行するステップを更に含み、前記計算は、前記リッチクライアント計算システム上に存在しないが、前記ウェブポータル上に存在するデータベース又は追加データを必要とする請求項1に記載の方法。
  11. 前記ウェブポータルはユーザ認証を与える請求項1に記載の方法。
  12. 前記認証は、当該認証に基づいて、複数のツールと、データと、サービスとに様々なレベルのアクセスを提供するステップを更に含む請求項11に記載の方法。
  13. 前記ウェブポータルは、前記認証に基づいて、前記ウェブポータルにログインする毎に、ユーザによって残されたウェブポータルの前の状態を再生成する機能を有する請求項12に記載の方法。
  14. 前記アプリケーションは、前記ウェブポータル上、又はユーザ選択されたその他任意の計算システム上に格納される請求項1に記載の方法。
  15. 前記ウェブポータルは、少なくとも1つのヘルプサービスを提供し、前記ヘルプサービスは、チャットサービスと、質問を書き込むためのフォームと、アプリケーションを開発しながらユーザをガイドするための質問回答サービスとを有する請求項1に記載の方法。
  16. 前記ウェブポータルは、アプリケーション開発に含まれる段階のために、所有者及びサードパーティがライセンスを受けたツールを提供し、前記段階は、要求分析と、設計と、アプリケーションプログラミングと、テストと、アプリケーション展開とを有する請求項1に記載の方法。
  17. 前記ウェブポータルは、アプリケーション開発のプロセス中に生成されたデータと、実行中に前記アプリケーションによって生成されたデータと、ユーザ特有データとのコピーを格納するためのバックアップ記憶機能を提供する請求項1に記載の方法。
  18. 前記アプリケーションのソースコードを誤使用から保護するため、ユーザ選択された暗号化機能を用いて、ソースコードが暗号化され安全にされる請求項1に記載の方法。
  19. 前記アプリケーションを開発するユーザは、費やされたタイプ時間を有する予め定めた請求方法を用いて課金される請求項1に記載の方法。
JP2007550021A 2005-01-04 2005-12-20 アプリケーション開発及び展開のためのシステム及び方法 Pending JP2008533549A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/029,233 US7890926B2 (en) 2005-01-04 2005-01-04 System and method for application development and deployment
PCT/IN2005/000424 WO2006072964A2 (en) 2005-01-04 2005-12-20 System and method for application development and deployment

Publications (1)

Publication Number Publication Date
JP2008533549A true JP2008533549A (ja) 2008-08-21

Family

ID=36642158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007550021A Pending JP2008533549A (ja) 2005-01-04 2005-12-20 アプリケーション開発及び展開のためのシステム及び方法

Country Status (5)

Country Link
US (2) US7890926B2 (ja)
EP (1) EP1839132A2 (ja)
JP (1) JP2008533549A (ja)
CN (1) CN101124540A (ja)
WO (1) WO2006072964A2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8453104B2 (en) 2006-10-27 2013-05-28 Microsoft Corporation Thin client software development environment
KR101362043B1 (ko) 2012-05-10 2014-02-12 (주)네오위즈게임즈 온라인 서비스의 암호화 통합 제어 방법 및 장치
WO2015063830A1 (ja) * 2013-10-28 2015-05-07 三菱電機株式会社 クライアント装置、サーバクライアントシステムおよびクライアントプログラム
WO2018061605A1 (ja) * 2016-09-30 2018-04-05 横河電機株式会社 アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、端末装置、アプリケーション表示方法、およびコンピュータ読み取り可能な非一時的記録媒体
JPWO2018179101A1 (ja) * 2017-03-28 2019-06-27 株式会社日立製作所 クラウド管理システム、及びクラウド管理方法

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890926B2 (en) * 2005-01-04 2011-02-15 Vaakya Technologies Private Limited System and method for application development and deployment
GB0513185D0 (en) * 2005-06-30 2005-08-03 Ibm A method system and software tool for emulating a portal application
US20070168958A1 (en) * 2005-11-23 2007-07-19 Nsite Software, Inc. Method and apparatus for cross organizational sharing of software applications using host platform
US7934197B2 (en) * 2006-12-19 2011-04-26 Telefonaktiebolaget Lm Ericsson (Publ) Maintaining code integrity in a central software development system
US20090019420A1 (en) * 2007-07-10 2009-01-15 International Business Machines Corporation Software development
US20090119300A1 (en) * 2007-11-01 2009-05-07 Sun Microsystems, Inc. Technique for editing centralized digitally encoded information
KR101474561B1 (ko) * 2007-11-27 2014-12-19 삼성전자주식회사 이동통신 단말기에서의 어플리케이션 실행방법 및 장치
US8640088B2 (en) * 2010-01-21 2014-01-28 International Business Machines Corporation Software reuse utilizing naive group annotation of incomplete software descriptions employing a self-reporting element
WO2011105714A2 (ko) * 2010-02-23 2011-09-01 Bang Inn-Sung 클라이언트의 가상 개발 환경을 이용하여 프로그램의 개발 계약 및 개발을 중개하는 원격 프로그램 개발 중개 시스템 및 원격 프로그램 개발 중개 방법
US9116778B2 (en) 2010-04-29 2015-08-25 Microsoft Technology Licensing, Llc Remotable project
US8694954B2 (en) * 2010-11-29 2014-04-08 Norman Ortiz System and methods for mobile application development using mobile devices
EP2691925A4 (en) * 2011-03-31 2014-08-20 Google Inc INTEGRATED MOBILE / SERVER APPLICATIONS
US8978006B2 (en) 2011-04-06 2015-03-10 Media Direct, Inc. Systems and methods for a mobile business application development and deployment platform
US8898630B2 (en) 2011-04-06 2014-11-25 Media Direct, Inc. Systems and methods for a voice- and gesture-controlled mobile application development and deployment platform
US9134964B2 (en) 2011-04-06 2015-09-15 Media Direct, Inc. Systems and methods for a specialized application development and deployment platform
US8261231B1 (en) 2011-04-06 2012-09-04 Media Direct, Inc. Systems and methods for a mobile application development and development platform
BG66795B1 (bg) * 2011-04-11 2018-12-17 Николаев Попов Красимир Метод и система за реализиране на комплексни задачи, остойностяване и разплащане, осъществявани в обща компютърно базирана среда
FR2976373B1 (fr) * 2011-06-10 2013-06-14 Sagemcom Broadband Sas Procede de developpement d'un portail web, systeme de mise en oeuvre et produit programme d'ordinateur correspondant
US9009855B2 (en) 2011-09-11 2015-04-14 Microsoft Technology Licensing, Llc Generating developer license to execute developer application
US9218164B2 (en) * 2011-09-26 2015-12-22 Norman Ortiz System and method for mobile application development using mobile devices
US20140281886A1 (en) 2013-03-14 2014-09-18 Media Direct, Inc. Systems and methods for creating or updating an application using website content
US20160062754A1 (en) * 2013-04-30 2016-03-03 Hewlett-Packard Development Company, L.P. Coordinating Application Deployment with a Platform Tier
US9507609B2 (en) 2013-09-29 2016-11-29 Taplytics Inc. System and method for developing an application
CN105630470B (zh) * 2014-10-31 2018-12-21 阿里巴巴集团控股有限公司 代码共建方法、***、源码服务器及开放服务器
JP6507643B2 (ja) * 2015-01-05 2019-05-08 富士通株式会社 アプリ提供方法、アプリ提供サーバおよびアプリ提供プログラム
CN104598382B (zh) * 2015-01-30 2018-03-27 北京京东尚科信息技术有限公司 一种测试控制方法和装置
US10095509B2 (en) * 2015-02-04 2018-10-09 Sap Se Supporting developer-user collaborative software review in IDE
US10546058B2 (en) 2015-11-09 2020-01-28 Microsoft Technology Licensing, Llc Creating and modifying applications from a mobile device
TWI590088B (zh) * 2016-03-23 2017-07-01 李佰聰 結合程式包創設新行動應用程式的方法、行動裝置及系統
CN108540300A (zh) * 2017-03-03 2018-09-14 深圳行云创新科技有限公司 一种应用产品的管理***及方法
US10862978B2 (en) * 2018-09-19 2020-12-08 Citrix Systems, Inc. Systems and methods for maintaining and transferring SaaS session state
CN112287104A (zh) * 2020-09-28 2021-01-29 珠海大横琴科技发展有限公司 一种自然语言处理方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119247A (en) * 1998-06-22 2000-09-12 International Business Machines Corporation Remote debugging of internet applications
US6918113B2 (en) * 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
CA2440031C (en) * 2001-02-22 2013-07-02 Accenture Global Services Gmbh Distributed development environment for building internet applications by developers at remote locations
US20030212987A1 (en) * 2001-02-28 2003-11-13 Demuth Steven J. Client container for building EJB-hosted java applications
US6985939B2 (en) * 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services
WO2003081389A2 (en) * 2002-03-20 2003-10-02 Gameworld.Com Visual application development system and method
CN101630331B (zh) * 2002-10-28 2011-04-06 开放创新网络有限责任公司 透明ejb支持和水平数据分割
US7890926B2 (en) * 2005-01-04 2011-02-15 Vaakya Technologies Private Limited System and method for application development and deployment

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8453104B2 (en) 2006-10-27 2013-05-28 Microsoft Corporation Thin client software development environment
KR101362043B1 (ko) 2012-05-10 2014-02-12 (주)네오위즈게임즈 온라인 서비스의 암호화 통합 제어 방법 및 장치
WO2015063830A1 (ja) * 2013-10-28 2015-05-07 三菱電機株式会社 クライアント装置、サーバクライアントシステムおよびクライアントプログラム
WO2018061605A1 (ja) * 2016-09-30 2018-04-05 横河電機株式会社 アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、端末装置、アプリケーション表示方法、およびコンピュータ読み取り可能な非一時的記録媒体
US11281435B2 (en) 2016-09-30 2022-03-22 Yokogawa Electric Corporation Application development environment providing system, application development environment provision method, terminal device, and application display method
JPWO2018179101A1 (ja) * 2017-03-28 2019-06-27 株式会社日立製作所 クラウド管理システム、及びクラウド管理方法

Also Published As

Publication number Publication date
WO2006072964A2 (en) 2006-07-13
WO2006072964A3 (en) 2007-08-23
CN101124540A (zh) 2008-02-13
US20110202899A1 (en) 2011-08-18
US7890926B2 (en) 2011-02-15
US20060150144A1 (en) 2006-07-06
EP1839132A2 (en) 2007-10-03

Similar Documents

Publication Publication Date Title
JP2008533549A (ja) アプリケーション開発及び展開のためのシステム及び方法
US7448024B2 (en) System and method for software application development in a portal environment
CA2440031C (en) Distributed development environment for building internet applications by developers at remote locations
US8020146B2 (en) Applying deferred refactoring and API changes in an IDE
US9063725B2 (en) Portable management
US20030028869A1 (en) Method and computer program product for integrating non-redistributable software applications in a customer driven installable package
US8863010B2 (en) Linking user interface design environment and application development environment
US20110154441A1 (en) Online development environment server, online marketplace server, online development environment constituting method, and developed application providing method
US20040176968A1 (en) Systems and methods for dynamically configuring business processes
US20070157191A1 (en) Late and dynamic binding of pattern components
WO2002093364A2 (en) General and reusable components for defining net-centric application program architectures
AU2002319843A1 (en) General and reusable components for defining net-centric application program architectures
JP2022097438A (ja) ロボティックプロセスオートメーション(rpa)ロボットの動的クラウドデプロイメント
Kim et al. X-droid: A quick and easy android prototyping framework with a single-app illusion
US10896035B1 (en) Methods of converting APIs into objects and uses thereof
US20070074202A1 (en) Program product installation
US20070006121A1 (en) Development activity recipe
Kulik et al. Extending the formal security analysis of the HUBCAP sandbox
WO2016183108A1 (en) Source code customization framework
Chen Developing Application Frameworks in. NET
US20230409291A1 (en) Generating applications for various platforms by use of a no code environment
RU2786200C1 (ru) Система и способ установки персонализированного приложения на мобильное устройство
Volodarsky et al. Internet Information Services (IIS) 7.0 Resource Kit
Caruso et al. Architectures to survive technological and business turbulences
Newton The Definitive Guide to the Microsoft Enterprise Library