(57)【要約】  ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、ファイルのダウンロード時に複数種のサービスのうち予め設定したサービスを実行させるアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現する。  ファイルアップロード画面に設けたアップロード用のコンポーネントに、アップロード時にウェブサービス呼出アドレス及びサービス名も送信するプログラムを付加しておく。前記コンポーネントを介してアップロードが指示されたファイルは、呼出アドレス及びサービス名が付加されてＤＢに登録され、クライアント端末からダウンロードが指示された際には、呼出アドレス及びサービス名に基づき対応するウェブサービス(例えばアクセス権限を判定するサービス)が実行され、結果がＯＫの場合にのみ指示されたファイルが端末へ転送される。
2010095226.tif 000002
【特許請求の範囲】
【請求項１】
ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第１の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第１プログラムを生成する第１のツールを用いて行われる、前記第１プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置であって、
稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第１記憶手段に登録させるアップロード実行手段と、
開発者により前記第１のツールに対して前記第１の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第１の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段と、
稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段と、
稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第１記憶手段から読み出すと共に、前記第１記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段と、
を備えたアプリケーション開発支援装置。
【請求項２】
前記ダウンロード実行手段は、前記第１記憶手段から読み出した前記ダウンロード対象のファイルを、前記サービス提供手段による前記サービス提供処理が終了した後に、前記サービス提供処理の処理結果に応じてダウンロード指示元へ選択的に転送する請求項１記載のアプリケーション開発支援装置。
【請求項３】
前記サービス提供手段は、サービス要求元から少なくともファイルのダウンロードを指示した利用者を特定するための利用者特定情報が転送されると、転送された少なくとも前記利用者特定情報に基づき、前記利用者が前記ファイルにアクセスする権限を有しているか否か判定し、判定結果をサービス要求元へ通知する権限判定サービスを提供する請求項１記載のアプリケーション開発支援装置。
【請求項４】
前記ダウンロード実行手段は、前記サービス提供手段に対し、少なくとも前記利用者特定情報を転送して前記権限判定サービスの提供を要求し、前記サービス提供手段から通知された判定結果が権限有りの場合は前記第１記憶手段から読み出した前記ダウンロード対象のファイルを前記ダウンロード指示元へ転送し、前記サービス提供手段から通知された判定結果が権限無しの場合は前記ダウンロード指示元へエラー応答を返す請求項３記載のアプリケーション開発支援装置。
【請求項５】
前記アップロード実行手段によって前記ファイル及び前記付加情報が第１記憶手段に登録された場合に、前記ダウンロード実行手段を呼び出して前記ファイルのダウンロードを指示するための情報が埋め込まれたリンクを含むダウンロード用のユーザインタフェース画面を、前記ユーザインタフェースを構成する画面の１つとして追加生成する画面生成手段を更に備えた請求項１〜請求項４記載のアプリケーション開発装置。
【請求項６】
前記サービス特定情報は、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを提供可能な前記サービス提供手段を呼び出すためのエンドポイント情報と、前記実行すべきサービスのサービス名を含み、
前記ダウンロード実行手段は、前記サービス特定情報に含まれる前記エンドポイント情報に従って前記サービス提供手段を呼び出すと共に、前記サービス特定情報に含まれる前記サービス名を、呼び出した前記サービス提供手段へ引数として引き渡すことで、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求する請求項１〜請求項５の何れか１項記載のアプリケーション開発支援装置。
【請求項７】
前記第１のツールはＪＳＦに準拠したツールである請求項１〜請求項６の何れか１項記載のアプリケーション開発支援装置。
【請求項８】
コンピュータを、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第１の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第１プログラムを生成する第１のツールを用いて行われる、前記第１プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムであって、
少なくとも前記第１プログラムを実行する第２コンピュータを、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第１記憶手段に登録させるアップロード実行手段として機能させると共に、
少なくとも前記第１のツールが動作する第１コンピュータを、開発者により前記第１のツールに対して前記第１の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第１の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段として機能させ、
更に、前記第２コンピュータを、
稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段、
及び、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第１記憶手段から読み出すと共に、前記第１記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段
として機能させるためのアプリケーション開発支援プログラム。
【請求項９】
コンピュータを、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第１の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第１プログラムを生成する第１のツールを用いて行われる、前記第１プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムが記録された記録媒体であって、
前記アプリケーション開発支援プログラムは、
少なくとも前記第１プログラムを実行する第２コンピュータを、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第１記憶手段に登録させるアップロード実行手段として機能させると共に、
少なくとも前記第１のツールが動作する第１コンピュータを、開発者により前記第１のツールに対して前記第１の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第１の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段として機能させ、
更に、前記第２コンピュータを、
稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段、
及び、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第１記憶手段から読み出すと共に、前記第１記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段
として機能させる記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアプリケーション開発支援装置、プログラム及び記録媒体に係り、特に、構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するためのプログラムを生成するツールを用いて行われるアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置、コンピュータを該アプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラム、及び、該アプリケーション開発支援プログラムが記録された記録媒体に関する。
【背景技術】
【０００２】
近年、ウェブアプリケーション向けのユーザインタフェースを構築するための規格としてＪＳＦ(Java(登録商標) Server Faces) が知られている。このＪＳＦに関しては、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルの中から所望のシンボルを選択・配置する等の操作を行うことで、ユーザインタフェース画面の設計やユーザインタフェース画面の遷移の定義等のユーザインタフェースの構築が可能で、構築されたユーザインタフェースを実現するプログラムを自動的に生成可能なツールが用意されており、このツールを利用することで、所望のユーザインタフェースを実現するプログラムを、コーディング作業を行うことなく容易かつ短時間で得ることができる。このため、ウェブアプリケーションの開発にあたり、当該ウェブアプリケーションのうち、ユーザインタフェースの部分のプログラムをＪＳＦのツールを用いて自動生成するようにすれば、ユーザインタフェースの部分についてのコーディング作業が不要となることで開発期間の大幅な短縮を実現できるものと期待される。【０００３】
ところで、ウェブアプリケーションにおいて、アップロード対象として指定されたファイルをＤＢ(データベース)サーバ等へ転送して記憶させる「アップロード」や、ダウンロード対象として指定されたファイルをＤＢサーバ等から取得する「ダウンロード」は、広範に実装されているごく一般的な機能である。このうち、ファイルのダウンロードでは、ファイルのアップロードによって確定したファイルのアドレス情報(例えばＵＲＬ(:Uniform Resource Locator))によってダウンロード対象のファイルが指定されるが、ＤＢサーバ等に記憶されているファイルが機密性を有するファイルであったとしても、当該ファイルのアドレス情報が第三者に漏洩してしまうと、当該第三者が入手したアドレス情報を入力してダウンロードを要求することでダウンロードが実行されてしまうので、ファイルのダウンロードが要求された際には、ダウンロードを要求した利用者がダウンロード対象のファイルをダウンロードする権限を有しているか否かを確認し、権限を有していない利用者によるファイルのダウンロードを排除したいというニーズが存在している。【０００４】
上記に関連して特許文献１には、事業者によって提供される複数のサービスを１台の計算機上に集約したシステムにおいて、カスタマイズに用いるＪＳＰ(Java Server Pages)の文法を制限し、動作前に利用者の権限を確認すると共に、利用者の種別に応じてアクセスするオブジェクトの名前空間を分けて管理するようにタグライブラリを構成し、ＪＳＰファイルの記述が予定したルールに従っていることを確認することで、事業者間のセキュリティを確保する技術が開示されている。【０００５】
また特許文献２には、アクセス先のリソースがＵＲＩ(ＵＲＬ)形式で指定される場合に、複数の情報リソースを要素名で各々一意に指定する名前空間を有し、複数の情報リソースの各アクセス権限を要素名のアクセス権限として設定した統合管理用アクセス制御リストを設けておき、情報リソースに対してアクセス要求があると、統合管理用アクセス制御リストにおける前記情報リソースに対応する要素名のアクセス権限を参照してそのアクセス範囲を判定し、判定結果に基づいて複数の情報リソースに対する各アクセス権限を管理する技術が開示されている。【０００６】
また特許文献３には、ファイル等のＯＳが管理しているコンピュータリソースに対するプロセス又はＯＳからの操作要求を、コンピュータリソースにアクセスする前に捕捉し、その捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを判定し、アクセス権限があれば当該操作要求通りにＯＳに渡し、その結果を要求元プロセスに返し、アクセス権限がなければ当該操作要求を拒否するか、コンピュータリソースの内容に応じて課金する事によって許可する技術が開示されている。
【特許文献１】特開２００６−３１８２０３号公報
【特許文献２】特開２００３−１６２４４９号公報
【特許文献３】特開２００３−４４２９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前述のように、ウェブアプリケーションのうちユーザインタフェースの部分のプログラムについては、ＪＳＦのツールを用いればコーディング作業を行うことなく開発することができる。このため、ファイルのアップロード処理やダウンロード処理を行うプログラムを、ウェブサービスのプログラムやサーブレット(ウェブサーバ上で実行される部品化されたプログラム)として開発しておき、開発したウェブアプリケーションが利用可能な標準機能としてウェブアプリケーションの開発者に提供すれば、ファイルのアップロード及びダウンロードが指示可能なウェブアプリケーションの開発に際してコーディング作業を省略することは可能である。【０００８】
しかしながら、ファイルのダウンロードが要求された際に、例えば前述の権限チェック等の複数種のウェブサービスのうちの何れかのウェブサービスを選択的に実行させるウェブアプリケーションの開発が要求されている場合には、例えば、ダウンロード処理を行うサーブレット等に、ファイルのダウンロードが要求された際に複数種のウェブサービスのうちの何れのウェブサービスを実行させるのかを選択する機能を追加したり、複数種のウェブサービスに対応して複数のサーブレット等を設け、ダウンロードが要求された際に対応するサーブレットが起動されるようにする等、開発者による改変(カスタマイズ)が必須となってしまい、開発者がコーディング作業を行う必要が生ずるという問題があった。【０００９】
これに対し、先に述べた特許文献１〜特許文献３に記載の技術は、何れも権限確認は行っているものの、コーディング作業を省くことは考慮されていないので、これらの技術を適用したとしても、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、ファイルのダウンロードを行う際にウェブサービスを選択的に実行させるアプリケーションを開発する場合にはコーディング作業を行う必要がある。プログラムの開発にあたって多少なりともコーディング作業が必要とされる場合、開発担当者がプログラミング言語に関する知識を有している人に限られると共に、コーディング作業で作成したプログラムに対してはデバッグ作業も必要となるので、コーディング作業を省略できる場合と比較して開発期間が大幅に長期化するという問題がある。【００１０】
本発明は上記事実を考慮して成されたもので、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、指示に応じてファイルのダウンロードを行う際に、複数種のサービスのうち予め設定したサービスを実行させるアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現可能なアプリケーション開発支援装置、アプリケーション開発支援プログラム及び記録媒体を得ることが目的である。
【課題を解決するための手段】
【００１１】
上記目的を達成するために請求項１記載の発明に係るアプリケーション開発支援装置は、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第１の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第１プログラムを生成する第１のツールを用いて行われる、前記第１プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置であって、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第１記憶手段に登録させるアップロード実行手段と、開発者により前記第１のツールに対して前記第１の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第１の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段と、稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段と、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第１記憶手段から読み出すと共に、前記第１記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段と、を備えている。【００１２】
請求項１記載の発明において、第１のツールは、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第１の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第１プログラムを生成する。なお、例えば請求項７に記載したように、第１のツールとしてはＪＳＦに準拠したツールを適用することができる。請求項１記載の発明では、上記第１のツールを用いて、第１プログラムを含むアプリケーション・プログラムの開発が開発者によって行われる。【００１３】
ここで、請求項１記載の発明では、稼働時(コンピュータによる、第１プログラムを含むアプリケーション・プログラムの実行時)に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと付加情報を対応付けて第１記憶手段に登録させるアップロード実行手段が設けられており、開発者により第１のツールに対して第１の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、プログラム付加手段により、稼働時に、特定のユーザインターフェース画面内のシンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルをアップロード実行手段に転送すると共に、第１の操作が行われた際に開発者によって指定された、アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を付加情報としてアップロード実行手段に転送する処理をコンピュータによって行わせるプログラムが付加される。【００１４】
また、請求項１記載の発明では、稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段が設けられており、ダウンロード実行手段は、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを第１記憶手段から読み出すと共に、第１記憶手段にダウンロード対象のファイルと対応付けてサービス特定情報が登録されていた場合に、サービス特定情報によって特定されるサービスの提供をサービス提供手段に要求した後に、ダウンロード指示元へ応答を返す。【００１５】
上記構成により、開発者は、第１のツールに対し、第１の操作として、ファイルのアップロードを指示するためのシンボルを特定のユーザインターフェース画面内に配置する操作を行う際に、特定のユーザインターフェース画面内に配置した前記シンボルに対し、稼働時に、前記シンボルを介しての指示によってアップロードされたファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を指定する操作も行うことにより、稼働時に、特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、前記シンボルに付加されたプログラムがコンピュータによって実行されることで、アップロード対象のファイル及び前記サービス特定情報がアップロード実行手段に転送され、アップロード実行手段により、アップロード対象のファイルと付加情報が対応付けて第１記憶手段に登録されることになる。【００１６】
また稼働時に、上記でアップロードされたファイルのダウンロードが指示された場合には、ダウンロード実行手段により、ダウンロード対象のファイルが第１記憶手段から読み出されると共に、ダウンロード対象のファイルと対応付けてサービス特定情報が第１記憶手段に登録されていることで、サービス特定情報によって特定されるサービスの提供がサービス提供手段に要求され、サービス提供手段により、複数種のサービスのうち要求されたサービスを提供するサービス提供処理が行われると共に、ダウンロード実行手段からダウンロード指示元へ応答が返される。【００１７】
このように、請求項１記載の発明に係るアップロード実行手段、プログラム付加手段及びダウンロード実行手段は、何れも一定の処理を行う構成であるので、これらの手段を実現するプログラムは事前に開発可能であり、プログラム付加手段として機能するプログラムは、開発者が第１のツールを用いてユーザインタフェース画面を設計する際に利用可能なプログラムとして提供できると共に、アップロード実行手段及びダウンロード実行手段は、開発者によって開発されたアプリケーション・プログラムが実行される際(稼働時)に利用可能なプログラムとして提供することができ、開発者によるこれらのプログラムの改変(カスタマイズ)も不要である。また、請求項１記載の発明に係るサービス提供手段によるサービス提供処理については、アプリケーション・プログラムによって相違する可能性はあるが、サービス提供手段として機能するプログラムが既に存在していれば、これを利用できると共に、ビジネスプロセスをワークフローとして記述可能な規格(例えばＢＰＥＬ：Business Process Execution Language)に準拠したプログラムを自動的に生成可能なツールを利用すれば、サービス提供手段として機能するプログラムをコーディング作業を行うことなく得ることができる。【００１８】
従って、請求項１記載の発明によれば、開発者は、ファイルのアップロードを指示するためのシンボルを特定のユーザインターフェース画面内に配置する操作を行う際に、前記サービス特定情報を指定する操作も行うのみで、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、指示に応じてファイルのダウンロードを行う際に、複数種のサービスのうち予め設定したサービスを実行させるアプリケーション・プログラムを開発することができるので、前記アプリケーション・プログラムの開発を、コーディング作業を行うことなく実現することが可能となる。【００１９】
なお、請求項１記載の発明において、ダウンロード実行手段によって第１記憶手段から読み出されたダウンロード対象のファイルについては、ダウンロード指示元へ一律に転送するようにしてもよいが、サービス提供手段によるサービス提供処理によって提供されるサービスの内容等によっては、例えば請求項２に記載したように、ダウンロード実行手段を、第１記憶手段から読み出したダウンロード対象のファイルを、サービス提供手段によるサービス提供処理が終了した後に、サービス提供処理の処理結果に応じてダウンロード指示元へ選択的に転送するように構成してもよい。【００２０】
また、請求項１記載の発明において、サービス提供手段によるサービス提供処理によって提供されるサービスとしては、任意のサービス(例えばダウンロード回数をファイル単位や利用者単位で計数するサービス等)を適用可能であるが、例えば請求項３に記載したように、サービス提供手段を、サービス要求元から少なくともファイルのダウンロードを指示した利用者を特定するための利用者特定情報が転送されると、転送された少なくとも利用者特定情報に基づき、前記利用者がファイルをアクセスする権限を有しているか否か判定し、判定結果をサービス要求元へ通知する権限判定サービスを提供するように構成してもよい。【００２１】
請求項１記載の発明では、サービス提供手段が複数種のサービスを提供可能であるが、請求項３に記載の権限判定サービスは複数種のサービスのうちの何れか１つであってもよいし、互いに判定内容の異なる複数種の権限判定サービスが複数種のサービスの中に含まれていてもよく、複数種のサービスの全てが互いに判定内容の異なる権限判定サービスであってもよい。また権限判定サービスは、上記の利用者特定情報に加えてダウンロードが指示されたファイルを特定するためのファイル特定情報も転送され、当該ファイル特定情報も用いてアクセス権限の判定を行う構成であってもよい。【００２２】
また、請求項３に記載したように、サービス提供手段が権限判定サービスを提供する場合、ダウンロード実行手段は、例えば請求項４に記載したように、サービス提供手段に対し、少なくとも利用者特定情報を転送して権限判定サービスの提供を要求し、サービス提供手段から通知された判定結果が権限有りの場合は、第１記憶手段から読み出したダウンロード対象のファイルをダウンロード指示元へ転送し、サービス提供手段から通知された判定結果が権限無しの場合はダウンロード指示元へエラー応答を返すように構成することが好ましい。これにより、ダウンロード実行手段を呼び出して或るファイルのダウンロードを指示するための情報(例えばＵＲＬ等)が、前記ファイルにアクセスする権限を有しない利用者に漏洩したとしても、当該利用者が前記ファイルのダウンロードを指示した場合には、サービス提供手段から判定結果として権限無しが通知されることで、当該利用者(が操作する端末等のダウンロード指示元)へエラー応答を返され、前記ファイルのダウンロードが阻止されるので、ファイルのセキュリティを確保することができる。【００２３】
また、請求項１〜請求項４の何れかに記載の発明において、例えば請求項５に記載したように、アップロード実行手段によってファイル及び付加情報が第１記憶手段に登録された場合に、ダウンロード実行手段を呼び出して前記ファイルのダウンロードを指示するための情報が埋め込まれたリンクを含むダウンロード用のユーザインタフェース画面を、前記ユーザインタフェースを構成する画面の１つとして追加生成する画面生成手段を設けることが好ましい。これにより、稼働時に、画面生成手段によって生成されたダウンロード用のユーザインタフェース画面のリンクを選択する操作を行うのみで、前記ファイルのダウンロードを指示することができ、ファイルのダウンロードを指示するための操作を簡略化することができる。【００２４】
また、請求項１〜請求項５の何れかに記載の発明において、サービス特定情報は、例えば請求項６に記載したように、アップロード対象のファイルがダウンロードされる際に実行すべきサービスを提供可能なサービス提供手段を呼び出すためのエンドポイント情報と、実行すべきサービスのサービス名を含み、ダウンロード実行手段を、サービス特定情報に含まれるエンドポイント情報に従ってサービス提供手段を呼び出すと共に、サービス特定情報に含まれるサービス名を、呼び出したサービス提供手段へ引数として引き渡すことで、サービス特定情報によって特定されるサービスの提供をサービス提供手段に要求するように構成することができる。【００２５】
請求項８記載の発明に係るアプリケーション開発支援プログラムは、コンピュータを、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第１の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第１プログラムを生成する第１のツールを用いて行われる、前記第１プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムであって、少なくとも前記第１プログラムを実行する第２コンピュータを、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第１記憶手段に登録させるアップロード実行手段として機能させると共に、少なくとも前記第１のツールが動作する第１コンピュータを、開発者により前記第１のツールに対して前記第１の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第１の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段として機能させ、更に、前記第２コンピュータを、稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段、及び、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第１記憶手段から読み出すと共に、前記第１記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段として機能させる。【００２６】
請求項８記載の発明に係るアプリケーション開発支援プログラムは、少なくとも第１のツールが動作する第１コンピュータを上記のプログラム付加手段として機能させると共に、少なくとも第１プログラムを実行する第２コンピュータを、上記のアップロード実行手段、サービス提供手段及びダウンロード実行手段として機能させるためのプログラムであるので、上記の第１コンピュータ及び第２コンピュータが請求項８記載の発明に係るアプリケーション開発支援プログラムを実行することで、上記の第１コンピュータ及び第２コンピュータが請求項１に記載のアプリケーション開発支援装置として機能することになり、請求項１記載の発明と同様に、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、指示に応じてファイルのダウンロードを行う際に、複数種のサービスのうち予め設定したサービスを実行させるアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現することが可能となる。【００２７】
請求項９記載の発明に係る記録媒体は、コンピュータを、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第１の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、コンピュータによって前記ユーザインタフェースを実現するための第１プログラムを生成する第１のツールを用いて行われる、前記第１プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムが記録された記録媒体であって、前記アプリケーション開発支援プログラムは、少なくとも前記第１プログラムを実行する第２コンピュータを、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと前記付加情報を対応付けて第１記憶手段に登録させるアップロード実行手段として機能させると共に、少なくとも前記第１のツールが動作する第１コンピュータを、開発者により前記第１のツールに対して前記第１の操作が行われることで特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記特定のユーザインターフェース画面内の前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルを前記アップロード実行手段に転送すると共に、前記第１の操作が行われた際に前記開発者によって指定された、前記アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報を前記付加情報として前記アップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段として機能させ、更に、前記第２コンピュータを、稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段、及び、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを前記第１記憶手段から読み出すと共に、前記第１記憶手段に前記ダウンロード対象のファイルと対応付けて前記サービス特定情報が登録されていた場合に、前記サービス特定情報によって特定されるサービスの提供を前記サービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段として機能させる。【００２８】
請求項９記載の発明に係る記録媒体は、少なくとも第１のツールが動作する第１コンピュータを上記のプログラム付加手段として機能させると共に、少なくとも第１プログラムを実行する第２コンピュータを、上記のアップロード実行手段、サービス提供手段及びダウンロード実行手段として機能させるためのアプリケーション開発支援プログラムが記録されているので、上記の第１コンピュータ及び第２コンピュータが請求項９記載の発明に係る記録媒体からアプリケーション開発支援プログラムを読み出して実行することで、上記の第１コンピュータ及び第２コンピュータが請求項１に記載のアプリケーション開発支援装置として機能することになり、請求項１記載の発明と同様に、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、指示に応じてファイルのダウンロードを行う際に、複数種のサービスのうち予め設定したサービスを実行させるアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現することが可能となる。
【発明の効果】
【００２９】
以上説明したように本発明は、稼働時に、アップロード対象のファイルが付加情報と共に転送された場合に、アップロード対象のファイルと付加情報を対応付けて第１記憶手段に登録させるアップロード実行手段、開発者により特定のユーザインターフェース画面内に配置された、ファイルのアップロードを指示するためのシンボルに対し、稼働時に、前記シンボルを介して任意のファイルのアップロードが指示された場合に、アップロード対象のファイルをアップロード実行手段に転送すると共に、開発者によって指定された、アップロード対象のファイルがダウンロードされる際に実行すべきサービスを特定するためのサービス特定情報をアップロード実行手段に転送する処理をコンピュータによって行わせるプログラムを付加するプログラム付加手段、稼働時に、複数種のサービスのうち要求されたサービスを提供するサービス提供処理を行うサービス提供手段、及び、稼働時に、ファイルのダウンロードが指示された場合に、ダウンロード対象のファイルを第１記憶手段から読み出すと共に、第１記憶手段に前記ファイルと対応付けてサービス特定情報が登録されていた場合に、サービス特定情報によって特定されるサービスの提供をサービス提供手段に要求した後に、ダウンロード指示元へ応答を返すダウンロード実行手段と、を備えているので、ファイルのアップロード及びダウンロードを指示可能なユーザインタフェースを有し、指示に応じてファイルのダウンロードを行う際に、複数種のサービスのうち予め設定したサービスを実行させるアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現することが可能となる、という優れた効果を有する。
【図面の簡単な説明】
【００３０】
【図１】本実施形態においてアプリケーション・プログラムの開発環境としての第１のコンピュータ・システムの概略構成を示すブロック図である。
【図２】(Ａ)はウェブサービス作成ツールの作成画面の一例、(Ｂ)は当該ツールを用いて作成画面上で作成されたフローの一例を各々示すイメージ図である。
【図３】ＵＩ構築ツールの作成画面の一例を示すイメージ図である。
【図４】呼出プログラム改変処理の内容を示すフローチャートである。
【図５】呼出処理の内容を示すフローチャートである。
【図６】ファイルアップロード画面の一例を示すイメージ図である。
【図７】アプリケーション・プログラムの実行環境としての第２のコンピュータ・システムの概略構成を示すブロック図である。
【図８】ファイルのアップロード／ダウンロードが指示された場合の処理の流れを示す概念図である。
【図９】ファイルアップロード処理の内容を示すフローチャートである。
【図１０】ファイルダウンロード処理の内容を示すフローチャートである。
【図１１】権限判定処理の内容の一例を示すフローチャートである。
【図１２】権限判定処理の内容の他の例を示すフローチャートである。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図１には本実施形態に係る第１のコンピュータ・システム１０が示されている。本実施形態に係る第１のコンピュータ・システム１０は、所定のウェブサイトにアクセスした利用者に対して所定のサービス（ウェブサービス）を提供するためのアプリケーション・プログラムを開発する際に使用されるコンピュータ・システムであり、サーバ・コンピュータ１２がイントラネット１４を介して多数台のクライアント端末１６と各々接続されて構成されている。個々のクライアント端末１６は、上記のアプリケーション・プログラムを開発する開発者によって操作される端末であり、例えばパーソナル・コンピュータ（ＰＣ）等から成り、ＣＰＵ１６Ａ、ＲＡＭ等から成るメモリ１６Ｂ、ＨＤＤ(Hard Disk Drive)等から成る記憶部１６Ｃ、ネットワークインタフェース（Ｉ／Ｆ）部１６Ｄを備えている。個々のクライアント端末１６には、表示手段としてのディスプレイ１８、入力手段としてのキーボード２０及びマウス２２が各々接続されており、ネットワークＩ／Ｆ部１６Ｄを介してイントラネット１４に接続されている。【００３２】
また、上記のアプリケーション・プログラムは、所定のウェブサイトにおけるユーザインタフェース（ＵＩ）の部分を実現するための画面制御プログラム（本発明における第１プログラム）と、利用者(例えば特定企業の従業員)に所定のウェブサービスを提供するためのウェブサービス提供プログラム（本発明における第２プログラム）に大別される。クライアント端末１６の記憶部１６Ｃには、上記の画面制御プログラムを開発するためのＵＩ構築ツールのプログラムと、上記のウェブサービス提供プログラムを開発するためのウェブサービス作成ツールのプログラムが各々インストールされており、更に、クライアント端末１６で後述する呼出プログラム改変処理を行うための呼出プログラム改変プログラムもインストールされている。【００３３】
クライアント端末１６は請求項８,９に記載の第１コンピュータに対応しており、呼出プログラム改変プログラムは、請求項８,９に記載のアプリケーション開発支援プログラムのうち、第１コンピュータをプログラム付加手段として機能させるプログラムに対応している。クライアント端末１６は、ＣＰＵ１６Ａが上記の呼出プログラム改変プログラムを実行することで、後述するウェブサイト運営システム３２のアプリケーション・サーバ３４及びウェブサービス提供サーバ３６と共に、本発明に係るアプリケーション開発支援装置として機能する。【００３４】
なお、ＵＩ構築ツールは本発明に係る第１のツールに対応している。ＵＩ構築ツールとしてはＪＳＦ(Java（登録商標） Server Faces)の規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。また、ウェブサービス作成ツールとしてはＢＰＥＬ(Business Process Execution Language)の規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。【００３５】
一方、サーバ・コンピュータ１２は、ＣＰＵ１２Ａ、ＲＡＭ等から成るメモリ１２Ｂ、ＨＤＤ等から成る記憶部１２Ｃ、ネットワークＩ／Ｆ部１２Ｄを備えており、ネットワークＩ／Ｆ部１２Ｄを介してイントラネット１４に接続されている。前述のウェブサービス作成ツールを用いたウェブサービス提供プログラムの開発では、個々のウェブサービス（例えば後述する「権限判定ウェブサービス」等）を単位としてプログラムが開発されるが、開発されたウェブサービス提供プログラムは、他のウェブサイトにおける同一ウェブサービスの提供にも利用可能である。このため、サーバ・コンピュータ１２の記憶部１２Ｃには、開発されたウェブサービス提供プログラムを登録するためのウェブサービス・ライブラリが記憶されており、このウェブサービス・ライブラリに登録されたウェブサービス提供プログラムは、互いに異なるクライアント端末１６を操作する複数の開発者が各々使用可能とされている。【００３６】
次に図７を参照し、第１のコンピュータ・システム１０によって開発されたアプリケーション・プログラムの実行環境としての第２のコンピュータ・システム３０の構成について説明する。第２のコンピュータ・システム３０は特定ウェブサイトを運営するためのウェブサイト運営システム３２を備えている。ウェブサイト運営システム３２は、アプリケーション・サーバ３４、ウェブサービス提供サーバ３６及びＤＢ（データベース）サーバ３８を備え、ウェブサービス提供サーバ３６及びＤＢサーバ３８が通信回線を介してアプリケーション・サーバ３４に各々接続されて構成されている。【００３７】
アプリケーション・サーバ３４は、ＣＰＵ３４Ａ、ＲＡＭ等から成るメモリ３４Ｂ、ＨＤＤ等から成る記憶部３４Ｃ、ネットワークＩ／Ｆ部３４Ｄを備えており、記憶部３４Ｃには、先に説明した第１のコンピュータ・システム１０を利用して開発されたアプリケーション・プログラムのうち前述の画面制御プログラムと、当該画面制御プログラムを実行するためのプラットフォームとして機能するプラットフォーム・プログラムが各々インストールされている。例えばＵＩ構築ツールがＪＳＦの規格に準拠している場合、プラットフォーム・プログラムとしてはＪＳＦエンジンと称されるプラットフォームを提供するプログラムが用いられ、ＵＩ構築ツールによって生成された画面制御プログラムは前記プラットフォーム（ＪＳＦエンジン）上で実行される。また記憶部３４Ｃには、アプリケーション・サーバ３４で後述するファイルアップロード処理を行うためのファイルアップロード・ウェブサービス提供プログラムと、アプリケーション・サーバ３４で後述するファイルダウンロード処理を行うためのファイルダウンロード・サーブレットもインストールされている。【００３８】
アプリケーション・サーバ３４のネットワークＩ／Ｆ部３４Ｄは、多数台のウェブサーバが通信回線を介して相互に接続されて成るコンピュータ・ネットワーク（イントラネット）４０に接続されており、イントラネット４０には、ＣＰＵ４２Ａ、ＲＡＭ等から成るメモリ４２Ｂ、ＨＤＤ等から成る記憶部４２Ｃ、ネットワークＩ／Ｆ部４２Ｄを備え、記憶部３４Ｃにブラウザ（ウェブ閲覧ソフト）のプログラムがインストールされていると共に、表示手段としてのディスプレイ４４、入力手段としてのキーボード４６及びマウス４８が各々接続されたクライアント端末４２が多数台接続されている。【００３９】
また、ウェブサービス提供サーバ３６はＣＰＵ３６Ａ、ＲＡＭ等から成るメモリ３６Ｂ、ＨＤＤ等から成る記憶部３６Ｃ、ネットワークＩ／Ｆ部３６Ｄを備えており、ＨＤＤ３６Ｃには、先に説明した第１のコンピュータ・システム１０を利用して開発されたアプリケーション・プログラムのうち前述のウェブサービス提供プログラムの１つであり、ウェブサービス提供サーバ３６で後述する権限判定処理を行うための権限判定ウェブサービス提供プログラムと、当該権限判定ウェブサービス提供プログラムを実行するためのプラットフォームとして機能するプラットフォーム・プログラムが各々インストールされている。例えばウェブサービス作成ツールがＢＰＥＬの規格に準拠している場合、プラットフォーム・プログラムとしてはＢＰＥＬエンジンと称されるプラットフォームを提供するプログラムが用いられ、ウェブサービス作成ツールによって生成された権限判定ウェブサービス提供プログラムは前記プラットフォーム（ＢＰＥＬエンジン）上で実行される。【００４０】
なお、アプリケーション・サーバ３４及びウェブサービス提供サーバ３６は請求項８,９に記載の第２コンピュータに対応している。また、アプリケーション・サーバ３４の記憶部３４Ｃにインストールされているファイルアップロード・ウェブサービス提供プログラムは、請求項８,９に記載のアプリケーション開発支援プログラムのうち第２コンピュータを本発明に係るアップロード実行手段として機能させるプログラムに、ファイルダウンロード・サーブレットは、請求項８,９に記載のアプリケーション開発支援プログラムのうち第２コンピュータを本発明に係るダウンロード実行手段(より詳しくは請求項２,４,６に記載のダウンロード実行手段)として機能させるプログラムに各々対応しており、ウェブサービス提供サーバ３６の記憶部３６Ｃにインストールされている権限判定ウェブサービス提供プログラムは、請求項８,９に記載のアプリケーション開発支援プログラムのうち第２コンピュータを本発明に係るサービス提供手段(より詳しくは請求項３に記載のサービス提供手段)として機能させるプログラムに対応している。【００４１】
アプリケーション・サーバ３４及びウェブサービス提供サーバ３６は、アプリケーション・サーバ３４のＣＰＵ３４Ａが上記のファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットを実行すると共に、ウェブサービス提供サーバ３６のＣＰＵ３６Ａが上記の権限判定ウェブサービス提供プログラムを実行することで、先に説明したクライアント端末１６と共に、本発明に係るアプリケーション開発支援装置として機能する。また、ＤＢサーバ３８はデータベースを記憶するための記憶部３８Ａを備えているが、この記憶部３８Ａは本発明に係る第１記憶手段に対応している。【００４２】
次に本実施形態の作用として、まず、ウェブサービス作成ツールを用いて行われるウェブサービス提供プログラム(例えば前述の権限判定ウェブサービス提供プログラム)の開発について説明する。ウェブサービス提供プログラムを開発するために、開発者がクライアント端末１６上でウェブサービス作成ツールのプログラムを起動すると、クライアント端末１６のディスプレイ１８には、例として図２(Ａ)に示すような作成画面が表示される。ウェブサービス作成ツールは、提供対象のウェブサービスを実現する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するためのウェブサービス提供プログラムを生成する機能を備えたツールであり、図２(Ａ)に示す作成画面には、開発者がフローチャートを作成するための作業領域と、フローチャートの作成に利用可能で互いに異なる処理を表す複数種の部品（シンボル）が表示されたパレットが設けられている。【００４３】
上記の作成画面が表示されると、開発者は、マウス２２やキーボード２０を介し、パレット内に表示されている複数の部品の中から所望の部品を選択して作業領域に配置し、必要に応じて、配置した部品が表す処理の内容を規定する情報を入力すると共に、配置した部品と作業領域に既に配置した部品との接続関係（各部品が表す処理の実行順序）を規定する操作を繰り返すことで、例として図２(Ｂ)に示すように、提供対象のウェブサービスを実現する処理を規定するフローチャートを作成する。フローチャートの作成が完了すると、開発者は、作成したフローチャートに対応するプログラムの生成を指示する操作を行う。パレット内に表示されている個々の部品には、個々の部品が表す処理を実現するためのプログラムが付加されており、ウェブサービス作成ツールは、プログラムの生成が指示されると、作成されたフローチャートを構成する個々の部品に付加されているプログラムを、開発者によって入力された処理内容を規定する情報に基づいて修正し、作成されたフローチャートにおける個々の部品の接続関係に応じて並べ替える等の処理を行うことで、作成されたフローチャートが表す処理を実行するためのプログラム（ウェブサービス提供プログラム）を生成する。これにより開発者は、コーディング作業を行うことなく、所望のウェブサービスを提供するウェブサービス提供プログラムを得ることができる。【００４４】
上記のようにしてウェブサービス作成ツールによるウェブサービス提供プログラムの生成が完了すると、開発者は、生成されたウェブサービス提供プログラムをクライアント端末１６からサーバ・コンピュータ１２へアップロードさせる。サーバ・コンピュータ１２へアップロードされたウェブサービス提供プログラム及び変数定義情報はウェブサービス・ライブラリに登録され、他の開発者が使用することが可能となる。【００４５】
なお、本実施形態において、ウェブサービス提供サーバ３６の記憶部３６Ｃにインストールされる権限判定ウェブサービス提供プログラムについては、上記のようにウェブサービス作成ツールを用いて開発者により開発されるが、アプリケーション・サーバ３４の記憶部３４Ｃにインストールされているファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットについては、アプリケーション・プログラムの開発者によって開発されるアプリケーション・プログラムが利用可能な標準機能として予め開発され、アプリケーション・プログラムの開発者に提供されている。従って、アプリケーション・プログラムの開発者は、ファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットについては、コーディング作業を行うことなく利用することができる。【００４６】
次に、ＵＩ構築ツールを用いて行われる画面制御プログラムの開発について説明する。ＵＩ構築ツールを用いて画面制御プログラムの開発を行う場合、開発者は、まずクライアント端末１６上でＵＩ構築ツールのプログラムを起動する。これにより、クライアント端末１６のディスプレイ１８には、例として図３に示すような作成画面が表示される。ＵＩ構築ツールは、ＵＩを構築するための操作を開発者に行わせ、開発者による操作が完了すると、構築されたＵＩを実現する画面制御プログラムを生成する機能を備えたツールであり、図３に示す作成画面には、開発者がＵＩ画面（ウェブページ）を作成するためのＵＩ画面作成領域と、ＵＩ画面の構成要素として使用可能な情報入力／表示欄やボタンを含む各種のコンポーネントが表示されたパレットと、ＵＩ画面に配置したコンポーネントに対して各種の属性情報(プロパティ)を設定するためのプロパティ設定領域が各々設けられている。また、開発者が所定の操作を行った場合には、ＵＩ画面作成領域で作成された複数のＵＩ画面の間の遷移を定義するための画面遷移定義領域も表示される(図３では図示を省略している)。【００４７】
クライアント端末１６のディスプレイ１８に上記の作成画面が表示されると、開発者は、構築対象のＵＩを規定するための操作を行うことで、ウェブサービスを提供する所定のウェブサイトにおけるＵＩの構築(画面制御プログラムの開発)を行う。すなわち開発者は、マウス２２やキーボード２０を介し、パレット内に表示されている各種コンポーネントの中から所望のコンポーネントを選択してＵＩ画面作成領域内の所望の位置に配置し、必要に応じて、ＵＩ画面内に表示すべきテキスト情報を入力したり、属性情報を設定する操作（第１の操作）を繰り返すことで、所定のウェブサイトを構成する複数のＵＩ画面(ウェブページ)を順に作成(設計)する。例えば任意のファイルのアップロードを指示可能なファイルアップロード画面を作成(設計)する場合には、開発者により、パレット内に表示されている各種コンポーネントの中からファイルアップロード用のコンポーネント(図３に「アップロード」と表記したコンポーネント)を選択し、選択したコンポーネントをＵＩ画面作成領域内の所望の位置に配置する操作が行われる。これにより、図３のＵＩ画面作成領域内に示すようなファイルアップロード画面が作成(設計)される。【００４８】
ところで、上記のファイルアップロード画面を介してアップロードを指示したファイルは、後述する処理を経てＤＢサーバ３８の記憶部３８Ａに登録(アップロード)されると共に、当該ファイルのダウンロードのためのＵＲＬ(ダウンロードＵＲＬ)も設定されるが、このダウンロードＵＲＬが第三者に漏洩してしまった場合、アップロードされたファイルが機密性を有するファイルであったとしても、ダウンロードＵＲＬを不正に取得した第三者によってブラウザ等を介してダウンロードＵＲＬが入力される等により、当該第三者による前記ファイルのダウンロードが可能になってしまうという問題がある。このため開発者は、ファイルアップロード画面内に配置したファイルアップロード用のコンポーネントが、機密性を有するファイルのアップロードに用いられるコンポーネントである場合は、ファイルアップロード画面内に配置したファイルアップロード用のコンポーネントに対し、当該コンポーネントを用いてアップロードされたファイルがダウンロードされる際に権限判定ウェブサービスを起動させるための操作を行う。【００４９】
この操作は、ファイルアップロード画面内に配置したファイルアップロード用のコンポーネントのプロパティ(属性情報)をプロパティ設定領域に表示させ、表示された属性情報のうち、当該コンポーネントを用いてアップロードされたファイルがダウンロードされる際に起動させるウェブサービスを指定するための項目(ウェブサービス呼出アドレス(図３では"Endpoint"と表記)とサービス名(図３では"Name"と表記))について、起動対象の権限判定ウェブサービスを指定する情報を各々設定する操作を行うことによって成される。開発者によって上記操作が行われると、クライアント端末１６上で呼出プログラム改変プログラムが起動され、起動された呼出プログラム改変プログラムがＣＰＵ１６Ａによって実行されることで、図４に示す呼出プログラム改変処理が実行される。【００５０】
この呼出プログラム改変処理では、まずステップ５０において、ファイルアップロード画面内に配置されたファイルアップロード用のコンポーネント(ダウンロードされる際に起動させるウェブサービスを指定するための項目が設定されたコンポーネント)の情報をメモリ１６Ｂ又は記憶部１６Ｃから読み出す。ここで、ファイルアップロード用のコンポーネントには、当該コンポーネントを介してアップロード対象のファイルが指定された場合に、ファイルアップロード・ウェブサービスを呼び出してアップロード対象のファイルを行わせるための呼出プログラムが付加されており、ステップ５０では、メモリ１６Ｂ又は記憶部１６Ｃから読み出した情報より、当該情報に含まれている上記の呼出プログラムを抽出する。【００５１】
次のステップ５２では、ステップ５０で抽出した呼出プログラムに対し、プロパティ設定領域を介して設定されたウェブサービス呼出アドレスとサービス名(本実施形態では権限判定ウェブサービスの呼出アドレス及びサービス名)をアップロードウェブサービスへ引き渡す代入文(プログラム)を追加する。なお、ウェブサービス呼出アドレス及びサービス名は本発明に係るサービス特定情報に対応しており、ウェブサービス呼出アドレスは請求項６に記載のエンドポイント情報に、サービス名は請求項６に記載のサービス名に各々対応している。そしてステップ５４では、ステップ５２で代入文を追加した呼出プログラムを、元の呼出プログラムに代えてファイルアップロード用のコンポーネントの情報に付加し、当該情報をメモリ１６Ｂ又は記憶部１６Ｃへ書き戻すことで、ファイルアップロード画面内に配置されたファイルアップロード用のコンポーネントに付加されている呼出プログラムを更新し、処理を終了する。【００５２】
ファイルアップロード用のコンポーネントに付加されている呼出プログラムは、稼働時に、クライアント端末４２のディスプレイ４４にファイルアップロード画面が表示されている状態で、当該画面内に配置されているファイルアップロード用のコンポーネントを介してアップロード対象のファイルが指定されると、クライアント端末４２のＣＰＵ４２Ａによって実行され、図５に実線で示すように、アップロード対象のファイルのファイル名及びパス(アップロード対象のファイルが格納されているフォルダのディレクトリ)を取得し(ステップ６０)、ファイルアップロード・ウェブサービスを呼び出し(ステップ６２)、先に取得したファイル名及びパスに基づきアップロード対象のファイルのデータを記憶部４２Ｃから読み出して、ファイルアップロード・ウェブサービスへ転送する(ステップ６６)処理から成る呼出処理が行われる。但し、前述の呼出プログラム改変処理が行われた場合には、図５に破線で示すように、呼出処理として、ウェブサービス呼出アドレスとサービス名(本実施形態では権限判定ウェブサービスの呼出アドレス及びサービス名)をファイルアップロード・ウェブサービスへ引き渡す処理(ステップ６４)も行われる。【００５３】
なお、ファイルアップロード画面内に配置すべきファイルアップロード用のコンポーネントの数及び個々のコンポーネントに設定すべきウェブサービス呼出アドレス及びサービス名は、起動対象のウェブサービスが備えている機能によっても相違する。例えばウェブサイト運営システム３２によって運営される特定ウェブサイトに、アクセス権限範囲が互いに異なるファイル(一例として、アクセス権限範囲Ａ：経営層以上、アクセス権限範囲Ｂ：管理者層以上、アクセス権限範囲Ｃ：主任層以上、の何れかがアクセス権限範囲として設定されたファイル)が各々存在しており、アクセス権限範囲の異なるファイルがファイルアップロード画面を介して何れもアップロードされる可能性があり、アクセス権限範囲の異なるファイル毎に権限判定ウェブサービスが設けられている場合(個々の権限判定ウェブサービスが単一のアクセス権限範囲のファイルについてのみアクセス権限の判定を行う構成である場合)には、例として図６(Ａ)に示すように、アクセス権限範囲の異なるファイルを異なるコンポーネントを介してアップロードすることを可能とするために、ファイルアップロード用のコンポーネントがアクセス権限範囲の種類数と同数だけファイルアップロード画面内に配置されると共に、個々のコンポーネントに対し、個々のコンポーネントを介してアップロードされるファイルのアクセス権限範囲に対応する権限判定ウェブサービスの呼出アドレス及びサービス名が各々設定される。【００５４】
一方、権限判定ウェブサービスとして、ファイルのアクセス権限範囲を判定し、判定したファイルのアクセス権限範囲に基づいてアクセス権限の判定を行う機能を備えた単一の権限判定ウェブサービスが設けられている場合(ファイルに設定されたアクセス権限範囲に拘わらずアクセス権限の判定を行うことが可能な構成である場合)には、例として図６(Ｂ)に示すように、アクセス権限範囲の異なるファイルを同一のコンポーネントを介してアップロードすることが可能であるために、ファイルアップロード用のコンポーネントがファイルアップロード画面内に１個だけ配置されると共に、当該コンポーネントに対し、前記単一の権限判定ウェブサービスの呼出アドレス及びサービス名が設定される。【００５５】
また、上述した第１の操作を行うことで、ウェブサイトを構成する全てのＵＩ画面（ウェブページ）の作成が完了すると、開発者は、作成した各ＵＩ画面の遷移を画面遷移定義領域内で規定する操作等を行い、これらの操作を経てＵＩを規定する操作が完了すると、ＵＩ構築ツールに対し、前記ＵＩを実現するプログラムの生成を指示する。これによりＵＩ構築ツールは、開発者によって構築されたＵＩを実現する(クライアント端末４２(図７参照)からの要求に応じて、クライアント端末４２のディスプレイ４４に各ＵＩ画面を順に表示させる)画面制御プログラムを生成する。この画面制御プログラムは、個々のＵＩ画面を規定するデータと、利用者により個々のＵＩ画面を介して各種の操作が行われた場合の処理を規定するプログラムを含んで構成されるが、ファイルアップロード用のコンポーネントが配置され、当該コンポーネントに対して起動対象のウェブサービスの呼出アドレス及びサービス名が設定されたファイルアップロード画面については、ファイルアップロード用のコンポーネントに付加されている呼出プログラムが読み出され、読み出された呼出プログラムが、ファイルアップロード用のコンポーネントを介してアップロード対象のファイルが利用者によって指定された場合の処理を規定するプログラムとして用いられる(ファイルアップロード画面に埋め込まれたプログラムとして画面制御プログラムに組み込まれる)。【００５６】
以上の操作・処理により、画面制御プログラム及びウェブサービス提供プログラムを含むアプリケーション・プログラムの開発が完了する。このように、本実施形態では、ウェブサービス提供プログラムについては、ウェブサービス作成ツールを利用することでコーディング作業を行うことなく開発することができる。また、画面制御プログラムについても、構築対象のＵＩの中にファイルアップロード画面が含まれており、当該画面を介してアップロードされたファイルがダウンロードされる際に権限判定ウェブサービス等の所望のウェブサービスを起動させたい場合にも、作成中のファイルアップロード画面内にファイルアップロード用のコンポーネントを配置し、配置したファイルアップロード用のコンポーネントのプロパティを表示させ、所望のウェブサービスの呼出アドレス及びサービス名を設定する、というごく簡単な操作により、上記ＵＩの構築をコーディング作業を行うことなく実現することができる。従って、画面制御プログラム及びウェブサービス提供プログラムを含むアプリケーション・プログラムを非常に短い期間で開発することが可能となる。【００５７】
次に、アプリケーション・プログラムの実行時(ウェブサイトの稼働時)の動作について説明する。アプリケーション・プログラムの実行時には、図７に示すように、開発したアプリケーション・プログラムのうち、画面制御プログラムがアプリケーション・サーバ３４の記憶部３４Ｃにインストールされ、権限判定ウェブサービス提供プログラムがウェブサービス提供サーバ３６の記憶部３６Ｃにインストールされる。また、アプリケーション・プログラムが利用可能な標準機能として開発・提供されるファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットについては、アプリケーション・サーバ３４の記憶部３４Ｃにインストールされる。【００５８】
アプリケーション・サーバ３４上（詳しくはプラットフォーム・プログラムによって提供されるプラットフォーム上）で実行される画面制御プログラムは、所定のログイン処理(例えばユーザＩＤとパスワードを用いた認証処理等)を経て特定ウェブサイトの正規の利用者であることが確認された利用者から、クライアント端末４２を介してＵＩ画面の配信が要求される毎に、配信が要求されたＵＩ画面のデータを要求元のクライアント端末４２へ送信することで、配信が要求されたＵＩ画面を要求元のクライアント端末４２のディスプレイ４４に表示させる。【００５９】
ここで、利用者からの配信要求に従って配信されたファイルアップロード画面がクライアント端末４２のディスプレイ４４に表示されている状態で、ファイルアップロード画面内に配置されているアップロード用のコンポーネントのうち「参照」と表記されたボタンを選択することでクライアント端末４２の記憶部４２Ｃに記憶されているファイルを表示させ、表示されたファイルのうちの所望のファイルをアップロード対象のファイルとして選択する操作が利用者によって行われることで、選択したファイルのアップロードが指示されると(図８の「ファイルアップロード指示」も参照)、クライアント端末４２のＣＰＵ４２Ａによって呼出プログラムが実行されることで、前述の呼出処理(図５)がクライアント端末４２で行われる。【００６０】
なお、ファイルのアップロードを指示するための上記操作において、ファイルダウンロード画面が、図６(Ｂ)に示すようにファイルアップロード用のコンポーネントが１個のみ配置された画面である場合には、ファイルのアップロードは当該コンポーネントを介して指示されるが、図６(Ａ)に示すようにファイルダウンロード画面にファイルアップロード用のコンポーネントが複数配置されている場合は、複数のコンポーネントのうちアップロード対象のファイルに対応する何れか１つのコンポーネント(例えばアップロード対象のファイルと同一のアクセス権限範囲のファイルをアップロードするために設けられたコンポーネント)を介してファイルのアップロードが指示される。【００６１】
また、前述の呼出処理には、ファイルアップロード・ウェブサービスを呼び出すステップ(ステップ６２)が含まれているので、このステップが行われることで、アプリケーション・サーバ３４のＣＰＵ３４Ａでファイルアップロード・ウェブサービス提供プログラムが実行されることで、図９に示すファイルアップロード処理がアプリケーション・サーバ３４で行われる。【００６２】
このファイルアップロード処理では、まずステップ７０において、呼出元のクライアント端末４２から送信されたアップロード対象のファイルのデータを所定量受信し、次のステップ７２では、クライアント端末４２からのデータ受信が完了したか否か判定する。判定が否定された場合はステップ７０に戻り、ステップ７２の判定が肯定される迄ステップ７０,７２を繰り返す。なお、呼出元のクライアント端末４２からウェブサービス呼出アドレス及びサービス名が送信された場合には、これらの情報もステップ７０,７２で受信される。【００６３】
呼出元のクライアント端末４２からのデータ受信が完了すると、ステップ７２の判定が肯定されてステップ７４へ移行し、受信したアップロード対象のファイルのデータを参照し、アップロード対象のファイルのファイル名及びサイズを認識する。またステップ７６では、ハッシュ関数等を用いてアップロード対象のファイルのファイルＩＤを設定し、次のステップ７８では、ファイルダウンロード・サーブレットの呼出アドレス(ＵＲＬ)の末尾にステップ７６で設定したファイルＩＤを付加することで、アップロード対象のファイルに対し、当該ファイルをダウンロードする際に指定するためのダウンロードＵＲＬを設定する。またステップ７８では、ステップ７６で設定したファイルＩＤをステップ７４で認識したファイル名の末尾にも付加する。【００６４】
次のステップ８０では、ステップ７８で末尾にファイルＩＤを付加したアップロード対象のファイルのファイル名、ステップ７４で認識したアップロード対象のファイルのサイズ、及び、ステップ７８で設定したダウンロードＵＲＬを、アップロード対象のファイルのデータをＤＢサーバ３８へ転送(アップロード)する際の付加情報として、メモリ３４Ｂ上の所定領域に設定する。またステップ８２では、呼出元のクライアント端末４２から受信した情報の中にウェブサービス呼出アドレス及びサービス名が含まれているか否か判定する。判定が否定された場合はステップ８６へ移行するが、判定が肯定された場合はステップ８４へ移行し、呼出元のクライアント端末４２から受信した情報に含まれるウェブサービス呼出アドレス及びサービス名をメモリ３４Ｂ上の所定領域に追加設定することで、アップロード対象のファイルのデータをＤＢサーバ３８へ転送(アップロード)する際の付加情報にウェブサービス呼出アドレス及びサービス名を追加した後にステップ８６へ移行する。【００６５】
次のステップ８６では、上記処理で設定した付加情報及びアップロード対象のファイルのデータをＤＢサーバ３８へ転送し、記憶部３８Ａ(に記憶されているＤＢ)への登録(アップロード)を依頼する(図８の「登録」も参照)。ステップ８８では、ＤＢサーバ３８へ転送した情報の記憶部３８Ａへの登録が完了したことがＤＢサーバ３８から通知されたか否か判定し、判定が肯定される迄ステップ８８を繰り返す。ＤＢサーバ３８では、アプリケーション・サーバ３４(上で動作しているファイルアップロード・ウェブサービス)からファイルのアップロード(登録)が依頼されると、アップロード対象のファイルのデータを、同時に受信した付加情報と対応付けて記憶部３８Ａ(に記憶されているＤＢ)にアップロード(登録)する。これにより、例として図８に示すように、アップロード対象のファイルのデータ本体は、ファイル名、サイズ、ダウンロードＵＲＬの各情報と対応付けて記憶部３８Ａに登録される。また、アプリケーション・サーバ３４から受信した付加情報にウェブサービスの呼出アドレス及びサービス名が含まれている場合には、例として図８に示すように、当該呼出アドレス及びサービス名もアップロード対象のファイルのデータ本体と対応付けて記憶部３８Ａに登録されることになる。【００６６】
ＤＢサーバ３８は、記憶部３８Ａへの情報の登録が完了すると、アプリケーション・サーバ３４へ登録完了を通知する。これにより、ステップ８８の判定が肯定されてステップ９０へ移行し、先のステップ７８で設定したダウンロードＵＲＬを用い、今回アップロードを行ったファイルをダウンロードするためのダウンロード画面を生成し(図８の「生成」も参照)、生成したダウンロード画面を、画面制御プログラムによる配信対象のＵＩ画面の１つとして追加登録する処理を行った後に、ファイルアップロード処理を終了する。なお、上記のファイルダウンロード画面は、例として図８にも示すように、少なくとも、上記のダウンロードＵＲＬを埋め込んだリンクが配置された画面であればよいが、これに限られるものではなく、例えば、これ迄にアップロードされた個々のファイルに対応するダウンロードＵＲＬを各々埋め込んだ複数のリンクが配列された画面等であってもよい。なお、上記のステップ９０は請求項５に記載の画面生成手段に対応している。【００６７】
また、所定のログイン処理を経た特定ウェブサイトの利用者は、上記のファイルアップロード処理によってアップロードされた特定のファイルの閲覧や更新を所望している場合、上記のファイルアップロード処理で生成されたファイルダウンロード画面の配信を要求し、当該要求に従い画面制御プログラムによって配信されたファイルダウンロード画面が、前記利用者が操作しているクライアント端末４２のディスプレイ４４に表示された状態で、ファイルダウンロード画面内に配置されているリンクを選択する操作を行うことで、前記特定ファイルのダウンロードを指示する（図８に示す「ファイルダウンロード指示」も参照）。【００６８】
これにより、選択されたリンクに埋め込まれているダウンロードＵＲＬがクライアント端末４２からアプリケーション・サーバ３４へ送信されるが(図８に示す「ダウンロードURL(http://++++)」も参照)、前述のように、ダウンロードＵＲＬはファイルダウンロード・サーブレットの呼出アドレス(ＵＲＬ)の末尾にファイルＩＤが付加されて構成されているので、ダウンロードＵＲＬを受信したアプリケーション・サーバ３４では、ファイルダウンロード・サーブレットが起動されることで、図１０に示すファイルダウンロード処理が行われる。【００６９】
ファイルダウンロード処理では、まずステップ１００において、アプリケーション・サーバ３４がクライアント端末４２から受信したダウンロードＵＲＬを取得し、取得したダウンロードＵＲＬの末尾からファイルＩＤを抽出する。またステップ１０２では、ステップ１００で抽出したファイルＩＤをＤＢサーバ３８に通知し、通知したファイルＩＤに対応するファイル及び付加情報の記憶部３８Ａからの読み出しをＤＢサーバ３８に依頼する(図８に示す「読出」も参照)。これにより、ＤＢサーバ３８は、アプリケーション・サーバ３４から通知されたファイルＩＤをキーとして、当該ファイルＩＤが末尾に付加されているファイル名を検索し、この検索によって抽出されたファイル名と対応付けて登録されているファイルのデータ本体及び付加情報を記憶部３８Ａから読み出した後に、読み出した情報をアプリケーション・サーバ３４(のファイルダウンロード・サーブレット)へ順に送信する。【００７０】
次のステップ１０４では、ＤＢサーバ３８からの情報受信が完了したか否か判定し、判定が肯定される迄ステップ１０４を繰り返す。ＤＢサーバ３８からの情報受信が完了すると、ステップ１０４の判定が肯定されてステップ１０６へ移行し、ＤＢサーバ３８から受信した情報の中にウェブサービス呼出アドレス及びサービス名が含まれているか否か判定する。この判定が否定された場合、今回のダウンロード対象のファイルに対しては、ダウンロードの際に特定のウェブサービスを実行させることは要求されていないと判断できるので、ステップ１１６へ移行し、ＤＢサーバ３８から受信したファイルのデータを、当該ファイルのダウンロードを指示した利用者が操作しているクライアント端末４２へ転送し(これによりＤＢサーバ３８からクライアント端末４２へのファイルのダウンロードが実現される)、ファイルダウンロード処理を終了する。【００７１】
一方、ＤＢサーバ３８から受信した情報の中にウェブサービス呼出アドレス及びサービス名が含まれている場合は、今回のダウンロード対象のファイルに対し、ダウンロードの際に上記のウェブサービス呼出アドレス及びサービス名によって特定されるウェブサービスの実行が要求されていると判断できるので、ステップ１０６の判定が肯定された場合はステップ１０８へ移行し、ダウンロードを指示した利用者が特定ウェブサイトへログインするログイン処理が行われた際にアプリケーション・サーバ３４のメモリ３４Ｂ等に記憶された前記利用者のユーザ情報を取得する。なお、このユーザ情報には、例えばユーザＩＤやユーザ名、所属部署、役職(職層)、所属会社名等の情報が含まれており、請求項３に記載の利用者特定情報に対応している。【００７２】
次のステップ１１０では、ＤＢサーバ３８から受信した情報に含まれているサービス名や、ステップ１０８で取得したユーザ情報、ダウンロードしたファイルを識別するための情報(例えばファイルＩＤ等)を引数として、ＤＢサーバ３８から受信した情報に含まれている呼出アドレスのウェブサービスを呼び出すことで、対応するウェブサービス提供プログラムに対し、引数に含まれるサービス名に対応するウェブサービスの提供を要求する(図８に示す「呼出アドレス＋サービス名＋ユーザ情報」も参照)。これにより、アプリケーション・サーバ３４又はウェブサービス提供サーバ３６で対応するウェブサービス提供プログラムが実行され、要求されたウェブサービスを提供する処理が行われる。【００７３】
例えばウェブサービス呼出アドレスに対応するウェブサービス提供プログラムが、権限判定ウェブサービス提供プログラムであり当該プログラムが、ウェブサービス提供サーバ３６にインストールされたプラットフォーム・プログラムによって提供されるプラットフォーム上で実行される構成である場合は、ウェブサービス提供サーバ３６で権限判定ウェブサービス提供プログラムが実行されることで、図１１又は図１２に示す権限判定処理が行われる。【００７４】
図１１は、アクセス権限範囲の異なるファイル毎に権限判定ウェブサービスが設けられ、個々の権限判定ウェブサービスが単一のアクセス権限範囲のファイルについてのみアクセス権限の判定を行う構成である場合に、個々の権限判定ウェブサービスによって行われる権限判定処理の一例を示しており、図１１に示す権限判定処理では、まずステップ１３４において、アプリケーション・サーバ３４(のダウンロードサーブレット)より引き渡された引数から、ユーザ情報に含まれる所属部署を表す部署情報及び職層を表す職層コードを抽出する。ステップ１３６では、ステップ１３４で抽出した部署情報が表す利用者の所属部署が、対応するアクセス権限範囲におけるアクセス権限有の部署か否か判定する。判定が肯定された場合はステップ１３８へ移行し、ステップ１３４で抽出した職層コードが表す利用者の職層が、対応するアクセス権限範囲におけるアクセス権限有の職層か否か判定する。【００７５】
ステップ１３６,１３８の判定が何れも肯定された場合、ダウンロードを指示した利用者は対応するアクセス権限範囲におけるアクセス権限有りの利用者(ダウンロード対象のファイルについてアクセス権限を有している利用者)であると判断できるので、ステップ１４０で呼出元(この場合はアプリケーション・サーバ３４(のダウンロードサーブレット)へアクセス権限有りを通知し、処理を終了する。また、ステップ１３６又はステップ１３８の判定が否定された場合、ダウンロードを指示した利用者は対応するアクセス権限範囲におけるアクセス権限を有していない利用者(ダウンロード対象のファイルについてアクセス権限を有していない利用者であると判断できるので、ステップ１４２で呼出元へアクセス権限無しを通知し、処理を終了する。【００７６】
一方、図１２は、ファイルに設定されたアクセス権限範囲に拘わらずアクセス権限の判定を行うことが可能な単一の権限判定ウェブサービスが設けられている場合に、この権限判定ウェブサービスによって行われる権限判定処理の一例を示しており、図１２に示す権限判定処理では、まずステップ１３０において、アプリケーション・サーバ３４(のダウンロードサーブレット)より引き渡された引数から、ダウンロードされたファイルを識別するためのファイルＩＤ等の情報を抽出する。【００７７】
またステップ１３２では、ステップ１３０で抽出した情報に基づいて、ダウンロードされたファイルに設定されているアクセス権限範囲を認識する。このアクセス権限範囲の認識は、例えばファイルに設定されたアクセス権限範囲を個々のファイル毎に管理するファイル管理情報をＤＢサーバ３８の記憶部３８Ａに記憶しておき、ステップ１３０で抽出した情報をＤＢサーバ３８に通知し、対応するアクセス権限情報の読み出しを依頼する処理を行うことで実現することができる。なお、以下の処理は、ステップ１３２で認識したアクセス権限範囲に基づいてステップ１３６,１３８の判定を行う以外は図１１に示す権限判定処理と同一であるので、説明を省略する。【００７８】
なお、図１１,１２に示した権限判定処理(権限判定ウェブサービス)は単なる一例であり、例えばユーザ情報のうち職層や所属部署、所属会社の何れか１つに基づいてアクセス権限の有無を判定する処理や、ダウンロードを指示した利用者がファイルの作成者か否かを判断し、ファイルの作成者以外の利用者に対してはアクセス権限無しと判定する処理を行うようにしてもよい。【００７９】
ファイルダウンロード処理(図１０)では、ステップ１１０でウェブサービスの呼び出しを行うと、次のステップ１１２において、ステップ１１０で呼び出したウェブサービスから処理結果を受信したか否か判定し、判定が肯定される迄ステップ１１２を繰り返す。ウェブサービスから処理結果を受信すると、ステップ１１２の判定が肯定されてステップ１１４へ移行し、受信した処理結果がＯＫ(例えば呼び出したウェブサービスが権限判定ウェブサービスであれば、通知された処理結果がアクセス権限有り)か否か判定する。ステップ１１４の判定が肯定された場合は前述のステップ１１６へ移行し、ＤＢサーバ３８から受信したファイルのデータを、当該ファイルのダウンロードを指示した利用者が操作しているクライアント端末４２へ転送して処理を終了する。また、ステップ１１４の判定が否定された場合はステップ１１８へ移行し、ファイルのダウンロードを指示した利用者が操作しているクライアント端末４２へエラーを通知して処理を終了する。【００８０】
ダウンロード可能にＤＢサーバ３８の記憶部３８Ａに記憶されているファイルにアクセス権限範囲が設定されている場合、アクセス権限範囲外の利用者による前記ファイルのダウンロードを禁止することは、例えば前記ファイルのダウンロードを指示するためのファイルダウンロード画面を、前記ファイルに対するアクセス権限を有する利用者が操作するクライアント端末４２へのみ配信するように構成することによっても原理的には実現可能である。しかしながら、この構成ではファイルダウンロード画面に設けられたリンクに埋め込まれたダウンロードＵＲＬが、対応するファイルに対するアクセス権限を有しない利用者に漏洩してしまった場合、当該利用者が、知り得たダウンロードＵＲＬをブラウザのアドレス入力欄に入力する等の操作を行うことで、アクセス権限を有しないファイルのダウンロードを行うことが可能になってしまうという問題がある。【００８１】
これに対して本実施形態では、ファイルアップロード画面内に配置された際にウェブサービス呼出アドレス及びサービス名が設定されたファイルアップロード用のコンポーネントを介してアップロードされたファイルについては、当該ファイルのデータ本体と対応付けてウェブサービス呼出アドレス及びサービス名がＤＢサーバ３８の記憶部３８Ａに記憶され、前記ファイルのダウンロードが指示された際には、記憶部３８Ａから前記ファイルのデータが読み出された後に、記憶部３８Ａに記憶されているウェブサービス呼出アドレス及びサービス名に基づいて対応するウェブサービスが実行されるので、ウェブサービス呼出アドレス及びサービス名として権限判定ウェブサービスに対応する情報を設定しておくことで、前記ファイルのダウンロードが指示された際に権限判定ウェブサービスが実行されることになる。【００８２】
従って、利用者によってダウンロードＵＲＬが入力されることで、当該利用者がアクセス権限を有しないファイルのダウンロードが指示された場合にも、前記利用者が特定ウェブサイトへログインするログイン処理が行われた際に取得されたユーザ情報に基づき、権限判定ウェブサービスから処理結果として「アクセス権限無し」が通知され(図８に示す「ＮＧ」も参照)、アプリケーション・サーバ３４(のダウンロードサーブレット)から前記利用者が操作するクライアント端末４２へエラーが通知される(図８に示す「エラー通知」も参照)ことで、アクセス権限を有しない利用者によってファイルがダウンロードされることを阻止することができる。【００８３】
また本実施形態では、ファイルのダウンロードが指示された際に実行させるウェブサービスが、ウェブサービス呼出アドレス及びサービス名によって指定されているので、ファイルアップロード・ウェブサービス提供プログラムによるファイルアップロード処理及びファイルダウンロード・サーブレットによるファイルダウンロード処理は、ファイルのダウンロードが指示された際に何れのウェブサービスを実行させるかに拘わらず、一定の処理によって実現できる。これを利用し、本実施形態では、ファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットを、アプリケーション・プログラムが利用可能な標準機能として開発・提供しており、アプリケーション・プログラムを開発する開発者が、ファイルアップロード処理やファイルダウンロード処理を行うプログラムを開発する必要はない。従って、本実施形態によれば、先に説明したように、ファイルアップロード画面を含み、当該画面を介してアップロードされたファイルがダウンロードされる際に権限判定ウェブサービス等のウェブサービスを起動させるＵＩの構築についても、コーディング作業を行うことなく実現できることと相俟って、開発者の負担を大幅に軽減することができる。【００８４】
なお、上記では本発明に係るサービス提供手段によって提供されるサービスの一例として、権限判定ウェブサービスを説明したが、本発明はこれに限定されるものではなく、例えばダウンロード回数をファイル単位や利用者単位で計数するサービス等の任意のサービスを適用可能である。また、権限判定ウェブサービスと他のサービスを選択的に実行させるようにしてもよいし、ファイルのダウンロードが指示された際に、複数のサービスを順に実行させるようにしてもよいし、ファイルのダウンロードが指示された際に、まず第１のサービスを実行させ、その結果に応じて第２のサービスを実行させるか否かを選択するようにしてもよい。【００８５】
また、上記では、本発明に係るアップロード実行手段を実現するファイルアップロード・ウェブサービス提供プログラムと、本発明に係るダウンロード実行手段を実現するファイルダウンロード・サーブレットがアプリケーション・サーバ３４によって実行され、本発明に係るサービス提供手段を実現する権限判定ウェブサービス提供プログラムがウェブサービス提供サーバ３６によって実行される態様を説明したが、本発明はこれに限定されるものではなく、上記各プログラムを単一のコンピュータで実行されるように構成することも可能である。【００８６】
また、上記ではイントラネット４０を通じてウェブサイト（アプリケーション・サーバ３４）へアクセスした利用者(例えば特定企業の従業員)に対して所定のウェブサービスを提供する態様を説明したが、これに限定されるものではなく、イントラネット４０に代えてインターネットを用い、インターネットに接続可能な不特定の利用者に所定のウェブサービスを提供する等の態様にも適用可能である。【００８７】
更に、上記では本発明に係るアプリケーション開発支援プログラムに対応する各プログラムのうち、呼出プログラム改変プログラムがクライアント端末１６の記憶部１６Ｃに予め記憶（インストール）され、ファイルアップロード・ウェブサービス提供プログラム及びファイルダウンロード・サーブレットがアプリケーション・サーバ３４の記憶部３４Ｃに予め記憶（インストール）され、権限判定ウェブサービス提供プログラムがウェブサービス提供サーバ３６の記憶部３６Ｃに予め記憶（インストール）されている態様を説明したが、本発明に係るアプリケーション開発支援プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。この態様における記録媒体は請求項１０に記載の記録媒体に対応している。
【符号の説明】
【００８８】
１０  コンピュータ・システム
１６  クライアント端末
３０  コンピュータ・システム
３４  アプリケーション・サーバ
３６  ウェブサービス提供サーバ
３８  ＤＢサーバ
３８  記憶媒体
３８Ａ  記憶部
４２  クライアント端末
【図１】
2010095226.tif 000003
【図２】
2010095226.tif 000004
【図３】
2010095226.tif 000005
【図４】
2010095226.tif 000006
【図５】
2010095226.tif 000007
【図６】
2010095226.tif 000008
【図７】
2010095226.tif 000009
【図８】
2010095226.tif 000010
【図９】
2010095226.tif 000011
【図１０】
2010095226.tif 000012
【図１１】
2010095226.tif 000013
【図１２】
2010095226.tif 000014
【国際調査報告】
2010095226.tif 000015
2010095226.tif 000016