(57)【要約】【課題】  Ｗｅｂブラウザ上でＷｅｂアプリケーションが機能する際に、Ｗｅｂブラウザを動作させる情報処理装置が持つ端末ネイティブ機能を利用し、端末ネイティブ機能で作成したデータを格納可能なＷｅｂアプリケーションの仕組みを提供することである。【解決手段】  ブラウザに表示された画面データにおける指示受付オブジェクトに対するユーザ操作に応じ、指示受付オブジェクトに関連付けられた処理により生成されるアプリケーションサーバに対するアクションの要求により、ＵＲＬを受け付け、ＵＲＬの種別を表すスキーマ部分に基づき、ＵＲＬがＷｅｂアプリケーションサーバを示すものではない場合には、ＵＲＬに対するネイティブ機能を実行、ネイティブデータを生成し、指定のストレージサーバの格納場所に記憶させるべくストレージサーバに送信し、更に、格納場所をＷｅｂアプリケーションの画面データとして表示させるべく記憶させる。【選択図】図１０
2014219813.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂアプリケーションの実行を制御するＷｅｂアプリケーションサーバと、ストレージサーバと、ネットワークを介して接続可能な情報処理装置であって、
前記Ｗｅｂアプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行される処理を含む画面データを、Ｗｅｂブラウザに表示する表示制御手段と、
前記表示制御手段により表示された画面データにおける前記指示受付オブジェクトに対するユーザの操作に応じて、当該指示受付オブジェクトに関連付けられた処理により生成されるアプリケーションサーバに対するアクションの要求を、前記アプリケーションサーバに引き渡す要求引渡手段と、
前記引き渡し手段により前記アプリケーションサーバに引き渡す要求をＵＲＬとして受け付け、当該ＵＲＬの種別を表すスキーマ部分に基づき、当該ＵＲＬが前記Ｗｅｂアプリケーションサーバあるいは外部のサーバを示すものではない場合には、当該ＵＲＬに対する前記情報処理装置により実行されるネイティブ機能を実行すると判定する要求引渡監視手段と、
前記要求引渡監視手段により前記ＵＲＬがネイティブ機能を実行するものであると判定された場合には、当該ＵＲＬによりネイティブ機能対応記憶手段から、対応するネイティブ機能を検索し、当該ネイティブ機能を実行させ、ネイティブデータを生成させるネイティブ機能実行手段と、
前記ネイティブ機能の実行により生成された前記ネイティブデータを、前記ストレージサーバのネイティブデータ記憶手段に記憶させるべく当該ストレージサーバに送信し、更に、当該ストレージサーバに記憶させた当該ネイティブデータの格納場所を、前記Ｗｅｂアプリケーションの画面データとして表示するデータを記憶するアプリケーションデータ記憶手段に記憶させるべく、前記アプリケーションサーバに送信するネイティブデータ送信手段と、
前記アプリケーションサーバに備えられた、前記要求であるＵＲＬに対応する処理をアクション定義として記憶するアクション定義記憶手段から、前記要求引渡手段により引き渡された前記要求に対応するアクション定義を検索し、当該アクション定義に設定された前記アプリケーションデータ記憶手段と検索条件に基づいて、検索した処理結果を表示するための画面データとして受け付ける結果受付手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記Ｗｅｂブラウザに表示される画面データを更新すべく、当該Ｗｅｂブラウザの更新指示オブジェクトに関連付けられた処理を実行させ、更にその処理に基づいて前記要求引渡手段を実行させる更新指示手段と、
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記アプリケーションデータ記憶手段に前記ネイティブデータの格納場所が含まれる場合には、前記アプリケーションサーバが、当該ネイティブデータの格納場所に基づき取得した当該ネイティブデータが、前記画面データに含まれるものであって、
前記表示制御手段は、前記アプリケーションサーバから結果受付手段により受け付けた処理結果が、処理結果表示オブジェクトに配置された画面データを表示することを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
Ｗｅｂアプリケーションの実行を制御するＷｅｂアプリケーションサーバと、ストレージサーバと、ネットワークを介して接続可能な情報処理装置の制御方法であって、
前記Ｗｅｂアプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行される処理を含む画面データを、Ｗｅｂブラウザに表示する表示制御ステップと、
前記表示制御ステップにより表示された画面データにおける前記指示受付オブジェクトに対するユーザの操作に応じて、当該指示受付オブジェクトに関連付けられた処理により生成されるアプリケーションサーバに対するアクションの要求を、前記アプリケーションサーバに引き渡す要求引渡ステップと、
前記引き渡しステップにより前記アプリケーションサーバに引き渡す要求をＵＲＬとして受け付け、当該ＵＲＬの種別を表すスキーマ部分に基づき、当該ＵＲＬが前記Ｗｅｂアプリケーションサーバあるいは外部のサーバを示すものではない場合には、当該ＵＲＬに対する前記情報処理装置により実行されるネイティブ機能を実行すると判定する要求引渡監視ステップと、
前記要求引渡監視ステップにより前記ＵＲＬがネイティブ機能を実行するものであると判定された場合には、当該ＵＲＬによりネイティブ機能対応記憶手段から、対応するネイティブ機能を検索し、当該ネイティブ機能を実行させ、ネイティブデータを生成させるネイティブ機能実行ステップと、
前記ネイティブ機能の実行により生成された前記ネイティブデータを、前記ストレージサーバのネイティブデータ記憶手段に記憶させるべく当該ストレージサーバに送信し、更に、当該ストレージサーバに記憶させた当該ネイティブデータの格納場所を、前記Ｗｅｂアプリケーションの画面データとして表示するデータを記憶するアプリケーションデータ記憶手段に記憶させるべく、前記アプリケーションサーバに送信するネイティブデータ送信ステップと、
前記アプリケーションサーバに備えられた、前記要求であるＵＲＬに対応する処理をアクション定義として記憶するアクション定義記憶手段から、前記要求引渡ステップにより引き渡された前記要求に対応するアクション定義を検索し、当該アクション定義に設定された前記アプリケーションデータ記憶手段と検索条件に基づいて、検索した処理結果を表示するための画面データとして受け付ける結果受付ステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項５】
コンピュータを、Ｗｅｂアプリケーションの実行を制御するＷｅｂアプリケーションサーバと、ストレージサーバと、ネットワークを介して接続可能な情報処理装置として実行させるプログラムであって、
前記情報処理装置を
前記Ｗｅｂアプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行される処理を含む画面データを、Ｗｅｂブラウザに表示する表示制御手段、
前記表示制御手段により表示された画面データにおける前記指示受付オブジェクトに対するユーザの操作に応じて、当該指示受付オブジェクトに関連付けられた処理により生成されるアプリケーションサーバに対するアクションの要求を、前記アプリケーションサーバに引き渡す要求引渡手段、
前記引き渡し手段により前記アプリケーションサーバに引き渡す要求をＵＲＬとして受け付け、当該ＵＲＬの種別を表すスキーマ部分に基づき、当該ＵＲＬが前記Ｗｅｂアプリケーションサーバあるいは外部のサーバを示すものではない場合には、当該ＵＲＬに対する前記情報処理装置により実行されるネイティブ機能を実行すると判定する要求引渡監視手段、
前記要求引渡監視手段により前記ＵＲＬがネイティブ機能を実行するものであると判定された場合には、当該ＵＲＬによりネイティブ機能対応記憶手段から、対応するネイティブ機能を検索し、当該ネイティブ機能を実行させ、ネイティブデータを生成させるネイティブ機能実行手段、
前記ネイティブ機能の実行により生成された前記ネイティブデータを、前記ストレージサーバのネイティブデータ記憶手段に記憶させるべく当該ストレージサーバに送信し、更に、当該ストレージサーバに記憶させた当該ネイティブデータの格納場所を、前記Ｗｅｂアプリケーションの画面データとして表示するデータを記憶するアプリケーションデータ記憶手段に記憶させるべく、前記アプリケーションサーバに送信するネイティブデータ送信手段、
前記アプリケーションサーバに備えられた、前記要求であるＵＲＬに対応する処理をアクション定義として記憶するアクション定義記憶手段から、前記要求引渡手段により引き渡された前記要求に対応するアクション定義を検索し、当該アクション定義に設定された前記アプリケーションデータ記憶手段と検索条件に基づいて、検索した処理結果を表示するための画面データとして受け付ける結果受付手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置であって、情報処理装置で動作するブラウザ上のＷｅｂアプリケーションから情報処理装置の端末ネイティブ機能（カメラ・録音マイク・ＧＰＳ・傾きセンサーなど）を利用する技術に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータなどの情報処理装置のＷｅｂブラウザ上で、Ｗｅｂアプリケーションによる業務処理などの機能を提供する形態が普及してきている。
【０００３】
Ｗｅｂアプリケーションは主に外部の（例えば会社などの組織においては、社内で提供されるアプリケーションではなく社外の）アプリケーションを閲覧したり、提供された機能を利用したりするケースが多い。しかしながらＷｅｂアプリケーションが社外から提供される場合に、悪意がある機能が含まれていないことを保証できない。そのためＷｅｂブラウザではＷｅｂブラウザ上で動作するＷｅｂアプリケーションが、例えば情報処理装置のファイルを書き換えたり、情報処理装置のプログラムを実行したりすることができないように制限している場合が多い。
【０００４】
また、近年、Ｗｅｂアプリケーションプログラム開発においては、開発工数を削減し、品質を保つために、ユーザインタフェース画面およびロジックの設計、プログラム自動生成を行うためのプログラム開発支援ツールが提供されている。
【０００５】
しかしながら、近年増加してきたスマートフォンやタブレット端末やノートＰＣでは、その携帯性による利便性から従来とは異なった活用方法が提案され、カメラ・録音マイク・ＧＰＳ・傾きセンサーなどの機能（端末ネイティブ機能）を利用するＷｅｂアプリケーションを開発するニーズが増加している。しかしながら、前述の通り、プログラム開発支援ツールにおいても、これらの機能を制限の範囲でＷｅｂアプリケーションの開発を行なわざるを得ないことがあった。
【０００６】
特許文献１には、マルチメディア情報端末システムにおいて、コマンドを含むＵＲＬを用いることでＨＴＴＰプロトコルでは不可能な制御を実現するコマンド転送手段として使用する技術が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−０５８４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１におけるマルチメディア情報端末システムでは、情報端末とＷｅｂサーバ部との間で情報端末を制御するプロキシサーバ部とを備え、情報端末のブラウザから、特殊処理（Ｗｅｂアプリケーション内の機能とは異なるプロキシサーバ部にあるプログラム）への移行を要求するコマンドを含むＵＲＬをプロキシサーバ部が受け取り、プロキシサーバ部はＣＧＩでＵＲＬの形式を判断し、特殊処理のプログラムを実行する。
【０００９】
しかしながら、上記特殊処理とは、サーバの処理であって、情報端末が持つ端末ネイティブ機能を動作させるものではない。情報端末のネイティブ機能を実行したり、情報端末で作成したデータを参照したりすることが仮に可能だとしても、運用上はセキュリティの観点から問題である。
【００１０】
そこで、本発明の目的は、Ｗｅｂブラウザ上でＷｅｂアプリケーションが機能する際に、当該Ｗｅｂブラウザを動作させる情報処理装置（スマートフォンやタブレット端末を含む）が持つ端末ネイティブ機能を利用し、端末ネイティブ機能で作成したデータを格納可能なＷｅｂアプリケーションの仕組みを提供することである。
【課題を解決するための手段】
【００１１】
本発明は、Ｗｅｂアプリケーションの実行を制御するＷｅｂアプリケーションサーバと、ストレージサーバと、ネットワークを介して接続可能な情報処理装置であって、前記Ｗｅｂアプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行される処理を含む画面データを、Ｗｅｂブラウザに表示する表示制御手段と、前記表示制御手段により表示された画面データにおける前記指示受付オブジェクトに対するユーザの操作に応じて、当該指示受付オブジェクトに関連付けられた処理により生成されるアプリケーションサーバに対するアクションの要求を、前記アプリケーションサーバに引き渡す要求引渡手段と、前記引き渡し手段により前記アプリケーションサーバに引き渡す要求をＵＲＬとして受け付け、当該ＵＲＬの種別を表すスキーマ部分に基づき、当該ＵＲＬが前記Ｗｅｂアプリケーションサーバあるいは外部のサーバを示すものではない場合には、当該ＵＲＬに対する前記情報処理装置により実行されるネイティブ機能を実行すると判定する要求引渡監視手段と、前記要求引渡監視手段により前記ＵＲＬがネイティブ機能を実行するものであると判定された場合には、当該ＵＲＬによりネイティブ機能対応記憶手段から、対応するネイティブ機能を検索し、当該ネイティブ機能を実行させ、ネイティブデータを生成させるネイティブ機能実行手段と、前記ネイティブ機能の実行により生成された前記ネイティブデータを、前記ストレージサーバのネイティブデータ記憶手段に記憶させるべく当該ストレージサーバに送信し、更に、当該ストレージサーバに記憶させた当該ネイティブデータの格納場所を、前記Ｗｅｂアプリケーションの画面データとして表示するデータを記憶するアプリケーションデータ記憶手段に記憶させるべく、前記アプリケーションサーバに送信するネイティブデータ送信手段と、前記アプリケーションサーバに備えられた、前記要求であるＵＲＬに対応する処理をアクション定義として記憶するアクション定義記憶手段から、前記要求引渡手段により引き渡された前記要求に対応するアクション定義を検索し、当該アクション定義に設定された前記アプリケーションデータ記憶手段と検索条件に基づいて、検索した処理結果を表示するための画面データとして受け付ける結果受付手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明により、Ｗｅｂブラウザ上でＷｅｂアプリケーションが機能する際に、当該Ｗｅｂブラウザを動作させる情報処理装置（スマートフォンやタブレット端末を含む）が持つ端末ネイティブ機能を利用し、端末ネイティブ機能で作成したデータを格納可能なＷｅｂアプリケーションの仕組みを提供することを可能にする。
【図面の簡単な説明】
【００１３】
【図１】本発明に係わるプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバ、ストレージサーバの構成の一例を示すシステム構成図である。
【図２】本発明に係わるプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバ、ストレージサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施形態のソフトウェア構成を示すブロック図である。
【図４】開発者がレイアウト定義指示を行う画面の一例を示す図である。
【図５】開発者がレイアウト定義指示を行う操作手順の一例を簡単に説明するフローである。
【図６】レイアウトを定義する際のコンテナやオブジェクトの配置を示す一例である。
【図７】レイアウト定義のデータ構成の一例を示す図である。
【図８】開発者がアクション定義を行う画面の一例を示す図である。
【図９】オブジェクトの属性編集を実施した画面の一例を示す図である。
【図１０】本発明の実施形態におけるアクションの実行処理の一例を示すフローチャートである。
【図１１】本発明の実施形態におけるアクションを実施した画面の一例を示す図である。
【図１２】遷移先ＵＲＬと起動する端末ネイティブ機能のデータ構成の一例を示す図である。
【図１３】本発明の実施形態におけるデータベースのテーブルの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。まず、第一の実施の形態を説明する。
【００１５】
図１は、本発明に係わるプログラム開発装置、プログラム開発サーバ、アプリケーションクライアント、アプリケーションサーバの構成の一例を示すシステム構成図である。アプリケーションクライアントは、パーソナルコンピュータなど持ち運ばずに使用する装置（１０４ａ）であっても良いし、ノートパソコン、携帯端末（スマートフォンを含む）など持ち運ぶ装置（１０４ｂ）であっても良い。
【００１６】
プログラム開発装置１０１（情報処理装置）は、開発者の操作に従って画面レイアウトおよびデータベース検索のアクションなどを定義する。プログラム開発装置１０１単体では、ユーザの入力を受け付け、後述するプログラム開発サーバ１０２（情報処理装置）に実際のプログラム生成処理をさせてもよいし、プログラム開発装置１０１単体でプログラム生成まで処理してもよい。
【００１７】
プログラム開発サーバ１０２ａ〜１０２ｂは、プログラム開発装置１０１により入力された開発者の指示に従って、プログラムを開発する。プログラム開発サーバ１０２ａはＬＡＮなどのネットワーク１０７内に配置されてもよいし、プログラム開発サーバ１０２ｂはインターネット上やクラウド上に配置されてもよい。
【００１８】
データベースサーバ１０３ａ〜１０３ｂ（検索サーバ）は、開発されたアプリケーションが使用するデータベースを管理するサーバであり、また本発明では開発時にも利用する。例えば、開発者が利用するためにデータベースサーバ１０３は、プログラム開発装置１０１と同一の装置で構成されていてもよいし、ＬＡＮなどのネットワーク１０７内に配置されてもよい（データベースサーバ１０３ａ）し、またインターネット上やクラウド上に配置されてもよい（データベースサーバ１０３ｂ）。また、プログラム開発装置１０１が、プログラム開発サーバ１０２と協調する場合には、プログラム開発サーバ１０２とデータベースサーバ１０３が同一の装置内に構成されていてもよい。
【００１９】
ストレージサーバ１０６ａ〜１０６ｂは、ＳＯＡＰ方式やＲＥＳＴ方式などによりＷｅｂサービスを提供するＷｅｂサーバであり、また本発明では開発時にも利用する。例えば、開発者が利用するためにストレージサーバ１０６は、プログラム開発装置１０１と同一の装置で構成されていてもよいし、ＬＡＮなどのネットワーク１０７内に配置されてもよい（ストレージサーバ１０６ａ）し、またインターネット上やクラウド上に配置されてもよい（ストレージサーバ１０６ｂ）。また、プログラム開発装置１０１が、プログラム開発サーバ１０２と協調する場合には、プログラム開発サーバ１０２とストレージサーバ１０６が同一の装置内に構成されていてもよい。また、ストレージサーバ１０６とアプリケーションサーバ１０５が同一の装置内に構成されていてもよい。また、ストレージサーバ１０６とデータベースサーバ１０３が同一の装置内に構成されていてもよい。
【００２０】
アプリケーションサーバ１０５ａ〜１０５ｂは、プログラム開発装置１０１で開発されたアプリケーションを実行する。ＬＡＮなどのネットワーク１０７内に配置されてもよい（アプリケーションサーバ１０５ａ）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションサーバ１０５ｂ）。また、ネットワーク１０７、インターネット、クラウド上のデータベースサーバ１０３と接続して動作可能である。また、アプリケーションサーバ１０５とストレージサーバ１０６が同一の装置内に構成されていてもよい。また、アプリケーションサーバ１０５とデータベースサーバ１０３が同一の装置内に構成されていてもよい。
【００２１】
アプリケーションクライアント１０４ａ〜１０４ｂ（クライアント装置）は、アプリケーションサーバ１０５と協調してプログラム開発装置１０１で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。ＬＡＮなどのネットワーク１０７内に配置されてもよい（アプリケーションクライアント１０４ａ）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションクライアント１０４ｂ）。携帯端末などの情報処理装置であってもよい。本実施例においては、タッチパネルでスワイプ（スクロール）することで“次のページ”などを表示することができる携帯端末（情報処理装置）を想定しているが、必ずしもタッチパネルではなくても、マウスなどによりページ単位で“次のページ”を表示するアプリケーションが動作する情報処理装置として想定されればよい。
【００２２】
図２は、本発明に係わるプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバ、ストレージサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。
【００２３】
図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。
【００２４】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、プログラム開発装置、アプリケーションクライアント、各種サーバの後述する各種機能を実現するためのプログラムが記憶されている。
【００２５】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００２６】
入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、特に、プログラム開発装置、アプリケーションクライアント、各種サーバでは、キーボード、マウス等のポインティングデバイスが挙げられる。
【００２７】
出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、例えば、ＣＲＴや液晶ディスプレイ等が挙げられる。
【００２８】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、外部メモリ２１１には、プログラム開発装置、アプリケーションクライアント、各種サーバの各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ２１１としては、ハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
【００２９】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器との通信制御処理を実行する。
【００３０】
本発明を実現するためのプログラム２１２は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３１】
図３は、本発明の実施形態のソフトウェア構成を示すブロック図である。
【００３２】
プログラム開発装置１０１は、開発画面制御部３００、レイアウト定義部３０１、一括作成部３０２、アクション定義部３０３、クエリ定義部３０４、指示引渡処理生成部３０５、記憶部３０６を備えている。
【００３３】
記憶部３０６は、レイアウト定義記憶部３２１、アクション定義記憶部３２２、クエリ定義記憶部３２３を備えている。
【００３４】
開発画面制御部３００は、プログラム開発装置１０１に開発者が操作するための画面を表示し、また開発者の操作に応じて、他の機能部（３０１〜３０５、３１１〜３１５）を機能させる部分である。
【００３５】
レイアウト定義部３０１は、開発者に後述するテキストボックス、ボタン、グリッドオブジェクトなどのオブジェクト、前記複数のオブジェクトなどを１つの表示グループとするためのコンテナを配置させ、また移動、属性編集をさせる機能部である。また、レイアウト定義部３０１で定義されたレイアウト定義は、レイアウト定義記憶部３２１に記憶される。
【００３６】
一括作成部３０２は、データベースのテーブルのデータ項目（カラム）のうち表示したい項目を、前述の表示グループ（グリッドオブジェクトや後述する明細書形式コンテナ）に対して一括で配置する機能部である。
【００３７】
本発明の実施例においては、データ項目（カラム）に対応するオブジェクトの生成を“一括作成”としているが、これはあくまで例である。必ずしも一括である必要はない。例えば、前述のデータ項目（カラム）のうち表示したい項目を配置する際に、当初はデータ項目名（カラム名）を表示するだけでオブジェクトを作成しなくともよい。この場合、実際のオブジェクトの作成は、例えば属性編集において、前述のデータ項目名（カラム名）をユーザが指定する際に、実際のオブジェクトを作成し、ユーザが属性編集しなかったデータ項目名（カラム名）に対しては、レイアウトの保存時にオブジェクトを作成する、など様々な形態が可能である。
【００３８】
一括作成情報受付部３１１は、対応させるデータベース、データベースを検索するｓｅｌｅｃｔ文（ＳＱＬ文）、パラメータとなる条件項目、さらに前述の表示グループなど、レイアウトを自動生成するための情報を受け付ける機能部である。
【００３９】
カラム名取得部３１２（データ項目取得部）は、ｓｅｌｅｃｔ文を実行し、その結果を解析する。
【００４０】
オブジェクト生成部３１３は、前述のデータ項目名（カラム名）に対応して表示グループに配置するオブジェクトを生成する機能部である。
【００４１】
オブジェクト配置部３１４は、前述の生成されたオブジェクトを、表示グループに配置する機能部である。
【００４２】
値設定表示部３１５は、前述の生成されたオブジェクトに、前記ｓｅｌｅｃｔ文を用いてデータベースを実際に検索した結果の値を設定、表示させる機能部である。
【００４３】
アクション定義部３０３は、開発者にボタンがクリックなどされた場合の、ＳＱＬ文によるデータベースの検索処理（アクション）などを定義させる機能部である。また、アクション定義部３０３で定義されたアクション定義は、アクション定義記憶部３２２に記憶される。
【００４４】
クエリ定義部３０４は、アクション定義と対応付け、具体的にはｓｅｌｅｃｔ文などの詳細を開発者に定義させる機能部である。また、クエリ定義部３０４で定義されたクエリ定義は、クエリ定義記憶部３２３に記憶される。
【００４５】
指示引渡処理生成部３０５は、後述する、指示受付オブジェクトがユーザにクリックされた際などのパラメータ取得部３３１、要求引渡部３３２に対応する処理を、アクション定義に従って予め生成しておく機能部である。実際には、指示引渡処理生成部３０５は、本図のようにプログラム開発装置１０１に備えられ、アクション定義時に実行され、生成された処理をアクション定義と結びつけて記憶してもよいし、また他の例として、アプリケーションサーバ１０５に備えられ、アプリケーションクライアント１０４に表示する画面の生成時に、指示引渡処理生成部３０５を実行され、前記処理を生成してもよい。いずれの場合も、指示引渡処理生成部３０５で生成された処理は、前記アクション定義に対応するボタンと関連付けてアプリケーションクライアント１０４に表示する画面情報に組み込まれる。
【００４６】
また、プログラム開発装置１０１は、ストレージサーバ１０６、またはデータベースサーバ１０３と接続する。あるいは、同一筐体に含む構成であってもよい。さらにプログラム開発装置１０１が備える機能部の一部または全ては、プログラム開発サーバ１０２が備え、プログラム開発装置１０１には、開発者が操作する開発画面が表示され、開発者の操作内容がプログラム開発サーバ１０２に送られ、さらにプログラム開発サーバ１０２での処理結果がプログラム開発装置１０１に戻され、開発者が操作する操作画面に結果として表示するように構成してもよい。この場合には、プログラム開発装置１０１は、ストレージサーバ１０６、またはデータベースサーバ１０３と直接は接続せず、プログラム開発サーバ１０２が、ストレージサーバ１０６、またはデータベースサーバ１０３と接続することにより、検索結果を取得してもよい。
【００４７】
アプリケーションクライアント１０４は、ブラウザ１００１、ブラウザコントローラ１００２、端末ネイティブ機能１００３（ネイティブ機能と呼ぶこともある）を備えている。
【００４８】
ブラウザ１００１は、パラメータ取得部３３１、要求引渡部３３２、結果受付部３３７、結果設定部３３８、表示制御部３３９を備えている。
【００４９】
パラメータ取得部３３１は、ブラウザ１００１のユーザがボタンをクリックするなどによりアプリケーションサーバ１０５に対する処理を指示した際に、処理に必要なパラメータ値などを取得する機能部である。
【００５０】
要求引渡部３３２は、前述のパラメータ取得部３３１で取得されたパラメータ値などを後述する要求受付部３３３に引き渡す機能部である。
【００５１】
結果受付部３３７は、アプリケーションサーバ１０５での処理結果を後述する結果受渡部３３６から受け付ける機能部である。
【００５２】
結果設定部３３８（当てはめ部）は、前述の結果受付部３３７で受け付けた処理結果を、アプリケーションクライアント１０４上のオブジェクトに設定する機能部である。
【００５３】
表示制御部３３９は、アプリケーションの特定の画面が生成される場合には、アプリケーションサーバ１０５において生成された画面を、アプリケーションクライアント１０４のアプリケーション上に表示する機能部である。また、既に表示されている場合には、前述の結果設定部３３８の設定を表示に反映する。
【００５４】
ブラウザコントローラ１００２は、要求引渡監視部３４１、メッセージ送信部３４２、メッセージ受信部３４３、端末ネイティブ機能実行制御部３４４を備えている。
【００５５】
要求引渡監視部３４１は、前述の要求引渡部３３２がパラメータ値などを後述する要求受付部３３３に引き渡す際に、特定の条件に合致した場合、処理を中断し、別の処理を実行する機能部である。
【００５６】
メッセージ送信部３４２は、ＳＯＡＰ方式やＲＥＳＴ方式などの方式で、アプリケーションサーバ１０５、ストレージサーバ１０６、またはデータベースサーバ１０３に、ＵＲＬやＳＱＬなどのメッセージを送信する機能部である。
【００５７】
メッセージ受信部３４３は、ＳＯＡＰ方式やＲＥＳＴ方式などの方式で、アプリケーションサーバ１０５、ストレージサーバ１０６、またはデータベースサーバ１０３から、ＣＳＶやＸＭＬなどのデータやメッセージを受信する機能部である。
【００５８】
端末ネイティブ機能実行制御部は、アプリケーションクライアント１０４が備える端末ネイティブ機能（カメラ・録音マイク・ＧＰＳ・傾きセンサーなど）を起動、制御し、端末ネイティブ機能が作成したネイティブデータ（画像・音声・位置・傾きなどのデータ）を操作する機能部である。
【００５９】
端末ネイティブ機能１００３は、カメラ部３５１、録音マイク部３５２、ＧＰＳ部３５３、傾きセンサー部３５４を備えている。
【００６０】
ブラウザ１００１およびブラウザコントローラ１００２に含まれる機能部は、図３のように明確に２つのプログラムに分かれていてもよいし、ブラウザコントローラ１００２がブラウザ１００１に含まれる構成としてもよい。
【００６１】
アプリケーションサーバ１０５は、画面生成部３３０、要求受付部３３３、アクション定義取得部３３４、検索実行制御部３３５、結果受渡部３３６を備え、またプログラム開発装置１０１で定義した記憶部３０６をアプリケーションの実行定義情報として含む。
【００６２】
画面生成部３３０は、アプリケーションクライアント１０４に表示するための画面をレイアウト定義に基づき生成する機能部である。
【００６３】
要求受付部３３３は、前述の要求引渡部３３２からアプリケーションサーバ１０５の処理に必要なパラメータ値などを受け付ける機能部である。
【００６４】
アクション定義取得部３３４は、アプリケーションサーバ１０５を動作させるために必要なアクション定義を取得する機能部である。
【００６５】
検索実行制御部３３５は、アプリケーションクライアント１０４から渡されたパラメータ等に基づいてアプリケーションサーバ１０５を動作させるため機能部である。
【００６６】
結果受渡部３３６（送信手段）は、前述の検索実行制御部３３５の検索結果を、アプリケーションクライアント１０４の結果受付部３３７に受け渡す機能部である。
【００６７】
アプリケーションクライアント１０４およびアプリケーションサーバ１０５に含まれる機能部は、プログラム開発装置１０１あるいはプログラム開発サーバ１０２に含まれていてもよい。これにより開発中の動作確認が可能となる。
【００６８】
図４は、開発者がレイアウト定義指示を行う画面の一例を示す図であり、プログラム開発装置１０１上に表示される。開発ＧＵＩ４００のヘッダー４０１には、開発者が行う作業毎に画面一覧４０２、レイアウト定義４０３、一括作成情報４０４、アクション定義４０５が表示されている。４０２〜４０５は単なる作業状況を示すものであってもよいし、あるいはタブとして選択し処理内容を移行できてもよいが、あくまで一例である。また本例では作業している内容に従い、４０２〜４０５のタイトルの前に“＊”を表示している。
【００６９】
作成画面一覧４０６には、作成済みの画面が表示されている。今回の説明では、新規画面作成ボタン４０７を指示することにより、開発ＧＵＩ４００ａの構成に変わる。前記指示は、マウスによるクリック、キーボードによる操作などあるが、以降の説明では区別しない。
【００７０】
例では、新規画面として画面名称４１１に“エンジンオイルの量”と入力し、過去の整備記録を確認するための画面レイアウトを定義する処理を行う。
【００７１】
作業領域４１２には、初期状態で新規画面のベースとなる明細書形式コンテナ４１３が配置される。
【００７２】
コンテナには、例として１件の情報を１葉で各種データを表示する帳票の作成を主な用途とし、複数の行を挿入可能な“明細書形式コンテナ”と、明細書形式コンテナの中に“行”を追加して、その“行”の中の横方向に複数のオブジェクトなどを並べることが可能な“行形式コンテナ”の２種類を使用可能である。本実施形態の例では、初期状態では前述の通り明細書形式コンテナ４１３が配置される。ただし、初期状態で何も配置されず開発者が明細書形式コンテナ４１３か行形式コンテナを自由に配置できるようにしてもよい。
【００７３】
レイアウト部品４２０には部品ボタンが含まれ、各部品ボタンはコンテナ上に配置できるオブジェクトに対応する。部品ボタンをクリックあるいは、マウスでドラッグアンドドロップすることで、指定のオブジェクトを作業領域４１２に配置済みの他のコンテナ中に配置可能である。例として明細書形式コンテナ作成ボタン４２１、行形式コンテナ作成ボタン４２２、テキスト作成ボタン４２３、テキストボックス作成ボタン４２４、グリッド作成ボタン４２５、ボタン作成ボタン４２６がある。
【００７４】
コマンド４３０には、他の作業に移行する場合のコマンドが含まれ、例えば一括作成情報ボタン４３１、属性編集ボタン４３２、アクション定義ボタン４３３がある。
【００７５】
図５は、開発者がレイアウト定義指示を行う操作手順の一例を簡単に説明するフローである。また図６は、レイアウトを定義する際のコンテナやオブジェクトの配置を示す一例であり、図５の説明に使用する。ここでの説明は、あくまで一例であり、レイアウト定義を途中で中断することや、コンテナやオブジェクトの種類で、配置できないときの警告などは割愛する。
【００７６】
ステップＳ５０１で、図４の新規画面作成ボタン４０７をマウスクリックすることで、明細書形式コンテナ４１３が配置され、レイアウト定義作業を開始する。
【００７７】
次に、開発者は、配置作業の内容として“配置”または“対象の移動”のいずれかを行うかを判断する。現時点では、明細書形式コンテナ４１３上に何も配置されていないため、新しい対象の“配置”しかできないので、ステップＳ５０２で“配置”となり、ステップＳ５０３に進む。例えば、行形式コンテナを追加するためには、まず明細書形式コンテナ４１３をマウスで選択し配置先としてフォーカス（ステップＳ５０３）する。更に図４の行形式コンテナ作成ボタン４２２をマウスクリックすると、図６の明細書形式コンテナ４１３ａの中に階層的に（入れ子状態に）行形式コンテナ６０１が新規作成、挿入される（ステップＳ５０４）。同様の処理を繰り返す（ステップＳ５０６で“ＹＥＳ”と判断する）と行形式コンテナ６０２の下方に行形式コンテナ６０２が追加される（４１３ｂ）。
【００７８】
次に行形式コンテナ６０２をフォーカス（ステップＳ５０３）してから、図４の明細書形式コンテナ作成ボタン４２１あるいは、テキストボックス作成ボタン４２４などオブジェクトを配置するボタンを選択し、コンテナあるいはオブジェクト６１１を新規作成、挿入（ステップＳ５０４）することができる（４１３ｃ）。同様にコンテナあるいはオブジェクト６１２を配置することができる（４１３ｄ）。行形式コンテナ内での配置は、横方向に可能である。ここでベースになる明細書形式コンテナ４１３からは３階層目の位置にコンテナ又はオブジェクトが配置される。このように、コンテナは階層的に配置していくことが可能である。
【００７９】
次に明細書形式コンテナ４１３ｄを選択して行形式コンテナ作成ボタン４２２をマウスクリックすると、行形式コンテナ６０３が新規作成、挿入される（４１３ｅ）。
【００８０】
更に配置作業を継続する（ステップＳ５０６で“ＹＥＳ”と判断する）が、今度は、対象の移動を実施する（ステップＳ５０２で“対象の移動”と判断）。
【００８１】
対象の移動は、例えば行形式コンテナ６０３をドラッグし、行形式コンテナ６０１と行形式コンテナ６０２の間に移動してドロップする（ステップＳ５０５、図６の６２１の移動）。この時、行形式コンテナ６０２内に配置されているコンテナまたはオブジェクト６１１は、行形式コンテナ６０２の入れ子として定義されているため、行形式コンテナ６０２に伴って移動する。
【００８２】
同様にドラッグアンドドロップにより、コンテナまたはオブジェクト６１１と６１２を入れ替えることも可能である（図４の４２２の移動）。
【００８３】
以上の説明では、外側にあるコンテナを選択して、内側に他のコンテナ（あるいはオブジェクト）を最後の行、最右の位置に追加したが、例えば、明細書形式コンテナ４１３ｄの行形式コンテナ６０１と行形式コンテナ６０２の間を選択し、行形式コンテナ作成ボタン４２２をクリックすると、行形式コンテナ６０３が新規作成、挿入されるようにしてもよい。上記の説明はあくまで一例である。
【００８４】
以上でレイアウト定義作業について説明したが、本例で示したコンテナ、あるいはグリッドオブジェクトを内部に複数の項目を表示できるという意味で、“表示グループ”と呼び、レイアウトの一括作成の例として使用する。階層的には、如何に深い位置にあっても同様に対応可能である。
【００８５】
図７は、オブジェクトの属性編集を実施した画面レイアウトの一例を示す図である。
【００８６】
以上により、プログラム開発装置１０１における開発者によるレイアウト定義、レイアウト定義の作成を行う操作、およびプログラム開発装置１０１またはプログラム開発サーバ１０２が、レイアウト定義を作成する処理動作の実施形態の一例の説明を完了する。
【００８７】
図８は、開発者がアクション定義を行う画面の一例を示す図である。アクション定義には、引き続きプログラム開発装置１０１を用いる。本例では、開発ＧＵＩ４００のアクション定義４０５により、アクションを定義するものとして説明する。
【００８８】
前述の通り、実際の開発作業（アクション定義操作）を進めるにあたり、プログラム開発装置１０１単体で動作可能であってもよい。
【００８９】
アクション定義領域８０１ｂには、アクション定義の対象となっているオブジェクトＩＤと、そのラベルが表示されている。この実施例では、図７で定義したオブジェクト“Ｔｏｐへ”ボタンが表示されている（オブジェクトＩＤ“ＴｏｐＢｕｔｔｏｎ”）。
【００９０】
アクション定義領域８０１ａには、オブジェクトＩＤテキストボックス８０２ａとキャプションテキストボックス８０３ａが表示され、オブジェクトのＩＤ・表示する文言（または画像ファイル）を設定できる。アクション定義領域８０１ｂ、８０１ｃ、８０１ｄも同様である。
【００９１】
また、実施例のように、キャプションテキストボックス８０３ｄを“空白”に設定することで、オブジェクトを非表示にすることもできるが、表示有無のチェックボックスを設置し、オブジェクトの表示・非表示を切り替える方式にしてもよい。
【００９２】
アクション定義領域８０１ａの初期画面では、アクション種別セレクトボックス８０４ａ（選択肢：ＤＢクエリ、遷移先ＵＲＬの２種類）とアクション内容テキストボックス８０５ａが１組表示されている。アクション定義領域８０１ｂ、８０１ｃ、８０１ｄも同様である。
【００９３】
アクション種別セレクトボックス８０４ａに“ＤＢクエリ”を選択した場合には、アクション内容にＳＱＬを記入することで、ｆｏｒｍオブジェクトがｓｕｂｍｉｔされた時、ｂｕｔｔｏｎオブジェクトがクリックされた時に、ＤＢに対して前述のＳＱＬが発行される。
【００９４】
アクション種別セレクトボックス８０４ａに“遷移先ＵＲＬ”を選択した場合には、アクション内容にＵＲＬを記入することで、ｆｏｒｍオブジェクトがｓｕｂｍｉｔされた時、ｂｕｔｔｏｎオブジェクトがクリックされた時に、前述のＵＲＬにＨＴＴＰリクエストを発行する。
【００９５】
また、これらのアクションは、ｆｏｒｍオブジェクトがｓｕｂｍｉｔされた時、ｂｕｔｔｏｎオブジェクトがクリックされた時だけでなく、ラジオボタン、セレクトボックス、リンク、画像などのオブジェクトのクリック、オンフォーカス、オンマウスオーバー、オンマウスアウトなどのイベントをトリガーとして設定してもよい。
【００９６】
なお、１つのアクション定義領域には、複数のアクション定義を設定することが可能であり、そのためには、前述のアクション定義用の行を追加する必要がある。例えば、画面下方のアクション追加ボタン９１２をクリックして行を追加してもよいし、１つの行に入力を開始したタイミングや終了したタイミングなど、何らかのイベントにより、予め空白の１行を追加するようにしてもよい。
【００９７】
１つのアクション定義領域に、複数のアクション定義を設定できるということは、ブラウザ１００１でのアクションにより、データベースに対して複数のクエリを発行したり、クエリを発行後に遷移先ＵＲＬに画面を遷移させたりすることが可能である。
【００９８】
また、前述のＳＱＬ・ＵＲＬには、アクション内容テキストボックス８０５ａとパラメータテキストボックス８０６ｂの“＄ｃａｒ＿ｉｄ”のように、変数を用いて記述することができ、実際にアプリケーションクライアント１０４で実行された時の値が入り、ＳＱＬ・ＵＲＬが動的に作成される。
【００９９】
図８の例では、パラメータテキストボックス８０６ａの記載は１つとなっているが、例えば“，”や空白区切りで複数指定できるようにしてもよい。パラメータテキストボックス８０６ａ自体を複数用意してもよい。さらに、パラメータテキストボックス８０６ａを用意しなくても、例えばアクション内容テキストボックスで指定した順番に応じて、必ず１番目の条件項目は“ｐａｒａｍ１”、２番目の条件項目は“ｐａｒａｍ２”が受け取るよう対応付けられていてもよい。
また、アクション定義による動作定義は、あくまで一例であり、同様のＷｅｂアプリケーションを、開発支援ツールを用いずに、独自に開発してもよい。例えば、サーブレットやＪＳＰにおいて、開発者が明示的にデータベースの検索や画面の当てはめ処理を実装してもよい。
【０１００】
図９は、レイアウト定義記憶部３２１におけるレイアウト定義のデータ構成の一例を示す図である。
【０１０１】
テーブル９００は、開発者により定義されたレイアウトを含む例である。
【０１０２】
画面ＩＤ９０１は、新規画面作成ボタン４０７がクリックされたときに開発中のアプリケーション中で画面に一意的に対応付けられる番号であり、現在作成している画面には“ＵＩ００１”が対応付けられている。表示グループ９０２には例として、明細書形式コンテナまたはグリッドオブジェクトなどが登録される。説明の現時点では、“ｃｏｎｔｅｎａＡ”が登録されている。
【０１０３】
行／列９０３は、表示グループ（ここでは明細書形式コンテナまたはグリッドオブジェクト）に配置される行形式コンテナ、または列オブジェクトである。行形式コンテナも表示グループの１種であり、表示グループ９０２に登録する情報として扱ってもよいが、本構成例としては、別の項目として指定する。
【０１０４】
また、オブジェクト情報として種類９０５としてオブジェクトの種類、ＩＤ９０６としてオブジェクトＩＤ、キャプション９０７としてオブジェクトに表示する文言（または画像ファイル）を登録する。
【０１０５】
図８での説明と同様に、アクション種別セレクトボックス８０４ａとアクション内容テキストボックス８０５ａの組み合わせを複数指定することが可能である。
【０１０６】
また、アクション定義については、アクション定義記憶部３２２に登録、記憶される。また、クエリ定義については、クエリ定義記憶部３２３に記憶される。
【０１０７】
以上により、レイアウト定義およびブラウザ画面でのアクションにより、ＤＢクエリ（ＳＱＬ）と画面遷移の定義を混在させることが可能であることの説明を完了する。
【０１０８】
図１０は、本発明の実施形態におけるアクションの実行処理の一例を示すフローチャートである。図１１は、本発明の実施形態におけるアクションを実行した画面の一例を示す図である。図１２は、遷移先ＵＲＬと起動する端末ネイティブ機能のデータ構成の一例を示す図である。図１３は、本発明の実施形態におけるデータベースのテーブルの一例を示す図である。
【０１０９】
すなわち、図１１のＷｅｂページ（画面データ）１１０１ａのカメラアイコン１１３５をクリックし、図１２のデータ構成に従ってカメラ機能が起動し、カメラで撮影した画像１１３２ｂを含むＷｅｂページ１１０１ｂが描画されるまでのフローチャートが図１０である。
図１０のフローチャートを説明する。
【０１１０】
ステップＳ１００においては、アプリケーションクライアント１０４のブラウザ１００１に表示されたＷｅｂアプリケーション画面のボタンやリンクをユーザがクリックする。
【０１１１】
ステップＳ１０１においては、ブラウザ１００１からブラウザコントローラ１００２に向けて、遷移先ＵＲＬを通知する。
【０１１２】
ステップＳ１０２においては、ブラウザコントローラ１００２が、ブラウザ１００１から遷移先ＵＲＬを受け付ける。
【０１１３】
ステップＳ１０３においては、遷移先ＵＲＬのスキーマ部分が、端末ネイティブ機能を指すＵＲＬか、アプリケーションサーバ１０５のＵＲＬかを判定する。具体例としては、“ｎａｔｉｖｅ：／／ｈｏｓｔｎａｍｅ／ｍａｉｎｔａｉｎ／ＴｏｐＦｏｒｍ”の場合はアプリケーションサーバのＵＲＬと判定しステップＳ１０４に進み（図７の７０１ｂ、図８の８０５ｂ、図９の９０９ｂ）、“ｎａｔｉｖｅ：／／ｃａｍｅｒａ”の場合は端末ネイティブＵＲＬと判定し、ステップＳ１０９に進む。（図７の７０１ｃ、図８の８０５ｃ、図９の９０９ｃ）なお、アプリケーションサーバのＵＲＬとは本システム構成図（図１）で示すアプリケーションサーバ外のサーバのＵＲＬであってもよい。
【０１１４】
ここでは、遷移先ＵＲＬが、アプリケーションサーバ１０５のＵＲＬとして、ステップＳ１０４に進む。
【０１１５】
ステップＳ１０４においては、アプリケーションサーバ１０５が、アプリケーションクライアント１０４から送信されたＵＲＬを受信する。
【０１１６】
ステップＳ１０５においては、アプリケーションサーバ１０５が、受信したＵＲＬに対応するプログラムを実行し、Ｗｅｂページを作成する。このステップＳ１０５では、ストレージサーバとデータベースサーバにアクセスが不要なＷｅｂページを例とする。
【０１１７】
ステップＳ１０６においては、アプリケーションサーバ１０５が、作成したＷｅｂページをアプリケーションクライアント１０４に送信する。
【０１１８】
ステップＳ１０７においては、アプリケーションクライアント１０４のブラウザ１００１が、アプリケーションサーバ１０５から送信されたＷｅｂページを受信する。
【０１１９】
ステップＳ１０８においては、ブラウザ１００１が、受信したＷｅｂページを表示する。
【０１２０】
また、ステップＳ１０３の遷移先ＵＲＬが、端末ネイティブ機能（カメラ・録音マイク・ＧＰＳ・傾きセンサーなど）を指すＵＲＬ１２０１の場合、ステップＳ１０９に進む。（この実施例では、図１１のカメラアイコン１１３５がクリックされたとする。）
【０１２１】
ステップＳ１０９においては、ブラウザコントローラ１００２が、ＵＲＬに対応する端末ネイティブ機能１２０２に記載された端末ネイティブ機能を起動する。（ネイティブ機能実行制御部。この実施例では、図８の遷移先ＵＲＬ８０５ｃに対応する図１２の端末ネイティブ機能１２０２ａのカメラを起動し、実行させる。）
【０１２２】
ステップＳ１１０においては、起動された端末ネイティブ機能がネイティブデータ（画像・音声・位置・傾きなどのデータ）を作成する。（この実施例では、画像データ）
【０１２３】
ステップＳ１１１においては、ブラウザコントローラ１００２が、作成したネイティブデータをストレージサーバ１０６へ送信する。その時、ブラウザコントローラ１００２は、ネイティブデータの格納場所を指定する。
【０１２４】
ステップＳ１１２においては、ストレージサーバ１０６が、ブラウザコントローラ１００２から送信されたネイティブデータを受信する。
【０１２５】
ステップＳ１１３においては、ストレージサーバ１０６が、受信したネイティブデータをストレージに格納する。
【０１２６】
ステップＳ１１４においては、ブラウザコントローラ１００２が、ネイティブデータ格納場所のＵＲＬをデータベースサーバ１０３に通知する。
【０１２７】
ステップＳ１１５においては、ブラウザ１００１が、ブラウザコントローラ１００２から通知されたネイティブデータ格納場所のＵＲＬを受け付ける。
【０１２８】
ステップＳ１１６においては、データベースサーバ１０３が、ネイティブデータ格納場所のＵＲＬを図１３の整備記録テーブル１３００（アプリケーションデータ記憶部）の対応する整備記録レコードのカラム１３１６（エンジンオイル画像ＵＲＬ）に保存する。これにより、カラム１３１６の値は、データ例１３１６ａ“ｎｕｌｌ”からデータ例１３１６ｂ“ｈｔｔｐ://ｓｔｏｒａｇｅ/２３８/ｅｎｇｉｎｅ＿ｏｉｌ.ｊｐｇ”へ更新される。
【０１２９】
ステップＳ１２０においては、ブラウザコントローラ１００２が、ブラウザ１００１に存在するリロードボタン７０１ｄ（画面には非表示のボタン（更新指示オブジェクト））を仮想的にクリックすることで、Ｗｅｂページの更新を指示する。
【０１３０】
なお、例えばＡｊａｘなどにより、Ｗｅｂページ画面全体でなく、必要な部分のみを非同期に更新する方法でもよい。その場合には、ブラウザ１００１からアプリケーションサーバ１０５、ストレージサーバ１０６、データベースサーバ１０３への要求および結果応答を行ってもよい。
【０１３１】
ステップＳ１２１においては、ブラウザ１００１が、リロードボタン７０１ｄをクリックされたことで、Ｗｅｂページ更新指示を受け付ける。
【０１３２】
また、リロードボタン７０１ｄのクリックによる、ブラウザ１００１に表示されている画面と同じ画面のリクエストではなく、“確認画面へ進む“ボタンのクリックなどによる、異なる画面のリクエストであってもよい。
【０１３３】
ステップＳ１２２においては、ブラウザ１００１が、アプリケーションサーバ１０５にＷｅｂページの更新を要求する。その際、ステップＳ１０３と同様に、遷移先ＵＲＬによる分岐判断を行ってもよいが、ブラウザコントローラ１００２が、現在表示されているＷｅｂページの更新であることを考慮しているのであれば、分岐判断は不要である。
【０１３４】
また、ステップＳ１２０〜ステップＳ１２２においては、リロードボタン７０１ｄのクリックによる、ブラウザ１００１に表示されている画面と同じ画面のリクエストではなく、“確認画面へ進む“ボタンのクリックなどによる、異なる画面のリクエストであってもよい。
【０１３５】
ステップＳ１２３においては、アプリケーションサーバ１０５が、ブラウザ１００１から送信されたＷｅｂページの更新要求を受信する。
【０１３６】
ステップＳ１２４においては、アプリケーションサーバ１０５が、Ｗｅｂページを表示するために必要なデータ（この実施例では、整備記録情報）を取得するために、データベースサーバ１０３に対し、検索クエリ８０５ａを送信する。
【０１３７】
ステップＳ１２５においては、データベースサーバ１０３が、アプリケーションサーバ１０５から送信された検索クエリ８０５ａを受信する。
【０１３８】
ステップＳ１２６においては、データベースサーバ１０３が、検索クエリ８０５ａを実行する。
【０１３９】
ステップＳ１２７においては、データベースサーバ１０３が、検索クエリ８０５ａの実行結果をアプリケーションサーバ１０５に送信する。
【０１４０】
ステップＳ１２８においては、アプリケーションサーバ１０５が、検索クエリ８０５ａの実行結果を受信する。
【０１４１】
ステップＳ１３０においては、アプリケーションサーバ１０５が、受信した検索クエリ８０５ａの実行結果にネイティブデータ格納場所（この実施例では、エンジンオイル画像ＵＲＬ１３１６）の値が有るか無いかにより分岐する。
【０１４２】
ここでは、ネイティブデータ格納場所の値が有るとして、ステップＳ１３１に進む。
【０１４３】
ステップＳ１３１においては、アプリケーションサーバ１０５が、ネイティブデータ格納場所の値に従い、Ｓ１１３で格納したネイティブデータをストレージサーバ１０６に要求する。
【０１４４】
ステップＳ１３２においては、ストレージサーバ１０６が、アプリケーションサーバ１０５から受信したネイティブデータ要求を受信する。
【０１４５】
ステップＳ１３３においては、ストレージサーバ１０６が、ネイティブデータ格納場所に格納してあったネイティブデータを取得し、アプリケーションサーバ１０５に送信する。
【０１４６】
ステップＳ１３４においては、アプリケーションサーバ１０５が、ストレージサーバ１０６から送信されたネイティブデータ（この実施例では、図１１のエンジンオイル画像１１３２ｂ）を受信する。
【０１４７】
ステップＳ１３５においては、アプリケーションサーバ１０５が、Ｗｅｂページを作成する。（この実施例では、図７の明細書形式コンテナ４１３と検索クエリ８０５ａの実行結果の値に従ってＷｅｂページを作成する。）これにより、ステップＳ１３４で受信したネイティブデータ（エンジンオイル画像）が、図１１の１１３２ｂに表示される。
【０１４８】
また、ステップＳ１３５においては、ステップＳ１３０で、アプリケーションサーバ１０５が受信した検索クエリ８０５ａの実行結果の値によって、画面に表示するオブジェクトの内容（例えば、図９の９１０ａのテキストボックス、図９の９１０ｂの画像表示項目。処理結果表示オブジェクトと呼ぶこともある）が動的に変化する。（この実施例では、図１３の１３１５“ｅｎｇｉｎｅ＿ｏｉｌ”というカラム名が図９の９１０ｂ“＄ｅｎｇｉｎｅ＿ｏｉｌ”で関連付けられているため、図１３の１３１５ａの
“３．５５”という値が図１１の１１３４ｂに表示される。）
【０１４９】
ステップＳ１３６においては、アプリケーションサーバ１０５が、Ｗｅｂページをアプリケーションクライアント１０４に送信する。
【０１５０】
ステップＳ１４０においては、アプリケーションクライアント１０４のブラウザ１００１が、アプリケーションサーバ１０５から送信されたＷｅｂページを受信する。
【０１５１】
ステップＳ１４１においては、ブラウザ１００１が、受信したＷｅｂページを表示する。
【０１５２】
また、ステップＳ１３５〜ステップＳ１４１においては、アプリケーションサーバ１０５側でＷｅｂページを作成するのではなく、レイアウト定義記憶部３２１に含まれるレイアウト定義から対応する画面を生成してブラウザ１００１に送信してレイアウトのみを表示させ、結果受渡部３３６から検索結果をブラウザ１００１の結果受付部３３７に渡すことで検索結果を描画する形式でもよい。
【０１５３】
ここまでの処理で、ネイティブデータ（この実施例では、アプリケーションクライアント１０４のカメラ機能で撮影した画像）が埋め込まれたＷｅｂページ１１０１ｂが、ブラウザ１００１に表示されたことになる。
以上で、図１０のフローチャートの説明を完了する。
【０１５４】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１５５】
また、本発明におけるプログラムは、本発明に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体はコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。
【０１５６】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１５７】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１５８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【０１５９】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６１】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１６２】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【０１６３】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１６４】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１６５】
１０１  プログラム開発装置
１０２  プログラム開発サーバ
１０３  データベースサーバ
１０４  アプリケーションクライアント
１０５  アプリケーションサーバ
１０６  ストレージサーバ
１０７  ネットワーク
３００  開発画面制御部
３０１  レイアウト定義部
３０２  一括作成部
３０３  アクション定義部
３０４  クエリ定義部
３０５  指示引渡処理生成部
３０６  記憶部
３１１  一括作成情報受付部
３１２  カラム名取得部
３１３  オブジェクト生成部
３１４  オブジェクト配置部
３１５  値設定表示部
３２１  レイアウト定義記憶部
３２２  アクション定義記憶部
３２３  クエリ定義記憶部
３３０  画面生成部
３３１  パラメータ取得部
３３２  要求引渡部
３３３  要求受付部
３３４  アクション定義取得部
３３５  検索実行制御部
３３６  結果受渡部
３３７  結果受付部
３３８  結果設定部
３３９  表示制御部
３４１  要求引渡監視部
３４２  メッセージ送信部
３４３  メッセージ受信部
３４４  端末ネイティブ機能実行制御部
３５１  カメラ部
３５２  録音マイク部
３５３  ＧＰＳ部
３５４  傾きセンサー部
１００１  ブラウザ
１００２  ブラウザコントローラ
１００３  端末ネイティブ機能
【図１】
2014219813.tif 000003
【図２】
2014219813.tif 000004
【図３】
2014219813.tif 000005
【図４】
2014219813.tif 000006
【図５】
2014219813.tif 000007
【図６】
2014219813.tif 000008
【図７】
2014219813.tif 000009
【図８】
2014219813.tif 000010
【図９】
2014219813.tif 000011
【図１０】
2014219813.tif 000012
【図１１】
2014219813.tif 000013
【図１２】
2014219813.tif 000014
【図１３】
2014219813.tif 000015