JP5069794B2 - アプリケーション開発支援装置、プログラム及び記録媒体 - Google Patents

アプリケーション開発支援装置、プログラム及び記録媒体 Download PDF

Info

Publication number
JP5069794B2
JP5069794B2 JP2010526105A JP2010526105A JP5069794B2 JP 5069794 B2 JP5069794 B2 JP 5069794B2 JP 2010526105 A JP2010526105 A JP 2010526105A JP 2010526105 A JP2010526105 A JP 2010526105A JP 5069794 B2 JP5069794 B2 JP 5069794B2
Authority
JP
Japan
Prior art keywords
file
service
program
download
user interface
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.)
Expired - Fee Related
Application number
JP2010526105A
Other languages
English (en)
Other versions
JPWO2010095226A1 (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.)
MUFG Bank Ltd
Original Assignee
Bank of Tokyo Mitsubishi UFJ Trust Co
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 Bank of Tokyo Mitsubishi UFJ Trust Co filed Critical Bank of Tokyo Mitsubishi UFJ Trust Co
Publication of JPWO2010095226A1 publication Critical patent/JPWO2010095226A1/ja
Application granted granted Critical
Publication of JP5069794B2 publication Critical patent/JP5069794B2/ja
Expired - Fee Related 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/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明はアプリケーション開発支援装置、プログラム及び記録媒体に係り、特に、構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するためのプログラムを生成するツールを用いて行われるアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置、コンピュータを該アプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラム、及び、該アプリケーション開発支援プログラムが記録された記録媒体に関する。
近年、ウェブアプリケーション向けのユーザインタフェースを構築するための規格としてJSF(Java(登録商標) Server Faces) が知られている。このJSFに関しては、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルの中から所望のシンボルを選択・配置する等の操作を行うことで、ユーザインタフェース画面の設計やユーザインタフェース画面の遷移の定義等のユーザインタフェースの構築が可能で、構築されたユーザインタフェースを実現するプログラムを自動的に生成可能なツールが用意されており、このツールを利用することで、所望のユーザインタフェースを実現するプログラムを、コーディング作業を行うことなく容易かつ短時間で得ることができる。このため、ウェブアプリケーションの開発にあたり、当該ウェブアプリケーションのうち、ユーザインタフェースの部分のプログラムをJSFのツールを用いて自動生成するようにすれば、ユーザインタフェースの部分についてのコーディング作業が不要となることで開発期間の大幅な短縮を実現できるものと期待される。
ところで、ウェブアプリケーションにおいて、アップロード対象として指定されたファイルをDB(データベース)サーバ等へ転送して記憶させる「アップロード」や、ダウンロード対象として指定されたファイルをDBサーバ等から取得する「ダウンロード」は、広範に実装されているごく一般的な機能である。このうち、ファイルのダウンロードでは、ファイルのアップロードによって確定したファイルのアドレス情報(例えばURL(:Uniform Resource Locator))によってダウンロード対象のファイルが指定されるが、DBサーバ等に記憶されているファイルが機密性を有するファイルであったとしても、当該ファイルのアドレス情報が第三者に漏洩してしまうと、当該第三者が入手したアドレス情報を入力してダウンロードを要求することでダウンロードが実行されてしまうので、ファイルのダウンロードが要求された際には、ダウンロードを要求した利用者がダウンロード対象のファイルをダウンロードする権限を有しているか否かを確認し、権限を有していない利用者によるファイルのダウンロードを排除したいというニーズが存在している。
上記に関連して特許文献1には、事業者によって提供される複数のサービスを1台の計算機上に集約したシステムにおいて、カスタマイズに用いるJSP(Java Server Pages)の文法を制限し、動作前に利用者の権限を確認すると共に、利用者の種別に応じてアクセスするオブジェクトの名前空間を分けて管理するようにタグライブラリを構成し、JSPファイルの記述が予定したルールに従っていることを確認することで、事業者間のセキュリティを確保する技術が開示されている。
また特許文献2には、アクセス先のリソースがURI(URL)形式で指定される場合に、複数の情報リソースを要素名で各々一意に指定する名前空間を有し、複数の情報リソースの各アクセス権限を要素名のアクセス権限として設定した統合管理用アクセス制御リストを設けておき、情報リソースに対してアクセス要求があると、統合管理用アクセス制御リストにおける前記情報リソースに対応する要素名のアクセス権限を参照してそのアクセス範囲を判定し、判定結果に基づいて複数の情報リソースに対する各アクセス権限を管理する技術が開示されている。
また特許文献3には、ファイル等のOSが管理しているコンピュータリソースに対するプロセス又はOSからの操作要求を、コンピュータリソースにアクセスする前に捕捉し、その捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを判定し、アクセス権限があれば当該操作要求通りにOSに渡し、その結果を要求元プロセスに返し、アクセス権限がなければ当該操作要求を拒否するか、コンピュータリソースの内容に応じて課金する事によって許可する技術が開示されている。
特開2006−318203号公報 特開2003−162449号公報 特開2003−44297号公報
前述のように、ウェブアプリケーションのうちユーザインタフェースの部分のプログラムについては、JSFのツールを用いればコーディング作業を行うことなく開発することができる。このため、ファイルのアップロード処理やダウンロード処理を行うプログラムを、ウェブサービスのプログラムやサーブレット(ウェブサーバ上で実行される部品化されたプログラム)として開発しておき、開発したウェブアプリケーションが利用可能な標準機能としてウェブアプリケーションの開発者に提供すれば、ファイルのアップロード及びダウンロードが指示可能なウェブアプリケーションの開発に際してコーディング作業を省略することは可能である。
しかしながら、ファイルのダウンロードが要求された際に、例えば前述の権限チェック等の複数種のウェブサービスのうちの何れかのウェブサービスを選択的に実行させるウェブアプリケーションの開発が要求されている場合には、例えば、ダウンロード処理を行うサーブレット等に、ファイルのダウンロードが要求された際に複数種のウェブサービスのうちの何れのウェブサービスを実行させるのかを選択する機能を追加したり、複数種のウェブサービスに対応して複数のサーブレット等を設け、ダウンロードが要求された際に対応するサーブレットが起動されるようにする等、開発者による改変(カスタマイズ)が必須となってしまい、開発者がコーディング作業を行う必要が生ずるという問題があった。
これに対し、先に述べた特許文献1〜特許文献3に記載の技術は、何れも権限確認は行っているものの、コーディング作業を省くことは考慮されていないので、これらの技術を適用したとしても、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、ファイルのダウンロードを行う際にウェブサービスを選択的に実行させるアプリケーションを開発する場合にはコーディング作業を行う必要がある。プログラムの開発にあたって多少なりともコーディング作業が必要とされる場合、開発担当者がプログラミング言語に関する知識を有している人に限られると共に、コーディング作業で作成したプログラムに対してはデバッグ作業も必要となるので、コーディング作業を省略できる場合と比較して開発期間が大幅に長期化するという問題がある。
本発明は上記事実を考慮して成されたもので、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、指示に応じてファイルのダウンロードを行う際に、複数種のサービスのうち予め設定したサービスを実行させるアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現可能なアプリケーション開発支援装置、アプリケーション開発支援プログラム及び記録媒体を得ることが目的である。
上記目的を達成するために請求項1記載の発明に係るアプリケーション開発支援装置は、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツールを用いて行われる、前記第1プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置であって、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第1記憶手段に登録させるアップロード実行手段と、開発者により前記第1のツールに対して前記第1の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第1の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段と、稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段と、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第1記憶手段から読み出すと共に、前記第1記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段と、を備えている。
請求項1記載の発明において、第1のツールは、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムを生成する。なお、例えば請求項7に記載したように、第1のツールとしてはJSFに準拠したツールを適用することができる。請求項1記載の発明では、上記第1のツールを用いて、第1プログラムを含むアプリケーション・プログラムの開発が開発者によって行われる。
ここで、請求項1記載の発明では、稼働時(コンピュータによる、第1プログラムを含むアプリケーション・プログラムの実行時)に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと付加情報を対応付けて第1記憶手段に登録させるアップロード実行手段が設けられており、開発者により第1のツールに対して第1の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、プログラム付加手段により、稼働時に、特定のユーザインターフェース画面内のシンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルをアップロード実行手段に転送すると共に、第1の操作が行われた際に開発者によって指定された、アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を付加情報としてアップロード実行手段に転送する処理をコンピュータによって行わせるプログラムが付加される。
また、請求項1記載の発明では、稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段が設けられており、ダウンロード実行手段は、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを第1記憶手段から読み出すと共に、第1記憶手段にダウンロード対象のファイルと対応付けてサービス特定情報が登録されていた場合に、サービス特定情報によって特定されるサービスの提供をサービス提供手段に要求した後に、ダウンロード指示元へ応答を返す。
上記構成により、開発者は、第1のツールに対し、第1の操作として、ファイルのアップロードを指示するためのシンボルを特定のユーザインターフェース画面内に配置する操作を行う際に、特定のユーザインターフェース画面内に配置した前記シンボルに対し、稼働時に、前記シンボルを介しての指示によってアップロードされたファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を指定する操作も行うことにより、稼働時に、特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、前記シンボルに付加されたプログラムがコンピュータによって実行されることで、アップロード対象のファイル及び前記サービス特定情報がアップロード実行手段に転送され、アップロード実行手段により、アップロード対象のファイルと付加情報が対応付けて第1記憶手段に登録されることになる。
また稼働時に、上記でアップロードされたファイルのダウンロードが指示された場合には、ダウンロード実行手段により、ダウンロード対象のファイルが第1記憶手段から読み出されると共に、ダウンロード対象のファイルと対応付けてサービス特定情報が第1記憶手段に登録されていることで、サービス特定情報によって特定されるサービスの提供がサービス提供手段に要求され、サービス提供手段により、複数種のサービスのうち要求されたサービスを提供するサービス提供処理が行われると共に、ダウンロード実行手段からダウンロード指示元へ応答が返される。
このように、請求項1記載の発明に係るアップロード実行手段、プログラム付加手段及びダウンロード実行手段は、何れも一定の処理を行う構成であるので、これらの手段を実現するプログラムは事前に開発可能であり、プログラム付加手段として機能するプログラムは、開発者が第1のツールを用いてユーザインタフェース画面を設計する際に利用可能なプログラムとして提供できると共に、アップロード実行手段及びダウンロード実行手段は、開発者によって開発されたアプリケーション・プログラムが実行される際(稼働時)に利用可能なプログラムとして提供することができ、開発者によるこれらのプログラムの改変(カスタマイズ)も不要である。また、請求項1記載の発明に係るサービス提供手段によるサービス提供処理については、アプリケーション・プログラムによって相違する可能性はあるが、サービス提供手段として機能するプログラムが既に存在していれば、これを利用できると共に、ビジネスプロセスをワークフローとして記述可能な規格(例えばBPEL:Business Process Execution Language)に準拠したプログラムを自動的に生成可能なツールを利用すれば、サービス提供手段として機能するプログラムをコーディング作業を行うことなく得ることができる。
従って、請求項1記載の発明によれば、開発者は、ファイルのアップロードを指示するためのシンボルを特定のユーザインターフェース画面内に配置する操作を行う際に、前記サービス特定情報を指定する操作も行うのみで、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、指示に応じてファイルのダウンロードを行う際に、複数種のサービスのうち予め設定したサービスを実行させるアプリケーション・プログラムを開発することができるので、前記アプリケーション・プログラムの開発を、コーディング作業を行うことなく実現することが可能となる。
なお、請求項1記載の発明において、ダウンロード実行手段によって第1記憶手段から読み出されたダウンロード対象のファイルについては、ダウンロード指示元へ一律に転送するようにしてもよいが、サービス提供手段によるサービス提供処理によって提供されるサービスの内容等によっては、例えば請求項2に記載したように、ダウンロード実行手段を、第1記憶手段から読み出したダウンロード対象のファイルを、サービス提供手段によるサービス提供処理が終了した後に、サービス提供処理の処理結果に応じてダウンロード指示元へ選択的に転送するように構成してもよい。
また、請求項1記載の発明において、サービス提供手段によるサービス提供処理によって提供されるサービスとしては、任意のサービス(例えばダウンロード回数をファイル単位や利用者単位で計数するサービス等)を適用可能であるが、例えば請求項3に記載したように、サービス提供手段を、サービス要求元から少なくともファイルのダウンロードを指示した利用者を特定するための利用者特定情報が転送されると、転送された少なくとも利用者特定情報に基づき、前記利用者がファイルをアクセスする権限を有しているか否か判定し、判定結果をサービス要求元へ通知する権限判定サービスを提供するように構成してもよい。
請求項1記載の発明では、サービス提供手段が複数種のサービスを提供可能であるが、請求項3に記載の権限判定サービスは複数種のサービスのうちの何れか1つであってもよいし、互いに判定内容の異なる複数種の権限判定サービスが複数種のサービスの中に含まれていてもよく、複数種のサービスの全てが互いに判定内容の異なる権限判定サービスであってもよい。また権限判定サービスは、上記の利用者特定情報に加えてダウンロードが指示されたファイルを特定するためのファイル特定情報も転送され、当該ファイル特定情報も用いてアクセス権限の判定を行う構成であってもよい。
また、請求項3に記載したように、サービス提供手段が権限判定サービスを提供する場合、ダウンロード実行手段は、例えば請求項4に記載したように、サービス提供手段に対し、少なくとも利用者特定情報を転送して権限判定サービスの提供を要求し、サービス提供手段から通知された判定結果が権限有りの場合は、第1記憶手段から読み出したダウンロード対象のファイルをダウンロード指示元へ転送し、サービス提供手段から通知された判定結果が権限無しの場合はダウンロード指示元へエラー応答を返すように構成することが好ましい。これにより、ダウンロード実行手段を呼び出して或るファイルのダウンロードを指示するための情報(例えばURL等)が、前記ファイルにアクセスする権限を有しない利用者に漏洩したとしても、当該利用者が前記ファイルのダウンロードを指示した場合には、サービス提供手段から判定結果として権限無しが通知されることで、当該利用者(が操作する端末等のダウンロード指示元)へエラー応答を返され、前記ファイルのダウンロードが阻止されるので、ファイルのセキュリティを確保することができる。
また、請求項1〜請求項4の何れかに記載の発明において、例えば請求項5に記載したように、アップロード実行手段によってファイル及び付加情報が第1記憶手段に登録された場合に、ダウンロード実行手段を呼び出して前記ファイルのダウンロードを指示するための情報が埋め込まれたリンクを含むダウンロード用のユーザインタフェース画面を、前記ユーザインタフェースを構成する画面の1つとして追加生成する画面生成手段を設けることが好ましい。これにより、稼働時に、画面生成手段によって生成されたダウンロード用のユーザインタフェース画面のリンクを選択する操作を行うのみで、前記ファイルのダウンロードを指示することができ、ファイルのダウンロードを指示するための操作を簡略化することができる。
また、請求項1〜請求項5の何れかに記載の発明において、サービス特定情報は、例えば請求項6に記載したように、アップロード対象のファイルがダウンロードされる際に実行すべきサービスを提供可能なサービス提供手段を呼び出すためのエンドポイント情報と、実行すべきサービスのサービス名を含み、ダウンロード実行手段を、サービス特定情報に含まれるエンドポイント情報に従ってサービス提供手段を呼び出すと共に、サービス特定情報に含まれるサービス名を、呼び出したサービス提供手段へ引数として引き渡すことで、サービス特定情報によって特定されるサービスの提供をサービス提供手段に要求するように構成することができる。
請求項8記載の発明に係るアプリケーション開発支援プログラムは、コンピュータを、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツールを用いて行われる、前記第1プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムであって、少なくとも前記第1プログラムを実行する第2コンピュータを、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第1記憶手段に登録させるアップロード実行手段として機能させると共に、少なくとも前記第1のツールが動作する第1コンピュータを、開発者により前記第1のツールに対して前記第1の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第1の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段として機能させ、更に、前記第2コンピュータを、稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段、及び、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第1記憶手段から読み出すと共に、前記第1記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段として機能させる。
請求項8記載の発明に係るアプリケーション開発支援プログラムは、少なくとも第1のツールが動作する第1コンピュータを上記のプログラム付加手段として機能させると共に、少なくとも第1プログラムを実行する第2コンピュータを、上記のアップロード実行手段、サービス提供手段及びダウンロード実行手段として機能させるためのプログラムであるので、上記の第1コンピュータ及び第2コンピュータが請求項8記載の発明に係るアプリケーション開発支援プログラムを実行することで、上記の第1コンピュータ及び第2コンピュータが請求項1に記載のアプリケーション開発支援装置として機能することになり、請求項1記載の発明と同様に、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、指示に応じてファイルのダウンロードを行う際に、複数種のサービスのうち予め設定したサービスを実行させるアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現することが可能となる。
請求項9記載の発明に係る記録媒体は、コンピュータを、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツールを用いて行われる、前記第1プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムが記録された記録媒体であって、前記アプリケーション開発支援プログラムは、少なくとも前記第1プログラムを実行する第2コンピュータを、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第1記憶手段に登録させるアップロード実行手段として機能させると共に、少なくとも前記第1のツールが動作する第1コンピュータを、開発者により前記第1のツールに対して前記第1の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第1の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段として機能させ、更に、前記第2コンピュータを、稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段、及び、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第1記憶手段から読み出すと共に、前記第1記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段として機能させる。
請求項9記載の発明に係る記録媒体は、少なくとも第1のツールが動作する第1コンピュータを上記のプログラム付加手段として機能させると共に、少なくとも第1プログラムを実行する第2コンピュータを、上記のアップロード実行手段、サービス提供手段及びダウンロード実行手段として機能させるためのアプリケーション開発支援プログラムが記録されているので、上記の第1コンピュータ及び第2コンピュータが請求項9記載の発明に係る記録媒体からアプリケーション開発支援プログラムを読み出して実行することで、上記の第1コンピュータ及び第2コンピュータが請求項1に記載のアプリケーション開発支援装置として機能することになり、請求項1記載の発明と同様に、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、指示に応じてファイルのダウンロードを行う際に、複数種のサービスのうち予め設定したサービスを実行させるアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現することが可能となる。
以上説明したように本発明は、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと付加情報を対応付けて第1記憶手段に登録させるアップロード実行手段、開発者により特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルをアップロード実行手段に転送すると共に、開発者によって指定された、アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報をアップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段、稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段、及び、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを第1記憶手段から読み出すと共に、第1記憶手段に前記ファイルと対応付けてサービス特定情報が登録されていた場合に、サービス特定情報によって特定されるサービスの提供をサービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段と、を備えているので、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、指示に応じてファイルのダウンロードを行う際に、複数種のサービスのうち予め設定したサービスを実行させるアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現することが可能となる、という優れた効果を有する。
本実施形態においてアプリケーション・プログラムの開発環境としての第1のコンピュータ・システムの概略構成を示すブロック図である。 (A)はウェブサービス作成ツールの作成画面の一例、(B)は当該ツールを用いて作成画面上で作成されたフローの一例を各々示すイメージ図である。 UI構築ツールの作成画面の一例を示すイメージ図である。 呼出プログラム改変処理の内容を示すフローチャートである。 呼出処理の内容を示すフローチャートである。 ファイルアップロード画面の一例を示すイメージ図である。 アプリケーション・プログラムの実行環境としての第2のコンピュータ・システムの概略構成を示すブロック図である。 ファイルのアップロード/ダウンロードが指示された場合の処理の流れを示す概念図である。 ファイルアップロード処理の内容を示すフローチャートである。 ファイルダウンロード処理の内容を示すフローチャートである。 権限判定処理の内容の一例を示すフローチャートである。 権限判定処理の内容の他の例を示すフローチャートである。
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図1には本実施形態に係る第1のコンピュータ・システム10が示されている。本実施形態に係る第1のコンピュータ・システム10は、所定のウェブサイトにアクセスした利用者に対して所定のサービス(ウェブサービス)を提供するためのアプリケーション・プログラムを開発する際に使用されるコンピュータ・システムであり、サーバ・コンピュータ12がイントラネット14を介して多数台のクライアント端末16と各々接続されて構成されている。個々のクライアント端末16は、上記のアプリケーション・プログラムを開発する開発者によって操作される端末であり、例えばパーソナル・コンピュータ(PC)等から成り、CPU16A、RAM等から成るメモリ16B、HDD(Hard Disk Drive)等から成る記憶部16C、ネットワークインタフェース(I/F)部16Dを備えている。個々のクライアント端末16には、表示手段としてのディスプレイ18、入力手段としてのキーボード20及びマウス22が各々接続されており、ネットワークI/F部16Dを介してイントラネット14に接続されている。
また、上記のアプリケーション・プログラムは、所定のウェブサイトにおけるユーザインタフェース(UI)の部分を実現するための画面制御プログラム(本発明における第1プログラム)と、利用者(例えば特定企業の従業員)に所定のウェブサービスを提供するためのウェブサービス提供プログラム(本発明における第2プログラム)に大別される。クライアント端末16の記憶部16Cには、上記の画面制御プログラムを開発するためのUI構築ツールのプログラムと、上記のウェブサービス提供プログラムを開発するためのウェブサービス作成ツールのプログラムが各々インストールされており、更に、クライアント端末16で後述する呼出プログラム改変処理を行うための呼出プログラム改変プログラムもインストールされている。
クライアント端末16は請求項8,9に記載の第1コンピュータに対応しており、呼出プログラム改変プログラムは、請求項8,9に記載のアプリケーション開発支援プログラムのうち、第1コンピュータをプログラム付加手段として機能させるプログラムに対応している。クライアント端末16は、CPU16Aが上記の呼出プログラム改変プログラムを実行することで、後述するウェブサイト運営システム32のアプリケーション・サーバ34及びウェブサービス提供サーバ36と共に、本発明に係るアプリケーション開発支援装置として機能する。
なお、UI構築ツールは本発明に係る第1のツールに対応している。UI構築ツールとしてはJSF(Java(登録商標) Server Faces)の規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。また、ウェブサービス作成ツールとしてはBPEL(Business Process Execution Language)の規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。
一方、サーバ・コンピュータ12は、CPU12A、RAM等から成るメモリ12B、HDD等から成る記憶部12C、ネットワークI/F部12Dを備えており、ネットワークI/F部12Dを介してイントラネット14に接続されている。前述のウェブサービス作成ツールを用いたウェブサービス提供プログラムの開発では、個々のウェブサービス(例えば後述する「権限判定ウェブサービス」等)を単位としてプログラムが開発されるが、開発されたウェブサービス提供プログラムは、他のウェブサイトにおける同一ウェブサービスの提供にも利用可能である。このため、サーバ・コンピュータ12の記憶部12Cには、開発されたウェブサービス提供プログラムを登録するためのウェブサービス・ライブラリが記憶されており、このウェブサービス・ライブラリに登録されたウェブサービス提供プログラムは、互いに異なるクライアント端末16を操作する複数の開発者が各々使用可能とされている。
次に図7を参照し、第1のコンピュータ・システム10によって開発されたアプリケーション・プログラムの実行環境としての第2のコンピュータ・システム30の構成について説明する。第2のコンピュータ・システム30は特定ウェブサイトを運営するためのウェブサイト運営システム32を備えている。ウェブサイト運営システム32は、アプリケーション・サーバ34、ウェブサービス提供サーバ36及びDB(データベース)サーバ38を備え、ウェブサービス提供サーバ36及びDBサーバ38が通信回線を介してアプリケーション・サーバ34に各々接続されて構成されている。
アプリケーション・サーバ34は、CPU34A、RAM等から成るメモリ34B、HDD等から成る記憶部34C、ネットワークI/F部34Dを備えており、記憶部34Cには、先に説明した第1のコンピュータ・システム10を利用して開発されたアプリケーション・プログラムのうち前述の画面制御プログラムと、当該画面制御プログラムを実行するためのプラットフォームとして機能するプラットフォーム・プログラムが各々インストールされている。例えばUI構築ツールがJSFの規格に準拠している場合、プラットフォーム・プログラムとしてはJSFエンジンと称されるプラットフォームを提供するプログラムが用いられ、UI構築ツールによって生成された画面制御プログラムは前記プラットフォーム(JSFエンジン)上で実行される。また記憶部34Cには、アプリケーション・サーバ34で後述するファイルアップロード処理を行うためのファイルアップロード・ウェブサービス提供プログラムと、アプリケーション・サーバ34で後述するファイルダウンロード処理を行うためのファイルダウンロード・サーブレットもインストールされている。
アプリケーション・サーバ34のネットワークI/F部34Dは、多数台のウェブサーバが通信回線を介して相互に接続されて成るコンピュータ・ネットワーク(イントラネット)40に接続されており、イントラネット40には、CPU42A、RAM等から成るメモリ42B、HDD等から成る記憶部42C、ネットワークI/F部42Dを備え、記憶部34Cにブラウザ(ウェブ閲覧ソフト)のプログラムがインストールされていると共に、表示手段としてのディスプレイ44、入力手段としてのキーボード46及びマウス48が各々接続されたクライアント端末42が多数台接続されている。
また、ウェブサービス提供サーバ36はCPU36A、RAM等から成るメモリ36B、HDD等から成る記憶部36C、ネットワークI/F部36Dを備えており、HDD36Cには、先に説明した第1のコンピュータ・システム10を利用して開発されたアプリケーション・プログラムのうち前述のウェブサービス提供プログラムの1つであり、ウェブサービス提供サーバ36で後述する権限判定処理を行うための権限判定ウェブサービス提供プログラムと、当該権限判定ウェブサービス提供プログラムを実行するためのプラットフォームとして機能するプラットフォーム・プログラムが各々インストールされている。例えばウェブサービス作成ツールがBPELの規格に準拠している場合、プラットフォーム・プログラムとしてはBPELエンジンと称されるプラットフォームを提供するプログラムが用いられ、ウェブサービス作成ツールによって生成された権限判定ウェブサービス提供プログラムは前記プラットフォーム(BPELエンジン)上で実行される。
なお、アプリケーション・サーバ34及びウェブサービス提供サーバ36は請求項8,9に記載の第2コンピュータに対応している。また、アプリケーション・サーバ34の記憶部34Cにインストールされているファイルアップロード・ウェブサービス提供プログラムは、請求項8,9に記載のアプリケーション開発支援プログラムのうち第2コンピュータを本発明に係るアップロード実行手段として機能させるプログラムに、ファイルダウンロード・サーブレットは、請求項8,9に記載のアプリケーション開発支援プログラムのうち第2コンピュータを本発明に係るダウンロード実行手段(より詳しくは請求項2,4,6に記載のダウンロード実行手段)として機能させるプログラムに各々対応しており、ウェブサービス提供サーバ36の記憶部36Cにインストールされている権限判定ウェブサービス提供プログラムは、請求項8,9に記載のアプリケーション開発支援プログラムのうち第2コンピュータを本発明に係るサービス提供手段(より詳しくは請求項3に記載のサービス提供手段)として機能させるプログラムに対応している。
アプリケーション・サーバ34及びウェブサービス提供サーバ36は、アプリケーション・サーバ34のCPU34Aが上記のファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットを実行すると共に、ウェブサービス提供サーバ36のCPU36Aが上記の権限判定ウェブサービス提供プログラムを実行することで、先に説明したクライアント端末16と共に、本発明に係るアプリケーション開発支援装置として機能する。また、DBサーバ38はデータベースを記憶するための記憶部38Aを備えているが、この記憶部38Aは本発明に係る第1記憶手段に対応している。
次に本実施形態の作用として、まず、ウェブサービス作成ツールを用いて行われるウェブサービス提供プログラム(例えば前述の権限判定ウェブサービス提供プログラム)の開発について説明する。ウェブサービス提供プログラムを開発するために、開発者がクライアント端末16上でウェブサービス作成ツールのプログラムを起動すると、クライアント端末16のディスプレイ18には、例として図2(A)に示すような作成画面が表示される。ウェブサービス作成ツールは、提供対象のウェブサービスを実現する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するためのウェブサービス提供プログラムを生成する機能を備えたツールであり、図2(A)に示す作成画面には、開発者がフローチャートを作成するための作業領域と、フローチャートの作成に利用可能で互いに異なる処理を表す複数種の部品(シンボル)が表示されたパレットが設けられている。
上記の作成画面が表示されると、開発者は、マウス22やキーボード20を介し、パレット内に表示されている複数の部品の中から所望の部品を選択して作業領域に配置し、必要に応じて、配置した部品が表す処理の内容を規定する情報を入力すると共に、配置した部品と作業領域に既に配置した部品との接続関係(各部品が表す処理の実行順序)を規定する操作を繰り返すことで、例として図2(B)に示すように、提供対象のウェブサービスを実現する処理を規定するフローチャートを作成する。フローチャートの作成が完了すると、開発者は、作成したフローチャートに対応するプログラムの生成を指示する操作を行う。パレット内に表示されている個々の部品には、個々の部品が表す処理を実現するためのプログラムが付加されており、ウェブサービス作成ツールは、プログラムの生成が指示されると、作成されたフローチャートを構成する個々の部品に付加されているプログラムを、開発者によって入力された処理内容を規定する情報に基づいて修正し、作成されたフローチャートにおける個々の部品の接続関係に応じて並べ替える等の処理を行うことで、作成されたフローチャートが表す処理を実行するためのプログラム(ウェブサービス提供プログラム)を生成する。これにより開発者は、コーディング作業を行うことなく、所望のウェブサービスを提供するウェブサービス提供プログラムを得ることができる。
上記のようにしてウェブサービス作成ツールによるウェブサービス提供プログラムの生成が完了すると、開発者は、生成されたウェブサービス提供プログラムをクライアント端末16からサーバ・コンピュータ12へアップロードさせる。サーバ・コンピュータ12へアップロードされたウェブサービス提供プログラム及び変数定義情報はウェブサービス・ライブラリに登録され、他の開発者が使用することが可能となる。
なお、本実施形態において、ウェブサービス提供サーバ36の記憶部36Cにインストールされる権限判定ウェブサービス提供プログラムについては、上記のようにウェブサービス作成ツールを用いて開発者により開発されるが、アプリケーション・サーバ34の記憶部34Cにインストールされているファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットについては、アプリケーション・プログラムの開発者によって開発されるアプリケーション・プログラムが利用可能な標準機能として予め開発され、アプリケーション・プログラムの開発者に提供されている。従って、アプリケーション・プログラムの開発者は、ファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットについては、コーディング作業を行うことなく利用することができる。
次に、UI構築ツールを用いて行われる画面制御プログラムの開発について説明する。UI構築ツールを用いて画面制御プログラムの開発を行う場合、開発者は、まずクライアント端末16上でUI構築ツールのプログラムを起動する。これにより、クライアント端末16のディスプレイ18には、例として図3に示すような作成画面が表示される。UI構築ツールは、UIを構築するための操作を開発者に行わせ、開発者による操作が完了すると、構築されたUIを実現する画面制御プログラムを生成する機能を備えたツールであり、図3に示す作成画面には、開発者がUI画面(ウェブページ)を作成するためのUI画面作成領域と、UI画面の構成要素として使用可能な情報入力/表示欄やボタンを含む各種のコンポーネントが表示されたパレットと、UI画面に配置したコンポーネントに対して各種の属性情報(プロパティ)を設定するためのプロパティ設定領域が各々設けられている。また、開発者が所定の操作を行った場合には、UI画面作成領域で作成された複数のUI画面の間の遷移を定義するための画面遷移定義領域も表示される(図3では図示を省略している)。
クライアント端末16のディスプレイ18に上記の作成画面が表示されると、開発者は、構築対象のUIを規定するための操作を行うことで、ウェブサービスを提供する所定のウェブサイトにおけるUIの構築(画面制御プログラムの開発)を行う。すなわち開発者は、マウス22やキーボード20を介し、パレット内に表示されている各種コンポーネントの中から所望のコンポーネントを選択してUI画面作成領域内の所望の位置に配置し、必要に応じて、UI画面内に表示すべきテキスト情報を入力したり、属性情報を設定する操作(第1の操作)を繰り返すことで、所定のウェブサイトを構成する複数のUI画面(ウェブページ)を順に作成(設計)する。例えば任意のファイルのアップロードを指示可能なファイルアップロード画面を作成(設計)する場合には、開発者により、パレット内に表示されている各種コンポーネントの中からファイルアップロード用のコンポーネント(図3に「アップロード」と表記したコンポーネント)を選択し、選択したコンポーネントをUI画面作成領域内の所望の位置に配置する操作が行われる。これにより、図3のUI画面作成領域内に示すようなファイルアップロード画面が作成(設計)される。
ところで、上記のファイルアップロード画面を介してアップロードを指示したファイルは、後述する処理を経てDBサーバ38の記憶部38Aに登録(アップロード)されると共に、当該ファイルのダウンロードのためのURL(ダウンロードURL)も設定されるが、このダウンロードURLが第三者に漏洩してしまった場合、アップロードされたファイルが機密性を有するファイルであったとしても、ダウンロードURLを不正に取得した第三者によってブラウザ等を介してダウンロードURLが入力される等により、当該第三者による前記ファイルのダウンロードが可能になってしまうという問題がある。このため開発者は、ファイルアップロード画面内に配置したファイルアップロード用のコンポーネントが、機密性を有するファイルのアップロードに用いられるコンポーネントである場合は、ファイルアップロード画面内に配置したファイルアップロード用のコンポーネントに対し、当該コンポーネントを用いてアップロードされたファイルがダウンロードされる際に権限判定ウェブサービスを起動させるための操作を行う。
この操作は、ファイルアップロード画面内に配置したファイルアップロード用のコンポーネントのプロパティ(属性情報)をプロパティ設定領域に表示させ、表示された属性情報のうち、当該コンポーネントを用いてアップロードされたファイルがダウンロードされる際に起動させるウェブサービスを指定するための項目(ウェブサービス呼出アドレス(図3では"Endpoint"と表記)とサービス名(図3では"Name"と表記))について、起動対象の権限判定ウェブサービスを指定する情報を各々設定する操作を行うことによって成される。開発者によって上記操作が行われると、クライアント端末16上で呼出プログラム改変プログラムが起動され、起動された呼出プログラム改変プログラムがCPU16Aによって実行されることで、図4に示す呼出プログラム改変処理が実行される。
この呼出プログラム改変処理では、まずステップ50において、ファイルアップロード画面内に配置されたファイルアップロード用のコンポーネント(ダウンロードされる際に起動させるウェブサービスを指定するための項目が設定されたコンポーネント)の情報をメモリ16B又は記憶部16Cから読み出す。ここで、ファイルアップロード用のコンポーネントには、当該コンポーネントを介してアップロード対象のファイルが指定された場合に、ファイルアップロード・ウェブサービスを呼び出してアップロード対象のファイルを行わせるための呼出プログラムが付加されており、ステップ50では、メモリ16B又は記憶部16Cから読み出した情報より、当該情報に含まれている上記の呼出プログラムを抽出する。
次のステップ52では、ステップ50で抽出した呼出プログラムに対し、プロパティ設定領域を介して設定されたウェブサービス呼出アドレスとサービス名(本実施形態では権限判定ウェブサービスの呼出アドレス及びサービス名)をアップロードウェブサービスへ引き渡す代入文(プログラム)を追加する。なお、ウェブサービス呼出アドレス及びサービス名は本発明に係るサービス特定情報に対応しており、ウェブサービス呼出アドレスは請求項6に記載のエンドポイント情報に、サービス名は請求項6に記載のサービス名に各々対応している。そしてステップ54では、ステップ52で代入文を追加した呼出プログラムを、元の呼出プログラムに代えてファイルアップロード用のコンポーネントの情報に付加し、当該情報をメモリ16B又は記憶部16Cへ書き戻すことで、ファイルアップロード画面内に配置されたファイルアップロード用のコンポーネントに付加されている呼出プログラムを更新し、処理を終了する。
ファイルアップロード用のコンポーネントに付加されている呼出プログラムは、稼働時に、クライアント端末42のディスプレイ44にファイルアップロード画面が表示されている状態で、当該画面内に配置されているファイルアップロード用のコンポーネントを介してアップロード対象のファイルが指定されると、クライアント端末42のCPU42Aによって実行され、図5に実線で示すように、アップロード対象のファイルのファイル名及びパス(アップロード対象のファイルが格納されているフォルダのディレクトリ)を取得し(ステップ60)、ファイルアップロード・ウェブサービスを呼び出し(ステップ62)、先に取得したファイル名及びパスに基づきアップロード対象のファイルのデータを記憶部42Cから読み出して、ファイルアップロード・ウェブサービスへ転送する(ステップ66)処理から成る呼出処理が行われる。但し、前述の呼出プログラム改変処理が行われた場合には、図5に破線で示すように、呼出処理として、ウェブサービス呼出アドレスとサービス名(本実施形態では権限判定ウェブサービスの呼出アドレス及びサービス名)をファイルアップロード・ウェブサービスへ引き渡す処理(ステップ64)も行われる。
なお、ファイルアップロード画面内に配置すべきファイルアップロード用のコンポーネントの数及び個々のコンポーネントに設定すべきウェブサービス呼出アドレス及びサービス名は、起動対象のウェブサービスが備えている機能によっても相違する。例えばウェブサイト運営システム32によって運営される特定ウェブサイトに、アクセス権限範囲が互いに異なるファイル(一例として、アクセス権限範囲A:経営層以上、アクセス権限範囲B:管理者層以上、アクセス権限範囲C:主任層以上、の何れかがアクセス権限範囲として設定されたファイル)が各々存在しており、アクセス権限範囲の異なるファイルがファイルアップロード画面を介して何れもアップロードされる可能性があり、アクセス権限範囲の異なるファイル毎に権限判定ウェブサービスが設けられている場合(個々の権限判定ウェブサービスが単一のアクセス権限範囲のファイルについてのみアクセス権限の判定を行う構成である場合)には、例として図6(A)に示すように、アクセス権限範囲の異なるファイルを異なるコンポーネントを介してアップロードすることを可能とするために、ファイルアップロード用のコンポーネントがアクセス権限範囲の種類数と同数だけファイルアップロード画面内に配置されると共に、個々のコンポーネントに対し、個々のコンポーネントを介してアップロードされるファイルのアクセス権限範囲に対応する権限判定ウェブサービスの呼出アドレス及びサービス名が各々設定される。
一方、権限判定ウェブサービスとして、ファイルのアクセス権限範囲を判定し、判定したファイルのアクセス権限範囲に基づいてアクセス権限の判定を行う機能を備えた単一の権限判定ウェブサービスが設けられている場合(ファイルに設定されたアクセス権限範囲に拘わらずアクセス権限の判定を行うことが可能な構成である場合)には、例として図6(B)に示すように、アクセス権限範囲の異なるファイルを同一のコンポーネントを介してアップロードすることが可能であるために、ファイルアップロード用のコンポーネントがファイルアップロード画面内に1個だけ配置されると共に、当該コンポーネントに対し、前記単一の権限判定ウェブサービスの呼出アドレス及びサービス名が設定される。
また、上述した第1の操作を行うことで、ウェブサイトを構成する全てのUI画面(ウェブページ)の作成が完了すると、開発者は、作成した各UI画面の遷移を画面遷移定義領域内で規定する操作等を行い、これらの操作を経てUIを規定する操作が完了すると、UI構築ツールに対し、前記UIを実現するプログラムの生成を指示する。これによりUI構築ツールは、開発者によって構築されたUIを実現する(クライアント端末42(図7参照)からの要求に応じて、クライアント端末42のディスプレイ44に各UI画面を順に表示させる)画面制御プログラムを生成する。この画面制御プログラムは、個々のUI画面を規定するデータと、利用者により個々のUI画面を介して各種の操作が行われた場合の処理を規定するプログラムを含んで構成されるが、ファイルアップロード用のコンポーネントが配置され、当該コンポーネントに対して起動対象のウェブサービスの呼出アドレス及びサービス名が設定されたファイルアップロード画面については、ファイルアップロード用のコンポーネントに付加されている呼出プログラムが読み出され、読み出された呼出プログラムが、ファイルアップロード用のコンポーネントを介してアップロード対象のファイルが利用者によって指定された場合の処理を規定するプログラムとして用いられる(ファイルアップロード画面に埋め込まれたプログラムとして画面制御プログラムに組み込まれる)。
以上の操作・処理により、画面制御プログラム及びウェブサービス提供プログラムを含むアプリケーション・プログラムの開発が完了する。このように、本実施形態では、ウェブサービス提供プログラムについては、ウェブサービス作成ツールを利用することでコーディング作業を行うことなく開発することができる。また、画面制御プログラムについても、構築対象のUIの中にファイルアップロード画面が含まれており、当該画面を介してアップロードされたファイルがダウンロードされる際に権限判定ウェブサービス等の所望のウェブサービスを起動させたい場合にも、作成中のファイルアップロード画面内にファイルアップロード用のコンポーネントを配置し、配置したファイルアップロード用のコンポーネントのプロパティを表示させ、所望のウェブサービスの呼出アドレス及びサービス名を設定する、というごく簡単な操作により、上記UIの構築をコーディング作業を行うことなく実現することができる。従って、画面制御プログラム及びウェブサービス提供プログラムを含むアプリケーション・プログラムを非常に短い期間で開発することが可能となる。
次に、アプリケーション・プログラムの実行時(ウェブサイトの稼働時)の動作について説明する。アプリケーション・プログラムの実行時には、図7に示すように、開発したアプリケーション・プログラムのうち、画面制御プログラムがアプリケーション・サーバ34の記憶部34Cにインストールされ、権限判定ウェブサービス提供プログラムがウェブサービス提供サーバ36の記憶部36Cにインストールされる。また、アプリケーション・プログラムが利用可能な標準機能として開発・提供されるファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットについては、アプリケーション・サーバ34の記憶部34Cにインストールされる。
アプリケーション・サーバ34上(詳しくはプラットフォーム・プログラムによって提供されるプラットフォーム上)で実行される画面制御プログラムは、所定のログイン処理(例えばユーザIDとパスワードを用いた認証処理等)を経て特定ウェブサイトの正規の利用者であることが確認された利用者から、クライアント端末42を介してUI画面の配信が要求される毎に、配信が要求されたUI画面のデータを要求元のクライアント端末42へ送信することで、配信が要求されたUI画面を要求元のクライアント端末42のディスプレイ44に表示させる。
ここで、利用者からの配信要求に従って配信されたファイルアップロード画面がクライアント端末42のディスプレイ44に表示されている状態で、ファイルアップロード画面内に配置されているアップロード用のコンポーネントのうち「参照」と表記されたボタンを選択することでクライアント端末42の記憶部42Cに記憶されているファイルを表示させ、表示されたファイルのうちの所望のファイルをアップロード対象のファイルとして選択する操作が利用者によって行われることで、選択したファイルのアップロードが指示されると(図8の「ファイルアップロード指示」も参照)、クライアント端末42のCPU42Aによって呼出プログラムが実行されることで、前述の呼出処理(図5)がクライアント端末42で行われる。
なお、ファイルのアップロードを指示するための上記操作において、ファイルダウンロード画面が、図6(B)に示すようにファイルアップロード用のコンポーネントが1個のみ配置された画面である場合には、ファイルのアップロードは当該コンポーネントを介して指示されるが、図6(A)に示すようにファイルダウンロード画面にファイルアップロード用のコンポーネントが複数配置されている場合は、複数のコンポーネントのうちアップロード対象のファイルに対応する何れか1つのコンポーネント(例えばアップロード対象のファイルと同一のアクセス権限範囲のファイルをアップロードするために設けられたコンポーネント)を介してファイルのアップロードが指示される。
また、前述の呼出処理には、ファイルアップロード・ウェブサービスを呼び出すステップ(ステップ62)が含まれているので、このステップが行われることで、アプリケーション・サーバ34のCPU34Aでファイルアップロード・ウェブサービス提供プログラムが実行されることで、図9に示すファイルアップロード処理がアプリケーション・サーバ34で行われる。
このファイルアップロード処理では、まずステップ70において、呼出元のクライアント端末42から送信されたアップロード対象のファイルのデータを所定量受信し、次のステップ72では、クライアント端末42からのデータ受信が完了したか否か判定する。判定が否定された場合はステップ70に戻り、ステップ72の判定が肯定される迄ステップ70,72を繰り返す。なお、呼出元のクライアント端末42からウェブサービス呼出アドレス及びサービス名が送信された場合には、これらの情報もステップ70,72で受信される。
呼出元のクライアント端末42からのデータ受信が完了すると、ステップ72の判定が肯定されてステップ74へ移行し、受信したアップロード対象のファイルのデータを参照し、アップロード対象のファイルのファイル名及びサイズを認識する。またステップ76では、ハッシュ関数等を用いてアップロード対象のファイルのファイルIDを設定し、次のステップ78では、ファイルダウンロード・サーブレットの呼出アドレス(URL)の末尾にステップ76で設定したファイルIDを付加することで、アップロード対象のファイルに対し、当該ファイルをダウンロードする際に指定するためのダウンロードURLを設定する。またステップ78では、ステップ76で設定したファイルIDをステップ74で認識したファイル名の末尾にも付加する。
次のステップ80では、ステップ78で末尾にファイルIDを付加したアップロード対象のファイルのファイル名、ステップ74で認識したアップロード対象のファイルのサイズ、及び、ステップ78で設定したダウンロードURLを、アップロード対象のファイルのデータをDBサーバ38へ転送(アップロード)する際の付加情報として、メモリ34B上の所定領域に設定する。またステップ82では、呼出元のクライアント端末42から受信した情報の中にウェブサービス呼出アドレス及びサービス名が含まれているか否か判定する。判定が否定された場合はステップ86へ移行するが、判定が肯定された場合はステップ84へ移行し、呼出元のクライアント端末42から受信した情報に含まれるウェブサービス呼出アドレス及びサービス名をメモリ34B上の所定領域に追加設定することで、アップロード対象のファイルのデータをDBサーバ38へ転送(アップロード)する際の付加情報にウェブサービス呼出アドレス及びサービス名を追加した後にステップ86へ移行する。
次のステップ86では、上記処理で設定した付加情報及びアップロード対象のファイルのデータをDBサーバ38へ転送し、記憶部38A(に記憶されているDB)への登録(アップロード)を依頼する(図8の「登録」も参照)。ステップ88では、DBサーバ38へ転送した情報の記憶部38Aへの登録が完了したことがDBサーバ38から通知されたか否か判定し、判定が肯定される迄ステップ88を繰り返す。DBサーバ38では、アプリケーション・サーバ34(上で動作しているファイルアップロード・ウェブサービス)からファイルのアップロード(登録)が依頼されると、アップロード対象のファイルのデータを、同時に受信した付加情報と対応付けて記憶部38A(に記憶されているDB)にアップロード(登録)する。これにより、例として図8に示すように、アップロード対象のファイルのデータ本体は、ファイル名、サイズ、ダウンロードURLの各情報と対応付けて記憶部38Aに登録される。また、アプリケーション・サーバ34から受信した付加情報にウェブサービスの呼出アドレス及びサービス名が含まれている場合には、例として図8に示すように、当該呼出アドレス及びサービス名もアップロード対象のファイルのデータ本体と対応付けて記憶部38Aに登録されることになる。
DBサーバ38は、記憶部38Aへの情報の登録が完了すると、アプリケーション・サーバ34へ登録完了を通知する。これにより、ステップ88の判定が肯定されてステップ90へ移行し、先のステップ78で設定したダウンロードURLを用い、今回アップロードを行ったファイルをダウンロードするためのダウンロード画面を生成し(図8の「生成」も参照)、生成したダウンロード画面を、画面制御プログラムによる配信対象のUI画面の1つとして追加登録する処理を行った後に、ファイルアップロード処理を終了する。なお、上記のファイルダウンロード画面は、例として図8にも示すように、少なくとも、上記のダウンロードURLを埋め込んだリンクが配置された画面であればよいが、これに限られるものではなく、例えば、これ迄にアップロードされた個々のファイルに対応するダウンロードURLを各々埋め込んだ複数のリンクが配列された画面等であってもよい。なお、上記のステップ90は請求項5に記載の画面生成手段に対応している。
また、所定のログイン処理を経た特定ウェブサイトの利用者は、上記のファイルアップロード処理によってアップロードされた特定のファイルの閲覧や更新を所望している場合、上記のファイルアップロード処理で生成されたファイルダウンロード画面の配信を要求し、当該要求に従い画面制御プログラムによって配信されたファイルダウンロード画面が、前記利用者が操作しているクライアント端末42のディスプレイ44に表示された状態で、ファイルダウンロード画面内に配置されているリンクを選択する操作を行うことで、前記特定ファイルのダウンロードを指示する(図8に示す「ファイルダウンロード指示」も参照)。
これにより、選択されたリンクに埋め込まれているダウンロードURLがクライアント端末42からアプリケーション・サーバ34へ送信されるが(図8に示す「ダウンロードURL(http://++++)」も参照)、前述のように、ダウンロードURLはファイルダウンロード・サーブレットの呼出アドレス(URL)の末尾にファイルIDが付加されて構成されているので、ダウンロードURLを受信したアプリケーション・サーバ34では、ファイルダウンロード・サーブレットが起動されることで、図10に示すファイルダウンロード処理が行われる。
ファイルダウンロード処理では、まずステップ100において、アプリケーション・サーバ34がクライアント端末42から受信したダウンロードURLを取得し、取得したダウンロードURLの末尾からファイルIDを抽出する。またステップ102では、ステップ100で抽出したファイルIDをDBサーバ38に通知し、通知したファイルIDに対応するファイル及び付加情報の記憶部38Aからの読み出しをDBサーバ38に依頼する(図8に示す「読出」も参照)。これにより、DBサーバ38は、アプリケーション・サーバ34から通知されたファイルIDをキーとして、当該ファイルIDが末尾に付加されているファイル名を検索し、この検索によって抽出されたファイル名と対応付けて登録されているファイルのデータ本体及び付加情報を記憶部38Aから読み出した後に、読み出した情報をアプリケーション・サーバ34(のファイルダウンロード・サーブレット)へ順に送信する。
次のステップ104では、DBサーバ38からの情報受信が完了したか否か判定し、判定が肯定される迄ステップ104を繰り返す。DBサーバ38からの情報受信が完了すると、ステップ104の判定が肯定されてステップ106へ移行し、DBサーバ38から受信した情報の中にウェブサービス呼出アドレス及びサービス名が含まれているか否か判定する。この判定が否定された場合、今回のダウンロード対象のファイルに対しては、ダウンロードの際に特定のウェブサービスを実行させることは要求されていないと判断できるので、ステップ116へ移行し、DBサーバ38から受信したファイルのデータを、当該ファイルのダウンロードを指示した利用者が操作しているクライアント端末42へ転送し(これによりDBサーバ38からクライアント端末42へのファイルのダウンロードが実現される)、ファイルダウンロード処理を終了する。
一方、DBサーバ38から受信した情報の中にウェブサービス呼出アドレス及びサービス名が含まれている場合は、今回のダウンロード対象のファイルに対し、ダウンロードの際に上記のウェブサービス呼出アドレス及びサービス名によって特定されるウェブサービスの実行が要求されていると判断できるので、ステップ106の判定が肯定された場合はステップ108へ移行し、ダウンロードを指示した利用者が特定ウェブサイトへログインするログイン処理が行われた際にアプリケーション・サーバ34のメモリ34B等に記憶された前記利用者のユーザ情報を取得する。なお、このユーザ情報には、例えばユーザIDやユーザ名、所属部署、役職(職層)、所属会社名等の情報が含まれており、請求項3に記載の利用者特定情報に対応している。
次のステップ110では、DBサーバ38から受信した情報に含まれているサービス名や、ステップ108で取得したユーザ情報、ダウンロードしたファイルを識別するための情報(例えばファイルID等)を引数として、DBサーバ38から受信した情報に含まれている呼出アドレスのウェブサービスを呼び出すことで、対応するウェブサービス提供プログラムに対し、引数に含まれるサービス名に対応するウェブサービスの提供を要求する(図8に示す「呼出アドレス+サービス名+ユーザ情報」も参照)。これにより、アプリケーション・サーバ34又はウェブサービス提供サーバ36で対応するウェブサービス提供プログラムが実行され、要求されたウェブサービスを提供する処理が行われる。
例えばウェブサービス呼出アドレスに対応するウェブサービス提供プログラムが、権限判定ウェブサービス提供プログラムであり当該プログラムが、ウェブサービス提供サーバ36にインストールされたプラットフォーム・プログラムによって提供されるプラットフォーム上で実行される構成である場合は、ウェブサービス提供サーバ36で権限判定ウェブサービス提供プログラムが実行されることで、図11又は図12に示す権限判定処理が行われる。
図11は、アクセス権限範囲の異なるファイル毎に権限判定ウェブサービスが設けられ、個々の権限判定ウェブサービスが単一のアクセス権限範囲のファイルについてのみアクセス権限の判定を行う構成である場合に、個々の権限判定ウェブサービスによって行われる権限判定処理の一例を示しており、図11に示す権限判定処理では、まずステップ134において、アプリケーション・サーバ34(のダウンロードサーブレット)より引き渡された引数から、ユーザ情報に含まれる所属部署を表す部署情報及び職層を表す職層コードを抽出する。ステップ136では、ステップ134で抽出した部署情報が表す利用者の所属部署が、対応するアクセス権限範囲におけるアクセス権限有の部署か否か判定する。判定が肯定された場合はステップ138へ移行し、ステップ134で抽出した職層コードが表す利用者の職層が、対応するアクセス権限範囲におけるアクセス権限有の職層か否か判定する。
ステップ136,138の判定が何れも肯定された場合、ダウンロードを指示した利用者は対応するアクセス権限範囲におけるアクセス権限有りの利用者(ダウンロード対象のファイルについてアクセス権限を有している利用者)であると判断できるので、ステップ140で呼出元(この場合はアプリケーション・サーバ34(のダウンロードサーブレット)へアクセス権限有りを通知し、処理を終了する。また、ステップ136又はステップ138の判定が否定された場合、ダウンロードを指示した利用者は対応するアクセス権限範囲におけるアクセス権限を有していない利用者(ダウンロード対象のファイルについてアクセス権限を有していない利用者であると判断できるので、ステップ142で呼出元へアクセス権限無しを通知し、処理を終了する。
一方、図12は、ファイルに設定されたアクセス権限範囲に拘わらずアクセス権限の判定を行うことが可能な単一の権限判定ウェブサービスが設けられている場合に、この権限判定ウェブサービスによって行われる権限判定処理の一例を示しており、図12に示す権限判定処理では、まずステップ130において、アプリケーション・サーバ34(のダウンロードサーブレット)より引き渡された引数から、ダウンロードされたファイルを識別するためのファイルID等の情報を抽出する。
またステップ132では、ステップ130で抽出した情報に基づいて、ダウンロードされたファイルに設定されているアクセス権限範囲を認識する。このアクセス権限範囲の認識は、例えばファイルに設定されたアクセス権限範囲を個々のファイル毎に管理するファイル管理情報をDBサーバ38の記憶部38Aに記憶しておき、ステップ130で抽出した情報をDBサーバ38に通知し、対応するアクセス権限情報の読み出しを依頼する処理を行うことで実現することができる。なお、以下の処理は、ステップ132で認識したアクセス権限範囲に基づいてステップ136,138の判定を行う以外は図11に示す権限判定処理と同一であるので、説明を省略する。
なお、図11,12に示した権限判定処理(権限判定ウェブサービス)は単なる一例であり、例えばユーザ情報のうち職層や所属部署、所属会社の何れか1つに基づいてアクセス権限の有無を判定する処理や、ダウンロードを指示した利用者がファイルの作成者か否かを判断し、ファイルの作成者以外の利用者に対してはアクセス権限無しと判定する処理を行うようにしてもよい。
ファイルダウンロード処理(図10)では、ステップ110でウェブサービスの呼び出しを行うと、次のステップ112において、ステップ110で呼び出したウェブサービスから処理結果を受信したか否か判定し、判定が肯定される迄ステップ112を繰り返す。ウェブサービスから処理結果を受信すると、ステップ112の判定が肯定されてステップ114へ移行し、受信した処理結果がOK(例えば呼び出したウェブサービスが権限判定ウェブサービスであれば、通知された処理結果がアクセス権限有り)か否か判定する。ステップ114の判定が肯定された場合は前述のステップ116へ移行し、DBサーバ38から受信したファイルのデータを、当該ファイルのダウンロードを指示した利用者が操作しているクライアント端末42へ転送して処理を終了する。また、ステップ114の判定が否定された場合はステップ118へ移行し、ファイルのダウンロードを指示した利用者が操作しているクライアント端末42へエラーを通知して処理を終了する。
ダウンロード可能にDBサーバ38の記憶部38Aに記憶されているファイルにアクセス権限範囲が設定されている場合、アクセス権限範囲外の利用者による前記ファイルのダウンロードを禁止することは、例えば前記ファイルのダウンロードを指示するためのファイルダウンロード画面を、前記ファイルに対するアクセス権限を有する利用者が操作するクライアント端末42へのみ配信するように構成することによっても原理的には実現可能である。しかしながら、この構成ではファイルダウンロード画面に設けられたリンクに埋め込まれたダウンロードURLが、対応するファイルに対するアクセス権限を有しない利用者に漏洩してしまった場合、当該利用者が、知り得たダウンロードURLをブラウザのアドレス入力欄に入力する等の操作を行うことで、アクセス権限を有しないファイルのダウンロードを行うことが可能になってしまうという問題がある。
これに対して本実施形態では、ファイルアップロード画面内に配置された際にウェブサービス呼出アドレス及びサービス名が設定されたファイルアップロード用のコンポーネントを介してアップロードされたファイルについては、当該ファイルのデータ本体と対応付けてウェブサービス呼出アドレス及びサービス名がDBサーバ38の記憶部38Aに記憶され、前記ファイルのダウンロードが指示された際には、記憶部38Aから前記ファイルのデータが読み出された後に、記憶部38Aに記憶されているウェブサービス呼出アドレス及びサービス名に基づいて対応するウェブサービスが実行されるので、ウェブサービス呼出アドレス及びサービス名として権限判定ウェブサービスに対応する情報を設定しておくことで、前記ファイルのダウンロードが指示された際に権限判定ウェブサービスが実行されることになる。
従って、利用者によってダウンロードURLが入力されることで、当該利用者がアクセス権限を有しないファイルのダウンロードが指示された場合にも、前記利用者が特定ウェブサイトへログインするログイン処理が行われた際に取得されたユーザ情報に基づき、権限判定ウェブサービスから処理結果として「アクセス権限無し」が通知され(図8に示す「NG」も参照)、アプリケーション・サーバ34(のダウンロードサーブレット)から前記利用者が操作するクライアント端末42へエラーが通知される(図8に示す「エラー通知」も参照)ことで、アクセス権限を有しない利用者によってファイルがダウンロードされることを阻止することができる。
また本実施形態では、ファイルのダウンロードが指示された際に実行させるウェブサービスが、ウェブサービス呼出アドレス及びサービス名によって指定されているので、ファイルアップロード・ウェブサービス提供プログラムによるファイルアップロード処理及びファイルダウンロード・サーブレットによるファイルダウンロード処理は、ファイルのダウンロードが指示された際に何れのウェブサービスを実行させるかに拘わらず、一定の処理によって実現できる。これを利用し、本実施形態では、ファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットを、アプリケーション・プログラムが利用可能な標準機能として開発・提供しており、アプリケーション・プログラムを開発する開発者が、ファイルアップロード処理やファイルダウンロード処理を行うプログラムを開発する必要はない。従って、本実施形態によれば、先に説明したように、ファイルアップロード画面を含み、当該画面を介してアップロードされたファイルがダウンロードされる際に権限判定ウェブサービス等のウェブサービスを起動させるUIの構築についても、コーディング作業を行うことなく実現できることと相俟って、開発者の負担を大幅に軽減することができる。
なお、上記では本発明に係るサービス提供手段によって提供されるサービスの一例として、権限判定ウェブサービスを説明したが、本発明はこれに限定されるものではなく、例えばダウンロード回数をファイル単位や利用者単位で計数するサービス等の任意のサービスを適用可能である。また、権限判定ウェブサービスと他のサービスを選択的に実行させるようにしてもよいし、ファイルのダウンロードが指示された際に、複数のサービスを順に実行させるようにしてもよいし、ファイルのダウンロードが指示された際に、まず第1のサービスを実行させ、その結果に応じて第2のサービスを実行させるか否かを選択するようにしてもよい。
また、上記では、本発明に係るアップロード実行手段を実現するファイルアップロード・ウェブサービス提供プログラムと、本発明に係るダウンロード実行手段を実現するファイルダウンロード・サーブレットがアプリケーション・サーバ34によって実行され、本発明に係るサービス提供手段を実現する権限判定ウェブサービス提供プログラムがウェブサービス提供サーバ36によって実行される態様を説明したが、本発明はこれに限定されるものではなく、上記各プログラムを単一のコンピュータで実行されるように構成することも可能である。
また、上記ではイントラネット40を通じてウェブサイト(アプリケーション・サーバ34)へアクセスした利用者(例えば特定企業の従業員)に対して所定のウェブサービスを提供する態様を説明したが、これに限定されるものではなく、イントラネット40に代えてインターネットを用い、インターネットに接続可能な不特定の利用者に所定のウェブサービスを提供する等の態様にも適用可能である。
更に、上記では本発明に係るアプリケーション開発支援プログラムに対応する各プログラムのうち、呼出プログラム改変プログラムがクライアント端末16の記憶部16Cに予め記憶(インストール)され、ファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットがアプリケーション・サーバ34の記憶部34Cに予め記憶(インストール)され、権限判定ウェブサービス提供プログラムがウェブサービス提供サーバ36の記憶部36Cに予め記憶(インストール)されている態様を説明したが、本発明に係るアプリケーション開発支援プログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されている形態で提供することも可能である。この態様における記録媒体は請求項10に記載の記録媒体に対応している。
符号の説明
10 コンピュータ・システム
16 クライアント端末
30 コンピュータ・システム
34 アプリケーション・サーバ
36 ウェブサービス提供サーバ
38 DBサーバ
38 記憶媒体
38A 記憶部
42 クライアント端末

Claims (9)

  1. ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツールを用いて行われる、前記第1プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置であって、
    稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第1記憶手段に登録させるアップロード実行手段と、
    開発者により前記第1のツールに対して前記第1の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第1の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段と、
    稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段と、
    稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第1記憶手段から読み出すと共に、前記第1記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段と、
    を備えたアプリケーション開発支援装置。
  2. 前記ダウンロード実行手段は、前記第1記憶手段から読み出した前記ダウンロード対象のファイルを、前記サービス提供手段による前記サービス提供処理が終了した後に、前記サービス提供処理の処理結果に応じてダウンロード指示元へ選択的に転送する請求項1記載のアプリケーション開発支援装置。
  3. 前記サービス提供手段は、サービス要求元から少なくともファイルのダウンロードを指示した利用者を特定するための利用者特定情報が転送されると、転送された少なくとも前記利用者特定情報に基づき、前記利用者が前記ファイルにアクセスする権限を有しているか否か判定し、判定結果をサービス要求元へ通知する権限判定サービスを提供する請求項1記載のアプリケーション開発支援装置。
  4. 前記ダウンロード実行手段は、前記サービス提供手段に対し、少なくとも前記利用者特定情報を転送して前記権限判定サービスの提供を要求し、前記サービス提供手段から通知された判定結果が権限有りの場合は前記第1記憶手段から読み出した前記ダウンロード対象のファイルを前記ダウンロード指示元へ転送し、前記サービス提供手段から通知された判定結果が権限無しの場合は前記ダウンロード指示元へエラー応答を返す請求項3記載のアプリケーション開発支援装置。
  5. 前記アップロード実行手段によって前記ファイル及び前記付加情報が第1記憶手段に登録された場合に、前記ダウンロード実行手段を呼び出して前記ファイルのダウンロードを指示するための情報が埋め込まれたリンクを含むダウンロード用のユーザインタフェース画面を、前記ユーザインタフェースを構成する画面の1つとして追加生成する画面生成手段を更に備えた請求項1〜請求項4記載のアプリケーション開発装置。
  6. 前記サービス特定情報は、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを提供可能な前記サービス提供手段を呼び出すためのエンドポイント情報と、前記実行すべきサービスのサービス名を含み、
    前記ダウンロード実行手段は、前記サービス特定情報に含まれる前記エンドポイント情報に従って前記サービス提供手段を呼び出すと共に、前記サービス特定情報に含まれる前記サービス名を、呼び出した前記サービス提供手段へ引数として引き渡すことで、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求する請求項1〜請求項5の何れか1項記載のアプリケーション開発支援装置。
  7. 前記第1のツールはJSFに準拠したツールである請求項1〜請求項6の何れか1項記載のアプリケーション開発支援装置。
  8. コンピュータを、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツールを用いて行われる、前記第1プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムであって、
    少なくとも前記第1プログラムを実行する第2コンピュータを、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第1記憶手段に登録させるアップロード実行手段として機能させると共に、
    少なくとも前記第1のツールが動作する第1コンピュータを、開発者により前記第1のツールに対して前記第1の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第1の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段として機能させ、
    更に、前記第2コンピュータを、
    稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段、
    及び、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第1記憶手段から読み出すと共に、前記第1記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段
    として機能させるためのアプリケーション開発支援プログラム。
  9. コンピュータを、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツールを用いて行われる、前記第1プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムが記録された記録媒体であって、
    前記アプリケーション開発支援プログラムは、
    少なくとも前記第1プログラムを実行する第2コンピュータを、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第1記憶手段に登録させるアップロード実行手段として機能させると共に、
    少なくとも前記第1のツールが動作する第1コンピュータを、開発者により前記第1のツールに対して前記第1の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第1の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段として機能させ、
    更に、前記第2コンピュータを、
    稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段、
    及び、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第1記憶手段から読み出すと共に、前記第1記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段
    として機能させる記録媒体。
JP2010526105A 2009-02-19 2009-02-19 アプリケーション開発支援装置、プログラム及び記録媒体 Expired - Fee Related JP5069794B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/052836 WO2010095226A1 (ja) 2009-02-19 2009-02-19 アプリケーション開発支援装置、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JPWO2010095226A1 JPWO2010095226A1 (ja) 2012-08-16
JP5069794B2 true JP5069794B2 (ja) 2012-11-07

Family

ID=42633527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010526105A Expired - Fee Related JP5069794B2 (ja) 2009-02-19 2009-02-19 アプリケーション開発支援装置、プログラム及び記録媒体

Country Status (5)

Country Link
US (1) US20110214117A1 (ja)
EP (1) EP2400384A1 (ja)
JP (1) JP5069794B2 (ja)
CN (1) CN102144216A (ja)
WO (1) WO2010095226A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110752B2 (en) * 2012-07-11 2015-08-18 Sap Portals Israel Ltd Enterprise portal mobile applications installs
US9344420B2 (en) * 2013-03-14 2016-05-17 OpenFin Inc. Systems and methods for deploying rich internet applications in a secure computing environment
JP2014191641A (ja) * 2013-03-27 2014-10-06 Fujitsu Ltd インストールプログラム及びインストール方法
CN104391690B (zh) * 2014-11-04 2019-06-11 中国石油天然气股份有限公司 一种应用开发系统及方法
WO2016199018A1 (en) * 2015-06-07 2016-12-15 Wix.Com Ltd System and method for the generation of an adaptive user interface in a website building system
JP6860807B2 (ja) * 2016-05-30 2021-04-21 株式会社サタケ 計量包装機
JP6957999B2 (ja) * 2017-06-08 2021-11-02 コニカミノルタ株式会社 データ処理システム、データ処理装置、サーバ及びプログラム
JP6969460B2 (ja) * 2018-03-15 2021-11-24 オムロン株式会社 プログラム開発支援システム、プログラム開発支援方法及びプログラム開発支援プログラム
CN108614882A (zh) * 2018-04-28 2018-10-02 深圳市市政设计研究院有限公司 一种基于服务器的文件管理方法与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099545A (ja) * 2004-09-30 2006-04-13 Jfe Systems Inc 画面作成方法及び装置
JP2006135662A (ja) * 2004-11-05 2006-05-25 Osaka Gas Co Ltd ファイル転送中継方法とファイル転送中継システム
JP2006185212A (ja) * 2004-12-28 2006-07-13 Ricoh Software Kk 情報管理システム、情報管理方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983371B1 (en) * 1998-10-22 2006-01-03 International Business Machines Corporation Super-distribution of protected digital content
JP2003044297A (ja) 2000-11-20 2003-02-14 Humming Heads Inc コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム
JP2003162449A (ja) 2001-11-27 2003-06-06 Mitsubishi Electric Corp アクセス統合管理システム、アクセス統合管理装置及び方法並びにプログラム
US20060075071A1 (en) * 2004-09-21 2006-04-06 Gillette Joseph G Centralized management of digital files in a permissions based environment
JP4489634B2 (ja) 2005-05-12 2010-06-23 日本電信電話株式会社 JavaサーブレットによるWebサーバシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099545A (ja) * 2004-09-30 2006-04-13 Jfe Systems Inc 画面作成方法及び装置
JP2006135662A (ja) * 2004-11-05 2006-05-25 Osaka Gas Co Ltd ファイル転送中継方法とファイル転送中継システム
JP2006185212A (ja) * 2004-12-28 2006-07-13 Ricoh Software Kk 情報管理システム、情報管理方法及びプログラム

Also Published As

Publication number Publication date
WO2010095226A1 (ja) 2010-08-26
US20110214117A1 (en) 2011-09-01
JPWO2010095226A1 (ja) 2012-08-16
CN102144216A (zh) 2011-08-03
EP2400384A1 (en) 2011-12-28

Similar Documents

Publication Publication Date Title
JP5069794B2 (ja) アプリケーション開発支援装置、プログラム及び記録媒体
Subramanian et al. Hands-On RESTful API Design Patterns and Best Practices: Design, develop, and deploy highly adaptable, scalable, and secure RESTful web APIs
JP5087133B2 (ja) アプリケーション開発支援装置、プログラム及び記録媒体
JP5956432B2 (ja) ウェブベースの電子署名文書
US9430449B2 (en) Systems, methods, and media for managing editable previews of webpages
US8504981B2 (en) Application development support device, program, and recording medium
JP2009042856A (ja) 文書管理装置、文書管理システム及びプログラム
JP2004246872A (ja) ブラウザテストシステム及び方法
JP5982962B2 (ja) データ処理装置、データ処理システム及びプログラム
JP4714199B2 (ja) アプリケーション開発支援装置及びプログラム
JP2011186768A (ja) ファイル管理システム、情報処理装置、及び情報処理方法
US8055998B2 (en) Processing instructions in a changed document object
JP2007233610A (ja) 情報処理装置、ポリシー管理方法、記憶媒体、プログラム
Ikkink Gradle Dependency Management
JP5716108B2 (ja) オンラインシステム、プログラム生成装置および画面制御プログラム生成装置
JP2013164861A (ja) オンラインシステム、プログラム生成装置および画面制御プログラム生成装置
JP2020087197A (ja) 情報処理システム、情報処理プログラム、情報処理方法
KR20190122462A (ko) 계약 관리 서비스 제공 방법 및 장치
US11985024B2 (en) Systems and methods for providing managed services
US20220286346A1 (en) Systems and methods for providing managed services
JP5142067B2 (ja) 文書処理システム、文書処理装置、メールサーバー及びプログラム
JP5318977B2 (ja) オンラインシステム、プログラム生成装置および画面制御プログラム生成装置
Bassas Cordoba Where is my pet? A global solution for locating lost pets
Freeman et al. Using the Identity UI Package
Moreno Puig Missing Persons App: an Android app for missing people

Legal Events

Date Code Title Description
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: 20120814

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120817

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees