(57)【要約】【課題】電子ファイルからのＷｅｂアプリの作成が容易な情報処理装置を提供すること。【解決手段】第２の情報処理装置１１から送信された第１の形式のデータを第２の形式のデータに変換する情報処理装置１２であって、前記第２の形式のデータが第２の情報処理装置で表示された際に前記第２の形式のデータに対する変更を受け付ける機能を、前記第２の形式のデータに追加する機能追加手段４４、を有することを特徴とする。【選択図】図２
2016091244.tif 000002
【特許請求の範囲】
【請求項１】
第２の情報処理装置から送信された第１の形式のデータを第２の形式のデータに変換する情報処理装置であって、
前記第２の形式のデータが第２の情報処理装置で表示された際に前記第２の形式のデータに対する変更を受け付ける機能を、前記第２の形式のデータに追加する機能追加手段、
を有することを特徴とする情報処理装置。
【請求項２】
前記第１の形式のデータは複数のセルを含む表形式のデータであり、
前記第１の形式のデータと類似した表形式の画像として表示される前記第２の形式のデータを作成するデータ作成手段、を有し、
前記データ作成手段は、セルに対応する前記第２の形式のデータの記述にセルの位置情報又はセルの位置情報に対応づけられた情報を含ませる、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の形式のデータのセルから予め定められた規則に合致するセルを特定して、セルの位置情報を記憶手段に登録するセル位置登録手段と、
前記第２の形式のデータを第２の情報処理装置に送信する送信手段と、
前記記述に含まれるセルの位置情報又はセルの位置情報に対応づけられた情報と共に第２の情報処理装置から送信された値を、前記記憶手段のセルの位置情報に対応づけて登録する値登録手段と、を有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第１の形式のデータは複数のセルを含む表形式のデータであり、
前記第１の形式のデータのセルから予め定められた規則に合致するセルを特定して、セルの位置情報を記憶手段に登録するセル位置登録手段と、
前記第１の形式のデータを受信した場合、前記記憶手段のセルの位置情報に対応づけて前記第１の形式のデータのセルに含まれる値を登録する値登録手段と、
を有することを特徴とする請求項１〜３いずれか１項に記載の情報処理装置。
【請求項５】
前記セル位置登録手段は、前記第１の形式のデータのセルに含まれる属性情報を、前記記憶手段のセルの位置情報に対応づけて登録し、
前記機能追加手段は、属性情報が取得されたセルに対応する前記第２の形式のデータの記述に前記属性情報を追加することで、第２の情報処理装置が前記第２の形式のデータを画像として表示した際に前記属性情報を反映させる、ことを特徴とする請求項３記載の情報処理装置。
【請求項６】
前記機能追加手段は、前記第２の形式のデータが画像として表示された際に、前記第１の形式のデータに入力用セルとして存在しない入力欄の追加を受け付ける前記機能を追加する、ことを特徴とする請求項１〜５いずれか１項に記載の情報処理装置。
【請求項７】
前記機能追加手段が前記機能を追加して前記情報処理装置が第２の情報処理装置に送信した前記第２の形式のデータが第２の情報処理装置から送信された場合、前記機能を削除又は無効化して配布用の前記第２の形式のデータを作成し第２の記憶手段に記憶させるデータ登録手段、を有することを特徴とする請求項１〜６いずれか１項に記載の情報処理装置。
【請求項８】
前記第１の形式のデータの送信要求を受け付けるデータを前記第２の情報処理装置に送信する送信手段を有し、
前記データが前記第２の情報処理装置により画像として表示された場合、前記データは前記第１の形式のデータのドラッグ＆ドロップを検出することで前記送信要求を受け付ける、ことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
複数の前記第１の形式のデータを取得した場合、
前記データ作成手段は、複数の前記第１の形式のデータからそれぞれ複数の前記第２の形式のデータを作成して、複数の前記第２の形式のデータ間の遷移情報を作成し、
前記第２の情報処理装置から前記第２の形式のデータへの遷移要求を取得した場合、前記遷移情報に従って、前記第１の形式のデータから変換された前記第２の形式のデータを前記第２の情報処理装置に送信することを特徴とする請求項２に記載の情報処理装置。
【請求項１０】
前記第１の形式のデータに予め定められた形式の入力欄が含まれている場合、前記機能追加手段は前記第１の形式のデータから変換された前記第２の形式のデータを作成し、
前記第２の形式のデータに導入された機能が用いられることにより、前記第２の情報処理装置から前記入力欄と統計方法を指定する変数が含まれた前記第２の形式のデータを受信し、
前記第２の情報処理装置から前記入力欄に対する入力値が送信された場合、前記入力値を第１テーブルに登録すると共に、前記第１テーブルに登録された複数の入力値から前記統計方法に従い統計情報を作成して第２テーブルに登録するテーブル作成手段を有し、
前記第２の情報処理装置から前記統計情報の要求を取得した場合、複数の入力値から統計情報を作成することなく前記第２テーブルに登録された前記統計情報を前記第２の情報処理装置に送信する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
前記第２の形式のデータの元になった前記第１の形式のデータに含まれるキー項目が設定された第１のテーブル及び統計用の項目が設定された第２のテーブルを作成するテーブル作成手段を有し、
前記機能追加手段は前記第２の形式のデータに、前記第１のテーブルから取得した前記キー項目の選択欄、前記第２のテーブルから取得した前記統計用の項目の選択欄、及び、集計方法選択欄を含む統計用画面を表示させるための前記機能を追加し、
前記第２の情報処理装置において入力された前記統計用画面の変更内容を前記統計用画面に反映させ、
前記テーブル作成手段は、前記第２の形式のデータに対し前記第２の情報処理装置が入力を受け付けた値を取得して前記キー項目に対応づけて前記第１のテーブルに登録すると共に、前記第１のテーブルの値から統計結果を生成して前記統計用の項目に対応づけて第２のテーブルに設定し、
前記第２の情報処理装置が別の前記第２の形式のデータに対し受け付けた前記第２の形式のデータと第２のテーブルとを紐づける紐付け情報に基づき、前記第２のテーブルから読み出した前記統計結果を前記別の前記第２の形式のデータに設定して前記第２の情報処理装置に送信する、請求項１に記載の情報処理装置。
【請求項１２】
コンピュータに、第２の情報処理装置から送信された第１の形式のデータを第２の形式のデータに変換させるプログラムであって、
前記第２の形式のデータが第２の情報処理装置で表示された際に前記第２の形式のデータに対する変更を受け付ける機能を、前記第２の形式のデータに追加する機能追加ステップ、を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１の形式のデータを第２の形式のデータに変換する情報処理装置等に関する。
【背景技術】
【０００２】
情報処理装置では各種のアプリケーションプログラムが動作し、ユーザがアプリケーションプログラムを操作することで、アプリケーションプログラムが電子ファイルを出力する場合がある。このような電子ファイルに表が含まれる場合があり、電子ファイルの表は帳票や申請書類などのひな形として利用されている。
【０００３】
そして従来は情報処理装置上で完結していた表への入力を、ユーザがＷｅｂ上で行う入力処理のＷｅｂアプリ化が要望されるようになった。Ｗｅｂアプリとは、Ｗｅｂサーバ側で動作して、ブラウザやクライアントソフトと通信して処理を行うプログラムをいう。
【０００４】
Ｗｅｂアプリでは、一般に、情報処理装置とＷｅｂサーバが以下のように動作する。
１．ユーザが情報処理装置を操作してサーバにアクセスする。
２．ＷｅｂサーバはＨＴＭＬやJavaScript（登録商標）で記述されたＷｅｂページを情報処理装置に送信する。
３．情報処理装置はＷｅｂページを表示する。ユーザはＷｅｂページに対し所望の入力などを行う。
【０００５】
したがって、電子ファイルの表示をＷｅｂアプリ化するためには、企業などに蓄積されている電子ファイルをＷｅｂページに変換し、Ｗｅｂアプリとして機能するものを作成する必要がある。しかしながら、開発者などが電子ファイルのＵＩ（ユーザーインタフェース）定義からＷｅｂページを作成するには多くの時間と経費を必要とする。
【０００６】
そこで、電子ファイルからＷｅｂページを作成することをソフトウェアに処理させることが検討される（例えば、特許文献１参照。）。特許文献１には、管理者端末がワープロソフト又は表計算ソフトの少なくともいずれかで作成された帳票レイアウトと専用のデータ配置識別情報とから構成された帳票フォーマット情報を帳票自動作成サーバに送信する帳票自動作成システムが開示されている。帳票自動作成システムは、データ入力画面と帳票レイアウトを作成し、利用者端末から入力された帳票入力データを帳票入力データ格納領域に格納する。また、帳票レイアウトを読み出して、対応する帳票入力データを帳票レイアウトにはめ込んで帳票を作成する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−０２４０２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載された帳票自動作成システムでは、電子ファイルを高機能なＷｅｂページへ変換することが必ずしも容易でない場合があるという問題がある。
【０００９】
本発明は上記課題に鑑み、電子ファイルをＷｅｂアプリとして機能するＷｅｂページへ変換することが容易な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記課題に鑑み、第２の情報処理装置から送信された第１の形式のデータを第２の形式のデータに変換する情報処理装置であって、前記第２の形式のデータが第２の情報処理装置で表示された際に前記第２の形式のデータに対する変更を受け付ける機能を、前記第２の形式のデータに追加する機能追加手段、を有することを特徴とする。
【発明の効果】
【００１１】
電子ファイルをＷｅｂアプリとして機能するＷｅｂページへ変換することが容易な情報処理装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】比較技術について説明する図の一例である。
【図２】本実施形態の情報処理システムによるＷｅｂアプリの作成の概略を説明する図の一例である。
【図３】情報処理システムの構成図の一例である。
【図４】アプリケーションサーバのハードウェア構成図の一例である。
【図５】情報処理システムの機能ブロック図の一例である。
【図６】表計算シート受付部の処理を模式的に説明する図の一例である。
【図７】表計算シートから取得される属性情報の一覧を示す図の一例である。
【図８】表計算シートの一例を示す図である。
【図９】図８の表計算シートから変換されたＨＴＭＬファイルの一例を示す図である。
【図１０】テーブル作成部が作成したテーブルの一例を示す図である。
【図１１】入力規則情報の一例を示す図である。
【図１２】入力欄の追加を模式的に説明する図の一例である。
【図１３】入力欄の追加が可能なＨＴＭＬファイルの一部の記述例を示す図である。
【図１４】入力欄に対し調整できる項目を説明する図の一例である。
【図１５】管理者が一次Ｗｅｂアプリから修正可能な属性情報の一覧を示す図の一例である。
【図１６】表計算シート及び一次Ｗｅｂアプリの一例を示す図である。
【図１７】シート１〜３から一次Ｗｅｂアプリを作成する手順を示すシーケンス図の一例である。
【図１８】シート１〜３から作成されたＷｅｂアプリの一例を示す図である。
【図１９】設計ツールの導入例を説明する図の一例である。
【図２０】ＷｅｂアプリＤＢに登録された配布用Ｗｅｂアプリの一覧を模式的に示す図の一例である。
【図２１】テーブルへの値の登録を模式的に説明する図の一例である。
【図２２】テーブルへの値の登録を模式的に説明する図の一例である。
【図２３】「ＤＢ連携」が選択された場合にユーザ端末に表示されるＷｅｂアプリの一例である。
【図２４】ＤＢ連携処理について説明する図の一例である。
【図２５】ＤＢ連携処理について説明する図の一例である。
【図２６】ＤＢ連携処理の別の一例を説明する図である。
【図２７】テーブルの再利用について説明する図の一例である。
【図２８】情報処理システムが配布用Ｗｅｂアプリを作成する手順を示すフローチャート図の一例である。
【図２９】情報処理システムがテーブルＤＢに値を登録し、集計グラフを表示する手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を参照しながら説明する。なお、本実施形態では、Ｗｅｂアプリケーションプログラム作成の元となる電子ファイルの一例として表計算ソフトを例にして説明する。
【００１４】
＜比較技術について＞
始めに、本実施形態の情報処理システムと比較される比較技術について説明する。なお、比較技術は必ずしも従来技術と一致するものではなく、比較技術が本願の特許性を否定するものではない。
【００１５】
図１は比較技術について説明する図の一例である。情報処理装置１１ではＯＳ（Operating System）２１が動作している。情報処理装置１１では表計算ソフトとアドイン又は電子ファイルをＷｅｂページに変換する専用ソフトが動作している。情報処理装置１１は以下のようにしてＷｅｂページを作成する。
１−１．管理者は情報処理装置１１を操作することでアドイン又は専用ソフトに表計算シートを含む電子ファイルを読み出させる。
１−２．アドイン又は専用ソフトは表計算シートに基づいてＷｅｂページを作成する。このＷｅｂページは、表計算シートとほぼ同じ外観や表計算シートと同等のセルの属性情報を備えている。
【００１６】
このようにして、比較技術ではＷｅｂページを作成することができるものの、作成されたＷｅｂページを管理者が修正する場合、表計算シートを修正しなければ、Ｗｅｂページを修正できないため操作性が低下してしまう。また、管理者は表計算シートをアドインや専用ソフトなどから読み出す必要があるため、そのような操作が必要なことも操作性を低下させる。また、アドインは対応する表計算ソフトを必要とするし、この表計算ソフトは対応するＯＳ２１などの特定のプラットフォームを必要とするという不都合がある。
【００１７】
＜本実施形態の情報処理システムの概略＞
これに対し、本実施形態の情報処理システムでは、表計算シートの修正が容易であり、また、Ｗｅｂアプリの作成も容易に行うことができる。また、専用ソフトに依存したアドインも必要なく、プラットフォームに依存した表計算ソフトも必要ない。
【００１８】
図２は、本実施形態の情報処理システムによるＷｅｂアプリの作成の概略を説明する図の一例である。
１−１．情報処理装置１１では任意のＯＳ２１とブラウザソフトウェア（以下、ブラウザという）１９が動作している。管理者は表計算ソフトにより作成した表計算シート（電子ファイル）をブラウザ１９にドラッグ＆ドロップする。
１−２．ブラウザ１９は表計算シートがドラッグ＆ドロップされたことをイベントとして検出して、表計算シートをアプリケーションサーバ１２に送信する。
１−３．アプリケーションサーバ１２では、任意のＯＳ２１とＪａｖａ（登録商標。以下、Ｊａｖａについて登録商標という付記を省略する）ＶＭ（Virtual Machine）１３が動作している。アプリケーションサーバ１２はＪａｖａＶＭ１３上で「ＨＴＭＬファイルの作成」「表計算シートのテーブル化」及び「設計ツールの導入」という処理を行う。
「ＨＴＭＬファイルの作成」により、ブラウザ１９に表計算シートとほぼ同じ外観の画面を表示させるＨＴＭＬファイル（ＨＴＭＬファイルとＣＳＳ（Cascading Style Sheets）ファイル）が作成される。
「表計算シートのテーブル化」により表計算シートのうち入力欄となるセルがテーブルＤＢ１４に保存される。
「設計ツールの導入」により、管理者がブラウザ上で一次Ｗｅｂアプリを修正することが可能なＨＴＭＬファイルが作成される。
１−４．「ＨＴＭＬファイルの作成」「表計算シートのテーブル化」及び「設計ツールの導入」が終了すると、アプリケーションサーバ１２は、一次Ｗｅｂアプリを情報処理装置１１に対し送信する。
１−５．これにより、情報処理装置１１は一次Ｗｅｂアプリを受信し、ブラウザ１９が表計算シートと同様の外観の表を有する一次Ｗｅｂアプリの画面を表示することができる。
１−６．管理者は一次Ｗｅｂアプリの画面を目視して、必要であれば入力欄やボタンの追加や、文字サイズや文字位置や入力チェック規則などを修正する。本実施形態では、このように表示された一次Ｗｅｂアプリの画面上で一次Ｗｅｂアプリの修正が可能になっている。図２では、修正により、表計算シートには入力用セルとして存在しない入力欄１８が追加されている。
１−７．管理者は、修正が完了すると、一次Ｗｅｂアプリを登録するための登録ボタンを押下して、一次Ｗｅｂアプリをアプリケーションサーバ１２に送信する。
１−８．アプリケーションサーバ１２は受信した一次Ｗｅｂアプリを配布用ＷｅｂアプリとしてＷｅｂアプリＤＢ１５に記憶させる。
【００１９】
この後、アプリケーションサーバ１２は、ユーザ端末からの要請に対しＷｅｂアプリＤＢ１５から読み出した配布用Ｗｅｂアプリの画面をユーザ端末に送信する。これにより、ユーザ端末を操作するユーザは、配布用Ｗｅｂアプリの画面に表示された表に対し、例えば所望の値を入力することができる。
【００２０】
以上のように、本実施形態の情報処理システムは、表計算シートがＷｅｂアプリに変換された後、管理者は表計算シートまで戻って修正する必要がなく、一次Ｗｅｂアプリを修正することができるため、配布用Ｗｅｂアプリの作成及び修正を容易に行うことができる。また、情報処理装置１１ではブラウザ１９が動作し、アプリケーションサーバ１２ではＪａｖａＶＭ１３が動作しているので、プラットフォームに依存した表計算ソフトも必要ない。
【００２１】
＜用語定義＞
本実施形態で使用される用語について定義する。
Ｗｅｂアプリ…ＨＴＭＬファイルを少なくとも含み、ＣＳＳファイルを含んでいてもよい。また、JavaScript（登録商標。以下、JavaScriptについて登録商標という付記を省略する）の記述を含んでいる場合がある。
表計算シート…表形式のデータを含む電子ファイルである。表計算シートは主に表計算ソフトにより作成され、表計算ソフトとしては、例えばＥＸＣＥＬ（登録商標）、Ｌｏｔｕｓ１２３（登録商標），Ｋｉｎｇｓｏｆｔ Ｓｐｒｅａｄｓｈｅｅｔｓ（登録商標）、三四郎（登録商標）、Ｇｏｏｇｌｅドキュメント（登録商標）などがあるが、これら以外の表計算ソフトにより作成された表計算シートでもよい。また、任意のソフトウェア（例えばワープロソフトウェア）に表計算シートを作成する機能があれば、このソフトウェアが作成した表計算シートも含まれる。したがって、表計算シートか否かは表計算シートを作成したソフトウェアの呼称やジャンルに制限されない。
表…表計算シート又はＷｅｂアプリに含まれる表である。
値…表計算シートの１つのセル又はＷｅｂアプリの例えば入力欄に含まれるデータである。
管理者…表計算シートから一次Ｗｅｂアプリ及び配布用Ｗｅｂアプリを作成する者である。
ユーザ…管理者が作成した配布用Ｗｅｂアプリを使用して値を入力する者である。なお、管理者とユーザは厳密に区別する必要がなく両者が共通する場合があってもよい。
設計ツール…管理者が一次Ｗｅｂアプリ上から一次Ｗｅｂアプリを修正するために、アプリケーションサーバがＷｅｂアプリに導入する記述やコード、命令などである。
一次Ｗｅｂアプリ…データ変換後に表示された状態で修正可能なＷｅｂアプリである（設計ツールが有効なＷｅｂアプリ）。
配布用Ｗｅｂアプリ…設計ツールが無効化され配布された状態で修正できないＷｅｂアプリである。
【００２２】
＜構成例＞
図３は、情報処理システム１００の構成図の一例を示す。情報処理システム１００はネットワーク１６を介して通信可能な情報処理装置１１、ユーザ端末１７及びアプリケーションサーバ１２を有している。
【００２３】
情報処理装置１１又はユーザ端末１７は、コンピュータやマイコンなどと呼ばれるものであればよく、具体的にはＰＣ(Personal Computer)、タブレット端末、スマートフォン、携帯電話、ＰＤＡ（Personal Digital Assistant）又は、ウェアラブルＰＣなどである。情報処理装置１１又はユーザ端末１７を区別せずに１つの情報処理装置１１又はユーザ端末１７が共用されてもよい。
【００２４】
また、情報処理装置１１又はユーザ端末１７はブラウザ１９が搭載されていることが好ましいが、ブラウザ１９と同等の機能を提供するアプリケーションプログラムが搭載されていてもよい。また、このアプリケーションプログラムは情報処理装置１１のプラットフォームに依存せずに動作することが好ましい。
【００２５】
アプリケーションサーバ１２も、コンピュータやマイコンなどと呼ばれるものであればよく、具体的にはＰＣなどである。
【００２６】
ネットワーク１６は、ＬＡＮ又はインターネットに代表されるＷＡＮなどである。一部又は全てが無線ＬＡＮやBluetoothなどの無線で構築されていてもよいし、携帯電話網などの無線通信網を含んでいてもよい。
【００２７】
図４は、アプリケーションサーバ１２のハードウェア構成図の一例を示す。アプリケーションサーバ１２はそれぞれバス１１２で相互に接続されているＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、記憶媒体装着部１０４、通信装置１０５、入力装置１０６、描画制御部１０７及び補助記憶装置１０８、を有する。ＣＰＵ１０１は、ＯＳ２１やプログラム１１１を補助記憶装置１０８から読み出して実行することで種々の機能を提供する。
【００２８】
ＲＡＭ１０２はＣＰＵ１０１がプログラム１１１を実行する際に必要なデータを一時保管する作業メモリ（主記憶メモリ）になり、ＲＯＭ１０３はＢＩＯＳ（Basic Input Output System）やＯＳ２１を起動するためのプログラムが記憶されている。
【００２９】
記憶媒体装着部１０４には記憶媒体１１０が着脱可能であり、ＣＰＵ１０１の制御により記憶媒体１１０に記録されたデータを読み込み、補助記憶装置１０８に記憶させる。また、記憶媒体装着部１０４は、ＣＰＵ１０１の制御により補助記憶装置１０８に記憶されたデータを記憶媒体１１０に書き込むこともできる。
【００３０】
記憶媒体１１０は例えば、ＵＳＢメモリ、ＳＤカード、ＣＤ−ＲＯＭ等である。プログラム１１１は、記憶媒体１１０に記憶された状態や不図示のサーバからダウンロードすることで配布される。
【００３１】
入力装置１０６は、キーボードやマウス、タッチパネル、トラックボールなどであり、例えば管理者やユーザから様々な操作指示を受け付ける。
【００３２】
補助記憶装置１０８には、表計算シートからＷｅｂページ及びＷｅｂアプリを作成するなどの機能を提供するプログラム１１１が記憶される。なお、補助記憶装置１０８には、ＯＳ２１、ＪａｖａＶＭ１３、各種のデータベースが記憶されている。補助記憶装置１０８は、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の不揮発メモリである。
【００３３】
通信装置１０５は、ネットワーク１６に接続するためのＮＩＣ（Network Interface Card）であり、例えば、イーサネット（登録商標）カードである。
【００３４】
描画制御部１０７は、ＣＰＵ１０１がプログラム１１１を実行してグラフィックメモリに書き込んだ描画コマンドを解釈して、画面を生成しディスプレイ１０９に描画する。
【００３５】
情報処理装置１１及びユーザ端末１７のハードウェア構成の主要部は、アプリケーションサーバ１２と同様なので図示を省略するが、情報処理装置１１又はユーザ端末１７はそれぞれに特有の構成を備えていてもよい。
【００３６】
＜情報処理システムの機能ブロック＞
図５は、情報処理システム１００の機能ブロック図の一例を示す。情報処理装置１１は、装置側送受信部３１、表計算シート受付部３２、修正受付部３３、及び、登録受付部３４を有している。これらの機能は、ＣＰＵ１０１がプログラム１１１を実行して図４のハードウェアを制御等することにより実現される。
【００３７】
装置側送受信部３１は、例えば、ブラウザ１９とプロトコルスタックを実態として、ネットワーク１６を介してアプリケーションサーバ１２と通信する。通信に用いられる通信プロトコルはどのようなものでもよく、例えばＨＴＴＰ（Hypertext Transfer Protocol）を主要な通信プロトコルとして、これを用いたＲＥＳＴ（Representational State Transfer）、ＳＯＡＰ（Simple Object Access Protocol）、などが利用される。また、装置側送受信部３１は、Ａｊａｘを用いて、Ｗｅｂページ及びＷｅｂアプリの画面のリロードを伴わずにアプリケーションサーバ１２とＷｅｂページ及びＷｅｂアプリの画面のやり取りを行うことができる。
【００３８】
表計算シート受付部３２は、装置側送受信部３１がアプリケーションサーバ１２から取得してブラウザが表示したＷｅｂページに対し、管理者が入力装置１０６を操作してドラッグ＆ドロップした表計算シートを検出する。詳細は図６にて説明する。装置側送受信部３１は、この表計算シートをアプリケーションサーバ１２に送信することで、表を含む一次Ｗｅｂアプリの画面を取得する。ＡＪＡＸを用いて送信した場合、表計算シート受付部３２は一次Ｗｅｂアプリが取得されるまで、画面を遷移させることがない。
【００３９】
修正受付部３３は、管理者が入力装置１０６を操作することで行う一次Ｗｅｂアプリに対する修正を受け付ける。詳細は図１２，１３にて説明する。
【００４０】
登録受付部３４は、修正受付部３３が修正を受け付けた一次Ｗｅｂアプリの、アプリケーションサーバ１２への登録を受け付ける。登録の操作は、例えば一次Ｗｅｂアプリに表示された登録ボタンの押下、マウスの右クリックにより表示されたメニュー選択などにより行われるが、具体的な操作方法が限定されるものではない。
【００４１】
ユーザ端末１７は、端末側送受信部３５及び操作受付部３６を有している。これらの機能は、ＣＰＵ１０１がプログラム１１１を実行して図４のハードウェアを制御等することにより実現される。
【００４２】
端末側送受信部３５の機能は装置側送受信部３１と同様であり、ネットワーク１６を介してアプリケーションサーバ１２と通信する。操作受付部３６は、主にブラウザ１９に対するユーザの種々の操作を受け付ける。
【００４３】
アプリケーションサーバ１２は、サーバ側送受信部４１、ＨＴＭＬ作成部４２、テーブル作成部４３、設計ツール導入部４４、Ｗｅｂアプリ登録部４５、Ｗｅｂアプリ出力部４６、データベース登録部４７、データチェック部４８、及び、ＤＢ連携処理部４９を有している。これらの機能は、ＣＰＵ１０１がプログラム１１１を実行して図４のハードウェアを制御等することにより実現される。
【００４４】
また、アプリケーションサーバ１２は、テーブルＤＢ１４及びＷｅｂアプリＤＢ１５を有している。これらは、例えば図４の補助記憶装置１０８に構築されるが、アプリケーションサーバ１２がアクセス可能なネットワーク１６上に配置されていてもよい。
【００４５】
サーバ側送受信部４１の機能は装置側送受信部３１と同様であり、ネットワーク１６を介して情報処理装置１１又はユーザ端末１７と通信する。
【００４６】
ＨＴＭＬ作成部４２は、表計算シートを解析してＨＴＭＬファイル（一次Ｗｅｂアプリ）を作成する。ＨＴＭＬ作成部４２は、表計算シートのセルをＨＴＭＬのlabelタグとinputタグに変換する。各セルをlabelタグ又はinputタグのどちらに変換するかという規則が予めＨＴＭＬ作成部４２に定義されている。詳細は図８，９にて説明する。
【００４７】
また、ＨＴＭＬ作成部４２は、フォントサイズなどセルの属性情報を取得して、ＨＴＭＬファイルに反映させる。これにより、表計算シートとＷｅｂアプリの画面内の表の外観をほぼ同じにすることができる。外観がほぼ同じとは、同じ表と見なせる程度であればよく、類似したと表現してもよい。属性情報の詳細は図７にて説明する。なお、表の外観に関する情報はＨＴＭＬファイルではなくＣＳＳファイルにて作成してもよい。
【００４８】
ＨＴＭＬ作成部４２は、少なくともinputタグに変換したセルの位置を行番号と列番号で特定し、inputタグに対応づけておく。すなわち、各inputタグにはinputタグに変換されたセルの位置情報が対応づけられている。これにより、ＨＴＭＬファイルの各inputタグに入力された値を、後述するテーブルのどこに格納すればよいかを決定できる。
【００４９】
テーブル作成部４３は、表計算シートを解析して、inputタグに変換されたセルに対応する入力欄の値を登録するためのテーブルを作成する。ユーザが配布用Ｗｅｂアプリに入力した値は、テーブルＤＢ１４のこのテーブルに登録される。詳細は図１０、１１にて説明する。
【００５０】
なお、inputタグだけでなく、Labelタグに変換されるセルをテーブルＤＢ１４に登録してもよい。この場合、セルの位置に対応づけてLabelタグに変換されたセルの値が登録される。各テーブルには例えばＷｅｂＩＤなどの識別情報が付される。ＷｅｂＩＤは配布用ＷｅｂアプリのＷｅｂＩＤと同じである。
【００５１】
表計算シートがＥＸＣＥＬ（登録商標）により作成されている場合、ＨＴＭＬ作成部４２とテーブル作成部４３は、Apache POIにより表計算シートを解析してもよい。Apache POIはＪａｖａライブラリの一種で、ＥＸＣＥＬ（登録商標）又はＭＳ−Ｗｏｒｄ（登録商標）が作成した電子ファイルを操作することを可能にする。
【００５２】
設計ツール導入部４４は、ＨＴＭＬ作成部４２が作成したＨＴＭＬファイルに設計ツールを導入する。設計ツールとは、ディスプレイ１０９に画像として表示された一次Ｗｅｂアプリの画面から一次Ｗｅｂアプリの修正を受け付けるツールである。具体的には例えばJavaScriptにより記述されたコード等により実現される。詳細は図１３にて説明する。
【００５３】
また、設計ツール導入部４４は、JavaScriptを用いることで、カレンダー表示機能をＨＴＭＬファイルに追加することができる。表計算シートのセルに日付が入力されている場合があるが、設計ツール導入部４４はこの日付があることを検出した場合、JavaScriptで記述されたカレンダー表示機能を追加する。
【００５４】
また、JavaScript及びアプリケーションサーバ１２にて入力チェック機能を追加してもよい。入力チェック機能とは、入力必須制約、入力値のタイプ制約、入力値の範囲制約、入力値の長さ制約などをいう。このような入力チェックはＨＴＭＬのみでもある程度可能であるが、JavaScriptなどによりさらに詳細な入力チェックが可能になる。設計ツール導入部４４は、inputタグに変換した各セルに対し管理者が所望の入力チェック機能を追加できるプログラムを生成する。詳細は図１９にて説明する。
【００５５】
Ｗｅｂアプリ登録部４５は、情報処理装置１１から送信された修正された一次Ｗｅｂアプリを配布用ＷｅｂアプリとしてＷｅｂアプリＤＢ１５に登録する。登録前に、Ｗｅｂアプリ登録部４５は設計ツールを無効化する。配布用Ｗｅｂアプリには例えばＷｅｂＩＤなどの識別情報が与えられるので、少なくともこの識別情報により識別可能である。したがって、ＷｅｂＩＤにより配布用Ｗｅｂアプリとテーブルを紐づけることができる。詳細は図２０にて説明する。
【００５６】
データベース登録部４７は、ユーザが配布用Ｗｅｂアプリの画面から入力し情報処理装置１１から送信された値をテーブルＤＢ１４に記憶させる。配布用Ｗｅｂアプリにはセルの位置が含まれているので、テーブルＤＢ１４に作成されているテーブルのセルの位置に対応づけて値を登録できる。詳細は図２１，２２にて説明する。
【００５７】
データチェック部４８は、情報処理装置１１から送信された値に対するバリデーションチェックを行う。これにより、サーバ側で詳細な入力チェックを行うことができる。
【００５８】
Ｗｅｂアプリ出力部４６は、ユーザ端末１７からの要求に応じて、ＷｅｂアプリＤＢ１５から配布用Ｗｅｂアプリを読み出し、ユーザ端末１７に送信する。
【００５９】
また、Ｗｅｂアプリ出力部４６は、ユーザが配布用Ｗｅｂアプリの画面からテーブルＤＢ１４に値を登録した場合、その値をinputタグの初期値に設定してＷｅｂアプリとして出力する。すなわち、配布用Ｗｅｂアプリに、テーブルＤＢ１４に登録されている値を合成できる。
【００６０】
ＤＢ連携処理部４９は、ユーザからの要求に対しテーブルＤＢ１４に登録された値を処理してユーザ端末に送信する。どのような処理を行うかは元の表計算シートにより様々であると考えられるが、例えば、値の一覧表示や集計処理を行う。詳細は図２３にて説明する。
【００６１】
＜＜表計算シート受付部の処理＞＞
図６は、表計算シート受付部３２の処理を模式的に説明する図の一例である。図６（ａ）に示すように、管理者は表計算ソフトでＷｅｂアプリ化したい表計算シートを表示させ、ブラウザ上にドラッグ＆ドロップする。表計算シート受付部３２はドラッグ＆ドロップされたこの表計算シートの電子ファイルを受け付ける。表計算ソフトで表示された表計算シートではなく、すでに作成されている電子ファイルをドラッグ＆ドロップしてもよい。したがって、表計算ソフト自体は情報処理装置１１には必要ない。
【００６２】
図６（ｂ）はJavaScriptによる表計算シート受付部３２の記述例を説明する図の一例である。記述１は、ドラッグ＆ドロップされる領域を設定する記述で、「ondrop」がドロップされたことをイベントとしてブラウザ１９が検出すること示している。
【００６３】
また、記述２は、ondropイベントが検出された場合の処理を記述しており、本実施形態では、「表計算ソフトの電子ファイルか否かを判定」する処理が行われる。そして、「表計算ソフトの電子ファイルの場合はアプリケーションサーバ１２に送信」する処理が行われ、「表計算ソフトの電子ファイルでない場合はエラー表示」を行うことが記述されている。すなわち、予め定められた表計算ソフトの電子ファイルがドラッグ＆ドロップされた場合、装置側送受信部３１は表計算シートの電子ファイルをアプリケーションサーバ１２に送信する。
【００６４】
＜＜ＨＴＭＬファイルに反映される表計算シートの属性情報＞＞
図７は、表計算シートから取得される属性情報の一覧を示す図の一例である。ＨＴＭＬ作成部４２は、図示するように例えば、セル内の文字、数値、記号、アルファベットなど（以下、「文字など」という）の配置に関する属性情報、セル内の文字などのフォントに関する属性情報、セルを囲む罫線に関する属性情報、セルの塗りつぶしパターンに関する属性情報、及び、セルのスタイルに関する属性情報、を取得できる。また、セルではなく、図（イメージ）やテキストボックスなどの入力項目があればその属性情報を取得できる。
【００６５】
このように、ＨＴＭＬ作成部４２は外観に関する属性情報を取得できるので、表計算シートとほぼ同じ外観のＨＴＭＬファイル（及び必要であればＣＳＳファイル）を作成することができる。
【００６６】
＜＜labelタグ又はinputタグのどちらに変換するかの規則＞＞
ＨＴＭＬ作成部４２は、例えば、以下のような規則にしたがって、セルをinputタグに変換する。これらの規則は一例であり、例えば管理者が規則を設定可能としたり又は選択可能としてもよい。
(i)セルの４辺が罫線で囲まれており、かつ、文字などが入力されていない
(ii)セルの４辺が罫線で囲まれている
(iii)セルに＄〜＄のように予め定められた記号が含まれている
また、ＨＴＭＬ作成部４２は、例えば、inputタグに変換されないセルをlabelタグに変換する。したがって、labelタグに変換されるセルには文字などが入力されているものとそうでないものが存在する。文字などが入力されていないセルもlabelタグに変換されることで、表計算シートとほぼ同じ外観のＨＴＭＬファイルを作成しやすくなる。
【００６７】
例えば、図８のような表計算シートがある場合に、ＨＴＭＬ作成部４２が規則の(i)に基づいてＨＴＭＬファイルを作成する場合について説明する。図８の表計算シートでは、(i)の規則に合致するセルが５つあり、それぞれ入力欄１〜５と称することにする。また、入力欄１〜５の位置はそれぞれ以下のようになる。
入力欄１：１Ｂ
入力欄２：３Ｂ
入力欄３：３Ｃ
入力欄４：４Ｂ
入力欄５：４Ｃ
ＨＴＭＬ作成部４２は、例えば、左上から右下に向かって１つずつセルの属性情報を取得し、inputタグ又はlabelタグに変換する。変換範囲は、文字など又は罫線が含まれる最も右下のセルまでであるが、明示的に変換範囲が指示されてもよい。ここでは、説明のため以下のような属性情報が取得されたものとする。
１Ａ、３Ａ、４Ａ：横位置（左詰め）、行の高さ（３０）、列の幅（１００）
２Ｂ、２Ｃ：横位置（中央揃え）、行の高さ（３０）、列の幅（１５０）
１Ｂ、３Ｂ、３Ｃ、４Ｂ、４Ｃ：行の高さ（３０）、列の幅（１５０）
ＨＴＭＬ作成部４２は、例えばtableタグを利用して１行分のセルをtr要素で区切り、1セルをtd要素で区切り、各セルをinputタグ又はlabelタグに変換する。これにより、図９のようなＨＴＭＬファイルを作成することができる。また、ＨＴＭＬ作成部４２は、例えばinputタグのname属性にセルの位置を記述する。
【００６８】
図９は、図８の表計算シートから変換されたＨＴＭＬファイルの一例を示す図である。表計算シートのセルが、inputタグ又はlabelタグに変換されている。また、これらのタグは、表計算シートのセルの属性が反映されたものになっている。例えば、labelタグで記述された「部署名」、「担当者」、「数量」は、「width="100" height="30"」と記述されており、セルの属性情報と同じであることが分かる。
【００６９】
また、inputタグのname属性に各セルの位置が設定されている。図ではlabelタグに位置が設定されていないが、inputタグと同様に位置を設定してもよい。
【００７０】
情報処理装置１１に送信され入力欄に入力された値を管理者がアプリケーションサーバ１２に送信する際、値はInputタグのname属性と共に送信される。したがって、ＨＴＭＬファイルにセルの位置を埋め込んでおくことで、表計算シートが配布用Ｗｅｂアプリに変換されても元の表計算シートのセルを特定することができる。
【００７１】
なお、Inputタグのname属性にセルの位置を直接、設定するのでなく、name属性にセルと一意に対応する識別情報を設定してもよい。例えばセルにinput0〜input5の識別情報を付与しておき、セルの位置を対応づけた対応表を作成しておけば、Inputタグに入力された値とセルの位置を対応づけることができる。
【００７２】
また、ＨＴＭＬ作成部４２は、表計算シートに、セルの他、図７の図と入力項目のオブジェクトがあれば、これらのオブジェクトに対応する記述をＨＴＭＬファイルに含める。例えば、線がある場合、線の色、幅、長さ、位置などの属性情報を取得して、ＨＲタグやＣＡＮＶＡＳタグ等により記述する。また、三角形や円などの図形も同様に属性情報を取得してＣＡＮＶＡＳタグにより記述できる。テキストエリアの場合は、属性情報にしたがってTEXTAREAタグにより記述でき、必要であれば初期値としての入力文字と共に記述できる。また、テーブル作成部４３がイメージとしての図を取得した場合はimgタグにより記述される。
【００７３】
＜＜テーブルの作成＞＞
次に、図１０を用いて、テーブルの作成について説明する。図１０は、テーブル作成部４３が作成したテーブルの一例を示す図である。テーブル作成部４３は、ＨＴＭＬ作成部４２と同じinputタグに変換する規則に合致するセルを特定し、そのセルの位置を登録したテーブルをテーブルＤＢ１４に作成する。図１０に示すように、セルの位置として「１Ｂ  ３Ｂ  ３Ｃ  ４Ｂ  ４Ｃ」が登録されている。配布用Ｗｅｂアプリにおいてこれらのセルに対応する入力欄にユーザが入力した値が、図１０のテーブルに登録される。
【００７４】
なお、図１０のＷｅｂＩＤは、ＨＴＭＬ作成部４２が作成した一次Ｗｅｂアプリの画面及び配布用Ｗｅｂアプリの画面を一意に識別するための識別情報である。
【００７５】
また、inputタグだけでなく、Labelタグに変換されるセルをテーブルＤＢ１４に登録してもよい。この場合、テーブルの作成時に、セルの位置に対応づけてセルの値が登録される。
【００７６】
一次Ｗｅｂアプリを作成することでテーブルも作成されるので、従来のようにＷｅｂアプリとは別にデータベースを作成する場合と比べてデータベースの準備が容易になる。
【００７７】
また、テーブル作成部４３は、表計算シートを解析して、inputタグに変換されたセルの入力規則に関する入力規則情報を取得する。入力規則情報には、例えば、以下のようなものがある。
・入力値の種類
・最小間隔
・最大値／最小値
テーブル作成部４３は、inputタグに変換されたセルに入力規則が設定されている場合、それを取り出し、セルの位置に対応づけて入力規則を登録する。例えば、１Ｂのセルに最大文字数の制限ある場合、その旨を１Ｂに対応づけて登録する。
【００７８】
図１１は入力規則情報の一例を示す図である。１Ｂのセルに対応づけて最大文字数が１５であることが登録されている。テーブル作成部４３は、inputタグに変換された全てのセルについて入力規則を取得し、テーブルＤＢ１４に入力規則情報として登録する。入力規則情報に登録された入力規則は、ＨＴＭＬ作成部４２によりＨＴＭＬファイルに反映される。
【００７９】
この他、テーブル作成部４３は、ＨＴＭＬ作成部４２では取得できない属性情報やオブジェクトを取得してテーブルに追加する。例えば、テーブル作成部４３は表計算シートに含まれるイメージとしての図形を取得する。テーブル作成部４３が取得したオブジェクト情報は、ＨＴＭＬ作成部４２によりＨＴＭＬファイルに反映される。
【００８０】
＜＜ＨＴＭＬファイルへの入力規則の反映＞＞
ＨＴＭＬ作成部４２は、入力規則情報の作成を待って、入力規則情報に登録された入力規則をＨＴＭＬファイルに反映させる。例えば、１Ｂのセルについて、最大文字数が１５であるという入力規則が反映された際の記述は以下のようになる。
【００８１】
<td><input type="text" maxlength="15" name="1B" style="WIDTH: 150px; HEIGHT: 30px"></td>
なお、表計算シートでは可能な入力規則が、ＨＴＭＬファイルでは実現が困難な場合は、設計ツール導入部４４がJavaScriptにより入力規則を実現する。
【００８２】
そして、JavaScriptでも困難な場合、又は、ＨＴＭＬファイル若しくはJavaScriptによる実現が困難ではないがアプリケーションサーバ１２が処理した方が適切な場合、アプリケーションサーバ１２が入力規則に関する処理を行う。この場合、図１１に示すように、セルに対応づけてアプリケーションサーバ１２が処理を行うことが登録され、処理内容がinputタグ（セルの位置）と関連づけられる。このような処理としてはバリデーションチェックが知られている。バリデーションチェックとは「入力されたデータが仕様にそって適切に記述されているかを判断し、不適切な箇所があった場合にはエラーとして通知すること」をいう。したがって、必ずしも表計算シートの入力規則と同じチェックを行う必要はなく、アプリケーションサーバ１２により全てのセルに対し一般的なチェックを行ってもよい。アプリケーションサーバ１２による入力規則などチェックは、データチェック部４８により行われる。
【００８３】
＜＜設計ツールの導入＞＞
続いて、設計ツールの導入について説明する。表計算シートから作成された一次Ｗｅｂアプリを修正したい場合（カスタマイズしたい場合）は少なくない。従来は、管理者が表計算シートを修正する必要があったが、本実施形態では管理者は画像として表示された一次Ｗｅｂアプリから一次Ｗｅｂアプリを修正することができる。
【００８４】
以下では、一例として、管理者が一次Ｗｅｂアプリに入力欄を追加する場合について説明する。図１２は、入力欄の追加を模式的に説明する図の一例である。これまで説明したように図１２（ａ）の表計算シートから図１２（ｂ）に示す画像に変換されるＨＴＭＬファイルが作成される。図１２（ｂ）のＨＴＭＬファイルに対し、管理者が入力欄を追加したい場合、管理者はＨＴＭＬファイルが画像化された一次Ｗｅｂアプリに対し、表計算シートには入力用セルとして存在しない入力欄５１を追加することができる。図１２（ｃ）では元々ある入力欄１〜５の下方に新たな入力欄５１が追加されている。
【００８５】
このような一次Ｗｅｂアプリに対する追加をどのように実現するかはＨＴＭＬやJavaScriptなどのプログラミング言語の仕様によるし、１つのプログラミング言語でも実現方法は１つではない。このため、あくまで一例として説明する。
【００８６】
設計ツール導入部４４は、例えば、一次Ｗｅｂアプリ上の入力欄５１を作成可能な場所にマウスイベントを検出するオブジェクト５４を埋め込んでおく。すべてのセルは、クリック等で入力項目に変換できる。図１２（ｂ）ではオブジェクト５４は点線で示されている。オブジェクト５４が透明色で表示されている場合、管理者は必要でなければ入力欄を意識する必要がない。あるいは、極めて薄い色でオブジェクト５４を表示してもよく、この場合、管理者はこの場所に入力欄を追加できることを把握できる。
【００８７】
図１３は、入力欄の追加が可能なＨＴＭＬファイルの一部の記述例を示す図である。図１３のＨＴＭＬファイルは、図９のＨＴＭＬファイルに対し設計ツール導入部４４が追加した記述が含まれている。このうち記述３は、図１２（ｂ）のオブジェクト５４を埋め込むためのものである。また、記述４は、オブジェクト５４に対するマウスクリックが検出された場合に、オブジェクト５４をinputタグで置き換えるための記述である。図１３のようなＨＴＭＬファイルによれば、オブジェクト５４がクリックされることで、図１２（ｃ）の入力欄５１を追加することができる。記述３と４を含むものが一次Ｗｅｂアプリに相当する。配布用Ｗｅｂアプリは記述３と４を含まないものである。したがって、一次ｂＷｅｂアプリと配布用Ｗｅｂアプリは別ファイルで用意されることも多い。
【００８８】
このように追加された入力欄５１又は元からある入力欄に対し、管理者はいくつかの項目を調整できる。
【００８９】
図１４は、入力欄に対し調整できる項目を説明する図の一例である。この画面は、例えば入力欄５１のクリックなどにより表示される。図１４（ａ）は基本設定タブの選択時に表示される画面を示し、図１４（ｂ）は余白／罫線タブの選択時に表示される画面を示す。基本設定タブでは、データ種、検索ラベルとするか否か、入力必須設定、入力補助（カレンダ等）、プレースホルダー、初期値、最大長、カスタムＣＳＳを設定可能である。また、余白／罫線タブでは、罫線の幅と上下左右の余白を設定可能である。
【００９０】
入力必須設定により、図１２（ｃ）では"必須"という文字５２が追加されている。さらに、設計ツール導入部４４は、以下のような一次Ｗｅｂアプリの修正を可能にすることができる。
・属性の設定／変更
・オブジェクト（例えばテキストボックス）の配置
・ボタン機能の設定（ボタンの追加／変更）
・画面間の連携（例えば、過去の画面の入力値を表示する）
このうち、図１５を用いて属性の設定／変更について説明する。図１５は、管理者が一次Ｗｅｂアプリから修正可能な属性情報の一覧を示す図の一例である。図１５は図７と同じ属性を示しており、管理者は表計算シートが有する全ての属性情報を一次Ｗｅｂアプリから修正可能である。なお、一次Ｗｅｂアプリから修正可能でない属性があってもよいし、一次Ｗｅｂアプリでのみ修正可能な属性があってもよい。
【００９１】
導入された設計ツールは、修正受付部３３として動作する。したがって、図１３の記述３，４のような設計ツールが導入されることにより、図１２（ｃ）に示したように、管理者は一次Ｗｅｂアプリを修正することが可能になる。
【００９２】
＜＜画面間の連携＞＞
図１６，図１７を用いて、画面間の連携について説明する。図１６（ａ）〜図１６（ｃ）は表計算シートの一例を示し、図１６（ｄ）〜（ｆ）は設計ツールが導入された一次Ｗｅｂアプリの一例を示す。なお、図１６（ｄ）〜（ｆ）は配布用Ｗｅｂアプリでもかまわないが、管理者が一次Ｗｅｂアプリを修正する段階を踏むことが一般的なので、図１６（ｄ）〜（ｆ）は一次Ｗｅｂアプリであるとする。以下では、アプリケーションサーバ１２が図１６（ａ）〜図１６（ｃ）の表計算シートから図１６（ｄ）〜（ｆ）の一次Ｗｅｂアプリを作成する手順を説明する。
【００９３】
電子ファイルとしては１つの表計算シートが複数のシートを有する場合がある。図１６（ａ）〜（ｃ）はそれぞれ１つの表計算シートのうちシート１〜３を示す。シート１〜３は順番に入力することが想定されておりシート１は次へボタン３０３を有するが、管理者が次へボタン３０３を押下しても、シート１からシート２に切り替わることはない。これに対し、アプリケーションサーバ１２がＷｅｂアプリを作成することで、シート１〜３に対応するＷｅｂページが連携して表示されるＷｅｂアプリを作成できる。
【００９４】
図１７に基づき説明する。図１７はシート１〜３から一次Ｗｅｂアプリを作成する手順を示すシーケンス図の一例である。
S1：管理者が表計算シートをＷｅｂブラウザにドラッグ＆ドロップすると、表計算シート受付部３２が表計算シートを受け付ける。
S2：表計算シート受付部３２は装置側送受信部３１に表計算シートを送出する。
S3：装置側送受信部３１は表計算シートをサーバ側送受信部４１に送信する。
S4：サーバ側送受信部４１はＨＴＭＬ作成部４２に表計算シートを送出する。
S5：ＨＴＭＬ作成部４２は表計算シートをＷｅｂアプリに変換する。ＨＴＭＬ作成部４２は表計算シートに複数のシートが含まれている場合、各シートを別々のＷｅｂページに変換し、各Ｗｅｂページが連携する１つのＷｅｂアプリを作成する。したがって、まず図１６（ｄ）〜（ｆ）のＷｅｂページを作成する。
【００９５】
次に、ＨＴＭＬ作成部４２は各Ｗｅｂページを例えば次のように関連づける。
a.Ｗｅｂページ１の次にＷｅｂページ２が表示される。
b.Ｗｅｂページ２からＷｅｂページ１に戻ってＷｅｂページ１が表示される。
c.Ｗｅｂページ２の次にＷｅｂページ３が表示される。
d.Ｗｅｂページ３からＷｅｂページ２に戻ってＷｅｂページ２が表示される。
e.Ｗｅｂページ３の後、入力値がテーブルＤＢ１４に格納される。
【００９６】
また、設計ツール導入部４４は連携のためＫｅｙとなるボタンを検出する。Ｋｅｙとなるボタンの検出は表計算シートのセルから行ってもよい。図１６では次へボタン３０３、戻るボタン３１１，次へボタン３１２，戻るボタン３２１及び完了ボタン３２２をＫｅｙとする。したがって、設計ツール導入部４４は以下のようにボタンと上記の関連づけを紐づける。
Ａ．管理者が次へボタン３０３を押下することをaの関連づけと紐付ける。
Ｂ．管理者が次へボタン３１２を押下することをｃの関連づけと紐付ける。
Ｃ．管理者が戻るボタン３１１を押下することをｂの関連づけと紐付ける。
Ｄ．管理者が戻るボタン３２１を押下することをｄの関連づけと紐付ける。
Ｅ．管理者（又はユーザ）が完了ボタン３２２を押下することをｅの関連づけと紐付ける。
【００９７】
アプリケーションサーバ１２はＷｅｂアプリにａ〜ｅの関連づけとＡ〜Ｅの紐付けを保持しておく。
S6：ＨＴＭＬ作成部４２はＷｅｂアプリを設計ツール導入部４４に送出する。
S7：設計ツール導入部４４はＷｅｂアプリに設計ツールを導入して一次Ｗｅｂアプリを作成する。
S8：設計ツール導入部４４は一次Ｗｅｂアプリをサーバ側送受信部４１に送出する。
S9：サーバ側送受信部４１は一次Ｗｅｂアプリを装置側送受信部３１に送信する。
【００９８】
したがって、アプリケーションサーバ１２が情報処理装置１１に一次Ｗｅｂアプリを送信し、管理者がＷｅｂページ１〜３を表示してボタンを押下すると、押下されたボタンに応じてアプリケーションサーバ１２はＷｅｂページを切り替えて情報処理装置１１に送信できる。
【００９９】
このように、複数のシートがＷｅｂアプリに変換された場合、複数のＷｅｂページが連携するので、表計算シートでは困難だった画面間の連携が可能になる。なお、画面間の連携は、表計算シートに複数のシートが含まれている場合に自動的に行われてもよいし、ユーザの操作により行われてもよい。
【０１００】
なお、画面間の連携の一態様として、図１８に示すように、アプリケーションサーバ１２はシート１〜３を１つのＷｅｂページに変換して一次Ｗｅｂアプリを作成してもよい。
【０１０１】
図１８はシート１〜３から作成されたＷｅｂアプリの一例を示す図である。図１８では、シート１〜３の内容が含まれるＷｅｂアプリ（１つのＷｅｂページ）５００が作成されている。したがって、管理者又はユーザは個別のシート１〜３ではなく１つのＷｅｂページから入力できるので操作性が向上する場合がある。
【０１０２】
なお、図１７のように３つのＷｅｂページが作成されるのか図１８のように１つのＷｅｂページが作成されるのかは、管理者によるアプリケーションサーバ１２の設定により切り替えられる。あるいは、表計算シートに含まれる情報に応じてアプリケーションサーバ１２が切り替えてもよい。
【０１０３】
＜＜日付等の導入＞＞
また、設計ツール導入部４４は、表計算シートから表示形式が日付になっているセルを検出した場合、カレンダー機能をＨＴＭＬファイルに導入する。設計ツール導入部４４は、カレンダー機能を実現するJavaScriptによるコードを予め保持している。
【０１０４】
図１９は設計ツールの導入例を説明する図の一例である。図１９（ａ）は、ユーザ端末１７が表示した一次Ｗｅｂアプリに導入されたカレンダー機能を説明する図の一例である。ユーザが日付欄をクリックするなどすると、カレンダー２０１が表示される。
【０１０５】
また、図１９（ｂ）は、上述した入力チェックを、設計ツール導入部４４がJavaScriptにより導入した際に表示される警告の一例を示す図である。例えば、４Ｃのセルに１〜１０の数値しか入力できない入力規則が設定されている場合に、ユーザが"１００"を入力したものとする。この場合、一次Ｗｅｂアプリは図示するような警告（入力した値は正しくありません。入力範囲は１〜１０です。）２０２を表示することができる。
【０１０６】
＜＜Ｗｅｂアプリの登録＞＞
管理者が修正した一次Ｗｅｂアプリは、管理者が登録ボタン５３を押下するなどの予め定められた操作を行うことで、アプリケーションサーバ１２に送信される。アプリケーションサーバ１２は登録ボタン５３が押下されたことを一次Ｗｅｂアプリの登録要求として取得する。
【０１０７】
ユーザが値を入力するためのＨＴＭＬファイルは、ユーザが任意に修正することは好ましくないので、Ｗｅｂアプリ登録部４５は、設計ツールを無効化する。無効化とは、設計ツールによる配布用Ｗｅｂアプリの修正を禁止することをいう。図１３のＨＴＭＬファイルでは、無効化は記述３や記述４の少なくとも一方が機能しないようにすればよく、種々の方法がある。例えば、設計ツールを削除することで無効化できる。また、スクリプトの機能をＯＦＦにしてもよいし、記述３又は記述４をコメントに変更してもよいし、記述３又は記述４の一部又は全部を消去してもよい。
【０１０８】
なお、ユーザが配布用Ｗｅｂアプリから入力した値をアプリケーションサーバ１２に送信できるように、送信ボタンなどが追加される。
【０１０９】
Ｗｅｂアプリ登録部４５は、このようにして設計ツールを無効化した配布用ＷｅｂアプリをＷｅｂアプリＤＢ１５に登録する。管理者は、ユーザが目的とする配布用Ｗｅｂアプリをユーザ端末１７に表示できるように、配布用Ｗｅｂアプリに名称を付与するなどすることができる。
【０１１０】
図２０は、ＷｅｂアプリＤＢ１５に登録された配布用Ｗｅｂアプリの一覧を模式的に示す図の一例である。ＷｅｂアプリＤＢ１５には、「ＷｅｂＩＤ」「名称」「管理者」「最終更新日」「ＤＢ連携」などが登録される。「ＷｅｂＩＤ」や「名称」は配布用Ｗｅｂアプリにリンクされており、ユーザはこのような一覧から目的の配布用Ｗｅｂアプリを選択して表示させ、値を入力する。また、後述するように「ＤＢ連携」はテーブルＤＢ１４と連携した処理が可能なＷｅｂアプリとリンクされており、ユーザはテーブルＤＢ１４の値を表示したり集計したりすることができる。
【０１１１】
また、登録受付部３４は、配布用Ｗｅｂアプリの登録時にその配布用Ｗｅｂアプリがワークフローに用いられるか否かを管理者に問い合わせ、管理者によるワークフローに用いられるか否かの選択を受け付ける。ワークフローに用いられる配布用ＷｅｂアプリはＷｅｂアプリＤＢ１５にその旨が登録される。
【０１１２】
＜＜値の登録＞＞
次に、テーブルＤＢ１４に対する値の登録について説明する。テーブルＤＢ１４に値を登録する方法としては、以下の２つの登録方法がある。
(i)  配布用Ｗｅｂアプリから登録する
(ii)  表計算ソフトから登録する
まず(i)の登録方法について図２１を用いて説明する。図２１（ａ）はユーザ端末１７に表示された配布用Ｗｅｂアプリへの入力例を示している。配布用ＷｅｂアプリにはＷｅｂＩＤが含まれていることが好ましい。ユーザは、入力欄１〜５に以下のように入力している。なお、かっこ内は入力欄１〜５に対応するinputタグのセルの位置を示す。
入力欄１（１Ｂ）：総務部
入力欄２（３Ｂ）：Ａさん
入力欄３（３Ｃ）：Ｂさん
入力欄４（４Ｂ）：２
入力欄５（４Ｃ）：３
ユーザが送信ボタン５５を押下して配布用Ｗｅｂアプリから入力された値がアプリケーションサーバ１２に送信されると、データベース登録部４７はname属性でそれぞれの値をテーブルＤＢ１４に登録する。なお、テーブルの特定は、ＷｅｂＩＤを利用してもよいし、セルの位置情報を利用してもよい。
【０１１３】
図２１（ｂ）はテーブルＤＢ１４に登録される値の一例を示す図である。テーブルＤＢ１４には、表計算シートのセルに対応づけてユーザが入力した値が登録される。
【０１１４】
図２１（ｃ）は別のユーザ（営業部の担当者）がユーザ端末１７で表示した配布用Ｗｅｂアプリを示している。同様に、このユーザは配布用Ｗｅｂアプリに対し所望の値を入力できる。
入力欄１（１Ｂ）：営業部
入力欄２（３Ｂ）：Ｃさん
入力欄３（３Ｃ）：Ｄさん
入力欄４（４Ｂ）：０
入力欄５（４Ｃ）：５
図２１（ｄ）は、営業部のユーザが入力した値が登録されたテーブルＤＢ１４の一例を示す図である。このように、テーブルＤＢ１４にはそれぞれのユーザが登録した値が蓄積される。
【０１１５】
次に、(ii)の登録方法について図２２を用いて説明する。ユーザとしては、使い慣れた表計算シートから直接、値を入力したい場合がある。本実施形態の情報処理システム１００は、このような要請に対し、ユーザが表計算シートをＷｅｂページにドラッグ＆ドロップすることで、値を登録することを可能にしている。
【０１１６】
図２２（ａ）は表計算ソフトが表示する表計算シートの一例を、図２２（ｂ）は値をテーブルＤＢ１４に登録するためにユーザ端末１７に表示されたＷｅｂアプリの画面のＷｅｂページの一例を示している。ＨＴＭＬファイルの登録時と同様に、このＷｅｂアプリの画面はドラッグ＆ドロップを検出すると、表計算シートをアプリケーションサーバ１２に送信する。
【０１１７】
データベース登録部４７は、予め定められた規則にしたがって、値が入力されているセルを特定する。inputタグに変換されるセルの規則が上記の「(i)セルの４辺が罫線で囲まれているなどの規則」であるものとして説明する。値の登録時には、セルに文字が入力されているので、値が入力されているセルは「セルの４辺が罫線で囲まれている」セルである。データベース登録部４７はこれを規則として、表計算シートから値が入力されているセルを特定する。図２２（ａ）では、１Ｂ、３Ｂ、３Ｃ、４Ｂ及び４Ｃのセルが特定される。
【０１１８】
そして、データベース登録部４７は、値が入力されているセルの位置と、テーブルに登録されているセルの位置が一致するテーブルをテーブルＤＢ１４から特定する。図２２（ｃ）では、ＷｅｂＩＤ＝００１のテーブルが登録され、表計算シートに入力されている値をテーブルに登録することができる。
【０１１９】
このように、テーブルＤＢ１４のテーブルにセルを判別する位置情報が登録されていることで、表計算シートから直接、値を登録することができる。
【０１２０】
なお、図２２では、セルに入力された値のテーブルＤＢ１４への登録について説明したが、表計算シートにテキストボックスや図などのオブジェクトが含まれている場合、データベース登録部４７はテーブル作成時と同様にこれらのオブジェクトも取得できる。データベース登録部４７はテーブルにオブジェクトを追加しておくことができる。なお、必要であれば、ユーザ端末１７への送信時にＷｅｂアプリ出力部４６がＨＴＭＬファイルにオブジェクトを反映させる。
【０１２１】
テーブルＤＢ１４への値の登録の際、ユーザはユーザ端末１７においてテーブルＤＢ１４への登録用のＷｅｂアプリを表示させる。この場合、テーブルＤＢ１４への登録用のＷｅｂアプリの画面にドラッグ＆ドロップされた表計算シートはデータベース登録部４７の処理の対象となる。データベース登録部４７は、値が入力されているセルの位置と、テーブルに登録されているセルの位置が一致するテーブルをテーブルＤＢ１４から特定して、表計算シートに入力されている値を登録する。
【０１２２】
あるいは、ユーザはユーザ端末１７において、各テーブルに専用のＷｅｂアプリの画面を表示させてもよい。例えば、ユーザは、ＷｅｂＩＤやＷｅｂアプリの名称を指定してテーブルに専用のＷｅｂアプリの画面を表示させる。この場合、ドラッグ＆ドロップされた表計算シートがどのテーブルに登録されるかは決まっているので、データベース登録部４７は、テーブルに登録されているセルの値を、表計算シートから読み出してテーブルＤＢ１４に登録する。
【０１２３】
あるいは、図２２（ｂ）のＷｅｂページを図６（ａ）と同じものとしてもよい。この場合、ＨＴＭＬ作成部４２がＨＴＭＬファイルを作成しないように担保されることが好ましい。このため、ＨＴＭＬ作成部４２は例えば「４辺が罫線で囲まれているセルに文字などが入力されている場合はテーブルＤＢ１４への登録と判断する」ことで、ＨＴＭＬファイルを作成しない。これにより、同じドラッグ＆ドロップという操作でも、ＨＴＭＬファイルの作成とテーブルＤＢ１４への登録を切り替えることができる。
【０１２４】
３つの登録方法のどれで登録されても、アプリケーションサーバはテーブルＤＢ１４のテーブルを表計算シートに変換して出力したり、ＰＤＦ（Portable Document Format）や画像（例えばｐｎｇ形式、ＢＭＰ形式、Ｊｐｅｇ形式など）で出力することができる。
【０１２５】
＜＜ＤＢ連携処理＞＞
以上のように、ユーザがテーブルＤＢ１４に値を登録した値は、管理者又はユーザにより加工して表示することができる。
【０１２６】
図２３（ａ）は、図２０にて示した「ＤＢ連携」が選択された場合にユーザ端末１７に表示されるＷｅｂアプリの一例を示す。なお、このＷｅｂアプリの画面にはＷｅｂＩＤとの紐付け情報が含まれている。このＷｅｂアプリには一覧表示ボタン６１と集計グラフボタン６２が表示されている。ユーザが一覧表示ボタン６１を押下すると、ＷｅｂＩＤと一覧表示要求がアプリケーションサーバ１２に送信される。アプリケーションサーバ１２のＤＢ連携処理部４９は、ＷｅｂＩＤで指定されるテーブルを読み出して、ユーザ端末１７に送信する。これにより、ユーザ端末１７は図２３（ｂ）に示すように、テーブルに登録されている値の一覧を表示することができる。
【０１２７】
また、ユーザが集計グラフボタン６２を押下すると、ＷｅｂＩＤと集計グラフ要求がアプリケーションサーバ１２に送信される。アプリケーションサーバ１２のＤＢ連携処理部４９は、ＷｅｂＩＤで指定されるテーブルを読み出して値を集計しユーザ端末１７に送信する。どのような集計を行うかは、ユーザが不図示の画面から設定してもよいし、集計グラフボタン６２を複数用意し集計グラフボタン６２ごとに決まった集計を行ってもよい。これにより、ユーザ端末１７は図２３（ｃ）に示すように、テーブルに登録されている値を集計したグラフなどを表示することができる。なお、集計結果を表示可能なグラフとしては、縦棒グラフ、折れ線グラフ、円グラフ、横棒グラフ、面グラフ、散布図、ドーナツグラフ、バブルチャート、及び、レーダーチャートなどがある。
【０１２８】
また、図２３に示す他、セルの値が数値であれば一般的な統計処理（平均、標準偏差、中央値など）を行ってもよい。また、直線や曲線で回帰分析したりしてもよい。
【０１２９】
図２４、２５はＤＢ連携処理の別の一例を説明する図である。なお、図２４，２５はAjax及びRESTを用いて実現した例になっている。
(i)ＨＴＭＬ作成部４２は、これまで説明したように図２４（ａ）の表計算シートから図２４（ｂ）のＷｅｂページを作成する。このＷｅｂページに画面ＩＤとして「００１」が付与される。設計ツール導入部４４は、図２４（ａ）の表計算シートに予め定められた入力項目がある場合（例えば、＄などの特殊文字がある入力欄、枠線に囲まれた入力欄）、表計算シートを一次Ｗｅｂアプリに変換する。
(ii)一次Ｗｅｂアプリを作成する際、設計ツール導入部４４はＫｅｙ情報を検出する。すなわち、国、県、市、支店数にＫｅｙ情報が含まれている場合、これらを統計の対象に決定して図２４（ｃ）の一覧・集計のための一次Ｗｅｂアプリを作成する。したがって、図２４（ｃ）では国、県、市、支店数の一覧のためのヘッダー４０１、国、県、市、支店数を集計対象として選択させる選択欄４０２、及び、集計方法４０３が作成される。なお、集計方法４０３は予め定められている。
【０１３０】
そして、ＤＢ連携処理部４９は集計方法４０３（合計、平均、最大、最小）で集計するためのプログラム（統計用テーブルや画面など）を作成しておく。あるいは、集計するためのプログラム（統計用テーブル項目等の変数）と紐づけておく。アプリケーションサーバ１２のＤＢ連携処理部４９は図２５（ｃ）に示すテーブル001-01に入力された値を保存する。なお、図２４（ｃ）では集計は一次元（列方向）で行われるが、２次元（行方向と列方向）で行うこともできる。
【０１３１】
また、単純に管理者端末が他画面での使用欄をAjax等の技術で持ってくる手法だけでなく、一次Ｗｅｂアプリが予め自動（あるいは設定で）登録された統計用テーブルの変数を確認でき再利用できることで、素早くかつシステムに負荷をかけずに処理することができる。
【０１３２】
この後、管理者が図２４（ｂ）（ｃ）の一次Ｗｅｂアプリを修正することで、配布用Ｗｅｂアプリが作成される。この時点で、画面番号およびデータベースのテーブル番号が固定される。
(iii)次に、ユーザは図２５（ａ）の配布用Ｗｅｂアプリに対しデータを入力する。すなわち、国入力欄４１１、県入力欄４１２、市入力欄４１３及び支店数入力欄４１４に値を入力する。ユーザが集計ボタン４１５を押下すると入力値はアプリケーションサーバ１２に送信される。
(iv)アプリケーションサーバ１２のＤＢ連携処理部４９は図２５（ｃ）に示すテーブル001-01に入力された値を登録する。テーブル001-01は、Ｋｅｙ情報ごとに入力値を登録したものである。なお、001-01の後ろの「01」は画面００１から作成されたテーブルを識別するための番号である。
(v) 次に、集計ボタン４１５の押下に応答するため、ＤＢ連携処理部４９は図２５（ｃ）のテーブル001-01から値を読み出して、図２４（ｃ）の配布用Ｗｅｂアプリに合成することで図２５（ｂ）の一覧・集計のための一次Ｗｅｂアプリを作成する。なお、この図２５（ｂ）の画面の例はAjaxを用いた方法での実施例である。
【０１３３】
図２５（ｂ）の配布用Ｗｅｂアプリの画面は選択欄４０２、及び、集計方法４０３を有している。ユーザは選択欄４０２から集計対象（国、県、市、支店数）を選択し、集計方法４０３から集計方法（合計、平均、最大、最小）を選択する。ユーザが集計対象として支店数を選択し、集計方法として合計を選択したものとする。
(vi) アプリケーションサーバ１２のＤＢ連携処理部４９は、図２５（ｃ）のテーブル001-01から入力者数と支店数総計を読み出し、図２５（ｄ）の配布用Ｗｅｂアプリを作成する。したがって、アプリケーションサーバ１２は図２５（ｃ）のテーブルにアクセスして統計処理するよりも早期に図２５（ｄ）の配布用Ｗｅｂアプリをユーザ端末１７に送信できる。
【０１３４】
なお、図２４（ａ）の表計算シートに入力欄だけでなく一覧表示が含まれている（ヘッダー４０１が含まれている）場合、ＤＢ連携処理部４９は入力欄のＫｅｙ情報（国、県、市、支店数）と一覧表示のＫｅｙ情報（国、県、市、支店数）とを対応づける。これにより、入力画面と一覧画面が一体のＷｅｂアプリが作成されるので、ユーザは入力画面において集計ボタンを押下したり、一覧画面を確認したりすることができる。
【０１３５】
＜＜＜ＤＢ連携処理２＞＞＞
図２６は、ＤＢ連携処理の別の一例を説明する図である。図２６（ａ）は表計算シートを、図２６（ｂ）は一次Ｗｅｂアプリの初期状態を、図２６（ｃ）は一次Ｗｅｂアプリの加工例を、図２６（ｄ）は配布用Ｗｅｂアプリを、図２６（ｅ）は配布用Ｗｅｂアプリの入力例を、それぞれ示す。一次Ｗｅｂアプリには画面ＩＤ（図２６では００１が付与される）。
【０１３６】
設計ツール導入部４４は図２６（ｂ）の一次Ｗｅｂアプリを作成する。この時、テーブル作成部４３は図２６（ｆ）のテーブル001-01を作成しテーブルＤＢ１４に記憶させておく。図２６（ａ）の表計算シートには各項目（国、県、市、支店数）にＫｅｙが埋め込まれており、テーブル作成部４３はＫｅｙが埋め込まれている項目を取り出すことでテーブル001-01を作成する。この番号「001-01」はテーブルＩＤであり、画面ＩＤの「001」に重複しない番号が連番で加えられたものである。
【０１３７】
また、管理者は図２６（ｃ）の一次Ｗｅｂアプリを作成する際、プルダウンメニュー２６７，２６８の値を設定する。この値は後述する集計単位２６５に反映される。
【０１３８】
次に、管理者は一次Ｗｅｂアプリの項目である「支店数」の入力欄２６１のデータ型を文字列型から数値型に変更し、数値型にした項目のＫｅｙ設定を外す。これにより、図２６（ｇ）のテーブル001-01が得られる。このテーブル001-01は、Ｋｅｙが異なれば配布用Ｗｅｂアプリで入力された値が蓄積されていく領域である。また、管理者はテーブル001-01、Ｋｅｙ及び統計方法を指定する変数を一次Ｗｅｂアプリに設定する。テーブル作成部４３は図２６（ｈ）のテーブル001-02を作成する。このテーブル001-02は配布用Ｗｅｂアプリで入力されテーブル001-01に蓄積されたデータを集計する領域である。また、テーブル作成部４３は図２６（ｈ）のテーブル001-03を作成する。このテーブル001-03は配布用Ｗｅｂアプリで入力されテーブル001-01に蓄積されたデータを、例えば県レベルが同じＫｅｙを集計する領域であり、県の種類数の分のデータが蓄積される領域である。例として、東京都大田区、東京都港区、東京都台東区の３レコードがある場合、ＤＢ連携処理部４９は入力者数を３と集計する。また、ＤＢ連携処理部４９は東京都の支店数の総計を１０と集計する。神奈川県、埼玉県についても同様にデータが保持される。設定により、図のように、県ごとにテーブルを分けてもよいし、又は、同一のテーブルに「県毎入力者数」「県毎支店数総計」の項目があってもよい。なお、テーブルの項目名はＫｅｙに対応して自動的に付与される。
【０１３９】
管理者はテーブルを指定して変数を設定できるので、変数を変えるだけで統計処理が行われるテーブルを変更できる。また、統計の項目や統計方法も簡単に変更できる。
【０１４０】
また、管理者が例えば図２６（ｃ）の一次Ｗｅｂアプリで所定の操作を行うと（例えば、マウスの右クリックを行う）サブ画面が開く（不図示）。ユーザはサブ画面から統計用テーブル設定画面を作成する操作を入力する。これにより、情報処理装置１１からアプリケーションサーバ１２に統計用テーブル設定画面の作成要求が送信され、設計ツール導入部４４は統計用テーブル設定画面を作成する。設計ツール導入部４４は統計用テーブル設定画面に設計ツールを導入する。
【０１４１】
図２６（ｊ）は統計用テーブル設定画面の一例を示す。統計用テーブル設定画面は項目リスト欄２６２、キー項目欄２６３、集計項目欄２６４、集計単位欄２６５、及び、集計方法欄２６６を有している。項目リスト欄２６２は、設計ツール導入部４４がテーブル001-02から統計用の項目を読み出して設定する。設計ツール導入部４４はテーブル001-01から項目名を取得してキー項目欄２６３に設定する。設計ツール導入部４４はテーブル001-01から数値型の項目名を取得して集計項目欄２６４に設定する。設計ツール導入部４４は予め定められている合計、平均、最大、最小などを集計方法欄２６６に設定する。例では単純な集計方法を記述しているが、任意の統計関数などを設定する事もできる。
【０１４２】
統計用テーブル設定画面のキー項目欄２６３で項目が選択されると、集計単位２６５には該項目に入力されている値が選択可能に表示される。例えば、図２６（ｊ）に示すように、集計単位欄２６５には東京、神奈川、千葉、埼玉などが表示される。
【０１４３】
また、管理者は統計用テーブル設定画面を表示させ、修正することができる。例えば、項目リスト欄２６２に「都道府県平均」と追加する。
【０１４４】
図２６（ｋ）に示すように、ユーザが配布用Ｗｅｂアプリから値を入力すると、テーブル001-01に値が登録される。そして、図２６（ｌ）に示すように、ＤＢ連携処理部４９はテーブル001-01に登録された値から変数に基づいて統計情報を作成してテーブル001-02に登録する。図２６（ｍ）に示す、テーブル001-03についても同様に統計情報が登録される。テーブル001-03には、例えば、集計単位２６５で設定した県の単位で統計情報が登録される。
【０１４５】
このように、管理者は、一次Ｗｅｂアプリのサブ画面から統計用テーブル設定画面を任意で作成することができる。管理者が明示的に統計項目などを設定しない場合も、数値の単純総計などを自動で設定することができる。また、統計用テーブル設定画面にも設計ツールが導入されるため、管理者は統計用テーブル設定画面で例えばマウスを右クリックしたりメニュー選択等によりサブ画面を表示させることができる。そして、管理者は統計用テーブル設定画面を修正できる。
【０１４６】
続いて、図２７を用いてテーブル001-01、001-02の再利用について説明する。図２７は、テーブルの再利用について説明する図の一例である。図２７（ａ）は表計算シートの一例を示し、図２７（ｂ）は一次Ｗｅｂアプリの一例を示し、図２７（ｃ）は配布用Ｗｅｂアプリの一例を示す。これまで説明したように、管理者は表計算シートから一次Ｗｅｂアプリや配布用Ｗｅｂアプリを作成する。
【０１４７】
管理者が例えば図２７（ｂ）の一次Ｗｅｂアプリでマウスを右クリックしたりメニュー選択等を行う事により、図２７（ｄ）の挿入項目選択設定画面が表示される。挿入項目選択設定画面は、設計ツールとして一次Ｗｅｂアプリに導入されている。挿入項目選択設定画面は画面ＩＤ設定欄２７１、テーブルＩＤ設定欄２７２、及び、項目名設定欄２７３を有している。
【０１４８】
画面ＩＤ設定欄２７１には画面ＩＤのリストがプルダウン形式で表示され、テーブルＩＤ設定欄２７２にはテーブルＩＤのリストがプルダウン形式で表示され、項目名設定欄２７３には項目名のリストがプルダウン形式で表示される。項目名はテーブル001-02の項目名である。
【０１４９】
管理者は画面ＩＤ設定欄２７１をマウスやキーボード、指などで操作し、統計を集計する画面ＩＤを選択する。これにより、テーブルＩＤ設定欄２７２に表示されるテーブルＩＤが決まるので、管理者はテーブルＩＤ設定欄２７２から統計処理したいテーブルのテーブルＩＤを選択する。これにより、項目名設定欄２７３にはテーブル001-02の項目名が表示される。
【０１５０】
次に、管理者は図２７（ｂ）の項目である入力者数２７４にどの項目名を表示させるかを、項目名設定欄２７３から選択する。すなわち、テーブル001-02の項目名である入力者数を選択する。同様に、管理者は図２７（ｂ）の項目である支店数総計２７５にどの項目名を表示させるかを、項目名設定欄２７３から選択する。すなわち、テーブル001-02の項目名である支店数総計を選択する。このような管理者の操作により、一次Ｗｅｂアプリの入力欄（入力者数２７４と支店数総計２７５）とデータベース（この例ではテーブル001-02）とが紐付けされる。
【０１５１】
以上により、図２７（ｃ）に示すように、配布用Ｗｅｂアプリでは、図２６（ｌ）のテーブル001-02から読み出された「６」が入力者数２７４に、「４４」が支店数総計２７５にそれぞれ表示される。
【０１５２】
このように、画面002の一次Ｗｅｂアプリの修正時に、管理者は他の画面001で設定した統計値などを選択的に挿入することができる。本実施形態では難しいプログラミング（Ajaxを利用して各項目を呼び出すようにコーディングすることで、個別に他画面での使用項目を流用する。REST方式。）なしに設定画面の操作から容易に流用項目を選び設定できる。また、ユーザが画面002のような統計画面を作成し、表示するタイミングごとにアプリケーションサーバ１２に計算させる手法では負荷が大きくなる事もあるが、このように、予め統計変数をテーブル001-02に登録しておくことで、ＤＢ連携処理において再度の統計処理が不要になり、システムへの負荷を軽減でき、ユーザの待ち時間を短縮できる。
【０１５３】
＜動作手順＞
次に、図２８を用いて情報処理システム１００の動作手順について説明する。図２８は、情報処理システム１００が配布用Ｗｅｂアプリを作成する手順を示すフローチャート図の一例である。
S-c1：管理者は情報処理装置１１にＨＴＭＬファイルを登録するためのＷｅｂページを開いており、Ｗｅｂページに表計算シートをドラッグ＆ドロップする。表計算シート受付部３２は表計算シートを受け付ける。
S-s1：アプリケーションサーバ１２のサーバ側送受信部４１は表計算シートを受信する。この後、処理はＨＴＭＬファイルの作成とテーブルの作成の２つに別れ、それぞれが並列に実行される。これにより、処理時間を短縮できる。まず、ＨＴＭＬファイルの作成から説明する。
S-s2：ＨＴＭＬ作成部４２は、入力項目とそれ以外を判別する。入力項目は、入力欄となるセルやテキストボックス、チェックボックスなどである。文字などが表示されるセルも入力項目として検出される。入力項目以外とは、線、線図などのオブジェクトである。
S-s3：入力項目がある場合、ＨＴＭＬ作成部４２は入力欄をinputタグに変換し、テキストボックスなどをタグに変換し、文字などをlabelタグに変換するなどしてＨＴＭＬファイルを作成する。
S-s4：次に、入力項目以外のオブジェクトについて、オブジェクトを表示するためのタグや、オブジェクトの属性情報を作成する。タグはＨＴＭＬファイルに記述される。
S-s5：ＨＴＭＬ作成部４２はレイアウト情報を作成する。このレイアウト情報は、ＨＴＭＬファイルのレイアウトを指示するＣＳＳファイルである。ＨＴＭＬ作成部４２はinputタグやlabelタグについてＨＴＭＬファイルでは記述しない又は記述し切れないレイアウト情報を作成する。オブジェクトについても同様にレイアウト情報を作成する。なお、ＣＳＳファイルをＨＴＭＬファイルに記述してもよい。
【０１５４】
次に、テーブルの作成について説明する。
S-s6：テーブル作成部４３は、テーブルＤＢ１４に登録するセルを判別する。セル以外のオブジェクトについても判別してよい。
S-s7：テーブルＤＢ１４に登録するセルについては、テーブルＤＢ１４に登録する。
S-s8：次に、入力規則の有無を判定する。
S-s9：入力規則がある場合、セルの入力規則情報を取り出す。
S-s10：テーブル作成部４３は、入力規則があるセルについて入力規則情報をセルの位置情報に対応づけて登録する。なお、イメージとしての図形があれば取得しておく。
S-s11：ＨＴＭＬ作成部４２は、テーブルの作成の処理が終わるまで待機し、又は、テーブルの作成の方がＨＴＭＬファイルの作成よりも早い場合は、ＨＴＭＬファイルの作成後、ＨＴＭＬファイルに入力規則情報やイメージとしての図などのオブジェクトを追加する。ＨＴＭＬファイルでの実現が困難な場合、JavaScriptにより記述したり、入力規則をサーバ側で行うことを入力規則情報に登録する。
S-s12：次に、設計ツール導入部４４はＨＴＭＬファイルに設計ツールを導入する。これによい、管理者が修正可能な一次Ｗｅｂアプリが作成される。この一次Ｗｅｂアプリは、サーバ側送受信部４１により情報処理装置１１に送信される。
【０１５５】
S-c2：装置側送受信部３１はＨＴＭＬファイルを受信し、ブラウザ１９が一次Ｗｅｂアプリを表示する。
S-c3：修正受付部３３は、管理者による一次Ｗｅｂアプリの修正を受け付ける。
S-c4：登録受付部３４は、修正された一次Ｗｅｂアプリの登録を受け付け、装置側送受信部３１が一次Ｗｅｂアプリをアプリケーションサーバ１２に送信する。
【０１５６】
S-s13：Ｗｅｂアプリ登録部４５は設計ツールを無効化することで、配布用Ｗｅｂアプリを作成する。
S-s14：Ｗｅｂアプリ登録部４５は配布用ＷｅｂアプリをＷｅｂアプリＤＢ１５に登録する。
【０１５７】
以上のように配布用Ｗｅｂアプリがアプリケーションサーバ１２に登録され、ユーザが値を入力することが可能になる。
【０１５８】
図２９は、情報処理システム１００がテーブルＤＢ１４に値を登録し、集計グラフを表示する手順を示すフローチャート図の一例である。
S-c11：ユーザはユーザ端末１７に表示した配布用Ｗｅｂアプリに値を入力する。表計算シートに値を入力してもよい。ユーザ端末１７の操作受付部３６はユーザの送信操作を受け付け、端末側送受信部３５が入力された値をアプリケーションサーバ１２に送信する。
S-s21：サーバ側送受信部４１は値を受信する。
S-s22：データベース登録部４７はセルの位置と共に送信される値を、テーブルＤＢ１４のテーブルのセルに対応づけて登録する。
【０１５９】
S-c12：次に、ユーザ端末１７がＤＢ連携用のＷｅｂアプリの画面を表示した場合を説明する。ユーザがＤＢ連携用のＷｅｂアプリの画面から集計グラフボタン６２を押下すると、操作受付部３６がそれを受け付け、端末側送受信部３５がアプリケーションサーバ１２に送信する。
S-s23：アプリケーションサーバ１２のサーバ側送受信部４１は集計グラフ要求を受信する。
S-s24：ＤＢ連携処理部４９はテーブルＤＢ１４から値を読み出し、集計グラフを作成し、サーバ側送受信部４１がユーザ端末１７に送信する
S-c13：端末側送受信部３５は集計グラフを受信して、ユーザ端末１７が集計グラフを表示する。
【０１６０】
以上説明したように、本実施形態の情報処理システムは、表計算シートから変換されたＷｅｂアプリに設計ツールを導入することで、画像として表示された一次Ｗｅｂアプリを修正することができる。また、情報処理装置１１ではブラウザが動作し、アプリケーションサーバ１２ではプラットフォームに依存しないプログラム１１１が動作するので、専用ソフトやアドインなども必要ない。また、表計算シートがあればよく、情報処理装置１１に表計算ソフトがインストールされている必要もない。ドラッグ＆ドロップという簡単な操作で一次Ｗｅｂアプリを作成することができる。
【０１６１】
セルに入力規則が含まれている場合、ＨＴＭＬファイルだけでなくJavaScriptやアプリケーションサーバが入力規則に基づき値をチェックできる。
【０１６２】
また、一次Ｗｅｂアプリの作成時に、アプリケーションサーバ１２にセルの位置情報が登録されるので、ユーザは配布用Ｗｅｂアプリから表に登録できるだけでなく、Ｗｅｂアプリの元になった表計算シートに入力した値を登録できる。また、一次Ｗｅｂアプリを作成することでテーブルも作成されるので、従来のようにＷｅｂページとは別にデータベースを作成する場合と比べてデータベースの準備も容易である。
【０１６３】
＜好適な変形例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１６４】
例えば、本実施形態では、表計算シートをlabelタグとinputタグに変換する例を説明したが、labelタグとinputタグ以外のタグを使用して表計算シートをＨＴＭＬファイルに変換してよい。
【０１６５】
また、いくつかの図で示したＨＴＭＬファイル又はJavaScriptの記述は一例に過ぎず、表計算シートをＨＴＭＬファイルで記述する記述方法は本実施形態の内容により制限されない。
【０１６６】
また、Ｗｅｂアプリの画面の表示形式としてＨＴＭＬを用いて説明したが、ＸＨＴＭＬを用いてもよいし、ＸＭＬを用いてもよい。また、スクリプト言語としてJavaScriptを例に説明したが、ECMAScriptに準拠したスクリプト言語や他のスクリプト言語を使用してもよい。
【０１６７】
また、アプリケーションサーバの機能は複数のサーバに分散して搭載されていてもよいし、アプリケーションサーバが複数、存在してもよい。
【符号の説明】
【０１６８】
１１  情報処理装置  １２  アプリケーションサーバ  １４  テーブルＤＢ  １５  ＷｅｂアプリＤＢ  １９  ブラウザ  ４２  ＨＴＭＬ作成部  ４３  テーブル作成部  ４４  設計ツール導入部  ４５  Ｗｅｂアプリ登録部  ４６  Ｗｅｂアプリ出力部  ４７  データベース登録部  ４９  ＤＢ連携処理部  １００  情報処理システム
【図１】
2016091244.tif 000003
【図２】
2016091244.tif 000004
【図３】
2016091244.tif 000005
【図４】
2016091244.tif 000006
【図５】
2016091244.tif 000007
【図６】
2016091244.tif 000008
【図７】
2016091244.tif 000009
【図８】
2016091244.tif 000010
【図９】
2016091244.tif 000011
【図１０】
2016091244.tif 000012
【図１１】
2016091244.tif 000013
【図１２】
2016091244.tif 000014
【図１３】
2016091244.tif 000015
【図１４】
2016091244.tif 000016
【図１５】
2016091244.tif 000017
【図１６】
2016091244.tif 000018
【図１７】
2016091244.tif 000019
【図１８】
2016091244.tif 000020
【図１９】
2016091244.tif 000021
【図２０】
2016091244.tif 000022
【図２１】
2016091244.tif 000023
【図２２】
2016091244.tif 000024
【図２３】
2016091244.tif 000025
【図２４】
2016091244.tif 000026
【図２５】
2016091244.tif 000027
【図２６】
2016091244.tif 000028
【図２７】
2016091244.tif 000029
【図２８】
2016091244.tif 000030
【図２９】
2016091244.tif 000031